urn:lj:livejournal.com:atom1:110111100xDE0xDE0xDE2015-11-24T22:49:26Zurn:lj:livejournal.com:atom1:11011110:320638Congratulations, Dr. Lam!2015-11-24T22:49:26Z2015-11-24T22:49:26ZJenny Lam, my teaching assistant for algorithms this quarter, passed today her thesis defense. She has been working with Sandy Irani, primarily on online algorithms for replacement and memory management strategies in heterogeneous caches (such as web proxies that have to maintain copies of documents of widely varying sizes), and has three papers on that subject, one at ALENEX and two at Middleware. She also has another paper on security-related algorithms in submission, which I'm also a co-author on. My understanding is that she will be teaching next semester at Pomona College on a temporary basis, while she looks for a more permanent position. Congratulations!urn:lj:livejournal.com:atom1:11011110:320476Telephone primes2015-11-23T19:27:50Z2015-11-23T19:29:35ZThis weekend I helped add a new sequence to OEIS, <a href="https://oeis.org/A264737">A264737</a> of the prime numbers that divide at least one <a href="https://en.wikipedia.org/wiki/Telephone_number_(mathematics)">telephone number</a> (the numbers of matchings in a complete graph etc).<br /><br />The telephone numbers obey a simple recurrence T(n) = T(n-1) + (n-1)T(n-2), and it's easy to test whether a prime number p divides at least one telephone number by running this recurrence modulo p. Whenever n is 1 mod p, the right hand side of the recurrence simplifies to T(n-1) mod p, and we get two consecutive numbers that are equal mod p; After that point, the recurrence continues as it would from its initial conditiions (two consecutive ones), multiplied mod p by some unknown factor. Therefore, the recurrence mod p either repeats exactly with period p, or it becomes identically zero (as it does for p=2), or it repeats with a higher period that is a multiple of p and a divisor of p(p–1), where all sub-periods of length p are multiples of each other. In particular, if p divides at least one telephone number, it divides infinitely many of them, whose positions are periodic with period p.<br /><br />All primes divide at least one Fibonacci number (a sequence of numbers with an even simpler recurrence) but that is not true for the telephone numbers. For instance, the telephone numbers mod 3 form the infinite repeating sequence 1,1,2,1,1,2,... with no zeros. So how many of the prime numbers are in the new sequence? A heuristic estimate suggests that the telephone primes should form a 1–1/e fraction of all primes (around 63.21%): p is a telephone prime when there is a zero in the first p terms of the recurrence sequence mod p, and if we use random numbers instead of the actual recurrence then the probability of not getting a zero is approximately 1/e. With this estimate in mind, I tried some computational experiments and found that among the first 10000 primes, 6295 of them (approximately 63%) are in the sequence. Pretty accurate, I think! But I have no idea how to approach a rigorous proof that this estimate should be correct.<br /><br />Incidentally, while looking up background material for this I ran into a paper by Rote in 1992 that observes a relationship between the telephone number and another sequence, <a href="https://oeis.org/A086828">A086828</a>. A086828 counts the number of states in a dynamic programming algorithm for the traveling salesman problem on graphs of bandwidth k, for a parameter k. So its calculation, in the mid-1980s, can be seen as an early example of the parameterized analysis of algorithms. It has the same recurrence relation as the telephone numbers, but with different initial conditions, so we can consider using this sequence instead of the telephone numbers. But the same analysis above showing that all subperiods of length p are similar applies equally well to this sequence, showing that after an initial transient of length p, all subperiods are either identically zero or similar to the corresponding subperiods of the telephone numbers. So if we ask which primes divide at least one member of A086828, we get almost the same answer, except possibly for some additional primes that either divide one of the first p numbers of A086828 (and then no other members of A086828 later in the sequence) or that divide all but finitely many members of A086828.urn:lj:livejournal.com:atom1:11011110:320119Linkage2015-11-16T07:15:00Z2015-11-16T08:11:04Z<ul><li><a href="https://en.wikipedia.org/wiki/Reuleaux_triangle">Reuleaux triangle</a>, now a Wikipedia "good article" (<a href="https://plus.google.com/100003628603413742554/posts/Vy5jUbnW1mC">G+</a>)</li><br /><li><a href="http://mathoverflow.net/q/222412/440">Triangle centers from curve shortening</a> (MathOverflow question still missing a complete solution, but a lot of interesting partial results and discussion; <a href="http://mathoverflow.net/questions/222412/triangle-centers-from-curve-shortening">G+</a>)</li><br /><li><a href="https://lucatrevisan.wordpress.com/2015/11/03/laci-babai-and-graph-isomorphism/">Rumors of Babai's graph isomorphism result</a> (<a href="https://plus.google.com/100003628603413742554/posts/CpWcYSWQsNS">G+</a>)</li><br /><li><a href="http://www.wired.com/2015/10/important-rule-science-writing/">Balancing understandability and pedantry in popular scitech writing</a> (<a href="https://plus.google.com/100003628603413742554/posts/6YX1mRXUKFi">G+</a>)</li><br /><li><a href="https://twitter.com/neilhimself/status/662161811601555457">A dubious similarity network of novelists</a>, displaying the phenomenon that nearest-neghbor links are not bidirectional (<a href="https://plus.google.com/100003628603413742554/posts/ENVjFnqr6ox">G+</a>)</li><br /><li><a href="http://www-bcf.usc.edu/~dkempe/SoCalTheoryDay2015/index.html">Southern California Theory Day</a>, now past (<a href="https://plus.google.com/100003628603413742554/posts/Qsww455TKmG">G+</a>)</li><br /><li><a href="http://bit.ly/1IffFBe">Advice from Valerie Barr on being a good feminist ally</a> (<a href="https://plus.google.com/100003628603413742554/posts/13JyQzNVjip">G+</a>)</li><br /><li><a href="http://3.bp.blogspot.com/-zUQf6AuQadc/Vj-IsekF8II/AAAAAAAAMkg/CDm3JIJBJO0/s1600/show%2Byour%2Bthinking.jpg">Reductio ad absurdum of "show your thinking" style math problems</a> (<a href="https://plus.google.com/100003628603413742554/posts/AA9pN4KsiSk">G+</a>)</li><br /><li><a href="http://www.leru.org/index.php/public/extra/signtheLERUstatement/">Petition to the EU to protest using gold-model open access as an excuse to redirect funding from researchers to publiishers</a> (<a href="https://plus.google.com/100003628603413742554/posts/aPawczAM8Zu">G+</a>)</li><br /><li><a href="http://arxiv.org/abs/1507.02528">Unification of random-walk and interior-point convex optimization</a> (<a href="https://plus.google.com/u/0/100003628603413742554/posts/j37ny2g8SwD">G+</a>)</li><br /><li><a href="http://www.bemlegaus.com/2013/01/matematica-urbana.html">Mathematical street art</a> (<a href="https://plus.google.com/100003628603413742554/posts/c1d22vB5WRX">G+</a>)</li><br /><li><a href="http://www.gregegan.net/SCIENCE/NoCorkscrews/NoCorkscrews.html">Can planets have corkscrew orbits?</a> Greg Egan takes down an incautious 3-body analysis (<a href="https://plus.google.com/100003628603413742554/posts/NisnQPMbMRB">G+</a>)</li><br /><li><a href="http://www.wired.com/2015/11/argentina-many-female-astronomers/">More women in science doesn't mean less sexism: the example of Argentinian astronomy</a> (<a href="https://plus.google.com/100003628603413742554/posts/ZLhRMyfwqQD">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Planted_clique">The planted clique problem</a>, part of a growing trend of interest in quasipolynomial time algorithmics (<a href="https://plus.google.com/100003628603413742554/posts">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:319787Pan-rep-tiles2015-11-11T08:37:15Z2015-11-16T16:43:15ZA reptile is a creature, but a <a href="https://en.wikipedia.org/wiki/Rep-tile">rep-tile</a> is a shape that can tile a larger copy of the same shape. If you use that larger copy to tile still-larger copies, and so on, you get a tiling of the plane. It's often an aperiodic tiling, but not always: for instance, the square and the equilateral tiling are rep-tiles but generate periodic tilings when repped.<br /><br />Another of the properties of the square and the equilateral triangle is that they are rep-tiles in many different way. Any square number of these tiles can be put together to make a larger copy. A rep-tile is said to be rep-<i>k</i> if it uses <i>k</i> tiles to tile its larger self; these shapes are rep-<i>k</i> for all square <i>k</i>. For tiles whose side lengths are all rational multiples of each other, that's the most versatile a rep-tile can be, because the side length of the larger copy is the square root of <i>k</i>. Let's say that a rep-tile is a pan-rep-tile if it has this same property, of being rep-<i>k</i> for all square <i>k</i>. Are there other pan-rep-tiles?<br /><br />Over on the <a href="https://en.wikipedia.org/wiki/Talk:Rep-tile">Wikipedia talk page for the rep-tile article</a>, an anonymous (IP address) editor suggested this property as one that might actually be held by many rep-tiles, and gave some examples of tilings suggesting that the P pentomino and the <a href="https://en.wikipedia.org/wiki/Sphinx_tiling">sphinx</a> might be examples of pan-rep-tiles. It turns out not to be particularly difficult to show that the P pentomino is, in fact, a pan-rep-tile: see the visual demonstration below.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/panreptile.png"></div><br /><br />Is the same true for the sphinx?<br /><br /><b>ETA:</b> Yoshio Okamoto informs me that his paper with Ryuhei Uehara and Takashi Horiyama at <a href="http://www.kurims.kyoto-u.ac.jp/~takazawa/JCDCGG2015/">JCDCG^2 2015</a>, "Ls in L and Sphinxes in Sphinx", proves that sphinxes are indeed pan-rep-tiles.<br /><br /><b>ETA 2:</b> The results for the P-pentomino, sphinx, and several other rep-tiles are in Niţică, Viorel (2003), Rep-tiles revisited, MASS selecta, pp. 205–217, Amer. Math. Soc. Thanks to Gerhard Woeginger for the reference!<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:319499Halloween linkage2015-11-01T05:55:22Z2015-11-01T05:55:55Z<ul><li><a href="http://scholarlykitchen.sspnet.org/2015/10/14/return-of-the-big-brands/">How big publishers are likely to co-opt the open access movement</a> (<a href="https://plus.google.com/100003628603413742554/posts/EhSpKBzLigA">G+</a>)</li><br /><li><a href="http://slatestarcodex.com/2015/10/15/it-was-you-who-made-my-blue-eyes-blue/">Famous puzzle becomes amusing short story</a> (<a href="https://plus.google.com/100003628603413742554/posts/DfxwhGzMQ5D">G+</a>)</li><br /><li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/MathML_Torture_Test">Test how not-ready-for-prime-time your browser's MathML implementation is</a> (<a href="https://plus.google.com/100003628603413742554/posts/do3yQ71YYv7">G+</a>)</li><br /><li><a href="http://thinkprogress.org/health/2015/10/19/3713612/men-ignore-hard-evidence-of-gender-bias/">It's hard to convince men of gender bias in STEM</a> (<a href="https://plus.google.com/100003628603413742554/posts/Cw8f7MfkjdU">G+</a>)</li><br /><li><a href="http://www.danielwidrig.com/index.php?page=Work&id=Grid">Daniel Widrig's geometric sculpture</a> (<a href="https://plus.google.com/100003628603413742554/posts/SZqUgdpCY9z">G+</a>)</li><br /><li><a href="https://shar.es/1uAWr2">Maria Chudnovsky's search for a combinatorial perfect graph coloring algorithm</a> (<a href="https://plus.google.com/100003628603413742554/posts/7KzX5PGj6Vb">G+</a>)</li><br /><li><a href="http://tex.stackexchange.com/a/19734">Thank you LaTeX stack exchange for having useful answers to everyday questions</a>, this time about a bad interaction between hyperref, natbib, and dois in bibtex data (<a href="https://plus.google.com/100003628603413742554/posts/42rjq852PNM">G+</a>)</li><br /><li><a href="http://nautil.us/issue/29/scaling/how-to-build-a-search-engine-for-mathematics">Another article about Neil Sloane and the OEIS</a> (<a href="https://plus.google.com/100003628603413742554/posts/c4iN6i9hMqf">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2015-10-21/Op-ed">Wikipedia cites open-access journals more frequently than closed-access ones</a> (<a href="https://plus.google.com/100003628603413742554/posts/M9Q98SePkR4">G+</a>)</li><br /><li><a href="http://lemire.me/blog/2015/10/26/crazily-fast-hashing-with-carry-less-multiplications/">GF(2)-polynomial multiplication instructions lead to a fast XOR-universal hash function</a> (<a href="https://plus.google.com/100003628603413742554/posts/1X2mUDNsEN1">G+</a>)</li><br /><li><a href="http://www.vox.com/2015/10/26/9616370/science-committee-worse-benghazi-committee">Three times the House Science Committee abused its subpoena power to hassle scientists it disagreed with</a> (<a href="https://plus.google.com/100003628603413742554/posts/HGqqURXezmU">G+</a>)</li><br /><li><a href="https://gilkalai.wordpress.com/2015/10/28/convex-polytopes-seperation-expansion-chordality-and-approximations-of-smooth-bodies/">Simple 4-polytopes without good separators</a> (<a href="https://plus.google.com/100003628603413742554/posts/5ioYLBVvkY6">G+</a>)</li><br /><li><a href="http://arxiv.org/abs/1510.06535">Hollow heaps</a>, a supposedly-simpler replacement for Fibonacci heaps (<a href="https://plus.google.com/100003628603413742554/posts/KTPCV917q2a">G+</a>)</li><br /><li><a href="https://plus.google.com/101584805418938307037/posts/KcgPRwPr8Vr">SWAT (the Scandinavian Symposium and Workshops on Algorithm Theory) goes open-access with LIPIcs</a> (<a href="https://plus.google.com/100003628603413742554/posts/WTSF1FA3rVU">G+</a>)</li><br /><li><a href="https://theinnerframe.wordpress.com/2015/10/23/the-gyroids-algorithmic-geometry-iii/">Polyhedral approximations of gyroids and the Laves graph</a> (<a href="https://plus.google.com/100003628603413742554/posts/a967fr9Z9ds">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:319414Solar decathlon2015-10-19T05:00:57Z2015-10-19T05:02:39ZTwo years ago, and again this year, Irvine hosted the <a href="http://www.solardecathlon.gov/">Solar Decathlon</a>, a contest in which groups of university students design and build a small, inexpensive, and self-sufficient solar house and get judged on ten categories for how good their house is. The houses (and various related vendor exhibits) were on show to the public at a public park in Irvine, with students from each team on hand to explain their designs. So yesterday I went to see them, and took a few photos.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/pix/solardecathlon/WestVirginiaTorVergata2-m.jpg" border="2" style="border-color:black;" /></div><br /><br />Unfortunately I didn't keep any shots from my favorite of the houses, an effort by Clemson involving a modular open-source design made out of aluminum composite panels, with amazingly lightweight but strong and attractive snap-together wooden furniture. It was also the only one to pack three bedrooms into the 1000 square foot limit for the enclosed part of the house.<br /><br />Instead, <a href="http://www.ics.uci.edu/~eppstein/pix/solardecathlon/">here are some of the other houses, with annotations</a>.urn:lj:livejournal.com:atom1:11011110:319220Linkage2015-10-16T05:16:26Z2015-10-16T05:16:26Z<ul><li><a href="https://en.wikipedia.org/wiki/Reversible_cellular_automaton">Reversible cellular automaton</a>, newly listed as a Wikipedia "Good Article" (<a href="https://plus.google.com/100003628603413742554/posts/U8xogi9usdY">G+</a>)</li><br /><li><a href="https://plus.google.com/112582901549166431017/posts/d6xxf4zH4u6">André Schulz's report from GD 2015</a>, <a href="http://www.csun.edu/gd2015/presentations.htm">all the GD presentation slides</a>, and <a href="https://plus.google.com/100680911101807674881/posts/Uv4PWgcvU4A">Pat Morin's contest-winning freshman research project</a> (<a href="https://plus.google.com/100003628603413742554/posts/To7gg7WcmFP">G+</a>)</li><br /><li><a href="https://liorpachter.wordpress.com/2015/09/20/unsolved-problems-with-the-common-core/">Lior Pachter's unsolved problems supplementing the Common Core</a> (<a href="http://www.metafilter.com/153162/Fun-math-for-kids">MF</a>; <a href="https://plus.google.com/100003628603413742554/posts/UygoeiS65oC">G+</a>)</li><br /><li><a href="http://cosmicdiary.org/lfenton/?p=944">Dune trails on Mars</a> (<a href="https://plus.google.com/100003628603413742554/posts/GMhTbCrHRLV">G+</a>)</li><br /><li><a href="http://boingboing.net/2015/10/06/global-coalition-tells-faceboo.html">Global coalition tells Facebook to kill its Real Names policy</a> (<a href="https://plus.google.com/100003628603413742554/posts/9nfCQwZCQzQ">G+</a>)</li><br /><li><a href="http://www.ics.uci.edu/~eppstein/bibs/sodafixes.sty">SODA formatting fixes</a> (<a href="https://plus.google.com/100003628603413742554/posts/TdnbACqsFqQ">G+</a>)</li><br /><li><a href="http://www.nature.com/news/the-biggest-mystery-in-mathematics-shinichi-mochizuki-and-the-impenetrable-proof-1.18509">Nature on Mochizuki's baffling ABC proof</a> (<a href="http://www.math.columbia.edu/~woit/wordpress/?p=8032">Via</a>; <a href="https://plus.google.com/100003628603413742554/posts/fsJvkM7FPG8">G+</a>)</li><br /><li><a href="https://theinnerframe.wordpress.com/2015/09/17/the-120-cell-spheres-xiii/">The 120-cell</a> and its decomposition into 12 rings of 10 dodecahedra (<a href="https://plus.google.com/100003628603413742554/posts/Wa1wWQsVFQA">G+</a>)</li><br /><li><a href="http://www.dailykos.com/story/2015/10/07/1428690/-Verizon-merges-its-cell-phone-tracking-with-its-AOL-ad-tracking-network">How not to be ad-tracked by your Verizon cell-phone</a> (<a href="https://plus.google.com/100003628603413742554/posts/NvrCMLGA9dG">G+</a>)</li><br /><li><a href="http://www.3quarksdaily.com/3quarksdaily/2015/10/popular-media-loves-nothing-better-than-leaning-on-a-tired-trope-when-telling-a-tale-mathematicians-are-always-solitary-geni.html">The collaborative and social nature of mathematics</a> (<a href="https://plus.google.com/100003628603413742554/posts/dKPfN74zRs2">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/WAVL_tree">The WAVL tree data structure</a> (<a href="https://plus.google.com/100003628603413742554/posts/F8apHipqhQu">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?t=5&v=i7zpDGN5B2A">Augmented reality meets food psychology</a> (<a href="https://plus.google.com/100003628603413742554/posts/SfXvNWR3J1c">G+</a>)</li><br /><li><a href="http://boingboing.net/2015/10/14/serial-sexual-harasser-and-ast.html">Serial sexual harasser resigns Berkeley professorship</a> (<a href="https://plus.google.com/100003628603413742554/posts/RJAetLigcBt">G+</a>)</li><br /><li><a href="http://www.nytimes.com/2015/10/12/opinion/the-importance-of-recreational-math.html">The importance of recreational mathematics</a> (<a href="https://plus.google.com/100003628603413742554/posts/VzjVyeTG1Mn">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:318761Treetopes2015-10-15T05:24:08Z2015-10-15T05:24:08ZI have another new paper on the arXiv, "<a href="http://arxiv.org/abs/1510.03152">Treetopes and their graphs</a>", arXiv:1510.03152. It's mostly about a class of 4-dimensional polytopes, and their connections to clustered planarity, but it's hard to visualize 4d, especially on a 2d screen. So to explain what's in the paper, let's start by analogy, several dimensions lower.<br /><br />Suppose you have a cycle graph (you can think of this as being one-dimensional: just vertices connected to each other in a single loop). But you also have, separately from the graph itself, some sort of hierarchical clustering on the graph. Some paths within the cycle form clusters, and each pair of clusters of this clustering are either nested or disjoint. Then it will always be possible to represent both the graph and the clustering in a single drawing, something like this:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/ClusteredCycle.png"></div><br /><br />The clusters are drawn as curves (here, circles) surrounding subsets of vertices of the graph. Edges never cross each other, cluster boundaries never cross each other, and edges cross cluster boundaries only when they have to: when one endpoint of the edge is inside the cluster and one edge is outside. A drawing with these properties is called <a href="https://en.wikipedia.org/wiki/Clustered_planarity">clustered planar</a>. Clusters of paths in a cycle always have such a drawing, but more generally it's a big open problem in graph drawing to test whether a given planar graph and clustering can be drawn in this way. There are lots of special cases where we know how to find such a drawing, but we don't know of an algorithm that solves all the cases, and we don't know of any hardness result that would prevent such an algorithm from existing.<br /><br />But back to the cycle. Choose a clustered drawing with no two curves that separate the points in the same way: if two clusters are complementary to each other, we only use a single curve for both of them. The cluster boundaries divide the plane (and the cycle vertices) into different regions; let's add a "cluster vertex" for each region, and connect it to the cluster vertices for neighboring regions and to the cycle graph vertices within its own region. The number of regions, and the number of cluster vertices, is one more than the number of curves you had; you can think of this as adding one more cluster to the clustering, containing all of the vertices in the graph. I call the resulting augmented graph a "cluster graph". Here's what we get for the same example:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/ClusteredHalin.png"></div><br /><br />The result is a <a href="https://en.wikipedia.org/wiki/Halin_graph">Halin graph</a>! A Halin graph is usually described as being formed from a tree that has no degree-two vertices and is embedded in the plane, by adding a cycle of edges connecting the leaves of the tree in clockwise order with respect to the embedding. Instead, here, we started with the cycle and then added the tree later, but the result is the same. Any nested clustering of paths on a cycle graph will have a Halin graph as its cluster graph, and all Halin graphs can be formed in this way. Every Halin graph is itself planar. So we've taken a one-dimensional graph (a cycle graph), added a clustering, and shown how to form a special kind of two-dimensional graph (a planar graph) from it.<br /><br />But Halin graphs are not just planar; they're a special case of the <a href="https://en.wikipedia.org/wiki/Polyhedral_graph">polyhedral graphs</a>, the graphs of convex 3-polytopes, just as cycle graphs are the graphs of convex 2-polytopes (that is, convex polygons). A planar graph is the graph of a polyhedron exactly when it is 3-connected (it can't be broken into two pieces by removing only two vertices) and Halin graphs are always 3-connected; in fact, they were studied by Halin as examples of graphs that are minimally 3-connected (removing any edge from the graph breaks this property). The polyhedra that you get from Halin graphs go under several different names, but they can be defined very simply in terms of their face structure: the Halin graph polyhedron has one special two-dimensional "base" face such that every other two-dimensional face shares an edge with the base. When this is true, the edges that are not part of the base face form a tree, and the base face forms a cycle that passes through the leaves of this tree, just like for the standard graph-theoretical definition of a Halin graph.<br /><br />So return once more to our cycle graph, its clustering, and the Halin graph that we get as its cluster graph. In graph-theoretic terms, we thought the cycle graph was one-dimensional and its planar cluster graph was two-dimensional. But when we look at them geometrically, really it seems that the cycle graph is two-dimensional (it's the graph of a convex polygon) and that its cluster graph is three-dimensional (it's the graph of a convex polyhedron). Can we bring this up another level, and turn three-dimensional graphs (the graphs of arbitrary convex polyhedra, not just Halin graphs) plus clusterings on those graphs (the still-mysterious clustered planar drawings) into four-dimensional objects?<br /><br />Yes! (Otherwise, why would I have asked those questions.)<br /><br />The same geometric definition of Halin graph polyhedra works equally well as the definition of a class of higher dimensional polytopes that I call treetopes. These are the polytopes where every 2-dimensional face meets a designated base face in an edge (equivalently where every face of dimension two or more has more than one vertex in common with the base case). These polytopes have many propertes in common with Halin graphs: for instance, the edges that are not part of the base face always form a tree. And in the four-dimensional case, these can be formed from the three-dimensional polyhedral graphs as the cluster graphs of a certain type of clustered planar drawing, and every such graph gives rise to a four-dimensional treetope in this way. Here's an example, of a clustered planar drawing of a polyhedral graph and of the cluster graph (the graph of a 4-polytope) that you get in this way:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/clustergraph.png"></div><br /><br />You can see the three-dimensional faces that turn this into a four-dimensional polytope, if you squint: there's a Halin graph growing above each face of the planar part, rising to a peak at the common ancestor of the vertices in the face, and each of these forms a three-dimensional polyhedron, one of the 3-faces of a 4-treetope. This is true for the external face of the planar part as well as for each of its internal faces. Finally, the base face of the 4-treetope is given by the planar graph itself.<br /><br />The proof that these clustered planar graphs are always the same thing as the corresponding 4-treetopes (and vice versa) uses an inductive construction in which one repeatedly collapses clusters down to single vertices or, in the other direction, blows up single vertices into their own little clusters with their own little polyhedral graphs inside the cluster. The same construction also leads to a polynomial time algorithm that can tell whether a given graph comes from a 4-treetope in this way, without having to be told which vertices are the ones on the base face and which of them represent clusters. We don't know of such an algorithm for the graphs of arbitrary 4-polytopes, and it seems that the problem should be hard for the existential theory of the reals, although we also don't know of a proof of such a hardness result.<br /><br />There's also a bit at the end of the new paper about the sparsity properties of these graphs. In particular, by working with the clustered planar view of these graphs instead of the 4-dimensional polytope view, it's possible to show that they have small separators and <a href="http://en.wikipedia.org/wiki/Bounded_expansion">bounded expansion</a>, so many sparse graph algorithms work on these graphs. In contrast, 4-polytopes in general can be very far from sparse (they can be complete graphs).<br /><br />But my proof that 4-treetopes have bounded expansion uses some of the special properties that their corresponding clustered planar drawings have. So this raises another question, that I don't know the answer to: suppose you're given a clustered planar drawing that does not meet the special conditions required for it to correspond to a 4-treetope. Just any clustered planar drawing. And then you construct the cluster graph of this drawing in the same way I described above. These graphs have constant edge/vertex ratio, because they are the union of a planar graph and a tree. But are they sparse in any stronger sense? Do they also have bounded expansion? I don't know.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:318523Why shallow minors matter for graph drawing2015-10-03T23:16:51Z2015-10-04T06:34:25Z<p>An ongoing concern in graph drawing research has been curve complexity. If you draw a graph using a certain style, how complicated are you going to have to make the edges? More complicated curves are harder for readers to follow, and therefore they make the graph less readable. But simpler curves (such as line segments) may have their own problems: not fitting the style (which may constrain the edges to certain directions), running through vertices, forming sharp angles with each other, etc. To balance these concerns, a lot of work in graph drawing has allowed edges to be polygonal paths but has tried to prove hard upper bounds on how many bends you need to use. I'm not fond of polylines and bends myself — I prefer smooth curves such as circular arcs meeting at inflection points — but in this case one can measure the curve complexity in terms of the number of arcs you need per edge, and the theory ends up being much the same.</p>
<p>A couple of examples: in the right angle crossing drawing style (<a href="https://en.wikipedia.org/wiki/RAC_drawing">RAC drawing</a>), crossings are allowed, but the crossings have to be at right angles.</p>
<p align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/RAC-K5-K34.png"></p>
<p>The examples above have no bends, but bendless RAC graphs are quite restrictive. In particular they can only have most 4<i>n</i> − 10 edges (as Didimo et al proved in <a href="https://dx.doi.org/10.1007%2F978-3-642-03367-4_19">their paper introducing RAC drawing</a>). On the other hand, if you allow bends, it's easy to turn any drawing into a RAC drawing: insert new bends near each crossing to allow the edges that cross to form the correct angles with respect to each other. How many bends per edge do you need? Exactly three. The graphs with two-bend-per-edge RAC drawings are still limited to a linear number of edges, but three bends let you draw anything, with a layout like the one below for <i>K</i><sub>8</sub>.</p>
<p align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/K8-RAC-3bend.png"></p>
<p>In another drawing style, three-page <a href="https://en.wikipedia.org/wiki/Book_embedding">topological book embeddings</a>, we wish to draw graphs on three half-planes in space, meeting at a 120 degree angle along a line. The vertices must be on this line, and the edges must be formed from semicircles within the half-planes.</p>
<p align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/3page-K5.png"></p>
<p>The graphs that can be drawn with only a single semicircle per edge form a restricted subclass of all graphs (again, with only a linear number of edges). However, all graphs can be drawn in a three-page book if the edges can be drawn as multiple semicircles that connect to each other across the spine of the drawing. Can we bound the number of spine crossings per edge that we might need?</p>
<p>In general, given some graph drawing style, and an appropriate notion of curve complexity within that style, we can ask similar questions. Does the style allow drawings of all graphs with bounded curve complexity? Or, if you impose a bound on the curve complexity, are you necessarily limiting the graphs you can draw to a restricted subclass of all graphs?</p>
<p>It turns out that questions like this can be formalized and answered using the theory of shallow minors and sparse classes of graphs, ably described by <a href="https://en.wikipedia.org/wiki/Jaroslav_Ne%C5%A1et%C5%99il">Jaroslav Nešetřil</a> and <a href="https://en.wikipedia.org/wiki/Patrice_Ossona_de_Mendez">Patrice Ossona de Mendez</a> in their book <i>Sparsity: Graphs, Structures, and Algorithms</i>.</p>
<p>A <a href="https://en.wikipedia.org/wiki/Shallow_minor">shallow minor</a> of a given graph is a minor (a smaller graph formed by edge contractions, edge deletions, and vertex deletions) such that the subsets of the original graph that are contracted into a single vertex in the minor have small diameter. The vertices of the shallow minor can be represented by a collection of low-diameter vertex-disjoint subtrees of the starting graph, such that two vertices of the minor are adjacent if and only if the two corresponding subtrees are connected by an edge. A shallow topological minor is almost the same but the subtrees can have only one vertex of degree greater than two, so that a subdivision of the minor (with few subdivision points per edge) forms a subgraph of the starting graph.</p>
<p>A family F of graphs is said to be somewhere dense if there exists a diameter bound such that the shallow minors of graphs in F, with that bound, include all graphs (or all complete graphs). Otherwise, it is nowhere dense. You can state the same definitions with shallow topological minors and it ends up being equivalent to the version with shallow minors.</p>
<p>But now, suppose we have a drawing style for graphs with the following properties. First, removing edges or vertices from a drawing should result in another valid drawing. And second, there is a notion of bend points for the drawing, such that the curve complexity of a drawing in this style is the maximum number of bends per edge, and such that replacing a bend point by a degree-two vertex or vice versa also results in a valid drawing. Let F be the family of graphs that can be drawn in this style with no bends. Then if every graph G can be drawn with bounded curve complexity, we can replace the bends in a drawing of G by subdivision points and get a graph in F that has G as a shallow minor, so F is somewhere dense. On the other hand, if F is somewhere dense, we can generate a drawing with bounded curve complexity for any graph G by finding a graph in F that has G as a shallow topological minor, drawing this bigger graph, removing the parts of the drawing that don't correspond to features of G, and turning the subdivision points back into bends. So: the drawing style can represent all graphs, with bounded curve complexity, if and only if its family of bendless graphs is somewhere dense.</p>
<p>Let's look again at the two drawing styles we used as examples. Are the bendless RAC graphs somewhere dense? Yes, because we can draw all graphs in RAC style with only three bends. It's been claimed that RAC graphs are closely related to <a href="https://en.wikipedia.org/wiki/1-planar_graph">1-planar graphs</a>, but this shows a big difference between the two classes of graphs. In particular, unlike 1-planar graphs, the bendless RAC graphs do not have <a href="https://en.wikipedia.org/wiki/Planar_separator_theorem">separator theorems</a>, because if they did they would have <a href="https://en.wikipedia.org/wiki/Bounded_expansion">bounded expansion</a>, something that can only be true of nowhere-dense graph families.</p>
<p>Does every graph have a three-page topological book embedding with a constant number of spine crossings per edge? No, because the graphs with three-page book embeddings (without spine crossings) have bounded expansion, and therefore cannot be somewhere dense. In fact in this case it's known that <a href="https://dx.doi.org/10.1016%2FS0166-218X%2899%2900044-X">logarithmically many crossings per edge might sometimes be needed</a> and that <a href="http://dx.doi.org/10.1137/S0895480195280319">this bound can always be achieved</a>.</p>
<p>There's an odd mental inversion related to this phenomenon. In graph theory, being nowhere dense is thought of as good (it tells you your family has some interesting properties) and somewhere dense is bad (your family contains too many graphs to have any nice structure). But in graph drawing, it's the somewhere dense classes that are better than the nowhere dense ones: they describe the drawing styles that are sufficiently general-purpose to be usable for all graphs, with bounded curve complexity. So maybe it's the somewhere dense drawings styles (like RAC drawing) rather than the nowhere dense ones (like 1-planar drawing) that we should be paying more attention to.</p><a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:318353Linkage2015-10-01T03:51:45Z2015-10-01T03:51:45Z<ul><li><a href="http://www.nytimes.com/interactive/2015/09/17/upshot/top-colleges-doing-the-most-for-low-income-students.html">UCI is #1 for low-income students</a> (<a href="https://plus.google.com/100003628603413742554/posts/YbR9MBcH3GQ">G+</a>)</li><br /><li><a href="https://cp4space.wordpress.com/2015/09/14/coverings-convolutions-and-corbynatorics/">Applications of convolutions in combinatorics</a> (<a href="https://plus.google.com/100003628603413742554/posts/ZvFWaBMZFhA">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2015-09-16/Editorial">Is it good to take advantage of free subscriptions to online information services for Wikipedia editors?</a> (Yes. <a href="https://plus.google.com/100003628603413742554/posts/CDshyozc7Au">G+</a>)</li><br /><li><a href="http://www.hs.fi/tiede/a1407209514060">A Helsinki street paved with Penrose tiles</a> (<a href="https://plus.google.com/100003628603413742554/posts/SaKeje5EveE">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=yN9g0XsDu-E">Colbert on diploma mills</a> (<a href="https://plus.google.com/100003628603413742554/posts/Bmu7Lw5AP2Z">G+</a>)</li><br /><li><a href="http://www.csun.edu/gd2015/Realizing_Graphs_as_Polyhedra.pdf">Realizing graphs as polyhedra</a> (talk slides from my talk at the Graph Drawing satellite workshop; <a href="https://plus.google.com/100003628603413742554/posts/2sQL8wPKEDD">G+</a>)</li><br /><li><a href="https://quantixed.wordpress.com/2015/05/05/wrong-number-a-closer-look-at-impact-factors">Impact factors are bad and you should feel bad for using them</a> (<a href="https://plus.google.com/100003628603413742554/posts/4v4Hi5cZfJk">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=ZREp1mAPKTM">Numberphile on the Houdini fold-and-cut trick</a> (<a href="https://plus.google.com/100003628603413742554/posts/6QGpopc9jyS">G+</a>)</li><br /><li><a href="http://doi.org/10.1007/s11192-015-1757-5">Using the h-index to measure research productivity can lock in and amplify pre-existing gender biases</a> (<a href="https://plus.google.com/100003628603413742554/posts/8q1G2gwUyum">G+</a>)</li><br /><li><a href="https://plus.google.com/100680911101807674881/posts/i49RBcwPt4e">Elsevier profiteers off open-access requirements, no longer usable by NSERC-funded researchers unless they pay thousands to get their own papers published</a> (<a href="https://plus.google.com/100003628603413742554/posts/31ZZVFrdBpv">G+</a>)</li><br /><li><a href="http://dumas.io/PML/">Visualizing the space of simple closed curves in hyperbolic manifolds</a> (<a href="https://plus.google.com/100003628603413742554/posts/YAcEgQ7suZk">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:3181056th and Spring2015-09-25T15:36:45Z2015-10-03T23:24:13ZI'm in Los Angeles for Graph Drawing, went looking for good espresso near the conference site, and found it at Spring for Coffee, on the corner of 6th Street and Spring. This street art was on a different corner of the same intersection:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/pix/6spring/6spring-m.jpg" border="2" style="border-color:black;" /></div><br /><br />It's also the first photo-op for my new cell phone, a Samsung Note 4 that I got a month or so ago after my old faithful Droid 2 Global finally gave up. I miss having an actual physical keyboard but the big screen and up-to-date software are both big improvements.urn:lj:livejournal.com:atom1:11011110:317924Toughness in the logic of graphs2015-09-19T22:17:56Z2015-09-19T22:17:56ZI've been working the past few days on adding to Wikipedia a new article on the <a href="https://en.wikipedia.org/wiki/Logic_of_graphs">logic of graphs</a>. And by chance I also happened to review today <a href="http://cstheory.stackexchange.com/questions/32343/a-sufficient-condition-for-non-existance-of-hamiltonian-cycle">this stackexchange question</a> relating to <a href="https://en.wikipedia.org/wiki/Graph_toughness">graph toughness</a>. That combination of events caused me to wonder: how difficult is it to express toughness as a logical sentence?<br /><br />More specifically a graph is 1-tough if there is no nonempty set of vertices the removal of which would split the graph into more components than the number of removed vertices. This particular value of the toughness is relevant for the original motivation of toughness (understanding Hamiltonian cycles in the graphs) because a Hamiltonian cycle is 1-tough and a graph containing a Hamiltonian cycle is at least 1-tough.<br /><br />A graph with nonzero toughness must be connected. And a connected graph G fails to be 1-tough if and only if there exists a set S of vertices that can be removed from G with the following stronger property: there is a matching between vertices of S and adjacent components of G − S, in which all of the vertices of S are matched and at least one component of G − S is unmatched. For, if such a matching exists, clearly there are more components than removed vertices. And if there is any set of vertices whose removal creates too many components, let S be the smallest such set. Then either such a matching exists or (by Hall's theorem) there is a subset S' of S that is adjacent to fewer than |S'| components. Removing S' from S creates a smaller set of vertices whose removal still creates too many components, contradicting the assumed minimality of S.<br /><br />We can represent an adjacency between a component and one of the removed vertices by an edge connecting the component to the vertex. Using this idea we can express 1-toughness in MSO<sub>2</sub> by a sentence that asserts the connectivity of the graph and the nonexistence of a set S of vertices and set A of edges, such that (1) each edge in A has exactly one endpoint in S, (2) each vertex in S has at least one incident edge in A, (3) there exists a vertex in S with more than one incident edge in A, and (4) no two endpoints of edges in A are connected in G − S. The connectivity tests are standard in MSO, and can be expressed in terms of the existence of a nontrivial partition of the vertices that is not crossed by any edge.<br /><br />On the other hand, 1-toughness cannot be expressed in MSO<sub>1</sub>. The reason is that a complete bipartite graph with equal sides is 1-tough, a complete bipartite graph with unequal sides is not 1-tough, and <a href="https://books.google.com/books?id=E0qqCAAAQBAJ&pg=PA126">MSO<sub>1</sub> can't tell these two types of graphs apart from each other</a>.<br /><br />But this reasoning all seems very specific to 1-toughness, or at least to integer values of the toughness. Is it possible to express fractional values of toughness logically?<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:317501Carmichael polynomials from Egyptian fractions2015-09-17T19:52:55Z2015-09-17T19:52:55ZA <a href="https://en.wikipedia.org/wiki/Carmichael_number">Carmichael number</a> is a number that is a <a href="http://Fermat pseudoprime">Fermat pseudoprime</a> modulo all coprime bases. Equivalently, by Korselt's criterion, it is a squarefree number that is congruent to one modulo <i>p</i> − 1 for each prime factor <i>p</i>. Chernick (1939) seems to have been the first to observe that Korselt's criterion can be generalized to integer polynomials. Chernick considered polynomials that are congruent to one modulo all the polynomials formed by subtracting one from an irreducible factor. When an argument to the polynomial makes all its irreducible factors evaluate to prime numbers, the polynomial itself evaluates to a Carmichael number. For this reason Chernick called these polynomials universal forms.<br /><br />One of Chernick's universal forms is the polynomial (6<i>x</i> + 1)(12<i>x</i> + 1)(18<i>x</i> + 1). This produces Carmichael numbers when <i>x</i> is 1, 6, 35, 45, 51, 55, 56, 100, ... (<a href="https://oeis.org/A046025">OEIS:A046025</a>). By <a href="https://en.wikipedia.org/wiki/Dickson%27s_conjecture">Dickson's conjecture</a> there are infinitely many values of <i>x</i> that make all three factors prime and therefore infinitely many Carmichael numbers of this form. Not all of Chernick's universal forms are like this, but in this one all the irreducible factors are a monomial plus one. This property makes it particularly easy to test that the whole polynomial is one modulo each irreducible factor minus one: we need only test whether each of the leading monomials 6<i>x</i>, 12<i>x</i>, and 18<i>x</i> in the factors of the polynomial divides each of the non-constant monomials in the polynomial itself.<br /><br />So what's special about (6,12,18) here? Do other triples of numbers work? Why or why not? Obviously, integer multiples of the same three numbers also work, but what about other triples that are not in the proportions (1,2,3)?<br /><br />To answer this we need to look for coefficients <i>c<sub>i</sub></i> such that each monomial <i>c<sub>i</sub>x</i> divides each non-constant monomial of the polynomial <i>N</i>(<i>x</i>) = Π(<i>c<sub>i</sub>x</i> + 1). We can easily ensure that each monomial <i>c<sub>i</sub>x</i> divides the monomials of <i>N</i>(<i>x</i>) of degree two or more, by multiplying all coefficients by the same common factor, the least common multiple of the original coefficients. E.g. if we start with (1,2,3) and multiply by the least common multiple 6, we get Chernick's coefficients (6,12,18).<br /><br />So the tricky part is divisibility for the linear term of <i>N</i>(<i>x</i>), which is just the sum of the coefficients <i>c<sub>i</sub>x</i>. To get a universal form, we seek a set of coefficients such that each coefficient divides the sum of all coefficients, including itself. And we might as well add the constraint that the coefficients have no common factor, because such a factor doesn't help with this part and can be dealt with separately for the higher-degree terms. For instance, for the reduced version of Chernick's set, each coefficient 1, 2, 3 divides the sum of coefficients 1 + 2 + 3 = 6.<br /><br />If we set up an equation with the left side being the sum of the coefficients and the right side being the value they sum to, we can get an equivalent equation by dividing by the sum. Each term on the left side becomes a unit fraction (because each coefficient divides the sum) and the value on the right side just becomes 1. So we get an equation like 1/integer + 1/integer + 1/integer = 1. All three of the <a href="https://en.wikipedia.org/wiki/Unit_fraction">unit fractions</a> in this expression must be distinct, because we want our universal form to be squarefree. And conversely, if we have a solution to an equation like this, we can multiply everything by the least common multiple of the denominators of the unit fractions and get a collection of integer coefficients that divide their sum.<br /><br />But what this equation describes is exactly an <a href="https://en.wikipedia.org/wiki/Egyptian_fraction">Egyptian fraction</a> representation of 1. What the analysis above shows is that, if you have an Egyptian fraction representation, and then multiply both sides of the equation by the square of the LCM (one LCM to turn everything from fractions to integers and a second one to deal with the higher-degree divisibility requirements) you get the coefficients of a universal form. And every universal form with linear terms whose constant coefficients are 1 is proportional to a solution to an Egyptian fraction in this way.<br /><br />There are infinitely many Egyptian fraction representations of 1, but only finitely many of each length. 1/2+1/3+1/6 is the only one of length three, but for length four we have 1/2+1/3+1/7+1/42, 1/2+1/3+1/8+1/24, 1/2+1/3+1/9+1/18, 1/2+1/3+1/10+1/15, 1/2+1/4+1/5+1/20, 1/2+1/4+1/6+1/12, etc. To find a Chernick-like tuple from one of these monomials, say 1/2+1/3+1/10+1/15, first multiply it by the least common multiple 30 of the denominators to give an integer tuple (15,10,3,2) and then multiply it by the least common multiple 30 again to make sure that the high-degree divisibilities work, giving (450,300,90,60). Then whenever we can find <i>x</i> such that 60<i>x</i> + 1, 90<i>x</i> + 1, 300<i>x</i> + 1, and 450<i>x</i> + 1 are all prime, their product will be a Carmichael number. The first <i>x</i> that works is 11, giving the Carmichael number 661 × 991 × 3301 × 4951 = 10705662910801.<br /><br />Chernick's original paper includes universal forms that don't have 1 as their constant coefficient, which allows for a much greater variety of these polynomials. For instance, (10<i>x</i> + 7)(20<i>x</i> + 13)(50<i>x</i> + 31) is one of Chernick's universal forms; this is related to the fact that 7×13×31 is a Carmichael number. Chernick also proves the existence of universal forms with any number of factors greater than two, with 1 as the constant coefficient for all polynomials. But he seems to have missed the connection to Egyptian fractions. If this connection is represented elsewhere in later publications, I'd be interested to find out about it.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:317202Choosing payments for optimal change2015-09-16T21:01:54Z2015-09-16T21:11:40ZI'm sure I can't be the only one who still sometimes pays for things with cash, and chooses the amount of cash I give in a way that will cause the change to be a round number. But there can't be very many of us, because every time I do I totally bewilder the cashier I'm dealing with. It doesn't help that they're very seldom capable of making change in their heads.<br /><br />Today's example: my lunch bill was $10.67. I knew that I had not very many coins, but I had more $1 bills than I wanted, and didn't have any $5 or $10 bills. So, I handed over $21. This confused the cashier so badly that she rang it up as if I had given her $11, realized her mistake, asked me if I knew that I had given her $21, and was unable to figure out what to give me in change (even with the difference between $11 and $10.67 visible on the register screen) without totally redoing the whole transaction from scratch.<br /><br />But this led me to think about the following variations on the classical <a href="https://en.wikipedia.org/wiki/Change-making_problem">change-making problem</a>. They might make good dynamic programming exercises, in part because it's less obvious how to use a greedy algorithm to solve them than it is to use a greedy algorithm for change-making.<br /><br /><b>Simplest change</b>: given a payment amount, a set of coins (or bills) that can be used for the payment, and a (possibly different) set of coins/bills that can be used to make change, choose how much to pay in order to minimize the number of coins/bills you will get back in change.<br /><br /><b>Simplest transaction</b>: with the same input data, choose how much to pay in order to minimize the total number of coins/bills that change hands in both directions. (<a href="http://11011110.livejournal.com/176631.html">Previously</a>.)<br /><br /><b>Thinnest wallet</b>: with the same input data, choose how much to pay in order to minimize the total number of coins/bills that you end up with after the transaction, including both your change and the coins and bills that you didn't use to pay the charge.<br /><br />In all cases, let's assume that the cashier either knows how to give you the optimal change or can be guided by the register into doing so. I'd add another problem here, about choosing how to pay in order to minimize the transaction time and least annoy the math-phobic cashiers, but I'm sure using a credit card or debit card is the answer for that.urn:lj:livejournal.com:atom1:11011110:317071Mid-September linkage2015-09-16T04:52:32Z2015-09-16T04:52:32Z<ul><li><a href="http://boingboing.net/2015/09/02/wikipedia-bans-editors-suspect.html">Wikipedia paid editing and article protection money ring busted</a> (<a href="https://plus.google.com/100003628603413742554/posts/2ssg3heqa5R">G+</a>)</li><br /><li><a href="https://www.timeshighereducation.co.uk/news/academics-minority-more-two-thirds-uk-universities">Faculty slots losing out to support staff at English unis</a> (<a href="https://plus.google.com/100003628603413742554/posts/jKXEMJ4ZxbW">G+</a>)</li><br /><li><a href="http://newsroom.ucla.edu/stories/a-coded-message-hidden-in-floor-247232">Floor tile steganography at UCLA</a> (<a href="https://plus.google.com/100003628603413742554/posts/VfQ8squYx88">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Book:Matroid_Theory">My new Wikipedia Book on matroid theory</a> (<a href="https://plus.google.com/100003628603413742554/posts/YRsb9nRRiiv">G+</a>)</li><br /><li><a href="http://www.wired.com/2015/08/photography-just-cant-make-mind-square/">To square your photos or not to square your photos</a> (<a href="https://plus.google.com/100003628603413742554/posts/TPUhL6NsoMq">G+</a>)</li><br /><li><a href="https://eurocomb2015.b.uib.no/eurocomb/the-european-prize-in-combinatorics/">Karim Alexander Adiprasito, Zdeněk Dvořák, and Robert Morris win the European Prize in Combinatorics</a> (<a href="https://plus.google.com/100003628603413742554/posts/Qw8gQCxyrZs">G+</a>)</li><br /><li><a href="http://prog21.dadgum.com/210.html">Computer science courses that don't exist, but should</a> (<a href="https://plus.google.com/100003628603413742554/posts/3ksw2nqWtHe">G+</a>)</li><br /><li><a href="http://www.thisiscolossal.com/2015/09/paper-architecture-brodsky-utkin/">Soviet-era architectural sketches by Brodsky and Utkin</a> (<a href="https://plus.google.com/100003628603413742554/posts/ibXzkdLE5ev">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=BBp0bEczCNg">Carol Wood can make up new and strange numbers because she's a model theorist</a> (<a href="https://plus.google.com/100003628603413742554/posts/6iztFcg4CKw">G+</a>)</li><br /><li><a href="http://www.shelleyjames.co.uk/galleries/">Shelley James's geometric glass art</a> + <a href="https://www.youtube.com/watch?v=qZU-kUrBP3o">video</a> (<a href="https://plus.google.com/100003628603413742554/posts/e8NFjF7K6ba">G+</a>)</li><br /><li><a href="http://existentialcomics.com/comic/98">Harry Potter and the set of all sets that do not contain themselves</a> (<a href="https://plus.google.com/100003628603413742554/posts/AuGMwU9TEe6">G+</a>)</li><br /><li><a href="https://plus.google.com/117663015413546257905/posts/dttufb7MCk2">A nice algebraic explanation of the (3,7)-cage and its symmetries</a> (<a href="https://plus.google.com/100003628603413742554/posts/FT93rUKcipo">G+</a>)</li><br /><li><a href="http://www.wisdom.weizmann.ac.il/~robi/SODA16-AcceptedList.html">SODA accepted papers</a> and <a href="http://www.wisdom.weizmann.ac.il/~robi/SODA16-AcceptedListAbstracts.html">abstracts</a> (<a href="https://plus.google.com/100003628603413742554/posts/WE9WnHJu9TJ">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:316771Instability vs anonymization in E Pluribus Hugo2015-09-09T21:50:16Z2015-09-09T21:56:16ZThe latest episode of Hugo voting-system fever is that the Hugo administrators were hoping to be able to release anonymized nomination data for this year's Hugo Awards, in order to test the new <a href="http://nielsenhayden.com/makinglight/archives/016262.html">"E Pluribus Hugo" (single-divisible-vote last-place-elimination)</a> slate-resistant nomination scheme. But now they have realized that anonymization is difficult: one of them made a first cut at anonymizing the data and another was able to match ballots to individual people even after the anonymization. As a result <a href="http://file770.com/?p=24790">they're delaying (perhaps indefinitely) any release of the anonymized data</a>.<br /><br />So this naturally raises some questions: is anonymization really possible? What can we do to scramble the data, and what useful information would we lose by doing it?<br /><br />One can't really anonymize the identities of the nominated works (at least, the more popular ones) without significantly changing the data, because their ranking by popularity gives them away. And knowing the identity of some of these works may be enough to identify some voters (who have been enthusiastic about the same set of works elsewhere on the net) and from that identify the less-popular works as well. Even just the connections between pairs of voters implied by the presence of a less-popular work on both of their lists would likely be enough to infer much of the structure of their social network and from that their individual identities. Some of the proposed anonymization techniques I've seen suggested to get around these problems include<br /><br />- Replacing voter names by randomized identifier numbers (an obvious first step, but not good enough)<br />- Separately randomize voter names in each of the nomination categories (loses some possible information about slates, but reduces the amount of information that can be correlated to learn voter identities)<br />- Remove obvious-loser nominees. In the new EPH system being proposed, if the total number of voters for a given nominee is less than the fifth-largest total number of points (with one point per voter, spread evenly among their candidates), then no matter how the points are redistributed the nominee can't possibly win a place in the final ballot. So it would seem to be safe to remove those nominees from the data.<br />- Alternatively, randomly re-distribute the votes for obvious-loser nominees among the voters, to break up any social-network structure that might be inferred from them. They're not going to win, so why should it matter which voters voted for them?<br /><br />Unfortunately the first two anonymization techniques aren't good enough and (as I want to show below) the last two can change the result. The issue is that in certain unusual circumstances, EPH can be highly unstable, so that the ordering in which even very weak nominees are eliminated can make a significant difference in who ends up included in the final ballot. It seems likely to me that this sort of instability wouldn't happen much in practice, but I don't know that; it's one of the things one would like to test with real data. And it's not possible to do that if anonymization has altered the data in a way that might eliminate any instabilities.<br /><br />Specifically, consider the following scenario. It is the year 2025. Fandom has splintered into a sequence of factions, each 2/3 as numerous as the previous one in the sequence. The two remaining publishers, Geb and Roan, have remained scrupulously neutral and each publish only one book a year from the authors of each faction. Most Hugo voters nominate only the two books of their own faction, but a small fraction of voters (a consistent percentage of each faction, probably consisting of the publishers' employees) defect, and instead nominate two works of their favorite publisher, one from their own faction and one from the next larger faction. The defectors are equally split among the two publishers.<br /><br />What happens if we use EPH to find the five top nominees? The algorithm eliminates nominees one at a time, roughly in order by faction strength. In the first round, one of the two candidates from the weakest faction will be eliminated, but in each round after that, the weakest remaining faction will have only one candidate left. If the second weakest remaining faction also has only one candidate, the one from the weakest faction is eliminated. But if the second weakest remaining faction still has both of its candidates, the division of points will cause these two candidates to be weaker than the single candidate of the weakest faction, so one of the two candidates from the second weakest faction will be eliminated. We repeat elimination steps of these types until finally the top two factions have both of their nominees still present, but the third faction has only one of its two. Which one? That depends...<br /><br />If any one faction has its Geb candidate eliminated first, then the defectors from that faction will cause the Geb candidate for the next larger faction to be stronger, and the next larger faction will have its Roan candidate eliminated first. In the same way, if one faction has its Roan candidate eliminated first, then the next larger faction will have its Geb candidate eliminated first. And so the choice made in the first step, for the smallest faction, will echo through the process and change the result made in the final step, the one that determines which of the third-strongest faction's candidates makes it onto the final ballot.<br /><br />Even though some candidates may be obvious losers, omitting them can change the overall outcome. In particular, if the strongest omitted candidate is the only one omitted from its faction, its publisher will determine the publisher of the third-faction choice in the final ballot. Additionally, the pattern of defector nominations in the balloting pattern described above would be strong enough to identify the defectors (possibly by name, if we have external information about who belongs to which faction and who works for each publisher) and to identify which nominated works are by which publisher. Any permutation of nominations among voters that is strong enough to provide anonymization against this sort of identification will also likely be strong enough to break the instability.<br /><br />Does this potential instability in EPH indicate a flaw in the system? Maybe, but all voting systems have flaws. Any time two candidates are nearly tied and on the bubble for inclusion or elimination, small differences elsewhere in the input are likely to lead to big changes in the output. A little instability, unlikely to occur in practice, seems a small price to pay for the other nice properties of EPH. But the "unlikely to occur in practice" part is only my opinion, with little theory to back it up, and I think the only way to be sure is to test it on unaltered real data by omitting random subsets of obvious losers and seeing whether the results change.<br /><br />The moral of the story seems to be that, if we ever do get safely-anonymized nomination data, it will only be because it has been rearranged to the point that we won't be able to do all the experiments we would like to on it. In particular it may be difficult to test whether the nomination results are unstable or stable. The alternative would be to make the data available only in a restricted way (either giving it to researchers who could be trusted to keep it confidential or keeping it entirely private and letting the researchers submit experiment code for the guardians of the data to run). Neither seems entirely satisfactory from the point of view of increasing our understanding of how well voting systems work on real world data, but privacy of voter data is more important and that may be the best we can do.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:316450Sara and Timothy2015-09-08T06:51:13Z2015-09-19T20:19:36Z<p>It's been a while since we had a set of portraits of the kids done. So I took some this weekend, just before my daughter dyed the tips of her hair red and flew back to the other coast. Here they are:</p>
<div style="clear:both"></div><div align="center"><table border="0" cellpadding="10">
<tr align="center" valign="middle">
<td><a href="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Sara1.html"><img src="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Sara1-m.jpg" width="240" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Sara2.html"><img src="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Sara2-m.jpg" width="240" border="2" style="border-color:black;" /></a></td>
</tr><tr align="center" valign="middle">
<td><a href="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Timothy1.html"><img src="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Timothy1-m.jpg" width="240" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Timothy2.html"><img src="http://www.ics.uci.edu/~eppstein/pix/familyportraits15/Timothy2-m.jpg" width="240" border="2" style="border-color:black;" /></a></td>
</tr></table></div>urn:lj:livejournal.com:atom1:11011110:316385Automated drawing and optimization of syntax diagrams2015-09-03T05:14:52Z2015-09-03T05:18:10ZIf you've ever written a computer program you probably learned a little bit about context-free grammars, a formal method of describing the syntax of most programming languages that can be turned automatically into code for parsing those languages through the magic of compiler-compilers such as yacc. They're used for most other kinds of formal language, too: see for instance the <a href="http://www.json.org/">JSON home page</a>, which includes a grammar describing the syntax of data-description language JSON.<br /><br />Go look again at the JSON page more carefully, and you'll notice that there are actually two different descriptions of the same context-free language. In a sidebar on the right of the page is a context-free grammar, a textual description of the JSON language. But more prominently, to the left of the grammar, are a bunch of diagrams that look like railroad tracks, called syntax diagrams. You can generate any string in the language by starting at the left terminal of the object track, following any smooth path in the track until you get to the right terminal, copying down the train stations you passed through on your way, and then expanding out the rectangular ones in the same way recursively. This idea of following smooth paths in a railway-like diagram has been floating around in graph drawing under the name of "confluent drawings" for a few years, but it's been used in syntax diagrams for much longer. It's really a generative model rather than a discriminative model, in that it tells you how to form all possible strings in the formal language but it doesn't tell you how to parse a string; nevertheless, it carries the same basic information as the grammar.<br /><br />Or does it? Look a third time at the JSON page, and you might notice that the syntax diagram does not reflect the exact structure of the grammar. For instance, the grammar says that there should be only two smooth paths through the "object" track: one that passes through the two train stations "{" and "}", and a second one that passes through the "members" station between these two. But the diagram has a looped section of track that allows you to form infinitely many smoothed paths! They both describe the same language, but not in the same way. And this is a clue that the diagram must have been drawn by hand, or possibly drawn from a different grammar, because all the software I can find on the net for drawing syntax diagrams only performs a direct translation of a grammar to a diagram.<br /><br />So this is where my new preprint, <a href="http://arxiv.org/abs/1509.00818">Confluent Orthogonal Drawings of Syntax Diagrams</a> (arXiv:1509.00818, with Michael Bannister and David Brown, to appear at Graph Drawing) comes in. We take the point of view that writing grammars to be parsed automatically (essentially, a discriminative view of formal languages) and drawing syntax diagrams to visualize the strings that belong to the formal language (a generative view) are two different things, and that one can perform optimizations while going from one to the other (as the JSON people did) to make the syntax diagram easier to understand. Our paper envisions a third, intermediate description of a formal language (like the train station between the two brackets) that is abstract enough to allow these sorts of optimizations while also being flexible enough to describe more train tracks than the series-parallel ones that one gets from direct translations of grammars.<br /><br />In this third description, a formal language is described as a set of nondeterministic finite automata, one for each of the tracks of a diagram or for each of the nonterminals of a grammar. However, unlike the usual form of NFAs that can only recognize regular languages, the ones we use have alphabets that include both terminals and nonterminals. You can use these to generate strings in the formal language in the same way that you would with syntax diagrams: generate a string in the language by following a path from start to accept state of the initial NFA but then recursively do the same thing to expand each nonterminal in the string.<br /><br />An NFA is just a special kind of graph, and if we apply standard graph drawing techniques to this graph we get something that resembles a syntax diagram. But not quite: what look like vertices in the syntax diagram (its train stations) are actually not vertices, but edges, in the NFA. And the parts of the syntax diagram where the parts of the track come together, that look like confluent junctions of multiple edges in a confluent graph drawing, are actually not junctions, but vertices, in the NFA. So with a little care in the layout and a little transformation of how we draw each kind of object, we can turn our graph into a diagram. For instance this NFA (optimized from a grammar for LISP 1.5 and drawn with some edges overlapping each other so that it looks confluent but isn't really):<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/LISP15-NFA.png"></div><br /><br />turns into this syntax diagram:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/LISP15-syntax.png"></div><br /><br />With this representation in hand, we can go about optimizing the diagram to improve the visualization. There are a lot of things we could have tried, but in this paper the main ones are local optimizations to individual diagrams (such as pulling together tracks that go to the same place), replacement of tail-recursive calls of a diagram within itself to create loops, and replacement of nonterminals in one diagram by copies of the corresponding diagram, to reduce the number of different components in the visualization at the expense of making individual components more complicated.<br /><br />The paper also contains some experimental testing to show that these optimizations are effective, but I don't think that's really the point. The real point of the paper is to introduce the idea of algorithmically improving the appearance of syntax diagrams, rather than translating grammars directly to diagrams, and to provide both a software pipeline and an intermediate data structure that make that improvement possible.<br /><br />Unfortunately, although (unlike many of my papers) we implemented what we wrote about, I don't think our actual code is in good shape for public release. And my co-author who wrote all the code (David Brown, an undergraduate at the time) has graduated and gone on to better things. But now that we've done this research and understand better what we should have been doing in the first place, I think a second system built along the same principles would work much more smoothly and could be a very helpful visualization utility.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:316099How to cite conference proceedings published as journal issues2015-09-01T20:37:20Z2015-09-02T05:25:17ZPublishing conference proceedings and other kinds of edited collections as special issues of journals has a long history. But lately (partly as a reaction to perceived shortcomings of the more traditional CS system of publishing a preliminary version of a paper in a conference and then a full version in a journal) there's been <a href="http://cacm.acm.org/magazines/2013/1/158767-conference-journal-hybrids/fulltext">increasing</a> <a href="http://blog.computationalcomplexity.org/2015/08/pacm.html">pressure</a> to do this for more conferences. Which raises the question: how are we supposed to format these things in our bibliographies and bibtex files?<br /><br />Some standard but not-very-satisfactory solutions include: pretending the journal is a book series and using the series= parameter of an @inproceedings bibtex entry (but where does the journal issue number go?); formatting it as a normal conference proceedings paper and omitting the journal name and volume/issue data; formatting it as a normal journal paper and omitting the conference name and editors; or putting the data that doesn't fit into a note, formatted manually, and forgoing the uniform and flexible formatting provided by bibtex.<br /><br />I recently ran across an intriguing alternative used for some entries in MathSciNet: use @inproceedings, but with the journal= parameter giving the journal name (in place of series=), and with volume= and number= parameters again used as you would for a journal paper. Here's an example (not the one from MathSciNet):<pre>@inproceedings{FAvKSCM,
title = {Meta-representation of shape families},
author = {Fish, Noa and Averkiou, Melinos and van Kaick, Oliver and Sorkine-Hornung, Olga and Cohen-Or, Daniel and Mitra, Niloy J.},
booktitle = {Proceedings of ACM SIGGRAPH 2014},
doi = {10.1145/2601097.2601185},
editor = {Adam Finkelstein},
issn = {0730-0301},
journal = {ACM Transactions on Graphics},
month = Jul,
number = {4},
pages = {34:1--34:11},
volume = {33},
year = {2014}}</pre>If that worked, I'd expect it to be formatted something like:<ul><li>Fish, Noa; Averkiou, Melinos; van Kaick, Oliver; Sorkine-Hornung, Olga; Cohen-Or, Daniel; Mitra, Niloy J. (July 2014), "Meta-representation of shape families", in Finkelstein, Adam, ed., Proceedings of ACM SIGGRAPH 2014, <i>ACM Transactions on Graphics</i> 33 (4): 34:1–34:11, doi:<a href="http://doi.org/10.1145/2601097.2601185">10.1145/2601097.2601185</a></li></ul>But sadly, it doesn't work with any of the standard bibliography styles I tried it on (abbrv, splncs, and amsplain). In all cases it gives a warning and then produces a citation that is missing the journal name and issue number.<br /><br />Pretending the journal is a book series and using series= instead of journal= worked significantly better, although not perfectly. From abbrv, splncs, and amsplain I got respectively<ul><li>N. Fish, M. Averkiou, O. van Kaick, O. Sorkine-Hornung, D. Cohen-Or, and N. J. Mitra. Meta-representation of shape families. In A. Finkelstein, editor, <i>Proceedings of ACM SIGGRAPH 2014</i>, volume 33 of <i>ACM Transactions on Graphics</i>, pages 34:1–34:11, July 2014.</li><br /><li>Fish, N., Averkiou, M., van Kaick, O., Sorkine-Hornung, O., Cohen-Or, D., Mitra, N.J.: Meta-representation of shape families. In Finkelstein, A., ed.: Proceedings of ACM SIGGRAPH 2014. Volume 33 of ACM Transactions on Graphics. (July 2014) 34:1–34:11</li></ul>and<ul><li>Noa Fish, Melinos Averkiou, Oliver van Kaick, Olga Sorkine-Hornung, Daniel Cohen-Or, and Niloy J. Mitra, <i>Meta-representation of shape families</i>, Proceedings of ACM SIGGRAPH 2014 (Adam Finkelstein, ed.), vol. 33, ACM Transactions on Graphics, no. 4, July 2014, pp. 34:1–34:11.</li></ul>(with a warning from both abbrv and splncs about using both volume and number together).<br /><br />I don't normally use biblatex, but I also tried it (with its default settings), with similar results. It didn't complain about journal=, but it didn't show the journal name in the reference when I used it. With series=, I got the output<ul><li>Noa Fish et al. “Meta-representation of shape families”. In: <i>Proceedings of ACM SIGGRAPH 2014</i>. Ed. by Adam Finkelstein. Vol. 33. ACM Transactions on Graphics 4. July 2014, 34:1–34:11. <small>DOI:</small> <tt>10.1145/2601097.2601185</tt>.</li></ul>which is a bit mixed up, but at least has all the information visible. If you do plan on using biblatex only, there is a better option available through its additional fields:<pre>@article{FAvKSCM,
title = {Meta-representation of shape families},
author = {Fish, Noa and Averkiou, Melinos and van Kaick, Oliver and Sorkine-Hornung, Olga and Cohen-Or, Daniel and Mitra, Niloy J.},
issuetitle = {Proceedings of ACM SIGGRAPH 2014},
doi = {10.1145/2601097.2601185},
editor = {Adam Finkelstein},
issn = {0730-0301},
journal = {ACM Transactions on Graphics},
month = Jul,
number = {4},
pages = {34:1--34:11},
volume = {33},
year = {2014}}</pre>produces the output<ul><li>Noa Fish et al. “Meta-representation of shape families”. In: <i>ACM Transactions on Graphics</i> 33.4 (July 2014): <i>Proceedings of ACM SIGGRAPH 2014</i>. Ed. by Adam Finkelstein. 34:1–34:11. <small>ISSN:</small> 0730-0301. <small>DOI:</small> <tt>10.1145/2601097.2601185</tt>.</li></ul>So it looks like, for now, despite its shortcomings, series= is the way to go. But biblatex is promising and might (with styles that better match publisher requirements) be a better eventual solution.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:315863Linkage2015-09-01T04:33:07Z2015-09-01T04:33:07Z<ul><li><a href="http://blogs.ams.org/visualinsight/2015/08/15/tutte-coxeter-graph/">The Tutte–Coxeter graph</a> and its construction from the outer automorphisms of S<sub>6</sub> (<a href="https://plus.google.com/100003628603413742554/posts/Dog4Lr6HzUD">G+</a>)</li><br /><li><a href="http://blog.christianperone.com/?p=2840&a=2">Google's S2 spatial data structure</a> (<a href="https://plus.google.com/100003628603413742554/posts/4NC1nrdreew">G+</a>)</li><br /><li><a href="https://academia.stackexchange.com/questions/12052/how-many-arxiv-papers-are-uploaded-in-their-final-refereed-versions/12093#12093?newreg=0e423580788e44668fe42d39f6eba2c8">Question: how many arXiv papers are updated to their final journal versions?</a> (Answer: about half of them have non-empty journal-reference metadata; <a href="https://plus.google.com/100003628603413742554/posts/T9eTKXDNs3V">G+</a>)</li><br /><li><a href="https://plus.google.com/101584889282878921052/posts/N6mxUYNDZfX">Keleti's conjecture on the ratio of perimeter to area of a union of unit squares</a> (<a href="https://plus.google.com/100003628603413742554/posts/QGPn36eDNjA">G+</a>)</li><br /><li><a href="http://cstheory.stackexchange.com/q/32332/95">Reference for mixed graph acyclicity testing?</a> (Still not adequately answered, but the bounty has since expired; <a href="https://plus.google.com/100003628603413742554/posts/BPD6mZgWCkQ">G+</a>)</li><br /><li><a href="https://mittheory.wordpress.com/2015/08/15/purifying-spoiled-randomness-with-spoiled-randomness/">Purifying spoiled randomness with spoiled randomness</a> (<a href="https://plus.google.com/100003628603413742554/posts/irBbFtKFsRn">G+</a>)</li><br /><li><a href="https://plus.google.com/117663015413546257905/posts/BcWkaSbhGVR">Six-tetrahedron kaleidocycles don't work</a> (but it takes a computer simulation to demonstrate it, because paper ones do; <a href="https://plus.google.com/100003628603413742554/posts/CZX2trUS5TV">G+</a>)</li><br /><li><a href="http://nielsenhayden.com/makinglight/archives/016262.html">The new single-divisible-vote last-place-elimination scheme for Hugo nominations</a> (or as they call it, e pluribus Hugo; <a href="https://plus.google.com/100003628603413742554/posts/6XDdGCw86VS">G+</a>)</li><br /><li><a href="http://www.smh.com.au/world/russia-orders-wikipedia-page-blocked-over-cannabis-link-20150824-gj6sty.html">Wikipedia blocked in Russia</a> over its refusal to take down information about illegal drugs (since unblocked; <a href="https://plus.google.com/100003628603413742554/posts/RwXkRLHuhGW">G+</a>)</li><br /><li><a href="http://mybiasedcoin.blogspot.com/2015/08/cacm-viewpoints-on-theory-and.html">The two cultures of CS: theory vs experiment</a> (<a href="https://plus.google.com/100003628603413742554/posts/AAjVq5PneKF">G+</a>)</li><br /><li><a href="http://mathoverflow.net/a/215718/440">Six points in general position in 3d can be partitioned into triples determining two linked circles</a> (<a href="https://plus.google.com/100003628603413742554/posts/M2uzpUeznN9">G+</a>)</li><br /><li><a href="http://www.bouletcorp.com/hidden/quantum-pixel/">Boulet imagines what physicists in a pixelated world might think of it</a> (<a href="https://plus.google.com/100003628603413742554/posts/G1UpS5UZY6G">G+</a>)</li><br /><li><a href="http://www.prospectmagazine.co.uk/blogs/philip-ball/why-the-poohsticks-formula-is-wrong">Just because a formula looks mathy doesn't mean it makes any sense</a> (<a href="https://plus.google.com/100003628603413742554/posts/5ew2eu5TKHZ">G+</a>)</li><br /><li><a href="http://recode.net/2015/08/27/google-tells-developers-how-to-get-around-apples-new-security-rules-so-they-can-keep-selling-ads/">Google teaches spammers how to break security to get their ads through</a> (<a href="https://plus.google.com/100003628603413742554/posts/UvfckkmqjBU">G+</a>)</li><br /><li><a href="http://terraoko.com/?p=93652">Hyde Al Dzhazil, Yemeni town built on a rock</a> (<a href="https://plus.google.com/100003628603413742554/posts/hn52AjTJLNH">G+</a>)</li><br /><li><a href="http://westy31.home.xs4all.nl/Golay/GolayCodeAndSymmetry.html">Constructing the Golay error-correcting code from a great dodecahedron</a> (<a href="https://plus.google.com/100003628603413742554/posts/T8AnNLdcdUH">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:315529Linkage for the ides of August2015-08-16T00:17:52Z2015-08-16T00:17:52Z<ul><li><a href="http://www.theguardian.com/science/alexs-adventures-in-numberland/gallery/2015/jul/30/bridges-2015-a-meeting-of-maths-and-art-in-pictures">Art from Bridges 2015</a> (<a href="https://plus.google.com/100003628603413742554/posts/gGrzyjNkipk">G+</a>)</li><br /><li><a href="https://twitter.com/gelada/status/626810879435083776">New convex pentagon tiler</a> (<a href="https://plus.google.com/100003628603413742554/posts/JC8hqyUHuDE">G+</a>; see also <a href="http://www.theguardian.com/science/alexs-adventures-in-numberland/2015/aug/10/attack-on-the-pentagon-results-in-discovery-of-new-mathematical-tile">more detailed Guardian article</a>)</li><br /><li><a href="http://scholarlykitchen.sspnet.org/2015/07/16/when-do-citations-reflect-impact/">How both author intent and journal house style affect what a citation means</a> (<a href="https://plus.google.com/100003628603413742554/posts/BUrerbpJvLT">G+</a>)</li><br /><li><a href="http://www.cut-the-knot.org/pythagoras/ModernDaySangaku.shtml">Modern day Sangaku: why are these three circle centers collinear?</a> (<a href="https://plus.google.com/100003628603413742554/posts/K9HpuZudd1e">G+</a>)</li><br /><li><a href="https://plus.google.com/100003628603413742554/posts/D8jYC2fvsyq">Google stands up against extraterritorial censorship in the name of the right to be forgotten</a> (<a href="https://plus.google.com/100003628603413742554/posts/D8jYC2fvsyq">G+</a>)</li><br /><li><a href="http://motherboard.vice.com/read/how-a-victorian-astronomer-fought-the-gender-pay-gap-and-won">Maria Mitchell, Victorian astronomer who fought the pay gap</a> (<a href="https://plus.google.com/100003628603413742554/posts/hbFCzdeZuEN">G+</a>)</li><br /><li><a href="http://mappingignorance.org/2015/07/27/triangulations-are-rigid-you-can-do-better-using-pseudo-triangles/">Rigid structures from pseudo-triangles</a> (<a href="https://plus.google.com/100003628603413742554/posts/HodvVmmPMkP">G+</a>)</li><br /><li><a href="http://www.theatlantic.com/business/archive/2015/08/wikipedia-editors-for-pay/393926/">The fight against promotional editing on Wikipedia's medical articles</a> (<a href="https://plus.google.com/100003628603413742554/posts/QRedXktgTp8">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Dual_graph">Dual graphs</a>, my Wikipedia improvement project for the week (<a href="https://plus.google.com/100003628603413742554/posts/8WAd59thBht">G+</a>)</li><br /><li><a href="http://boingboing.net/2015/08/14/transgenic-mouse-company-pays.html">Bribing researchers to cite your papers</a> (<a href="https://plus.google.com/100003628603413742554/posts/8QhBpmT9x8w">G+</a>)</li><br /><li><a href="https://chrome.google.com/webstore/detail/wikipedia-with-mathjax/fhomhkjcommffnlajeemenejemmegcmi?hl=en-GB">How to make Wikipedia mathematics readable on Chrome</a> (<a href="https://plus.google.com/100003628603413742554/posts/EVf2TtyUXDi">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:315337WADS photos2015-08-11T06:13:16Z2015-08-11T06:13:16Z<p>I took a few photos on <a href="http://11011110.livejournal.com/315105.html">my recent trip to WADS</a>, of the people at the conference and the scenery on the conference excursion. Below are the ones of individual people:</p>
<div style="clear:both"></div><div align="center"><table border="0" cellpadding="10">
<tr align="center" valign="middle">
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/JorgSack.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/JorgSack-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/FrankDehne.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/FrankDehne-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/FaithEllen.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/FaithEllen-s.jpg" border="2" style="border-color:black;" /></a></td>
</tr><tr align="center" valign="middle">
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/DavidKirkpatrick.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/DavidKirkpatrick-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/JesperNielsen.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/JesperNielsen-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/YushiUno.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/YushiUno-s.jpg" border="2" style="border-color:black;" /></a></td>
</tr></table><table border="0" cellpadding="10">
<tr align="center" valign="middle">
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/MikeGoodrichAndTsviKopelowitz.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/MikeGoodrichAndTsviKopelowitz-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/wads15/HaitaoWang.html"><img src="http://www.ics.uci.edu/~eppstein/pix/wads15/HaitaoWang-s.jpg" border="2" style="border-color:black;" /></a></td>
</tr></table></div>
<p><b>( <a href="http://www.ics.uci.edu/~eppstein/pix/wads15/index.html">The rest of the photos</a> )</b></p>urn:lj:livejournal.com:atom1:11011110:315105Report from WADS2015-08-09T03:52:31Z2015-08-09T03:52:31ZI just returned from Victoria, BC, where the University of Victoria (under the capable local organization of Ulrike Stege) was the host for <a href="http://wads.org">WADS, the Symposium on Algorithms and Data Structures</a>. (The acronym made more sense when it was calling itself a workshop.)<br /><br />Each of the three days of the workshop was scheduled to begin with an invited talk, although one of them had to be rescheduled due to United Airlines cancelling the flight from San Francisco to Victoria that should have carried one of the speakers. Apparently that connection has frequent issues; my taxi driver back to the airport was quite familiar with the phenomenon. My own connections involved Alaska Airlines and Seattle instead, but that didn't prevent three out of four of my flights from being delayed. Fortunately a scheduled two-hour layover saved me from missing the one non-delayed flight. Anyway, the three speakers were Bodo Manthey on smoothed analysis of local search (based on the principles that smoothed instances are unlikely to have small local steps and are likely to have large optimal solution values relative to any local minimum), Cyrus Shahabi on adding "spatial" to social networks (e.g. to infer social connections from colocation in order to design recommendation systems that put you into a bubble where you and your friends see the same recommendations), and Bernard Chazelle on what happens when you mix Markov processes (each state's new value gets replaced by a convex combination of neighboring states' values) with dynamic graphs (the definition of neighboring changes based on some function of the values).<br /><br />Each day also had one of my own talks, on <a href="http://11011110.livejournal.com/307881.html">parametric closures</a>, <a href="http://11011110.livejournal.com/308431.html">cycle bases</a>, and <a href="http://11011110.livejournal.com/303471.html">contact graphs of circular arcs</a>; I've put my talk slides online <a href="http://www.ics.uci.edu/~eppstein/pubs/Epp-WADS-15-slides.pdf">here</a>, <a href="http://www.ics.uci.edu/~eppstein/pubs/EppMcCPar-WADS-15-slides.pdf">here</a>, and <a href="http://www.ics.uci.edu/~eppstein/pubs/AlaEppKau-WADS-15-slides.pdf">here</a>. And in addition I ended up being asked to chair two of the sessions. So my choice of which contributed talks to see was somewhat constrained, and there were several I would have liked to see but didn't. My recollections below of individual papers and talks are necessarily going to be somewhat haphazard, and I've probably gotten some speaker names and results wrong.<br /><br />The first and last contributed talks that I saw were both by Ke Chan. In the first one, Wednesday morning, Chan presented a paper by Adrian Dumitrescu and Csaba Tóth giving an exponential bound on <a href="http://arxiv.org/abs/1411.1303">the number of convex polygons in a triangulated point set</a>, tight to within a polynomial factor. It involved a cute trick for reducing the problem to convex position: by choosing an origin within one of the triangles, mapping the points radially to the unit circle, and careful retriangulation, all of the convex polygons containing the origin could be placed in bijection with the convex polygons of the new set, preserving the points belonging to each polygon but not which ones were vertices. Ke later presented the last talk of the conference, his own work with Dumitrescu on <a href="http://arxiv.org/abs/1409.3600">median-of-medians selection</a>, in which he conjectured that one of the exercises in CLRS is wrong: if you modify the standard groups-of-5 deterministic selection algorithm to use groups of 3 or 4 instead, the natural recurrence for its runtime solves to O(<i>n</i> log <i>n</i>) instead of linear, but it may not be possible to find an input that is as bad as the recurrence suggests, and slight modifications to the algorithm can be proven to be linear.<br /><br />Also on Wednesday morning, Michael Kerber spoke on work with Sergio Cabello in which they solve motion planning problems by <a href="http://arxiv.org/abs/1502.03690">subdividing the free space of a moving object by a quadtree</a>, whose cells are either completely free, completely obstructed, or mixed (still needing subdivision to determine whether they can be passed through). To test whether the obstructed cells completely separate the start and goal positions, they use a union-find data structure augmented by parity bits that can be used to detect a cycle of obstacles that crosses the start-goal line segment an odd number of times. But I think there are additional interesting data structural questions to study for this problem. In particular, some mixed cells might be completely surrounded by a ring of free cells, making it useless to subdivide them: any path through them could be replaced by a path through the ring. Can we detect these useless cells quickly somehow?<br /><br />One of the Wenesday afternoon talks was by Fahad Panolan on the <a href="http://people.scs.carleton.ca/~wads/WADS2015-papers/paper_85.pdf">parameterized complexity of matroid girth</a>. The girth of a matroid is the size of its smallest circuit (or equivalently of its smallest dependent set); for graphic matroids it's the same as the graph girth, for transversal matroids it's the size of the smallest Hall set (a subset of one side of a bipartite graph that cannot be the set of endpoints of a matching), for binary matroids it's the size of the smallest "even set" (apparently a notorious open problem in parameterized complexity) and for linear matroids of low rank it includes the problem of detecting whether a point set is in general position or not. The paper presented strong complexity-based evidence that the problem is not FPT for linear matroids when parameterized by rank or solution size, but is FPT when parameterized by a combination of rank and field size. It would be interesting to clarify whether field size can be replaced by field characteristic here, or whether the lower bounds for large fields work even when those fields have low characteristic.<br /><br />If WADS had a best presentation award (it doesn't), my vote would have gone to Bill Bird, who spoke Thursday morning on his work with Wendy Myrvold on algorithms to generate <a href="http://people.scs.carleton.ca/~wads/WADS2015-papers/paper_49.pdf">all non-isomorphic colorings of graphs</a> and for determining the distinguishing numbers of graphs (the minimum number of colors needed in a coloring that destroys all the symmetries of the graph). His algorithms aren't necessarily faster than previously-known ones, but they use significantly less memory, something that can be even more of a bottleneck than runtime when things are exponential. Unfortunately seeing this one meant that I missed the parallel talk by Chang and Yen, that among other things used Courcelle's theorem to prove <a href="http://people.scs.carleton.ca/~wads/WADS2015-papers/paper_43.pdf">fixed parameter tractability of finding polygonal contact representations</a> of planar graphs parameterized by polygon complexity and graph treewidth.<br /><br />There was only one Thursday afternoon session, making time for the conference excursion to Butchart Gardens followed by a nice beachside dinner. I had a choice between parameterized graph algorithms versus data structures, and ended up choosing the algorithms. The first paper of the session, by Li, Wang, Chen, and Cao, was on <a href="http://arxiv.org/abs/1412.8296">finding a spanning tree with at least <i>k</i> internal nodes</a>. It was known that, if the given graph contains an independent set whose neighborhood has at most half its size, then the problem can be reduced to a smaller one, and previous approaches involved finding a depth-first spanning tree and (if it's not itself good enough but the graph is still large) using its leaves as the independent set, but that leads to a kernel of size 3<i>k</i>. Instead, the new paper shows that using 6-opt local moves on the tree to reduce its number of leaves leads to a 2<i>k</i>-size kernel and an O(4<sup><i>k</i></sup>)-time parameterized algorithm.<br /><br />Two other talks on Thursday, one in the morning and one in the afternoon, both considered puzzles in which you are trying to get from one point in a large state space to another by a sequence of local moves. The morning's paper, by a group of Japanese authors with David Kirkpatrick, involved <a href="http://people.scs.carleton.ca/~wads/WADS2015-papers/paper_102.pdf">getting from one coloring of a graph to another</a> by swapping the colors of adjacent vertices, using as few swaps as possible. It's NP-hard even for cubic planar bipartite graphs, but when there are only two colors it can be solved optimally by finding a minimum-weight collection of paths connecting pairs of opposite-colored mismatched vertices. In the afternoon, Amer Mouawad spoke about <a href="http://arxiv.org/abs/1502.04803">getting from one independent set to another by a sequence of 2-opt moves</a> (removing one vertex and adding another). Without even trying to minimize the number of moves, it's hard for graphs of bounded treewidth, pathwidth, bandwidth, etc., although it can be solved polynomially for bounded tree-depth. Mouawad and his co-authors showed that nevertheless it's fixed-parameter tractable, parameterized by the independent set size, for a much broader class of sparse graphs including the graphs of bounded degeneracy and the nowhere-dense graphs.<br /><br />There was a brief business meeting during the conference dinner. The WADS conference series has been organized for the last 26 years by Frank Dehne and Jörg Sack, but at the meeting Jörg announced that Frank would be stepping down, with Faith Ellen taking his place. I don't think the location for the next WADS (in two years) has been decided yet; in any case it wasn't announced.<br /><br />Friday we could all sleep in because of the delayed invited talk, except for a couple of unfortunate attendees who left the dinner early and didn't hear the announcement about the changed schedule. Yannik Stein spoke first, about his work with Korman, Mulzer, van Renssen, Roeloffzen, and Seiferth on <a href="http://page.mi.fu-berlin.de/yannikstein/publications/triang_tradeoff.pdf">time-space tradeoffs for Voronoi diagrams</a>. If you have only constant working memory, but linear read-only input memory and write-only output memory, you can still construct a Voronoi diagram in quadratic time. Stein's method trades off this bound with the usual sequential time bound for Voronoi diagrams by computing a good sample of the input, using it to divide the problem into many independent constant-space subproblems, and running all the subproblems in parallel so that when they need to scan the input they can all do so in a single batch.<br /><br />In the same session, Amir Nayyeri spoke about an interesting definition of the distance between two points in the plane (or some higher dimensional space) given some sample of points on a manifold, that is supposed to capture the property that <a href="http://arxiv.org/abs/1502.08048">paths through the manifold are cheaper than paths across space</a>. To define the length of a curve, one integrates the local feature size (distance to the nearest sample) along the curve; if you follow a polygonal path through sample points the result is approximately the sum of squares of edge lengths, but the definition works more generally. With only a single sample point, the optimal curve between any two points can be found by viewing the points on the plane through the two points and the sample as complex numbers (with the sample at zero), squaring them all, and then either connecting the two given points by a line segment (if they started within 90 degrees of each other) or by a two-segment path through the origin (otherwise). For larger samples they form a Voronoi diagram, place gateway points along the boundaries of the cells, and use the single-sample method within each cell, giving a polynomial time approximation scheme for the optimal curve.<br /><br />Finally, in the afternoon session, Thatchaphol Saranurak spoke about <a href="http://arxiv.org/abs/1506.08319">the dynamic optimality conjecture</a>. There are now two candidates for a self-adjusting online binary search tree data structure that might have a constant competitive ratio against all offline strategies for adjusting a binary search tree to be fast on an input sequence: splay trees and another data structure based on a greedy solution to a geometric reformulation of the problem (augmenting a point set to prevent any two points of the augmented set from determining an empty rectangle). If either of these methods is competitive, it must in particular be competitive against a deque, which can access items at the start and end of the sorted list only in constant time per operation, because it's not hard to simulate a deque by a binary search tree. However, only an inverse-Ackermann competitive ratio was known for splay trees. This talk presented an exponential-of-inverse-Ackermann competitive ratio for the greedy strategy, based on showing that the augmented point set avoids a certain pattern in the shape of a W. But more than this specific result, I think it's also interesting for handling insertion and deletion operations directly; past work in this area instead assumed a static set of keys.<br /><br />I also have some photographs of attendees that I took during the conference; I haven't yet finished processing them but will put up another post here once I do.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:314841MathML considered harmful2015-08-05T06:11:42Z2015-08-16T00:18:32ZIf you've been paying any attention to my blog posts and other online activity, you probably know that I'm a huge fan of Wikipedia. I think it's a great way to communicate theoretical research to a wider audience, a great way to practice writing in a setting that encourages writing for readability, and a great place to publish survey-like material. Since I began editing Wikipedia in 2006, I have made <a href="https://en.wikipedia.org/wiki/Wikipedia:List_of_Wikipedians_by_number_of_edits">over 90000 edits</a> and created <a href="https://en.wikipedia.org/wiki/Wikipedia:List_of_Wikipedians_by_article_count">over 700 new articles</a> (not counting redirects etc), most of them on mathematical subjects. I've also regularly been using collections of Wikipedia readings as textbooks in some of my classes for which there is no published text that matches the material I want to cover. I've encouraged others to contribute their expertise and will take the opportunity to do so again: Edit Wikipedia! Contribute your knowledge to the broader world!<br /><br />But if you've read many Wikipedia article on mathematical subjects, you'll know that they can have a few issues. The content may sometimes be amateurish and topics may be missing, but those can be fixed with some effort. (Edit Wikipedia! Contribute your knowledge!) Another, more stubborn issue concerns the formatting of its mathematical equations.<br /><br /><br /><b>What's wrong with Wikipedia's equation formatting</b><br /><br />In Wikipedia's default view (what you get if you don't create an account, log in, and change your appearance preferences), what you see for many equations is a bitmap graphics image of the equation. It's nicely typeset by TeX or something that mimics TeX, but the fonts don't match the text of the articles (especially in formulas that include pieces text themselves rather than just mathematical symbols or variables), the font sizes are generally too big, the text alignment is wrong, they look pixelated rather than matching the sharpness of the other text, you can't select or copy text from the middle of them, they are stuck in \displaystyle even for inline formulas (leading to ugly irregularities in line spacing), and they don't change color to indicate the existence of a link the way real text does.<br /><br />In 2006, that was a lot better than the mathematics formatting that you could do anywhere else on the web. On Wikipedia, you could edit formulas using familiar TeX markup and they would automatically appear. Everywhere else, you had the choice of editing html manually (and being limited to what could be formatted in html), or writing in other document-processing systems such as LaTeX and either publishing pdf files or using tools like <a href="https://en.wikipedia.org/wiki/LaTeX2HTML">LaTeX2HTML</a> to batch-produce HTML files with bare-bones formatting and bitmap image formulas.<br /><br />Later, some other web sites began springing up providing the ability to do the same thing as Wikipedia: enter TeX markup and get a bitmap image that you could include in your html files, with the same problems of font and alignment and pixelization. I probably still have several of these among my old blog posts, because LiveJournal has still never even caught up to the 2006 Wikipedia's ability to format math.<br /><br />And then along came <a href="https://www.mathjax.org/">MathJax</a>.<br /><br /><br /><b>MathJax and Wikipedia</b><br /><br />Introduced in 2009 after a joint project of the AMS, SIAM, and others, MathJax provided code to do the work of turning mathematical formulas into html markup so that you don't have to. Their slogan is "it just works", and it's true. Add one line of code to your web pages:<pre><script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></pre>and then start formatting math using \(...\) for inline formulas and \[...\] for displayed equations. (If you want $...$ the setup is a few more lines.)<br /><br />MathJax has some minor issues, involving slow formatting and reflowing already-displayed text, and it's kind of a hack, but it really is easy and it really does work well, producing equations that are formatted as pieces of text, looking as sharp as any other piece of text, using fonts that match the surrounding text, and scaling properly with the surrounding text. MathJax quickly became the de facto standard for mathematics formatting on the web and has become widely used by sites including MathSciNet, MathOverflow, arXiv, the commercial journal publishers, etc.: almost everyone who publishes mathematics on the web.<br /><br />MathJax has newer imitators, as well. A good example is the Khan Academy's <a href="https://khan.github.io/KaTeX/">KaTeX</a>. Unlike many instances of MathJax, KaTeX runs on the server rather than the browser, making it feel faster and preventing some of the reflow glitches that affect MathJax. Unfortunately, it is also more limited than MathJax in the types of formulas that it can handle. When it works it works well but it's not a complete solution.<br /><br />The exception to all of this mathematics formatting wonderfulness has been Wikipedia. What does Wikipedia use as its default method of displaying mathematics in 2015, six years after MathJax became available? The same bitmap images it was using in 2006. It did add a MathJax user option (for logged in users only) <a href="http://11011110.livejournal.com/252718.html">in 2012</a>, but only grudgingly, and now <a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2015-07-22/Technology_report">it's taken even that much away again</a>.<br /><br />If you want MathJax in Wikipedia, you'll have to hack it together yourself with custom Javascript, and of course that will do nothing for how most people see the articles you edit. And what is the reason for all of this foot-dragging, and the reason for this long post? <a href="https://en.wikipedia.org/wiki/MathML">MathML</a>, a failed non-solution to mathematics rendering that the Wikimedia developers are still trying to promote.<br /><br /><br /><b>Editors vs developers</b><br /><br />Some background on Wikipedia versus Wikimedia is probably appropriate here. It's confusing because the names are so similar, but they're different things. Wikipedia is a big multi-language encyclopedia, whose volunteer contributors are usually called editors. It has a big body of text, lots of rules about how to edit, and various pieces of bureaucracy to enforce those rules, but the bureaucrats are also volunteers. Mediawiki is the software on which Wikipedia runs, and Wikimedia is the nonprofit organization that develops and runs that software. It has actual computer farms and actual paid employees, some of whom are software developers, but it also uses volunteer software developers to augment the efforts of the paid ones. The Wikipedia editors and Wikimedia developers are not the same people, and have often had major disagreements on how best to improve the Wikimedia software. Even when they share common goals, such as expanding and diversifying the base of editors (Edit Wikipedia! Contribute your knowledge!) they often disagree on how to achieve them. Major flashpoints have included<ul><li>The <a href="https://en.wikipedia.org/wiki/Wikipedia:VisualEditor">Visual Editor</a>, a GUI intended by the developers to replace text editing of wiki-markup,</li><li><a href="https://en.wikipedia.org/wiki/Wikipedia:Flow">Flow</a>, a threaded discussion system intended to replace the article talk pages used by editors to discuss controversial changes to articles, compare alternative versions of article text, or request changes that other editors might be better able to make, and</li><li><a href="https://en.wikipedia.org/wiki/Wikipedia:Pending_changes">Pending changes</a>, a system for preventing new editors' changes from becoming visible until they are vetted by more experienced editors.</li></ul>Compared to these controversies, mathematics formatting and MathML are small potatoes: a small part of the encyclopedia, important to only a small fraction of editors and developers, but very important to that small number of people.<br /><br /><br /><b>Standards-based semantic markup</b><br /><br />Two issues that developers care much more about than editors and readers are semantic content markup and standards-based web design. From long before the dawn of the web, computerized document processing systems have tended to use one of three strategies for describing a piece of text and its formatting:<ul><li>One is to specify precisely what each mark in the output document should look like and where it should be placed; this geometry-based approach is used, for instance, in the pdf files commonly used to encode and transmit formatted scientific journal articles.</li><li>A second is to specify the intended human meaning ("semantics") of a piece of text, letting the software that receives the document figure out how that meaning should be translated into formatting. In LaTeX when we specify that something is a theorem (\begin{theorem} ... \end{theorem}) or in HTML when we specify that something is a top-level header (<h1> ... </h1>) or paragraph (<p> ... </p>) we are using semantic markup.</li><li>And a third is to mix the text with a sequence of ad-hoc commands that interact with a specific formatting engine and tell it what to do, but with no clearly defined geometry or semantics (like, for instance, plain TeX).</li></ul>In the early days of HTML, it used a mix of semantic and ad-hoc markup, leading to chaotic results such as web pages that were carefully coded to look nice on one browser displaying badly or not at all on others. Then, through the mid-to-late 1990s, there was a push to standardize both the coding of HTML markup and the formatting of the results by browsers, leading to the current system under which the basic document markup is purely <a href="https://en.wikipedia.org/wiki/Semantic_HTML">semantic HTML</a> (describing paragraphs or other divisions in a piece of text) but with an associated stylesheet that describes in a precise way how that semantics should be translated into formatting. As a result, one can now design a web page and be confident that it behaves in a predictable way on all modern browsers, subject only to unavoidable variations such as screen width.<br /><br />The same push for standards-based markup that led to the cleanup in HTML also led to many other new XML-based markup languages, and the hope that these languages could be used to represent pieces of HTML-based documents that required specialized markups. One of the more successful languages of this type has been <a href="https://en.wikipedia.org/wiki/Scalable_Vector_Graphics">SVG</a>, a language for storing scalable images built from simple geometric objects like lines and circles. Unlike previous vector graphics formats such as postscript and pdf, SVG images could be mixed with text in the middle of an HTML document, and unlike previous inline bitmap image formats such as GIF, PNG, and JPG they could be scaled to arbitrarily large sizes without loss of quality and did not require a separate image file download. SVG files are widely used today; for instance, they are the standard format for vector graphics on Wikipedia, and the LiveJournal service on which I keep my blog uses them as part of the login banner that you see on the top of many of its pages.<br /><br />But the success of this project has led the Wikipedia developers to push the same ideas into other areas where they fit less well, and in particular into mathematics formatting using another of the XML languages designed at this time, MathML.<br /><br /><br /><b>What is MathML?</b><br /><br />MathML is intended to provide a structured way to describe mathematical expressions, but from the start there were ambiguities in what this meant, that caused the language to be schizophrenic, really forming two languages in one and mirroring the split between presentation and markup described above. One of the two languages, called <a href="http://www.w3.org/TR/MathML2/chapter4.html">content markup</a> in the MathML standard, is intended to describe the underlying mathematical content of an expression: what it means in terms of calculating numbers from other numbers. For instance, the expression <i>x</i> + <i>y</i>/<i>z</i> means that you should divide <i>y</i> by <i>z</i> and then add <i>x</i> to the result. The markup used to represent this expression involves an "apply" token that represents the application of a function to its arguments; here there are two functions, addition and division, each with two arguments, which are either variables or the results of other function applications. So we get a piece of markup that looks like<pre><semantics>
<apply>
<plus/>
<ci> x </ci>
<apply>
<divide/>
<ci> y </ci>
<ci> z </ci>
</apply>
</apply>
</semantics></pre>In contrast, the other language within MathML, <a href="http://www.w3.org/TR/MathML2/chapter3.html">presentation markup</a>, is intended to describe the visual appearance of a mathematical expression. As in TeX, expressions are formed from subexpressions that are either concatenated together horizontally (as in the example expression <i>x</i> + <i>y</i>/<i>z</i> which has the five symbols <i>x</i>, "+", <i>y</i>, "/", <i>z</i> in a row), vertically (as in the other way of writing the same expression using a vertical fraction instead of a slash), or sometimes in more complex grids. These concatenations of symbols can be nested within each other, and the MathML specification recommends that this nesting should follow the semantics of the expression (even in presentation markup), so the same expression written using presentation markup would look like<pre><mrow>
<mi> x </mi>
<mo> + </mo>
<mrow>
<mi> y </mi>
<mo> / </mo>
<mi> z </mi>
<mrow>
</mrow></pre>(don't ask me why this isn't surrounded by a presentation tag; I copied this expression directly from the MathML manual).<br /><br /><br /><b>How to edit mathematics</b><br /><br />Needless to say, none of this is how mathematicians actually write mathematics using LaTeX, the standard document formatting system for mathematical publications. Instead, the same expression would be written in LaTeX as<pre>$x+y/z$</pre>or<pre>\[ x+y/z \]</pre>Here, just as in the MathML examples, the spaces are unimportant. The $...$ or \[...\] delimiters mark off mathematics from other text. Clearly, LaTeX is much more concise, and much more closely resembles the expression it describes. For those reasons it is also much easier to read and write by humans than either form of MathML. Fortunately, I don't think anyone has proposed making Wikipedia editors type in MathML formulas directly. Instead, for actually writing formulas in Wikipedia articles or elsewhere, there are two plausible options:<ul><li>Keep using LaTeX-like textual markup, and somehow translate it into MathML, or</li><li>Force everyone to use a GUI (see above for the huge wars between editors and developers already caused by this idea, before we even get to the mathematical part) and tack on a GUI editor for mathematics expressions.</li></ul>Fortunately, so far, option (1) seems to be prevailing on Wikipedia.<br /><br />So, as we've seen, MathML isn't a human-usable method of editing formulas. It's just too cumbersome compared to the alternatives. Instead, the best option for editing formulas is the one we've already been using, a more streamlined LaTeX-based markup format. But having a streamlined editing language isn't unique to mathematics. After all, the bulk of Wikipedia articles are written in a streamlined wiki-markup format, designed to be easier for humans to edit than pure html. For instance, in wiki-markup, paragraph breaks are indicated very simply by leaving a blank line between the paragraphs, just like LaTeX and quite unlike the way they are indicated in HTML. The Wikimedia engine takes care of translating this markup into proper HTML, and for the most part the translation goes very smoothly. Can't we do the same for mathematics markup, editing LaTeX but then translating it into proper MathML? That way, we would have convenient markup for editors, clean semantics for the server-browser communication channel, and nice readable formulas for readers, right? This, or something like this, seems to be the fervent hope of the Wikimedia developers. This hope is everything they have been working towards, and it is the reason they have so badly neglected any other way of rendering mathematics. But does it work? Can it work?<br /><br />To answer these questions, it is necessary to distinguish again between content (semantic) MathML and presentation MathML. Unless we're careful to distinguish these two languages, it's too easy to argue for or against the use of MathML by picking and choosing the advantages or disadvantages of one or the other style of markup, considering content MathML when it suits the argument and switching to presentation MathML when that choice would make a stronger argument. So let's treat them separately, beginning with content MathML.<br /><br /><br /><b>Why content MathML doesn't work</b><br /><br />To begin with, content MathML was never intended to be used for editing and then publishing text documents. That's what presentation MathML is for. Content MathML is aimed more at applications that need the ability to manipulate and evaluate mathematical functions: for instance, in symbolic algebra systems, or in the cells of a spreadsheet. But content MathML does have some tempting attractions for document publishing nevertheless. Foremost among them, I think, is that by representing the meaning of a mathematical expression, rather than its appearance, it would allow expressions to be presented to users of Wikipedia in other ways. For instance, maybe a blind person could have the formula described to them audially rather than visually? Additionally, if a document describes the meaning of an expression, it might be possible to allow readers to plug in example values and see what it does to them.<br /><br />However, this mode of MathML comes with severe drawbacks that, I think, make it unusable for Wikipedia. One of these is that the problem of inferring meaning from a mathematical expression is too difficult and requires too much context. If I write the expression <i>xRy</i>, what do I mean? It could be that I wish to multiply three real numbers, symbolized by the three letters. It could be instead that the lower-case letters are vectors and the upper case letter is a matrix; again, I might want to multiply them, but the multiplication function for these objects is a different function than the one for real numbers. It could be that I am writing about context-free grammars, that the lower case letters are terminal symbols of a grammar and the upper case letter is a non-terminal symbol, and that writing them next to each other represents string concatenation. It could be that the upper case letter represents a binary relation, and the expression represents a truth value, true when <i>x</i> and <i>y</i> have the given relation to each other and false when it doesn't. Or it could even be that (as used to be popular among some types of logician and for all I know could still be) this expression is using the Polish notation for function applications, that the first two letters are unary functions, and that the expression describes the application of these functions to the value represented by the third letter. Each of these possibilities would have a different expression in content MathML (and a different sequence of words as spoken rather than written mathematics), but the LaTeX markup just doesn't include the information needed to tell which is intended. Unless we develop a true artificial intelligence that can read and understand the surrounding text, we can't transform LaTeX into content MathML correctly, and we've already seen that the other options for directly editing content MathML are too cumbersome.<br /><br />Even if we could edit content MathML, we'd have a second problem: converting it back into a visual representation for the bulk of the Wikipedia users, the ones who read the articles and formulas. But this problem is also highly ambiguous. If an expression involves division, should it be presented with a slash or a vertical fraction? If it involves function application, should it be presented with the standard mathematical notation of a function name followed by a parenthesized argument list, with the Polish notation of the logicians, or maybe (for binary functions) as an infix operator? If it involves multiplication, should it be presented with a diagonal cross multiplication symbol, a centered dot multiplication symbol, or by just placing the arguments next to each other with no symbol between them? These are editorial decisions. They need to be left to the human editors of wikipedia, and represented in the markup that they edit. But they don't translate into content MathML, because it's the wrong kind of MathML for representing these distinctions.<br /><br />With no way to accurately translate wiki markup to content MathML and no way to translate content MathML back into a visual formula in a way that respects the wishes of the editors, it is a non-solution.<br /><br /><br /><b>Why presentation MathML doesn't work</b><br /><br />That leaves presentation MathML, and there the difficulties are more about practicality than about theoretical ambiguities. Can LaTeX markup be translated to well formatted presentation MathML? Sure, that conversion already exists and works reasonably well for simple formulas. When editors get too tricky with their LaTeX markup (for instance <a href="http://tex.stackexchange.com/questions/174118/not-independent-sign-in-latex">using negative spacing to cobble together a "not independent of" slashed double-up-tack symbol from smaller pieces</a>) the quality of the presentation MathML will suffer, but it can presumably still represent the same combination of pieces and produce roughly the same visual appearance.<br /><br />Does presentation MathML produce a semantically clean server-browser communications channel? No, the semantics are in the other kind of MathML, but this issue is unimportant to anyone but the developers.<br /><br />Can presentation MathML be used to produce a spoken rather than visual presentation of a formula? No, because the meaning that would allow a good spoken translation has been lost, and using speech to describe the visual layout of a mathematical formula would be worse than just spelling out the original streamlined markup. Sight-impaired users would need to avoid the translation to presentation MathML, and instead just run the LaTeX markup directly through their text-to-speech systems, but that option already exists. So (unlike semantic markup) presentation markup is no help in accessibility, but (also unlike semantic markup) it can actually be made to work.<br /><br />Yes, but can presentation MathML be made to actually work well? Here's where it falls down badly. It is neither necessary nor sufficient for good presentation of mathematical formulas.<br /><br />It is not necessary, even if one wants a clean server-browser communications channel without browser-side hacks, because all it's doing is describing the relative position of visual marks on a screen, which is a function that HTML already provides. Systems such as MathJax and KaTeX have already shown that HTML alone is perfectly capable of describing the visual presentation of mathematical formulas.<br /><br />And it is not sufficient, because formatting complex mathematical expressions is just too much of a niche market compared to formatting HTML text and SVG graphics that it's not worth the time of the big browser developers to put much effort into doing it well. Some major browsers do a credible job of formatting presentation MathML. Some claim to be able to format presentation MathML but do it very badly. And some have never supported it or (like Chrome, the one I use most often) have retracted their support for MathML. I don't see this situation as likely to change, because it's not just a matter of programming it once and forgetting about it; any large chunk of code in a browser requires continued development, development costs money, and the cost-benefit ratio for MathML to the browser developers is too low to make its continued development worthwhile.<br /><br />So, when you format mathematics using presentation MathML, you can't be guaranteed that your readers can see good results, and you can't be guaranteed that they will see any results at all. Instead, you have to detect the failure to format MathML and have a fallback formating method that can be used whenever MathML doesn't work. But that fallback is actually the common denominator for your users, the one that limits the quality of your presentation to them. For Wikipedia, so far, that fallback has been bitmap images, with all their problems. The plan for the foreseeable future is to eventually change it to be SVG images, with almost all of the same problems: they scale better than bitmaps, and require less browser-server communication than bitmaps, but they have all of the other problems that bitmaps have already revealed. Any developer effort put into improving MathML support is developer time not spent on making the fallback work, nor on choosing a better fallback.<br /><br /><br /><b>Blame MathML</b><br /><br />It would be one thing if we just had ugly but readable formulas. But because Wikipedia's built-in mathematical formatting has been so bad for so long, with so little hope of improvement, Wikipedia editors have been drawn to several alternative solutions for Wikipedia, that integrate mathematical formulas better into the surrounding text at the expense of formatting them worse as mathematics. Some articles use Wikipedia's native formatting capabilities (such as changes to slanted rather than upright fonts) together with HTML coding (for subscripts and superscripts); others use more complicated templates that change fonts to make mathematical formulas look like LaTeX math. These have their own problems; the wiki-formatting solution uses sans-serif fonts, not a good idea for math (where it is important to be able to distinguish upright lower-case L's, the number one, and vertical bars from each other), the font-switching used by the templates doesn't work on all platforms (notably, not on the Android Wikipedia app), and neither method can handle complex formulas. So most articles that use these workarounds also use Wikipedia's math, leading to different appearances for the same variable names. And they have no accessibility features. Despite all that, most editors consider these methods to be better than the alternative, Wikipedia's actual math formatting capabilities. Even if Wikipedia eventually does switch to better math formatting, it will take a long time and a lot of editing work to get the articles to catch up.<br /><br />So that's where we are with Wikipedia, mathematics, and MathML. Content MathML can't work, but has distracted the developers with the false hope of clean semantic markup and accessibility. Presentation MathML can't be edited, doesn't have clean semantics, isn't accessible, and doesn't actually work for most users. In the meantime everyone is stuck seeing image files for formulas, despite all their drawbacks and despite the existence of better solutions. The developers have put in very little effort even to reduce the more easily-fixed of the problems with image files, nor to find a better solution, because they have their sights fixed on MathML and won't work on anything else. Logged-in editors are able to set a preference for Wikipedia to translate math into MathML for their own browsing, allowing editors who use the right browsers to get formatting that's as good as, but no better than, MathJax, but this doesn't help the rest of us and it doesn't help the people who just want to read Wikipedia. Editors have lost hope of ever having good mathematics formatting and have switched to half-baked workarounds with their own problems. In effect, by distracting the developers and preventing them from improving the default mathematics formatting on Wikipedia, the existence of MathML has made Wikipedia both harder to edit (because editors need to deal with all the workarounds, whose markup is much worse than LaTeX) and harder to read (compared with other mathematics sites now using MathJax). That seems a big price to pay for very little benefit.<br /><br />So, by all means, edit Wikipedia! Contribute your knowledge to the broader world! Just don't expect the mathematical formulas to be as pretty as you might expect anywhere else on the web. And blame MathML for the problem, rather than thinking of it as any kind of solution.<br /><br /><b>( <a href="https://plus.google.com/u/0/100003628603413742554/posts/XEfbfT6C1M6">See also more discussion of this post on Google+</a> )</b><a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:314526Zio Ziegler in Irvine2015-08-03T05:39:22Z2015-08-03T05:41:58ZStreet art? In Irvine? Apparently, now, the answer is yes. Local clothing manufacturer <a href="http://www.tillys.com/">Tillys</a> somehow <a href="http://www.ocregister.com/articles/ziegler-670632-wall-work.html">persuaded the planning commission</a> to allow them to commission <a href="https://en.wikipedia.org/wiki/Zio_Ziegler">Zio Ziegler</a> (new Wikipedia article) to decorate one of their warehouses, right next to interstate 405, where approximately 240,000 daily drivers will see it.<br /><br />You can't exactly stop on the freeway to take photos, but I found enough other more accessible vantage points to get a few shots:<br /><br /><div align="center"><a href="http://www.ics.uci.edu/~eppstein/pix/tillys/6.html"><img src="http://www.ics.uci.edu/~eppstein/pix/tillys/6-m.jpg" border="2" style="border-color:black;" /></a></div><br /><br /><b>( <a href="http://www.ics.uci.edu/~eppstein/pix/tillys/index.html">The rest of the photos</a> )</b>