urn:lj:livejournal.com:atom1:110111100xDE0xDE0xDE2015-01-23T03:29:20Zurn:lj:livejournal.com:atom1:11011110:304362The linear algebra of edge sets of graphs2015-01-22T23:29:25Z2015-01-23T03:29:20ZThis quarter, in my advanced algorithms class, I've been going through <a href="http://www.cc.gatech.edu/fac/Vijay.Vazirani/book.pdf">Vazirani's <i>Approximation Algorithms</i> book</a> chapter-by-chapter, and learning lots of interesting material that I didn't already know myself in the process.<br /><br />One of the things I recently learned (in covering chapter 6 on feedback vertex set approximation)<sup>*</sup> is that, although all the students have taken some form of linear algebra, many of them have never seen a vector space in which the base field is not the real numbers or in which the elements of the vector space are not tuples of real coordinates. So instead of discussing the details of that algorithm I ended up spending much of the lecture reviewing the theory of binary vector spaces. These are very important in algebraic graph theory, so I thought it might be helpful to write a very gentle introduction to this material here.<br /> <br />First of all we need the concept of a <a href="https://en.wikipedia.org/wiki/Field_(mathematics)">field</a>. This is just a system of elements in which we can perform the usual arithmetic operations (addition, subtraction, multiplication, and division) and expect them to behave like the familiar real number arithmetic: addition and multiplication are associative and commutative, there are special values 0 and 1 that are the identities for addition and multiplication respectively, subtraction is inverse to addition, division is inverse to multiplication by anything other than zero, and multiplication distributes over addition. The field that's important for this material is a particularly simple one, <a href="https://en.wikipedia.org/wiki/GF(2)">GF(2)</a>, in which the required special values 0 and 1 are the only elements. The arithmetic of these two values can be described as ordinary integer arithmetic mod 2, or equivalently it can be described by saying that addition is Boolean xor and multiplication is Boolean and. Subtraction turns out to be the same as addition, and division by 1 (the only value that it's possible to divide by) is just the identity operation. It's not hard to verify that these operations have all the desired properties of a field, and doing so maybe makes a useful exercise (Exercise 1).<br /><br />Next, a <a href="https://en.wikipedia.org/wiki/Vector_space">vector space</a> is a collection of elements that can be added to each other and multiplied by <a href="https://en.wikipedia.org/wiki/Scalar_(mathematics)">scalars</a> from a field. (One can generalize the same concept to other kinds of arithmetic than fields but then one gets modules instead of vector spaces.) The vector addition operation must be commutative and invertible; this implies that it has an identity element, and this element (whatever it happens to be) is called the zero vector. Additionally, scalar-scalar-vector multiplications must be associative, scalar multiplication by the special element 1 of the field must be the identity operation, and scalar multiplication must be distributive over both vector and field addition.<br /><br />One easy way to construct vector spaces over a field <b>F</b> is to make its elements be <i>k</i>-tuples of elements of <b>F</b> with the addition and scalar multiplication operations acting independently on each coordinate, but it's not the only way. For the vector spaces used in this chapter, a different construction is more natural: we let the elements of the vector space be sets in some family of sets, and the vector addition operation be the <a href="https://en.wikipedia.org/wiki/Symmetric_difference">symmetric difference</a> of sets. The symmetric difference <i>S</i> Δ <i>T</i> of two sets <i>S</i> and <i>T</i> is the set of elements that occur in one but not both of <i>S</i> and <i>T</i>. This operation is associative, commutative, and invertible, where the inverse of a set is the same set itself: <i>S</i> Δ <i>T</i> Δ <i>T</i> = <i>S</i> regardless of which order you use to perform the symmetric difference operations. If a nonempty family of sets has the property that the symmetric difference of every two sets in the family stays in the family, then these sets can be interpreted as the elements of a vector space over GF(2) in which the vector addition operation is symmetric difference, the zero vector is the empty set (necessarily in the family because it's the symmetric difference of any other set with itself), scalar multiplication by 0 takes every set to the empty set, and scalar multiplication by 1 takes every set to itself. One has to verify that these addition and multiplication operations are distributive, but again this is a not-very-difficult exercise (Exercise 2).<br /><br />As with other kinds of vector spaces, these vector spaces of sets have bases, collections of vectors such that everything in the vector space has a unique representation as a sum of scalar products of basis vectors. Every two bases have the same number of vectors as each other (Exercise 3: prove this), and this number is called the dimension of the vector space. If the dimension is <i>d</i>, the total number of vectors in the vector space is always exactly 2<sup><i>d</i></sup>, because that is the number of different ways that you can choose a scalar multiple (0 or 1) for each basis vector. <br /><br />The families of sets that are needed for this chapter are subsets of edges of a given undirected graph. These can also be interpreted as subgraphs of the graph, but they're not quite the same because the usual definition of a subgraph also allows you to specify a subset of the vertices (as long as all edges in the edge subset have endpoints in the vertex subset), and we won't be doing that. Every graph has three important vector spaces of this type associated with it, the edge space, the cycle space, and the cut space. The edge space is the family of all subsets of edges (including the set of all edges of the given graph and the empty set). That is, it is the <a href="https://en.wikipedia.org/wiki/Power_set">power set</a> of the set of all edges; it has a natural basis in which the basis vectors are the one-edge sets, and its dimension is the number of edges in the graph.<br /><br />The <a href="https://en.wikipedia.org/wiki/Cycle_space">cycle space</a> is the family of all subsets of edges that have even degree at all of the vertices of the graph (Exercise 4: prove that this family is closed under symmetric difference operations). So it includes the simple cycles of the graph, but it also includes other subgraphs; for instance in the graph of an octahedron (a six-vertex graph with four edges at each vertex) the set of all edges is in the cycle space, as are the sets of edges formed by pairs of triangles that touch each other at a single vertex and the sets complementary to triangles or 4-cycles. It's always possible to find a basis for the cycle space in which the basis elements are themselves simple cycles; such a basis is called a <a href="https://en.wikipedia.org/wiki/Cycle_basis">cycle basis</a>. For instance you can form a "fundamental cycle basis" by choosing a spanning forest of the given graph and then finding all cycles that have one edge <i>e</i> outside this forest and that include also the edges of the unique path in the forest that connects the endpoints of <i>e</i>. Or, for a planar graph, you can form a cycle basis by choosing one cycle for each bounded face of a planar embedding of the graph. There are lots of interesting algorithmic problems associated with the cycle space and its cycle bases, but for this chapter the main thing that's needed is to compute its dimension, which has the nice formula |<i>E</i>| − |<i>V</i>| + <i>c</i>, where <i>E</i> is the edge set of the given graph, <i>V</i> is the vertex set, and <i>c</i> is the number of connected components. One name for this dimension is the <a href="https://en.wikipedia.org/wiki/Circuit_rank">cyclomatic number</a> of the graph, and the book chapter denotes it as cyc(<i>G</i>). (It's also possible to interpret it topologically as the first Betti number of the graph but for students who don't already know about binary vector spaces that would probably be more confusing than helpful.)<br /><br />The cut space of the graph doesn't take part in this chapter, but can be defined similarly as the set of all cut-sets of the graph. A <a href="https://en.wikipedia.org/wiki/Cut_(graph_theory)">cut</a> of a graph is a partition of its vertices into two disjoint subsets; in some contexts we require the subsets to both be nonempty but we don't do that here, so the partition into an empty set and the set of all vertices is one of the allowed cuts. The corresponding cut-set is the set of edges that have one endpoint in each of the two subsets. The family of cut-sets is closed under symmetric difference (Exercise 5) so it forms a vector space, the edge space. If the edges are all given positive weights and the graph is connected, then the minimum weight basis of the edge space can be represented by a tree on the vertices of the graph, in which each tree edge determines a cut (the partition of the tree into two subtrees formed by deleting that edges) and has an associated number (the weight of its cut). This tree is called the <a href="https://en.wikipedia.org/wiki/Gomory%E2%80%93Hu_tree">Gomory–Hu tree</a> of the graph and it came up (stripped of its linear-algebra origin) earlier, in an approximation for <i>k</i>-cuts in chapter 4. I also have a recent preprint on computing this basis and this tree for graphs that can be embedded onto low-genus surfaces: see <a href="http://arxiv.org/abs/1411.7055">arXiv:1411.7055</a>.<br /><br /><small><sup>*</sup>Unrelatedly, in preparing to cover this topic, I was confused for a long time by a typo in this chapter. On page 56 it states that, for a minimal feedback set, "clearly" the sum over feedback vertices of the number of components formed by deleting that one vertex equals the number of feedback vertices plus the number of components that are formed by deleting the whole feedback set but that touch only one vertex in the set. This is not true. What is true, and what is needed for the later argument, is that the left hand side is greater than or equal to the right hand side.</small><a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:304060Linkage2015-01-16T04:16:46Z2015-01-16T04:16:46Z<ul><li><a href="http://www.thisiscolossal.com/2015/01/pixel-a-mesmerizing-dance-performance-incorporating-digital-projection/">Real-time 3d special effects in modern dance</a> (<a href="https://plus.google.com/100003628603413742554/posts/Hp8vcVRmzHS">G+</a>)</li><br /><li><a href="http://stemfeminist.com/2015/01/05/450/">How not to react to conference talks that happen to be presented by women</a> (<a href="https://plus.google.com/100003628603413742554/posts/KvCqKMhU84U">G+</a>, including also an unrelated report from the SODA business meeting)</li><br /><li><a href="http://www.neatorama.com/2015/01/07/Iced-Intrigue/">Photos of icy landscapes</a> showing how varied the geometry of ice can be (<a href="https://plus.google.com/100003628603413742554/posts/M9v6nj2Kfu2">G+</a>)</li><br /><li><a href="http://awards.acm.org/press_releases/fellows-2014b.pdf">New ACM fellows</a> (<a href="https://plus.google.com/100003628603413742554/posts/8HgRjNyNuQE">G+</a>)</li><br /><li><a href="http://www.maths.manchester.ac.uk/~jm/Choreographies/about.html">n-body choreagraphies</a> (strange solutions to the n-body problem in which all bodies follow each other along a curve; <a href="http://gminton.org/#choreo">more</a> and <a href="https://en.wikipedia.org/wiki/N-body_choreography">still more</a>; <a href="https://plus.google.com/100003628603413742554/posts/84uAkqPtzrM">G+</a>)</li><br /><li><a href="http://www.washingtonpost.com/news/speaking-of-science/wp/2015/01/08/men-on-the-internet-dont-believe-sexism-is-a-problem-in-science-even-when-they-see-evidence/?Post+generic=?tid%3Dsm_twitter_washingtonpost">Men (on the Internet) don’t believe sexism is a problem in science, even when they see evidence</a> (<a href="https://plus.google.com/100003628603413742554/posts/9kgtv1mh5SR">G+</a>)</li><br /><li><a href="https://plus.google.com/101584889282878921052/posts/VbBk9JrLxqm">The fractional chromatic number of the plane</a> (<a href="https://plus.google.com/100003628603413742554/posts/Ea6VqUWL6XG">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=KboGyIilP6k">Elwyn Berlekamp video on dots-and-boxes strategy</a> (<a href="https://plus.google.com/100003628603413742554/posts/UrgtLhCcEi9">G+</a> <a href="https://plus.google.com/113862074718836293294/posts/aJi4HxTP9Pe">reshare</a>)</li><br /><li><a href="http://richardelwes.co.uk/2015/01/02/the-grothendieck-song/">Richard Elwes sings the Grothendieck Song for us</a> (<a href="https://plus.google.com/100003628603413742554/posts/XDe3WtoERW5">G+</a>)</li><br /><li><a href="http://www.thisiscolossal.com/2015/01/fascinating-3d-printed-fibonacci-zoetrope-sculptures/">Animated shapes from a 3d printed object, a turntable, and a strobe light</a> (<a href="https://plus.google.com/100003628603413742554/posts/Jpk5j2sKQqB">G+</a> <a href="https://plus.google.com/117273001021476361745/posts/QjURgBC7K3j">reshare</a>)</li><br /><li><a href="http://gruze.org/tilings/">Why tilings by regular polygons can't include the pentagon</a> (<a href="https://plus.google.com/100003628603413742554/posts/PZMj7dnC9oC">G+</a> via <a href="http://www.metafilter.com/146120/No-Pentagons">MF</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:303850Report from SODA, ALENEX, and ANALCO2015-01-07T07:56:32Z2015-01-07T07:56:32ZI just returned from San Diego, where ALENEX, ANALCO, and SODA were held this year. I'm only going to write about a fraction of the things that happened at these conferences, in part because (with four different sessions happening in parallel much of the time) it was only possible for one person to see a fraction of those things. Also I already posted bits about the <a href="http://11011110.livejournal.com/303471.html">ALENEX/ANALCO business meeting</a> and <a href="https://plus.google.com/100003628603413742554/posts/KvCqKMhU84U">SODA business meeting</a> so I won't repeat those here.<br /><br />Sunday's scheduled plenary talk by Peter Winkler on pursuit games was unfortunately cancelled because of illness; instead we got a nice talk on <a href="https://en.wikipedia.org/wiki/Locally_decodable_code">locally decodable codes</a> by Sergey Yekhanin. Unfortunately I missed a couple of Sunday afternoon talks i wanted to see (Timothy Chan on the Four Russians and Julia Chuzhoy on the wall theorem) because they conflicted with another session of interest to me. In it, Michael Walter described how to list all short lattice vectors in exponential time (but a better exponential than before). Friedrich Eisenbrand showed that an old greedy algorithm to approximate the largest simplex within the convex hull of a high-dimensional point set is better than previously thought, by a nice analysis that involves forming an orthogonal basis for the space that has the same volume as the simplex, grouping the basis vectors by their lenghts, and approximating the convex hull by a product of balls for each group. And Sepideh Mahabadi showed that if you want to construct a data structure for a set of lines that can find the approximate-nearest line to a query point, the const is only about the same as for the more standard nearest point to a query point.<br /><br />The mystery of the late Sunday session was the meaning of the talk title "The parameterized complexity of K", by Bingkai Lin, the winner of both the best student paper and best overall paper awards. It turned out to be a typo in the program: "K" should have been "k-biclique". The problem Lin studied is finding a complete bipartite subgraph K<sub>k,k</sub> in a given graph; one would expect it to be W[1]-hard, like clique-finding, but this wasn't known. Lin proved the expected hardness result by a reduction from clique-finding in which he took a graph product of a graph possibly containing a large clique with another graph having some sort of Ramsey property, and showed that the resulting product graph either does or doesn't contain a large biclique. He gave two constructions for the Ramsey graph, a randomized one that only blows up the parameter k (the size of the clique one is trying to find) by a polynomial factor, and a deterministic one that blows it up by a factorial factor. So there is a big gap between deterministic and randomized, but to me that's not surprising when Ramsey theory is involved. The bigger question to me is whether the polynomial blowup of even the randomized reduction can be changed into constant blowup, so that we can extend known results that n<sup>O(k)</sup> is optimal for clique-finding (unless some form of the exponential time hypothesis is false) to similar results for biclique-finding. <br /><br />Monday I ended up spending the whole day at ALENEX. UCI student Jenny Lam started the day with online algorithms for a version of caching in which the items to be cached have sizes (like a web cache and unlike a virtual memory system) and must be assigned contiguous locations within the cache memory. A system of breaking the cache memory into blocks, grouping items into FIFO queues of items with similar priority, and representing each queue by a linked sequence of blocks turns out to work well. It gives up a little in performance compared to systems for caching that don't worry about the memory placement part of the problem, but most of what it gives up is because of using FIFO instead of LRU within each queue rather than because of the fixed memory placement. Also Monday morning, Claire Mathieu gave the second of the invited talks, on moving from worst-case inputs to a "noisy input" model in which one assumes that the input comes from some kind of ground truth with a nice structured solution that has been randomly perturbed; one would like to be able to recover the solution (with high probability) to the extent possible. This turns out to be mathematically almost the same as the "planted solution" model of generating test inputs, in which a random input is perturbed by making it have a solution of higher quality than a random input is likely to have by itself, and then one asks whether this planted solution can be found among the randomness. However, the emphasis of why one is doing this is different: not as a test case, but because real-world inputs are often nicer than worst-case inputs and we want to try to capture that in our input model.<br /><br />In the first afternoon talk, Sandor Fekete set up an integer program for finding triangulations that maximize the length of the shortest edge. He discussed two lower bounds for the problem, one being the shortest convex hull edge and the second being the shortest interior diagonal that is not crossed by any other diagonal; the second one turns out to be more powerful than the first, and he posed as an open question (or actually a conjecture but with an answer I don't believe) the problem of finding the expected length of this shortest uncrossed diagonal, for random inputs (say uniform in a square). And Maarten Löffler and Irina Kostitsyna gave what I think was the most entertaining talk of the conference, with hidden party hats under the seats of some audience members and gummy bears on the slides, about algorithms for approximating certain geometric probabilities (whether two random points from two given distributions can see each other around given obstacles). The most memorable talk for me from the late afternoon session was the last one, by my academic brother Pino Italiano, on 2-connectivity in directed graphs. In undirected graphs, you can define a 2-connected block to be a maximal subgraph that can't be disconnected by a vertex deletion, or you can define a 2-connected component to be an equivalence class of the pairwise relation of having two vertex-disjoint paths, but these two definitions give you the same thing. In directed graphs, the blocks and components are not the same, and you can construct blocks in linear time but the best algorithms for components are quadratic. In his ALENEX paper (he also had a SODA paper in this area), Pino implemented and tested several algorithms for these problems, with the surprising result that even though the worst case performance of the component algorithms is quadratic the practical performance seems to be linear. So this probably means there are still theoretical improvements to be made.<br /><br />That brings me to today. In the morning, Natan Rubin spoke about systems of Jordan curves that all intersect each other (it is conjectured that most of the intersections must consist of more than one point, and he confirmed this for some important special cases) and Andrew Suk spoke about geometric Ramsey theory (for instance if you have n points in general position in the plane you can find a logarithmic subset for which all triples have the same order type, meaning they are in convex position); he significantly increased the size of the subset one can find for several similarly-defined problems. And Avrim Blum gave the third invited talk, on algorithmic problems in machine learning.<br /><br />In the early afternoon, there were again two sessions I wanted to go to in parallel, so I decided to try switching between them. In one of the two, Joshua Wang spoke on his work with Vassilevska-Williams, Williams, and Yu (how likely is VVW to be first alphabetically among so many authors?) on subgraph isomorphism. For finding three-vertex induced subgraphs, the hardest graphs to find are triangles or their complements, which can be found in matrix-multiplication time. The authors of this work showed that the same time bounds can extend to certain four-vertex subgraphs, such as the diamond (K4 minus an edge). A randomized algorithm for finding diamonds turns out to be easy, by observing that a certain matrix product counts diamonds plus six times the number of K4s, and then choosing a random subgraph to make it likely that if diamond exists, the number of diamonds is nonzero mod six. The harder part of the paper was making all this deterministic. In the other session, Topi Talvitie formulated a natural geometric version of the k-shortest paths problem: find k shortest paths that are locally unimprovable, or equivalently find k shortest homotopy classes of paths. It can be solved by a graph k-shrotest paths algorithm on the visibility graph of the obstacles, or by a continuous Dijkstra algorithm that he explained with a nice analogy to the levels of a parking garage (see the demo at <a href='http://dy.fi/wsn'>http://dy.fi/wsn</a>). Louis Barbu showed that there are still more tricks to be extracted from Dobkin-Kirkpatric hierarchies: by using one hierarchy of each type and switching between a polyhedron and its polar as necessary, it is possible to find either a separating plane or an intersection point of two polyhedra in log time. And Jeff Erickson's student Chao Xu spoke on weakly simple polygons; these are polygons whose edges are allowed to overlap each other without crossing, and both defining them properly and recognizing them efficiently turns out to be an interesting problem.<br /><br />In the final session, I learned from Daniel Reichman about contagious sets: sets of vertices in a graph with the property that if you repeatedly augment the set by adding vertices that have two neighbors already in the set, it eventually grows to cover the whole graph. In a d-regular expander, the size of such a set should be n/d<sup>2</sup> (it turns out), and Reichman presented several partial results in this direction. Loukas Georgiadis gave the more theoretical of the two talks on directed 2-connectivity. Jakub Tarnawski showed how to generate uniformly random spanning trees in time O(m<sup>4/3</sup>), the best known for sparse graphs. (The problem can be solved by taking a random walk until the whole graph is covered and then selecting the first edge into each vertex, but that is slower.) And Hongyang Zhang formulated a notion of connectivity of pairs of vertices in which one chooses a random spanning forest in a graph and then looks at the probability that the pair is part of the same tree; this apparently has connections to liquidity in certain financial webs of trust.<br /><br />The <a href="http://epubs.siam.org/doi/book/10.1137/1.9781611973754">ALENEX</a>, <a href="http://epubs.siam.org/doi/book/10.1137/1.9781611973761">ANALCO</a>, and <a href="http://epubs.siam.org/doi/book/10.1137/1.9781611973730">SODA</a> proceedings are all online, there's plenty more of interest beyond what I've mentioned here, and it all appears to be freely accessible without any need for institutional subscriptions.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:303471Circular arc contacts, Miura slides, and ALENEX business2015-01-05T06:06:26Z2015-01-05T06:06:26ZWhile I've been at SODA one of my co-authors has been busy preparing what turns out to be my first preprint of the new year: <a href="http://arxiv.org/abs/1501.00318">Contact Representations of Sparse Planar Graphs</a> (arXiv:1501.00318, with Alam, Kaufmann, Kobourov, Pupyrev, Schulz, and Ueckerdt). I think this is one of these cases where a picture can go a lot farther than words in explaining: here's an example of what we're looking at.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/arc-cuboctahedron.png"></div><br /><br />The 12 circular arcs of this diagram correspond to the 12 vertices of a <a href="https://en.wikipedia.org/wiki/Cuboctahedron">cuboctahedron</a>, and the 24 contact points between arcs (the points where one arc ends as it runs into another arc) correspond to the 24 edges of the cuboctahedron. What we want to know is which other graphs can be represented like the cuboctahedron in this way? They have to be planar, and every subgraph has to have at most twice as many edges as vertices (because every set of arcs has twice as many endpoints as arcs) and beyond that it's a little mysterious. But we have some natural subclasses of the planar graphs for which we can prove that such a representation always exists (for instance the 4-regular planar graphs) and some NP-hardness results.<br /><br />Two other uploads of possible interest: <a href="http://www.ics.uci.edu/~eppstein/0xDE/ALENEX15-business-meeting.pdf">my report as co-PC-chair at the ALENEX business meeting</a>, and <a href="http://www.ics.uci.edu/~eppstein/pubs/BalDamEpp-SODA-15.pdf">my talk on Miura folding</a> (both with small corrections to the slides I actually used). I've <a href="http://11011110.livejournal.com/297829.html">posted here before</a> about the Miura folding results. For the ALENEX report, besides the usual breakdown of acceptance rates and subtopics, there were two more substantial issues for future planning: should ALENEX move its submission deadline earlier than the SODA notification date (so that the PC has adequate time to review the submissions), and should it accept more papers? The sentiment at the meeting seemed to be in favor of both ideas.urn:lj:livejournal.com:atom1:11011110:303315Greetings from San Diego2015-01-04T00:53:07Z2015-01-04T00:53:07ZI've just arrived in San Diego for the annual <a href="http://www.siam.org/meetings/da15/">Symposium on Discrete Algorithms</a> and its associated satellite workshops ALENEX and ANALCO. That little strip of blue on the left edge of the photo is the harbor; you can also see a little bit of it directly from the hotel, if your window faces in the right direction. If you're also here, greetings!<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/pix/WestinSanDiego/WestinSanDiego-m.jpg" border="2" style="border-color:black;" /></div>urn:lj:livejournal.com:atom1:11011110:3028692014 in algorithm preprints2015-01-02T05:44:20Z2015-01-02T05:49:58ZHappy New Year, everyone! It's time once again to give a status report on the cs.DS (data structures and algorithms) section of the arXiv. The arXiv as a whole just hit a big milestone, one million preprints uploaded. cs.DS forms a small fraction of that, but still, last year there were 1182 new preprints, up a little from <a href="http://11011110.livejournal.com/281196.html">the previous year</a>.<br /><br />There has been some talk recently about possible changes to the system, including replacing author choices of subarea within cs by the results of an automated text classification system (which already exists but is only used for advisory purposes now), and allowing moderators to reject papers that they deem to be unscientific or not of any plausible interest to the readers (as already happens in the physics and math parts of arXiv). I think any actual change is likely to happen only very slowly, but it's possibly worth thinking about the things arXiv does well and the other things that it might be able to do better.<br /><br />With so many preprints, it's hard to choose among them (I guess that's what we have conference program committees for). Still, here's a selection of ten(-ish) I found personally interesting, excluding my own papers and a few <a href="http://11011110.livejournal.com/291361.html">I wrote about earlier</a>. I'm sure I missed some other good ones, so feel free to leave your own favorites in the comments.<br /><ul><li><b>Popular conjectures imply strong lower bounds for dynamic problems</b>, Amir Abboud and Virginia Vassilevska Williams, <a href="http://arxiv.org/abs/1402.0054">arXiv:1402.0054</a> and FOCS 2014. The <a href="http://en.wikipedia.org/wiki/Exponential_time_hypothesis">exponential time hypothesis</a> is the unproven but widely-believed conjecture that certain NP-complete problems require exponential time. We already know how to scale it down, showing that (if ETH is true) certain known polynomial-time or fixed-parameter-tractable algorithms for static problems are optimally fast. This paper extends these results to scaled-down dynamic graph algorithms for basic problems such as reachability, showing that ETH explains the fact that we don't have subpolynomial update times for these problems.</li><br /><li><b>Shortest paths in intersection graphs of unit disks</b>, Sergio Cabello and Miha Jejčič, <a href="http://arxiv.org/abs/1402.4855">arXiv:1402.4855</a> and CGTA 2014. <a href="https://en.wikipedia.org/wiki/Unit_disk_graph">Unit disk graphs</a> can have a quadratic number of edges, so algorithms whose running time is subquadratic have to use the geometric structure rather than just constructing the graph and using a general-purpose graph algorithm. This paper shows that unweighted shortest paths can be found in <i>O</i>(<i>n</i> log <i>n</i>) time (essentially optimal) and that the weighted problem can be solved only a little slower.</li><br /><li><b>The complexity of the simplex method</b>, John Fearnley and Rahul Savani, <a href="http://arxiv.org/abs/1404.0605">arXiv:1404.0605</a>. <b>On simplex pivoting rules and complexity theory</b>, Ilan Adler, Christos Papadimitriou, and Aviad Rubinstein, <a href="http://arxiv.org/abs/1404.3320">arXiv:1404.3320</a> and IPCO 2014. A long line of algorithms and discrete geometry research is rooted in the phenomenon that the simplex method can be used to find linear program solutions in practice, but in theory most variants of it can be forced to take an exponential number of steps. These two papers look at the solution trajectories found by this method, and show that (as well as being long) they have high computational complexity: it can be PSPACE-complete to tell whether a point is part of the trajectory, or (for degenerate problems) which solution the simplex method will end up at.</li><br /><li><b>Parameterized streaming algorithms for vertex cover</b>, Rajesh Chitnis, Graham Cormode, MohammadTaghi Hajiaghayi, and Morteza Monemizadeh, <a href="http://arxiv.org/abs/1405.0093">arXiv:1405.0093</a> and SODA 2015. <b>Streaming kernelization</b>, Stefan Fafianie and Stefan Kratsch, <a href="http://arxiv.org/abs/1405.1356">arXiv:1405.1356</a> and MFCS 2014. Streaming meets parameterized complexity: many parameterized algorithms take linear time in their input size but exponential or worse time in some other parameter, so it makes sense to ask whether their linear time can scale even to problems too big to fit into main memory.</li><br /><li><b>Flip distance is in FPT time <i>O</i>(<i>n</i> + <i>k</i>⋅<i>c</i><sup><i>k</i></sup>)</b>, Iyad Kanj and Ge Xia, <a href="http://arxiv.org/abs/1407.1525">arXiv:1407.1525</a> and STACS 2015. The version of flip distance considered here is for triangulations of geometric point sets; a flip is a replacement of two triangles that form a convex quadrilateral by the other two triangles for the same quadrilateral, and flip distance is the minimum number of flips needed to change one triangulation to another. It's known to be NP-hard for this variant, and even the special case of convex polygons is interesting (of unknown complexity). You might think that FPT is obvious: just keep the parts of the triangulation that are already correct, and flip the rest. But it's more complicated than that, because sometimes you might want to flip things that are already correct to get them out of the way, and then flip them back again later. (This makes a convenient point to repeat my standard warning that formulas in paper titles are a bad idea.)</li><br /><li><b>Generating <i>k</i>-independent variables in constant time</b>, Tobias Christiani and Rasmus Pagh, <a href="http://arxiv.org/abs/1408.2157">arXiv:1408.2157</a> and FOCS 2014. From the title, this looks like it might be about hash functions, but it's not. <i>k</i>-wise independence is an important assumption in that context, allowing practical hashing algorithms to be used with limited randomness, but there's a lower bound showing that computing such hash functions in constant time requires a large amount of memory. On the other hand, in some other algorithms you might just need some pseudorandom values rather than a function that you can call later with the same input and get the same output. So <i>k</i>-wise independent random generation should be easier than <i>k</i>-wise independent hashing, and this paper shows that it actually is. Specifically, they show how to generate pseudorandom values over a finite field in constant time per value with a number of bits that's linear in the independence parameter and logarithmic in everything else.</li><br /><li><b>Dynamic integer sets with optimal rank, select, and predecessor search</b>, Mihai Pătrașcu and Mikkel Thorup, <a href="http://arxiv.org/abs/1408.3045">arXiv:1408.3045</a> and FOCS 2014. Mihai's last paper? This uses word-RAM operations to provide a constant-time data structure for the named operations on sets whose size is polynomial in the word length. This is almost like the atomic sets in fusion trees, but better because it can be updated more quickly.</li><br /><li><b>Computing classic closeness centrality, at scale</b>, Edith Cohen, Daniel Delling, Thomas Pajor, and Renato F. Werneck, <a href="http://arxiv.org/abs/1409.0035">arXiv:1409.0035</a> and COSN 2014. The closeness centrality of a node in a network is, essentially, the average distance to all the other nodes. Nodes with smaller average distance are more central; it is in this sense that Paul Erdős is central to the mathematical collaboration network or Kevin Bacon is central to the acting co-star network. I had a paper at SODA 2001 on approximating centrality, but it depended on an assumption that the network has low diameter. This paper makes no such assumption but nevertheless manages to estimate the centrality of all nodes accurately in near-linear time.</li><br /><li><b>Simple PTAS's for families of graphs excluding a minor</b>, Sergio Cabello and David Gajser, <a href="http://arxiv.org/abs/1410.5778">arXiv:1410.5778</a>. Approximation algorithms for planar graphs and their generalizations are nothing new, but they generally involve the algorithm knowing a lot about the graph and its structure (for instance using a separator decomposition). This paper shows that even very simple methods (just a local search) can give good approximations, with all the graph structure showing up in the analysis rather than in the algorithm itself.</li><br /><li><b>Beyond the Euler characteristic: Approximating the genus of general graphs</b>, Ken-ichi Kawarabayashi and Anastasios Sidiropoulos, <a href="http://arxiv.org/abs/1412.1792">arXiv:1412.1792</a>. If a given graph can be embedded into a surface of bounded genus, then it can be embedded into a surface of bounded (but larger) genus in polynomial time (independent of the genus). The dependence of the embedded genus to the optimal genus is only polynomial, and this also leads to approximation algorithms with a sublinear approximation ratio. Previously such an approximation was only known for graphs of bounded degree.</li></ul><a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:302619Linkage for the end of the year2014-12-31T23:18:53Z2014-12-31T23:18:53ZAfter <a href="http://11011110.livejournal.com/292825.html">I returned to Google+</a> in mid-year (once Google rescinded their real-name policy) I've been sharing approximately a link a day there, and collecting the links for twice-monthly roundups here (in part to allow me to find my posts again since G+ provides very little organization for old posts). This is the latest batch:<br /><ul><li><a href="http://www.wired.com/2014/12/disqus/">Pseudonyms are used mostly for privacy, not trolling</a> (<a href="https://plus.google.com/100003628603413742554/posts/DiyEZByxKKG">G+</a>)</li><br /><li><a href="http://www.scientificamerican.com/article/for-sale-your-name-here-in-a-prestigious-science-journal/">Attacks on the peer review system</a> including authorship for sale, false refereeing, plagiarism, etc (the <a href="https://plus.google.com/u/0/100003628603413742554/posts/9R2ZRpSqDM9">G+</a> post includes several more links)</li><br /><li><a href="http://www.thisiscolossal.com/2014/12/randomly-generated-polygonal-insects-by-istvan-giordano-for-neonmob/">Randomly generated polygonal insects</a> (<a href="https://plus.google.com/100003628603413742554/posts/VcHk3nJYFLa">G+</a>)</li><br /><li><a href="https://ayvlasov.wordpress.com/2012/07/23/qu-ants/">Qu-ant reversible cellular automata</a> (<a href="https://plus.google.com/117663015413546257905/posts/aTzuQjw3w4c">G+</a> <a href="https://plus.google.com/100003628603413742554/posts/9nwqyTG7MpW">reshare</a>)</li><br /><li><a href="http://yeyorigami.blogspot.com/2014/12/sonobe-unit-polyhedra.html">Sonobe unit polyhedra</a>, modular polyhedra as Christmas decorations (<a href="https://plus.google.com/112844741882313681044/posts/CcjCPUSkMxS">G+</a> <a href="https://plus.google.com/100003628603413742554/posts/4iAu9jyBBRM">reshare</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=y97rBdSYbkg">Domino chain reaction</a> video demonstrating exponential scaling in energy amplification (<a href="https://plus.google.com/100003628603413742554/posts/gXNSrTWZx8m">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Langley%E2%80%99s_Adventitious_Angles">The adventitious angle puzzle</a> for the advent season (<a href="https://plus.google.com/100003628603413742554/posts/JYtwdoRXFDM">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=sxnX5_LbBDU">The Gauss Christmath Special</a> video (<a href="https://plus.google.com/u/0/100003628603413742554/posts/XbLjcWcXdEy">G+</a>)</li><br /><li><a href="http://mathoverflow.net/questions/191495/collection-of-conjectures-and-open-problems-in-graph-theory">Collections of graph theory open problems</a> (<a href="https://plus.google.com/100003628603413742554/posts/g4gjcVYRdNQ">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=v678Em6qyzk&feature=autoshare">Knuth's dragon-curve mistake</a> video (<a href="https://plus.google.com/113862074718836293294/posts/F3ft1xuawGJ">G+</a> <a href="https://plus.google.com/100003628603413742554/posts/WswwnKhbSs4">reshare</a>)</li><br /><li><a href="http://www.the-scientist.com/?articles.view/articleNo/41677/title/Q-A--One-Million-Preprints-and-Counting/">One million arXiv preprints</a> (<a href="https://plus.google.com/100003628603413742554/posts/LgijnoYsZGK">G+</a>)</li><br /><li><a href="http://www.extremetech.com/extreme/168288-folded-paper-lithium-ion-battery-increases-energy-density-by-14-times">Origami batteries</a> (<a href="https://plus.google.com/100003628603413742554/posts/QNSqmVNBRvG">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:302520Mendocino menagerie2014-12-31T05:43:30Z2014-12-31T05:43:30ZMy parents' house in Mendocino is full of books and sculptures of creatures (mostly cats). Here are some of them:<br /><br /><div align="center"><table border="0" cellpadding="10">
<tr align="center" valign="middle">
<td><a href="http://www.ics.uci.edu/~eppstein/pix/menagerie/FrontPorchCat.html"><img src="http://www.ics.uci.edu/~eppstein/pix/menagerie/FrontPorchCat-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/menagerie/OaxacanJaguar.html"><img src="http://www.ics.uci.edu/~eppstein/pix/menagerie/OaxacanJaguar-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/menagerie/AwayRoomCat.html"><img src="http://www.ics.uci.edu/~eppstein/pix/menagerie/AwayRoomCat-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/menagerie/DreamingOfBirds.html"><img src="http://www.ics.uci.edu/~eppstein/pix/menagerie/DreamingOfBirds-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/menagerie/SunnySpot.html"><img src="http://www.ics.uci.edu/~eppstein/pix/menagerie/SunnySpot-s.jpg" border="2" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/menagerie/StairSentryCat.html"><img src="http://www.ics.uci.edu/~eppstein/pix/menagerie/StairSentryCat-s.jpg" border="2" style="border-color:black;" /></a></td>
</tr></table></div><br /><br /><a href="http://www.ics.uci.edu/~eppstein/pix/menagerie/index.html">The rest of the gallery</a>.urn:lj:livejournal.com:atom1:11011110:302266Back from the land of no internet2014-12-30T05:37:04Z2014-12-30T05:37:04ZIn the unlikely event that anyone wondered why I didn't post anything either here or over on my Google+ account for the last few days, it's because I unexpectedly found myself incommunicado, visiting relatives for Christmas. Here are two of them, my cousin's daughters.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/pix/zj/ZoyaAndJessa-m.jpg" border="2" style="border-color:black;" /></div><br /><br />It's normal for there to be no cell phone service at my parents' house in Mendocino. Cell phones finally reached downtown Mendocino a couple of years ago over the objections of some protesters who were terrified of being exposed to any form of electromagnetic radiation, but there's a hill between downtown and the house that blocks the signal. There would normally be landline phone service there, but the lines got flooded in the big storm a couple of weeks ago and AT&T hasn't succeeded in drying them out yet. And my parents also have cable internet, but for some other reason that went down too. So we had to resort to old-fashioned behavior like reading books or actually interacting with each other instead of all being absorbed in our own separate electronic devices the way we otherwise would likely have been.urn:lj:livejournal.com:atom1:11011110:301965Linked polytopes and toric grid tessellations2014-12-17T08:17:49Z2014-12-17T08:17:49ZIn my recent posting on <a href="http://11011110.livejournal.com/301197.html">four-dimensional polytopes containing linked or knotted cycles of edges</a>, I showed pictures of linked cycles in three examples, the (3,3)-duopyramid, hypercube, and (in the comments) truncated 5-cell. All three of these have some much more special properties: the two linked cycles are induced cycles (there are no edges between two non-consecutive vertices in the same cycle), they include all the vertices in the graph, and their intersection with any two- or three-dimensional face of the polytope forms a connected path.<br /><br />When this happens, we can use it to construct a nice two-dimensional grid representation of the polytope. The set of pairs (<i>x</i>,<i>y</i>) where <i>x</i> is a position on one of the cycles (at a vertex or along an edge) and <i>y</i> is a position on the other cycle form a two-dimensional space, topologically a torus. We can think of this as a grid with wrap-around boundary conditions, where the grid lines correspond to vertex positions on one or the other cycle. The number of grid lines in each dimension is just the length of the cycle. Then, each non-cycle edge of the polytope connects one point from each cycle, so it can be represented as a grid point on this torus. Each two-dimensional face of the polytope has two non-cycle edges, and can be represented as a line segment connecting the corresponding two grid points (perhaps wrapping around from one side of the grid to the other). And when we draw these grid points and line segments, they divide the grid into cells (again, perhaps wrapping around) that turn out to correspond to the 3-dimensional faces of the polytope. So all the features of the polytope that are not part of the two cycles instead show up somewhere on this grid.<br /><br />For instance below, in this two-dimensional grid representation, are the duopyramid (two 3-cycles, so a 3 × 3 grid), hypercube (8 × 8 grid), and truncated 5-cell (10 × 10 grid) again. I've drawn these with the wraparound points halfway along an edge of each cycle in order to avoid placing a grid line on the boundary of the drawing. In the hypercube and truncated 5-cell, the axes are labeled by numberings of the vertices. For the hypercube, the vertices can be numbered by the 16 hexadecimal digits, where two digits are adjacent if they differ in a single bit in their binary representations. The two eight-vertex cycles can be obtained by cycling through the order of which bit changes. For the truncated 5-cell, the vertices can be numbered by ordered pairs of unequal digits from 1 to 5, where the neighbors of each vertex are obtained by changing the second digit or swapping the two digits.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/33dp-q4-t5.png"></div><br /><br />Another way of thinking about this is that, on the three-dimensional surface of a 4d unit sphere, we can draw two linked unit circles, one in the <i>xy</i> plane and the other in the <i>wz</i> plane. The medial axis of these circles (the points on the sphere equally distant from both of them) is a torus, and what we're drawing in this diagram is how a polyhedral version of the same torus slices through the faces of the polytope.<br /><br />You can read off the structure of each 3-dimensional cell in the polytope from the corresponding polygon in the diagram. Recall that these cells are themselves three-dimensional polyhedra whose vertices have been divided into two induced paths. So (just as in the four-dimensional case) we can make a grid from the product of these two paths, represent non-path edges as grid points, and represent two-dimensional faces as line segments connecting grid points. Each two-dimensional face has two non-path sides, and a number of path sides given by the difference in coordinates between the corresponding two grid points. So, the total number of sides of the face is just two plus the Manhattan length of the line segment representing the face. For instance, the unit line segments in the duopyramid diagram represent triangles, and the squares formed by four of these segments represent tetrahedra (four triangles). The segments of Manhattan length two in the hypercube diagram represent quadrilaterals, and the hexagons formed by six of these segments represent cubes (six quadrilaterals). In order to represent a polyhedron in this way, a grid polygon has to have vertical edges at its left and right extremes, and horizontal edges at its top and bottom extremes, because otherwise a vertex at the end of one of the two paths would have only two incident edges, impossible in a polyhedron. For the same reason each intermediate grid line must have a grid point (representing a non-path edge of the polyhedron) on it. We can make a dictionary of small polyhedra that can be decomposed into two induced paths, and their associated grid polygons:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/2pathpoly.png"></div><br /><br />Notice that the grid polygons don't have to be strictly convex: the octahedron has eight grid points, four of which are at the corners of a 2 × 2 square but the other four of which are in the middle of the edges of this square. But in order for a collection of polyhedra to meet up to form the faces of a four-dimensional polytope, each grid point needs at least three line segments connecting to it (each polytope edge has to be surrounded by three or more two-dimensional faces). This can only happen if each grid polygon has at most one slanted side in each of the four corners of its bounding box. So these polygons are convex except for possibly having vertices on their horizontal and vertical sides. There are also some other constraints on their shape; for instance, a hexagon with two diagonal sides within a 2 × 2 square doesn't correspond to a polyhedron, because it forms a shape that is not 3-vertex-connected.<br /><br />Given this dictionary, we can form new patterns by tessellating a rectangular wrap-around grid by these grid polygons, and then ask: does the tessellation represent a 4-dimensional polytope? We have to be a little careful here, because we cannot place horizontal or vertical sides that are subdivided (e.g. in the octahedron) next to similar-looking sides that are not subdivided (e.g. in the cube). There are infinitely many possibilities, some of which give known polytopes, and some of which are unknown to me. For instance, extending the grid of squares shown for the (3,3)-duopyramid to grid of squares in a larger rectangle produces the diagram for another kind of duopyramid.<br /><br />In the drawing below, the left grid tessellation represents a linked-cycle decomposition of the <a href="https://en.wikipedia.org/wiki/Rectified_5-cell">hypersimplex</a> with five tetrahedra and five octahedra (one of the polytopes Gil Kalai asked about in the comments on my previous post). It can be formed from the truncated 5-cell by contracting all of the edges that are not part of tetrahedra; because the cycle edges of the linked cycles of the truncated 5-cell alternate between tetrahedral and non-tetrahedral edges, this contraction preserves the cycle decomposition. The right grid tessellation represents the <a href="https://en.wikipedia.org/wiki/Octahedral_prism">octahedral prism</a>, with eight triangular-prism cells and two octahedral cells. Therefore, both of these polytopes are linked. In both cases I found the infinite tessellation first, found its smallest period of horizontal and vertical translation, and then was able to identify the corresponding polytope with the help of the low number of cells and high symmetry of these tessellations. But I'm confused by the brick wall in the middle. It has the right number of vertices (10) and the right shape of 3-cells (triangular dipyramids) to be the dual hypersimplex, but the number of bricks is wrong: it should be 10 and is instead 12. (A herringbone pattern of bricks will also tessellate nicely, but then the number of vertices in both cycles would be a multiple of four.) It would be nice to have a theorem characterizing which tessellations give polytopes more generally.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/r5c-op-dhc.png"></div><br /><br />One thing is clear: the polytopes that have linked-cycle decompositions are a very special subclass of the 4-polytopes. For instance, for general 4-polytopes, it remains unknown whether they can have fat <a href="https://en.wikipedia.org/wiki/Face_lattice">face lattices</a>. That is, can a polytope with a small number of vertices and 3-cells have a large number of edges and 2-faces? This can't happen in 3d, by a calculation involving Euler's formula, but the same calculation in 4d doesn't rule out this possibility. But in linked-cycle-decomposable polytopes, the number of cycle edges equals the number of vertices. And because the 3-cells are faces of a torus graph, the number of non-cycle edges (vertices of the torus graph) and 2-faces (edges of the torus graph) are bounded by linear functions of the number of 3-cells. In particular, if there are <i>v</i> vertices and <i>c</i> 3-cells, then there can be at most <i>v</i> + 2<i>c</i> edges and at most 3<i>c</i> 2-cells. This bound is tight whenever the torus diagram is simple (has exactly three edges at each vertex), as it is in the hypercube, truncated 5-cell, and hypersimplex cases.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:301718Survey on k-best enumeration algorithms2014-12-17T04:46:05Z2014-12-17T04:46:05ZWhen I was asked earlier this year to write <a href="http://dx.doi.org/10.1007/978-3-642-27848-8_733-1">a short survey on <i>k</i>-best enumeration algorithms</a> for the Springer <i>Encyclopedia of Algorithms</i>, I wrote a first draft before checking the formatting requirements. It ended up being approximately five pages of text and seven more pages of references, and I knew I would have to cut some of that. But then I did check the format, and saw that it needed to be much shorter, approximately two pages of text and a dozen references. I don't regret doing it this way; I think having a longer version to cut down helped me to organize the results and figure out which parts were important. But then I thought: why not make the long(er) version available too? I added a few more references, so now it's about six pages of text and ten of references, still closer to an annotated bibliography than an in-depth survey. Here it is: <a href="http://arxiv.org/abs/1412.5075">arXiv:1412.5075</a>.urn:lj:livejournal.com:atom1:11011110:301376Linkage for mid-December2014-12-16T06:25:54Z2014-12-16T06:25:54Z<ul><li><a href="http://blogs.scientificamerican.com/roots-of-unity/2014/11/30/the-saddest-thing-i-know-about-the-integers/">The number theory behind why you can't have both perfect fifths and perfect octaves on a piano keyboard</a> (with bonus <a href="https://en.wikipedia.org/wiki/Fokker_periodicity_block">lattice quotient music theory</a> link; <a href="https://plus.google.com/100003628603413742554/posts/ZH6ijTsiGDN">G+</a>)</li><br /><li>Sad news of <a href="https://en.wikipedia.org/wiki/Rudolf_Halin">Rudolf Halin</a>'s death (<a href="https://plus.google.com/100003628603413742554/posts/Q53k1pVKEtR">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=R9ogDS-QYT0">Frankenstein vs The Glider Gun</a> video (<a href="https://plus.google.com/100003628603413742554/posts/67p7GUHnumD">G+</a>)</li><br /><li><a href="http://www.theguardian.com/science/alexs-adventures-in-numberland/2014/dec/03/durers-polyhedron-5-theories-that-explain-melencolias-crazy-cube">Günter Ziegler on Dürer's solid</a> (<a href="https://en.wikipedia.org/wiki/Truncated_triangular_trapezohedron">WP</a>; <a href="http://www.metafilter.com/145043/Drers-polyhedron-5-theories-that-explain-Melencolias-crazy-cube">MF</a>; <a href="https://plus.google.com/100003628603413742554/posts/PKLcXds94FK">G+</a>)</li><br /><li><a href="http://www.metafilter.com/144972/Nature-will-make-its-articles-back-to-1869-free-to-share-online">Nature will make its articles back to 1869 free to share online</a>, for certain values of "free" that you might or might not agree with (<a href="https://plus.google.com/100003628603413742554/posts/3Foe25Nxc4o">G+</a>)</li><br /><li><a href="http://polyhedron100.wordpress.com/">Albert Carpenter's polyhedron models</a> (<a href="https://plus.google.com/100003628603413742554/posts/FUkqR1h6WjN">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Fermat%27s_right_triangle_theorem">The only complete proof from Fermat</a> and <a href="https://en.wikipedia.org/wiki/Congruum">the gaps in arithmetic progressions of squares</a> (<a href="https://plus.google.com/100003628603413742554/posts/6GmBrCwx1tH">G+</a>)</li><br /><li><a href="http://blog.plover.com/2014/12/01/">Mark-Jason Dominus on how and why he negotiated with his book publishers to be able to keep a free online copy of his Perl book</a> (<a href="https://plus.google.com/100003628603413742554/posts/LsWFCCixZLV">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=rtR63-ecUNo">Video on drawing mushrooms with sound waves</a> (<a href="https://plus.google.com/100003628603413742554/posts/eBSPF2o3PDU">G+</a>)</li><br /><li><a href="http://mashable.com/2014/12/10/senate-wikipedia-torture-report/">Senate staffer tries to scrub "torture" reference from Wikipedia's CIA torture article</a> (<a href="https://plus.google.com/100003628603413742554/posts/PwFE9gJL3DE">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=SL2lYcggGpc">Numberphile video on origami angle trisection</a> (<a href="https://plus.google.com/100003628603413742554/posts/DxdUsDmBjuM">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=ZMByI4s-D-Y">Video on the world's roundest object</a> and why it was made (<a href="https://plus.google.com/100003628603413742554/posts/hyiYUfzEJu3">G+</a>)</li><br /><li><a href="http://arxiv.org/abs/1412.2716">How much text re-use is too much?</a> A statistical study of plagiarism on arXiv (<a href="http://www.improbable.com/2014/12/14/lots-and-lots-of-bits-of-copying-in-scientific-literature/">via</a>; <a href="https://plus.google.com/100003628603413742554/posts/PBeiZ56MuVh">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:301197Links and knots in the graphs of four-dimensional polytopes2014-12-13T23:53:40Z2014-12-13T23:58:57Z<p>The surface of a three-dimensional polyhedron is a two-dimensional space that's topologically equivalent to the sphere. By the Jordan curve theorem, every cycle of edges and vertices in this space cuts the surface into two topological disks. But the surface of a four-dimensional polytope is a three-dimensional space that's topologically equivalent to the hypersphere, or to three-dimensional Euclidean space completed by adding one point at infinity. So, just as in conventional Euclidean space, polygonal chains (such as the cycles of edges and vertices of the polytope) can be nontrivially knotted or linked. If so, this can also be seen in three-dimensions, as a knot or link in the <a href="https://en.wikipedia.org/wiki/Schlegel_diagram">Schlegel diagram</a> of the polytope (a subdivision of a convex polyhedron into smaller convex polyhedra). Does this happen for actual 4-polytopes? Yes! Actually, it's pretty ubiquitous among them.</p>
<p>The linked 4-polytope with the fewest vertices is a <a href="https://en.wikipedia.org/wiki/Duopyramid">duopyramid</a> formed from the convex hull of two equilateral triangles centered at the origin, one in the <i>xy</i>-plane and the other in the <i>zw</i>-plane. These two triangles are not actually two-dimensional faces of the duopyramid; instead, in the Schlegel diagram, they appear as two linked triangles. This polytope has nine tetrahedral facets; in the Schlegel diagram, they appear as one outer tetrahedron, two more adjacent to the top edge of the top linked triangle, two adjacent to the bottom edge of the bottom linked triangle, and four wrapping around the middle vertical edge connecting the two links.</p>
<p align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/linked-duopyramid.png"></p>
<p>Similarly, a seven-vertex <a href="https://en.wikipedia.org/wiki/Neighborly_polytope">neighborly polytope</a> forms a complete graph on seven vertices. <a href="https://en.wikipedia.org/wiki/Linkless_embedding">As with every embedding</a> of the seven-vertex complete graph into space, it contains a knot.</p>
<p>What about <a href="https://en.wikipedia.org/wiki/Simple_polytope">simple 4-polytopes</a>? This means that every vertex has exactly four neighbors. The duopyramid doesn't have this property: its vertices all have five neighbors. The simple 4-polytope with the fewest vertices and facets in which I've found a link is a hypercube, with eight cubical facets.</p>
<p align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/linked-hypercube.png"></p>
<p>It is also possible to form a trefoil knot in the <a href="https://en.wikipedia.org/wiki/4-6_duoprism">(4,6)-duoprism</a>, the Cartesian product of a square and a hexagon, and to form a link in the (3,6)-duoprism. These are simple polytopes with ten and nine facets respectively.</p>
<p>There are at least two interesting classes of 4-polytopes that don't have nontrivial knots or links, however. One of these is the class of <a href="https://en.wikipedia.org/wiki/Polyhedral_pyramid">polyhedral pyramids</a>: 4-dimensional pyramids with a 3-dimensional polyhedron base. Their graphs are <a href="https://en.wikipedia.org/wiki/Apex_graph">apex graphs</a>, embedded nicely with no knots; they have Schlegel diagrams in which the base forms the outside face and the apex of the pyramid is the only vertex inside it, connected to all the other vertices. So any system of closed curves must stay on the planar surface of the base with the exception of one pair of edges through the apex; that's not enough to make a knot or link.</p>
<p>The other is the class of stacked polytopes, formed by gluing simplices face-to-face. Their Schlegel diagrams are formed by repeatedly subdividing a tetrahedron into four smaller tetrahedra meeting at an interior point of the larger tetrahedron, and their graphs are the <a href="https://en.wikipedia.org/wiki/K-tree">4-trees</a>. For any collection of vertex-edge cycles in such a polytope, it's possible to undo one of the subdivision steps and either simplify the collection without changing its topological type, by shortcutting the subdivision vertex, or remove a cycle that forms a face of the polytope. So by induction there can be no knots.</p><a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:300993A strike against ERGMs2014-12-05T07:27:36Z2014-12-05T07:32:31ZThe <a href="https://en.wikipedia.org/wiki/Exponential_random_graph_models">exponential random graph model</a> is a system for describing probability distributions on graphs, used to model social networks. One fixes a set of vertices, and determines a collection of "features" among the edges of this fixed set (such as whether or not a particular edge or combination of a small number of edges), each with an associated real-valued weights. Then to determine the probability of seeing a particular graph, one simply looks at which features it has; the probability is exp(sum of feature weights), divided by a normalizing constant (the "partition function").<br /><br />This is a good model for several reasons: it is powerful enough that (with complicated enough features) it can describe any distribution. With simple enough features (e.g. just individual edges) it degenerates to the standard <a href="https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model">Erdős–Rényi–Gilbert model</a> of random graphs. It's easy to express features that model sociological theories of network formation, such as <a href="https://en.wikipedia.org/wiki/Assortative_mixing">assortative mixing</a> (more similar people are more likely to be friends) or <a href="https://en.wikipedia.org/wiki/Triadic_closure">triadic closure</a> (friends-of-friends are more likely to be friends). And by fitting the weights to actual social networks, one can learn something about the strengths of these effects.<br /><br />But on the other hand, there are some theoretical and practical obstacles to its use. It seems to be difficult to set up features and weights such that, when one generates graphs using the distribution they describe, the results actually look like social networks. If we go even a little bit beyond the Erdős–Rényi–Gilbert model we don't have closed form solutions to anything and have to use MCMC simulations to compute the partition function, fit weights, or generate graphs, and we don't know much about how quickly or slowly these simulations converge.<br /><br />And now, with my latest preprint "<a href="http://arxiv.org/abs/1412.1787">ERGMs are Hard</a>" (arXiv:1412.1787, with Michael Bannister and Will Devanny), the picture gets darker. We prove complexity-theoretic hardness results showing that with completely realistic features (in fact the ones for assortative mixing and triadic closure, but with unrealistic weights) we can't compute the partition function, we can't get anywhere close to approximating the partition function, we can't generate graphs with the right probabilities, and we can't even get anywhere close to the right probability distribution. And trying to escape the hardness by tweaking the features to something a little more complicated doesn't help: the same hardness results continue to be true when the features include induced subgraphs of any fixed type with more than one edge.<br /><br />The short explanation for why is that lurking inside these models are computationally hard combinatorial problems such as (the one we mainly use) finding or counting the largest induced triangle-free subgraphs. It was known that the maximization version of this problem was hard, but the reduction wasn't parsimonious (less technically, this means that the reduction can't be used to prove that the counting version of the problem is hard). So for that part we had to find our own reduction from another hard counting problem, counting perfect matchings in cubic bipartite graphs. Here it is in a picture.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/match2maxtf.png"></div><br /><br />Each vertex of the original graph turns into four triangles after the reduction. In this example, counting matchings in a cube turns into counting maximum triangle-free subgraphs of a <a href="https://en.wikipedia.org/wiki/Snub_cube">snub cube</a>. These subgraphs are formed by deleting all the snub cube edges that correspond to unmatched cube edges, and then deleting one more edge inside each four-triangle gadget. When I posted a drawing of <a href="http://11011110.livejournal.com/275610.html">a stereographic projection of a snub cube</a> a bit over a year ago, this is what it was for. Since that time, we've also been using the image of this reduction in the logo of <a href="http://www.ics.uci.edu/~theory/">our local research center</a>.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:300600Linkage for the end of November2014-12-01T02:20:01Z2014-12-01T02:24:27Z<ul><li><a href="https://www.insidehighered.com/news/2014/11/11/gamergate-supporters-attack-digital-games-research-association">Gamergate's attackers move on from (female) indie game developers to (female) game researchers</a> (<a href="https://plus.google.com/100003628603413742554/posts/K7V5MBJ88UJ">G+</a>)</li><br /><li><a href="http://retractionwatch.com/2014/11/17/fake-citations-plague-some-google-scholar-profiles/">Scammy publisher uses your name as the author of fake papers</a> (<a href="https://plus.google.com/100003628603413742554/posts/N4q6NrHusHq">G+</a>)</li><br /><li><a href="https://plus.google.com/101584889282878921052/posts/HTVRuPCTJXm">Escher-like impossible figures</a> by Regalo Bizzi based on a triangular grid (<a href="https://plus.google.com/100003628603413742554/posts/TpqDDw8oN14">G+</a>)</li><br /><li><a href="https://medium.com/the-open-company/trip-report-vegas-lights-cba073735683">James Turrell installation in Las Vegas</a> (<a href="https://plus.google.com/100003628603413742554/posts/VEtFfrQo4vR">G+</a>)</li><br /><li><a href="http://beesgo.biz/godot.html">Waiting for Godot: The Game</a> (by Zoe Quinn; <a href="https://plus.google.com/100003628603413742554/posts/bmkrFAKsUAA">G+</a>)</li><br /><li><a href="http://www.ams.org/samplings/feature-column/fc-2013-11">Fedorov's Five Parallelohedra</a>, a complete classification of the shapes that can tile space by translation (<a href="https://plus.google.com/100003628603413742554/posts/Gs3MRQePNAd">G+</a>)</li><br /><li><a href="http://www.cjr.org/behind_the_news/journalism_has_a_plagiarism_pr.php?page=all">On the high variance in journalistic standards for plagiarism</a> (<a href="https://plus.google.com/100003628603413742554/posts/d1NvmNbVMDY">G+</a>)</li><br /><li><a href="http://mathoverflow.net/a/187908/440">How many median graphs are there?</a> (<a href="https://plus.google.com/100003628603413742554/posts/TuceX7PT3hL">G+</a>)</li><br /><li><a href="http://www.siam.org/meetings/da15/">SODA/ALENEX/ANALCO 2015</a> preregistration closes Monday, Dec. 1 (<a href="https://plus.google.com/100003628603413742554/posts/DWK9RC62Lz1">G+</a>)</li><br /><li><div align="center"><lj-embed id="54" /></div><br />(<a href="https://plus.google.com/100003628603413742554/posts/6cRKBR8PYuU">G+</a>)</li><br /><li><a href="http://erkdemon.blogspot.com/2012/02/hexagonal-diamond-other-form-of-diamond.html">Hexagonal diamond</a>, a crystalline carbon structure even harder than true diamond (<a href="https://plus.google.com/100003628603413742554/posts/briWWcfq6za">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Laves_graph">The Laves graph</a>, an infinite symmetric 3-regular graph that forms yet another possible carbon crystal (<a href="https://plus.google.com/u/0/100003628603413742554/posts/gBzaBivAAbg">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:300302Trees that represent bandwidth2014-11-27T07:25:54Z2014-11-27T07:26:46ZIn my algorithms class today, I covered minimum spanning trees, one property of which is that they (or rather maximum spanning trees) can be used to find the bottleneck in communications bandwidth between any two vertices in a network. Suppose the network edges are labeled by bandwidth, and we compute the maximum spanning tree using these labels. Then between any two vertices the path in this tree has the maximum bandwidth possible, among all paths in the network that connect the same two vertices. (There may also be other equally good paths that aren't part of the tree.) So if you want to send all of your data on a single route in the network, and you're not worried about other people using the same links at the same time, and bandwidth is your main quality issue (a lot of ifs) then that's the best path to take. The bandwidth of the path is controlled by its weakest link, the edge on the path with the smallest bandwidth. If you want to quickly look up the bandwidth between pairs of vertices, you can do it in constant time using the nearest common ancestor in a <a href="https://en.wikipedia.org/wiki/Cartesian_tree">Cartesian tree</a> derived from the maximum spanning tree.<br /><br />Ok, but if you're so concerned about bandwidth then maybe you should use a more clever routing scheme that spreads your messages across multiple paths to get even more bandwidth. This can be modeled as a network flow, and the bottleneck to getting the most bandwidth is no longer a single edge. Instead, the <a href="https://en.wikipedia.org/wiki/Max-flow_min-cut_theorem">max-flow min-cut theorem</a> tells you that the bottleneck takes the form of a cut: a partition of the graphs into two disjoint subsets, whose bandwidth is the sum of the bandwidths of the edges crossing the cut.<br /><br />Despite all this added complexity, it turns out that the bandwidth in this sort of multi-path routing scheme can still be described by a single tree. That is, there's a tree whose vertices are the vertices of your graph (but whose edges and edge weights are no longer those of the graph) such that the bandwidth you can get from one vertex to another by routing data along multiple paths in the graph is the same as the bandwidth of the single path between the same two vertices in the tree. More, the edges of the tree can be labeled by cuts in the graph such that the weakest link in the tree path between any two vertices is labeled by the minimum cut that separates those vertices in the original graph. This tree is called the <a href="https://en.wikipedia.org/wiki/Gomory%E2%80%93Hu_tree">Gomory–Hu tree</a> of the given (undirected and edge-weighted) graph. Using the same Cartesian tree ancestor technique, you can look up the bandwidth between any pair of vertices, in constant time per query.<br /><br />My latest arXiv preprint, <a href="http://arxiv.org/abs/1411.7055">All-Pairs Minimum Cuts in Near-Linear Time for Surface-Embedded Graphs</a> (arXiv:1411.7055, with Cora Borradaile and new co-authors Amir Nayyeri and Christian Wulff-Nilsen) is on exactly these trees. For arbitrary graphs they can be found in polynomial time, but slowly, because the computation involves multiple flow computations. For planar graphs it was known how to find the Gomory–Hu tree much more quickly, in O(<i>n</i> log<sup>3</sup> <i>n</i>) time; we shave a log off this time bound. Then, we extend this result to a larger class of graphs, the graphs of bounded genus, by showing how to slice the bounded-genus surface up (in a number of ways that's exponential in the genus) into planar pieces such that, for every pair of vertices, one of the pieces contains the minimum cut. That gives us exponentially many Gomory-Hu trees, one for each piece, but it turns out that these can all be combined into a single tree for the whole graph.<br /><br />One curious difference between the planar and higher-genus graphs is that, for planar graphs, the set of cuts given by the Gomory–Hu tree also solves a different problem: it's the minimum-weight <a href="https://en.wikipedia.org/wiki/Cycle_basis">cycle basis</a> of the dual graph. In higher-genus graphs, we don't quite have enough cuts to generate the dual cycle space (we're off by the genus) but more importantly some of the optimal cycle basis members might not be cuts. So although the new preprint also improves the time for finding cycle bases in planar graphs, making a similar improvement in the higher genus case remains open.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:300115LIPIcs formatting tricks2014-11-25T08:12:35Z2014-11-25T08:17:30ZIf, like me, you're working on a SoCG submission, and this is the first time you've tried using the LIPIcs format that SoCG is now using, you may run into some minor formatting issues (no worse than the issues with the LNCS or ACM formats, but new and different). Here are the ones I've encountered, with workarounds where I have them:<br /><ul><li>The LIPIcs format automatically includes several standard LaTeX packages including <tt>babel</tt>, <tt>amsmath</tt>, <tt>amsthm</tt>, <tt>amssymb</tt>, and <tt>hyperref</tt>. So there's no point in including them yourself and (if you specify incompatible options) it may cause an error to include them yourself. I haven't needed to change the <tt>hyperref</tt> options, but if you do, see <a href="http://tex.stackexchange.com/questions/75542/incompatibility-between-lipics-and-hyperref">here</a>.</li><br /><li>You may like to use the <tt>lineno</tt> package so that, when reviewers give you comments on your submission, they can tell you more accurately which line they're referring to. If you try this with the LIPIcs format, you will notice that you don't get line numbers in the last paragraph of a proof, nor in a paragraph that contains a displayed equation (even if you correctly delimit the equation with <tt>\[...\]</tt> instead of using the obsolete <tt>$$...$$</tt>, which can also cause problems with <tt>lineno</tt>). The solution to the proof problem is to change the proof termination symbol (a triangle instead of the usual Halmos box) to use an explicit <tt>$...$</tt> instead of <tt>\ensuremath</tt>):<br /><br /><tt>\renewcommand\qedsymbol{\textcolor{darkgray}{$\blacktriangleleft$}}</tt><br /><br />The solution to the displayed equation problem is more complicated, but is given in <a href="http://phaseportrait.blogspot.com/2007/08/lineno-and-amsmath-compatibility.html">this blog post from 2007</a> (the update near the start of that post). Why this incompatibility hasn't been fixed in the last seven years is a different question.</li><br /><li>If you use the <tt>numberwithinsect</tt> document class option (pronounced "number with insect"), then the LIPIcs format numbers theorems, lemmas, etc by what section they are in: Lemma 2.1 for the first lemma in Section 2, etc. But if you also run past the page limit and use appendices, you may notice that the lemmas are being given numbers that re-use previously used numbers, because although the appendices have letters rather than numbers the lemmas use numbers: the first lemma in Appendix B is also called Lemma 2.1. The problem is that the LIPIcs style expands the <tt>\thesection</tt> macro (the one that gives the number or letter of the current section) at the time it defines <tt>\thetheorem</tt> (the one that gives the name of the current theorem or lemma). So when you use <tt>\appendix</tt> (or <tt>\begin{appendix}</tt> if you like to pretend that non-environment commands are really environments), <tt>\thesection</tt> gets changed but it's too late to make a difference to <tt>\thetheorem</tt>. The fix is to add the following lines after <tt>\appendix</tt>:<br /><br /><tt>\makeatletter<br />\edef\thetheorem{\expandafter\noexpand\thesection\@thmcountersep\@thmcounter{theorem}}<br />\makeatother</tt></li><br /><li>I've <a href="https://plus.google.com/100003628603413742554/posts/Fy34Vv4Xk6y">already written</a> about the problems with using the <tt>\autoref</tt> command of the <tt>hyperref</tt> package: because LIPIcs wants to use a shared numeric sequence for theorems, lemmas, etc., <tt>\autoref</tt> thinks they are all theorems. <a href="http://tex.stackexchange.com/questions/213821/using-cleveref-with-lipics-documentclass-fails-for-theorem-environments-sharing">Someone else also recently asked about this problem</a>. This is a more general incompatibilty between <tt>amsthm</tt> and <tt>hyperref</tt>, but LIPIcs also includes some of its own code for theorem formatting, which seems to be causing the fixes one can find for <tt>amsthm</tt> not to work. The solution is to fall back to the non-<tt>hyperref</tt> way of doing things: <tt>Lemma~\ref{lem:my-lemma-name}</tt> etc.</li><br /><li>Speaking of theorems: if you use <tt>\newtheorem</tt>, you probably want to have a previous line <tt>\theoremstyle{definition}</tt> so that whatever you're defining looks like the other theorems and lemmas.</li><br /><li>On the first page of a LIPIcs paper, the last line of text may be uncomfortably close to the Creative Commons licencing icon. I haven't found a direct workaround for this (although probably it's possible) but you can obtain better spacing by having a footnote (for instance one listing your grant acknowledgements) or a bottom figure on that page.</li><br /><li>If you're used to trying to fit things into a page limit with LNCS format, you may have learned to use <tt>\paragraph</tt> as a trick to save space over subsections. That doesn't work very well in LIPIcs, for two reasons. First, because it will give you an ugly paragraph number like 6.0.0.1 (the first numbered paragraph in an un-numbered subsubsection of an un-numbered subsection of section 6). You can work around this by using <tt>\paragraph*</tt>. But second, because unlike in LNCS the paragraph heading won't be folded into the paragraph that follows it, so you save a lot less space. I don't want to try to work around this one. And fortunately I haven't yet seen my coauthors adding code like <tt>\noindent{\bfseries Paragraph heading.} Paragraph text...</tt> (or worse <tt>\bf ...</tt>). Solution: find different tricks for your space-saving efforts. Like maybe write more tersely.</li></ul><br />Anyone else have any timely tips?<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:299980Thin folding2014-11-25T06:00:27Z2014-11-25T06:00:27ZI have another new preprint on arXiv this evening: <a href="http://arxiv.org/abs/1411.6371">Folding a Paper Strip to Minimize Thickness, arXiv:1411.6371</a>, with six other authors (Demaine, Hesterberg, Ito, Lubiw, Uehara, and Uno); it's been accepted at <a href="http://www.buet.ac.bd/cse/walcom2015/">WALCOM</a>.<br /><br />The basic goal of this is to try to understand how to measure the thickness of a piece of paper that has been folded into a shape that lies flat in the plane. For instance, in designing origami pieces, it's undesirable to have too much thickness, both because it wastes paper causing your piece to be smaller than it needs to and because it may be an obstacle to forming features of your piece that are supposed to be thin.<br /><br />The obvious thing to do is to just count the number of layers of paper that cover any point of the plane, but can be problematic. For instance, if you have two offset accordion folds (drawn sideways below)<br /><pre>/\/\/\/\/\
\/\/\/\/\/</pre>then it's not really accurate to say that the thickness is the same as if you just had one of the two sets of folds: one of the two folds is raised up by the thickness of the other one so the whole folded piece of paper is more like the sum of the thicknesses of its two halves.<br /><br />In the preprint, we model the thickness by assuming that the flat parts of the paper are completely horizontal, at integer heights, that two overlapping parts of paper have to be at different heights, and that a fold can connect parts of paper that are at any two different heights. But then, it turns out that finding an assignment of heights to the parts of paper that minimizes the maximum height is hard, even for one-dimensional problems where we are given a crease pattern of mountain and valley folds as input, without being told exactly how to arrange those folds. The reason is that there can be ambiguities about how the folded shape can fit into pockets formed by other parts of the fold, and choosing the right pockets is difficult.urn:lj:livejournal.com:atom1:11011110:299547Linkage2014-11-16T06:03:27Z2014-11-16T06:41:57Z<ul><li><a href="http://blog.peerj.com/post/100580518238/whos-afraid-of-open-peer-review">An experiment in allowing journal reviewers to reveal their names</a> (the <a href="https://plus.google.com/100003628603413742554/posts/2dffs1kDkz4">G+</a> post has several additional links on academics including some well known graph theorists taking money to deliberately distort university rankings)</li><br /><li><a href="http://www.theguardian.com/science/alexs-adventures-in-numberland/2014/oct/30/pumpkin-geometry-stunning-shadow-sculptures-that-illuminate-an-ancient-mathematical-technique?CMP=share_btn_fb">Pumpkin geometry</a>: stereographic projection of shadows from carved balls (<a href="https://plus.google.com/100003628603413742554/posts/GiB8FLHscM2">G+</a>; no actual pumpkins involved)</li><br /><li><a href="http://www.clintfulkerson.com/">Clint Fulkerson</a>: an abstract artist whose work feels somehow both geometric and organic (<a href="https://plus.google.com/100003628603413742554/posts/P19K5D3qdC5">G+</a>)</li><br /><li><a href="http://www.thisiscolossal.com/2014/11/spectacular-paper-pop-up-sculptures-designed-by-peter-dahmen/">Paper popups by Peter Dahmen</a> (<a href="https://plus.google.com/100003628603413742554/posts/57MJFLk9TK4">G+</a>)</li><br /><li><a href="http://www.planetjune.com/blog/polyhedral-balls-crochet-pattern/">Crochet Platonic polyhedra by June Gilbank</a> (<a href="https://plus.google.com/100003628603413742554/posts/UVXPvGuBJ3M">G+</a>)</li><br /><li><a href="http://tex.stackexchange.com/questions/187388/amsthm-with-shared-counters-messes-up-autoref-references/187395">Advice for combining autoref with shared counters for theorems and lemmas</a> (and in the <a href="https://plus.google.com/100003628603413742554/posts/Fy34Vv4Xk6y">G+</a> post, a plea for something similar that will work with the LIPIcs LaTeX format)</li><br /><li><a href="http://lifehacker.com/5914894/put-a-duvet-cover-on-with-minimum-effort-by-rolling-it-like-a-burrito">A topological trick with duvet covers</a> (<a href="https://plus.google.com/100003628603413742554/posts/dmqcGTrUWty">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Harborth%27s_conjecture">Harborth's conjecture</a> on graph drawing with integer edge lengths (<a href="https://plus.google.com/100003628603413742554/posts/GaNexRFKu84">G+</a>)</li><br /><li><a href="http://thorehusfeldt.net/2014/11/09/at-first-eppstein-liked-minimum-spanning-trees-4/">A cryptic crossword by Thore Husfeldt</a> featuring parameterized complexity and my name (<a href="https://plus.google.com/100003628603413742554/posts/bAWeuPdp9iA">G+</a>)</li><br /><li><a href="http://www.wired.com/2014/11/verdict-overturned-italian-geoscientists-convicted-manslaughter/">Giving scientific advice that turns out to be incorrect is not a crime</a> (<a href="https://plus.google.com/100003628603413742554/posts/c2TStXaVR5f">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Chv%C3%A1tal-Sankoff_constants">Chvátal-Sankoff constants</a> (the expected length of a random longest common subsequence; <a href="https://plus.google.com/100003628603413742554/posts/Ry6jQ7Jrwhi">G+</a>)</li><br /><li><a href="https://github.com/lizadaly/nanogenmo2014">Automatic Voynich</a> (<a href="https://plus.google.com/100003628603413742554/posts/7Eiv9TNQiTu">G+</a>)</li><br /><li><a href="http://www.theguardian.com/science/alexs-adventures-in-numberland/2014/nov/04/macaus-magic-square-stamps-just-made-philately-even-more-nerdy">Magic squares on stamps</a> (<a href="https://plus.google.com/100003628603413742554/posts/4FRqJvZtCCX">G+</a>)</li><br /><li><a href="http://snappizz.com/holyhedron">Polyhedra in which all faces are holy</a>, and an update on big Life spaceships (<a href="https://plus.google.com/100003628603413742554/posts/PiMnx4ZK2AN">G+</a>)</li><br /><li><a href="http://kevintwomey.com/calculators.html">Photos of mechanical calculators</a> (via <a href="http://www.wired.com/2014/11/kevin-twomey-low-tech/">Wired</a> and <a href="http://boingboing.net/2014/11/13/beautiful-detailed-photos-of.html">BB</a>; <a href="https://plus.google.com/100003628603413742554/posts/cFc4LuJg511">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:299376The length of a 2048 game2014-11-09T09:12:54Z2014-11-09T09:20:18ZPresumably many readers have seen and played <a href="http://gabrielecirulli.github.io/2048/">the 2048 game</a>, in which one slides tiles in different directions across a grid, causing certain pairs of tiles to combine with each other when their sum is correct (in this case, when the sum is a power of two):<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/8192.png"></div><br /><br />Or if you get bored with it there are many other variations, some of which have different combining rules, for instance there's one where <a href="http://cozmic72.github.io/987/">tiles only combine when their sum is a Fibonacci number</a>. I have the impression this all started with another of these games, <a href="http://threesjs.com/">threes</a>, which you would think allows tiles to combine when their sum is a power of three or twice a power of three (the ternary digits), but actually uses a different set, the numbers 1 or 2, and the numbers that are three times a power of two.<br /><br />At some point I switched from 2048 to 987 (the Fibonacci one) and noticed that the games were lasting longer. Or alternatively, I could reach higher tile values in 987 more easily despite the fact that it takes twice as long (the 987 game gives you 1's for each new tile, instead of 2's and 4's for 2048). Why is that?<br /><br />It's certainly not my skill or strategy; I think I'm a worse player at 987 than at 2048. I think there are actually two reasons why the games last longer. One is that the Fibonacci combining rule makes it less critical that the tiles be ordered a certain way, because if they're a little bit out of order they can still combine with each other. But the more important reason has to do with the mathematical limits on the length of a game.<br /><br />In 2048, generalized to arbitrary board sizes, the maximum tile you could possibly reach on a board with <i>n</i> cells is approximately 2<sup><i>n</i></sup>. That's because, to reach a tile with value 2<sup><i>n</i> + 1</sup>, you'd first have to get to a board whose total tile value was 2<sup><i>n</i> + 1</sup> − 2 (or maybe if you get lucky 2<sup><i>n</i> + 1</sup> − 4) and those numbers can only be expressed as a sum of powers of two by using many tiles (the number of nonzeros in their binary representation). In 987, there are also total tile values that require many tiles to express as a sum of Fibonacci numbers, but they're more widely spaced: they are formed by taking every other Fibonacci number (2, 5, 13, 34, 89, etc) and subtracting one to get 1, 4, 12, 33, 88, etc. These numbers grow roughly as 2.618<sup><i>n</i></sup>, so that's how big a tile value you could hope to get on a generalized 987 board. Another way of thinking about this is that we are counting the number of nonzeros in the <a href="https://en.wikipedia.org/wiki/Zeckendorf&quot;s_theorem">Zeckendorf representation</a> of the total tile value. The Zeckendorf representation is a number system that is based on Fibonacci numbers, which grow more slowly than powers of two, but only half of the bits of a number can be nonzero, so it takes higher numbers to get a lot of nonzero bits.<br /><br />This made me wonder: what about variants of 2048/987/etc that allow pairs of tiles to combine when the sum belongs to some other sequence of numbers, rather than powers of two of Fibonacci numbers? The sequence that Threes should have used, the ternary digits, would allow you to reach even larger tile values: the numbers that are hardest to express as a sum of ternary digits are of the form (3<sup><i>n</i></sup> − 1)/2, so again they grow exponentially but with a bigger base. Or what about if you allow tiles to combine whenever they are equal or a factor of two apart, so that the allowed tile values are the <a href="https://en.wikipedia.org/wiki/Smooth_number">3-smooth numbers</a>? Then, the sequence of hard-to-express totals grows much more quickly, as 1, 5, 23, 431, 18431, 3448733, 1441896119 (<a href="http://oeis.org/A018899">OEIS A018899</a>). These numbers look to me to be growing exponentially in <i>n</i><sup>2</sup> but I don't know why that should be.<br /><br />The primes don't make a good sequence of allowed tile values for games like this, because of parity issues (two odd primes can't add up to another prime). But what about the <a href="https://en.wikipedia.org/wiki/Semiprime">semiprimes</a>? According to <a href="https://en.wikipedia.org/wiki/Chen%27s_theorem">Chen's theorem</a>, every sufficiently large number can be decomposed into a sum of two primes or semiprimes, so there aren't any totals that could only be expressed using many tiles. Does this mean the game can go on forever?<br /><br />No! The semiprimes still have density zero in the set of all integers: the fraction of integers up to some number N that are semiprime goes to zero in the limit as N goes to infinity. And it turns out that every set of allowed tile values that allows the game to reach arbitrarily large tiles on a board of finitely many cells must have positive density. This is true even if you allow a more relaxed set of moves that ignores the board geometry and lets you combine arbitrary pairs of tiles no matter where they are on the board. The proof is by induction on the number of board cells. If a set <i>S</i> of allowable tile values lets the game reach arbitrarily large tile values on <i>n</i> − 1 cells, then the induction hypothesis shows that <i>S</i> must have positive density. Otherwise, let <i>M</i> be the maximum tile value reachable on <i>n</i> − 1 cells. Suppose that an <i>n</i>-cell board eventually reaches a position that includes a tile of value greater than <i>M</i>, and mark all the nonzero tiles at that point in time. Then the remaining game can be partitioned into moves on unmarked tiles, forming a "small game" on a board of at most <i>n</i> − 1 cells, together with moves that either merge two of the marked tiles or add a value from the small game to one of the marked tiles. (This removes a tile from the small game but every position reachable in this way could also be reachable in a small game without tile removal.) Only a finite number of merges are possible, so to reach arbitrarily large values it must be possible to add small-game values to marked tiles arbitrarily many times. But this means that the set <i>S</i> must have density at least 1/<i>M</i>, for otherwise there would be infinitely many gaps of length larger than <i>M</i>, too wide to cross by adding a small game value and too many to cross by merges.<br /><br />Therefore, the sequence of largest reachable tile values for the semiprime game on an <i>n</i>-cell board is a bona fide infinite sequence: there is no board that lets you play forever. What is that sequence and how quickly does it grow? I have no idea, but presumably much more quickly than exponential in <i>n</i><sup>2</sup>.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:298806Linkage for (the day after) Halloween2014-11-01T17:47:32Z2014-11-01T17:47:32Z<ul><li><a href="http://www.thisiscolossal.com/2014/10/diy-kinetic-origami-sculpture-designed-by-jo-nakashima/">Kinetic origami sculpture by Jo Nakashima</a> (<a href="https://plus.google.com/100003628603413742554/posts/a13GNcU9YY2">G+</a>)</li><br /><li><a href="http://corner.mimuw.edu.pl/?p=689">How pineapples help finding Steiner trees</a> (<a href="https://plus.google.com/u/0/100003628603413742554/posts/VU8ytgxCrN3">G+</a>)</li><br /><li><a href="http://www-kb.is.s.u-tokyo.ac.jp/~koba/icalp2015/">ICALP 2015</a> conference web site and call for papers (deadline Feb.17; <a href="https://plus.google.com/100003628603413742554/posts/bzAsJAXYtUf">G+</a>)</li><br /><li><a href="http://scholarlyoa.com/2014/10/02/an-editorial-board-mass-resignation-from-an-open-access-journal/">Mass resignation from an open access journal</a> (<a href="https://plus.google.com/100003628603413742554/posts/7oYRxJH6qiP">G+</a>)</li><br /><li><a href="http://arxiv.org/abs/1410.3820">A hardness result for organizing your Google Scholar profile</a> (<a href="https://plus.google.com/100003628603413742554/posts/e2BoRBFEkjy">G+</a>)</li><br /><li><a href="http://chronicle.com/article/Wikipedia-a-Professors-Best/149337/">Wikipedia, a Professor's Best Friend</a>, and a tangential note about <a href="https://en.wikipedia.org/wiki/Binary_logarithm">binary logarithms</a> (<a href="https://plus.google.com/100003628603413742554/posts/6qLy6Cy9UaQ">G+</a>)</li><br /><li><a href="http://www.npr.org/blogs/money/2014/10/21/357629765/when-women-stopped-coding">When women stopped coding</a>, an analysis of why and how long we've been seeing a decline in the number of women in computer science (<a href="https://plus.google.com/100003628603413742554/posts/JdabqryeXQQ">G+</a>)</li><br /><li><a href="http://www.reuters.com/article/2014/10/22/us-usa-unc-fraud-idUSKCN0IB2D520141022">Fake classes for athletes at UNC</a>, or why I'm happy UCI doesn't have a football team (<a href="https://plus.google.com/100003628603413742554/posts/5DYqPuT323U">G+</a>)</li><br /><li><a href="http://www.wads.org/">WADS 2015</a> conference web site and call for papers (deadline Feb.20; <a href="https://plus.google.com/100003628603413742554/posts/GASqUpYo24p">G+</a>)</li><br /><li><a href="http://www.datapointed.net/2014/10/maps-of-street-grids-by-orientation/">City maps colored by grid orientation</a> (<a href="http://www.metafilter.com/143874/Main-Street-ran-east-to-west-land-astride-platted-into-tidy-rectangles">MF</a>; <a href="https://plus.google.com/100003628603413742554/posts/3bNiPQPKXbW">G+</a>)</li><br /><li><a href="http://retractionwatch.com/2014/10/26/scientist-sues-pubpeer-commenters-subpoenas-site-for-names/">Scientist sues open-peer-review site commenters</a> (<a href="https://plus.google.com/100003628603413742554/posts/DcABTFF2P9X">G+</a>)</li><br /><li><a href="http://mobile.nytimes.com/2014/10/27/business/media/wikipedia-is-emerging-as-trusted-internet-source-for-information-on-ebola-.html">Wikipedia emerges as trusted internet source for ebola information</a> (<a href="https://plus.google.com/100003628603413742554/posts/WZNDGWcvZ6F">G+</a>)</li><br /><li><a href="http://tex.stackexchange.com/questions/208516/was-the-knuth-plass-line-breaking-output-ever-subjected-to-a-blind-experiment">Was the Knuth-Plass line breaking output ever subjected to a blind experiment?</a> (<a href="https://plus.google.com/u/0/100003628603413742554/posts/RchBefQFRnr">G+</a>)</li><br /><li><a href="http://www.quantamagazine.org/20141015-at-the-far-ends-of-a-new-universal-law/">At the far ends of a new universal law</a>, a popular-press article about the <a href="https://en.wikipedia.org/wiki/Tracy%E2%80%93Widom_distribution">Tracy–Widom distribution</a> (<a href="https://plus.google.com/100003628603413742554/posts/H58sfwoDwVW">G+</a>)</li><br /><li><a href="http://crookedtimber.org/2014/10/31/brands-of-nonsense/">Brands of nonsense</a>, on university's attempts to apply corporate branding dogma to themselves (<a href="https://plus.google.com/100003628603413742554/posts/Ptx7LgKb4uE">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:298505Another 5-permutohedron2014-10-26T23:21:48Z2014-10-27T21:24:43ZI've been playing with the <a href="http://11011110.livejournal.com/tag/permutohedron">Cayley graphs of the symmetric group</a> again, after accidentally running across the Wikipedia article on the <a href="https://en.wikipedia.org/wiki/Icositruncated_dodecadodecahedron">icositruncated dodecadodecahedron</a> and thinking "oh yeah, that's the polyhedron that geometrically represents the Cayley graph generated by a transposition and a 4-cycle".<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/600px-Icositruncated_dodecadodecahedron.png"></div><br /><br />Only, it's not. That was <a href="http://11011110.livejournal.com/117780.html">a different star polyhedron</a>. So is the icositruncated dodecadodecahedron also a permutohedron? And if so, what are the generators of the corresponding Cayley graph?<br /><br />To begin with, there are two different ways to form 3-regular (undirected) Cayley graphs. You can start with two generating permutations, one of which is self-inverse (an involution), or you can start with three generators, all three of which are involutions. In either case, the vertices are all possible permutations and the edges tell you which permutation you get when you multiply another permutation by a generator.<br /><br />Both of these constructions give rise not just to a graph but a topological surface, made out of three sets of polygons. In the two-generator case, one of the three sets of polygons are the cycles that you get by repeatedly applying the non-involution generator, and the other two are cycles that alternate between two generators. In the three-involution case, all three sets of polygons are formed by alternating between two out of three of the generators. What I really want to know is not just whether I have the right graph, but also whether I have the right sets of polygons (the red, blue, and yellow ones in the picture).<br /><br />First, let's consider the case that we have three involutions. You can visualize an involution as a matching on a set of vertices, so three involutions can be visualized as a 3-edge-colored multigraph on these vertices, and two out of three of them will form some kind of partition of the vertices into alternating paths and cycles. In the case of the icositruncated dodecahedron, two of the three sets of polygons are decagons (2<i>n</i>-gons, where <i>n</i> = 5 is the number of things being permuted). A little thought should convince you that in this case the corresponding two involutions have to form a single 5-vertex alternating path; otherwise there is no way of getting a factor of five into the order of the group they generate. So we have three involutions, two pairs of which form alternating paths. There are five combinatorially distinct ways of doing this, two of which cause the other pair of involutions to generate a 6-cycle:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/alternating-involutions.png"></div><br /><br />(The one labeled "10,10,10B", a 3-edge-coloring of the complete bipartite graph K<sub>2,3</sub>, has symmetries taking any color class to any other color class, and so should result in an especially symmetric Cayley graph.) But none of these generate the icositruncated dodecadodecahedron, nor do they generate the symmetric group. The reason is that all three generators have an even number of transpositions, so they all belong to the alternating subgroup of the symmetric group. (Sometimes a proper subgroup; for instance 10,10,10A is the dihedral group.) That means that we get at most 60 vertices, not 120, when we generate the Cayley graph of these generators and its corresponding system of polygons, giving us some other (abstract) polyhedron than the one we wanted.<br /><br />Ok, how about one involution and one non-involution? There, things work a bit better. Suppose that <i>g</i> is a permutation on a set of elements, consisting of two disjoint cycles of lengths <i>x</i> and <i>y</i>, and that <i>h</i> is an involution that transposes one pair of elements from one cycle to the other. Then it turns out that the product of these two permutations is a cycle on <i>x</i> + <i>y</i> elements, so <i>g</i> and <i>h</i> generate a transitive group. By composing <i>h</i> with powers of the cycle, we can find many other transpositions, enough that whenever gcd(<i>x</i>,<i>y</i>) = 1 we get the whole symmetric group. The sizes of the polygons in the Cayley graph generated by <i>g</i> and <i>h</i> are 2(<i>x</i> + <i>y</i>) (for the polygons that alternate between the two generators) and <i>xy</i> (for the polygons generated by <i>g</i> alone).<br /><br />Choosing (<i>x</i>,<i>y</i>) = (1,<i>n</i> − 1) gives us the Cayley graphs from the previous post, generated by a transposition and an (<i>n</i> − 1)-cycle. But choosing (<i>x</i>,<i>y</i>) = (2,3) gives us the cycle lengths of 6 and 10 that we want, in a genuine Cayley graph of the symmetric group. Is it the same as the graph of the polyhedron? I'm not sure, but I strongly suspect that it is.<br /><br />The good folks at <a href="http://rjlipton.wordpress.com/">Gödel's last letter</a> have a habit of ending their posts with open problems, so here's one: this construction using a two-cycle permutation and a transposition gives a big class of 3-regular graphs, in which the cycles that we know about can be made quite large. (Of course there could be other, shorter cycles.) Regular graphs in which all cycles are sufficiently large (larger than this) are automatically good expander graphs. Do some or all of these (<i>x</i>,<i>y</i>)-Cayley graphs also have good expansion?<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:298378Linkage2014-10-15T20:30:55Z2014-10-15T20:30:55Z<ul><li><a href="http://chronicle.com/article/Why-Academics-Writing-Stinks/148989/">Why academic writing stinks</a> or, keep it simple (<a href="https://plus.google.com/100003628603413742554/posts/59CKJwHwcGb">G+</a>)</li><br /><li><a href="http://bpalop.blogspot.com/2014/10/hasta-luego-ferran.html">Sad news of the death of Ferran Hurtado</a> (<a href="https://plus.google.com/100003628603413742554/posts/UXwaU71WSEV">G+</a>)</li><br /><li><a href="http://tabletopwhale.com/2014/07/21/a-visual-compendium-of-glowing-creatures.html">A visual compendium of glowing creatures</a>, scientific illustration by Eleanor Lutz (<a href="https://plus.google.com/100003628603413742554/posts/Jx3y1B3tV3v">G+</a>)</li><br /><li><a href="https://www.insidehighered.com/news/2014/08/18/study-raises-questions-about-why-women-are-less-likely-men-earn-tenure-research">Women in computer science get tenure at significantly lower rates than men</a> even after normalizing for research productivity (<a href="https://plus.google.com/100003628603413742554/posts/ETZTMV2C9Q5">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Tietze%27s_graph">Tietze's graph</a>, Wikipedia article expanded with a new illustration of why it has the name it has: it was an earlier counterexample in the theory of coloring graphs on non-orientable surfaces (<a href="https://plus.google.com/100003628603413742554/posts/URafzajyVZ1">G+</a>)</li><br /><li><a href="http://www.dw.de/abdel-kader-haidara-awarded-germanys-2014-africa-prize-for-rescuing-timbuktu-manuscripts/a-17729553">Abdel Kader Haidara awarded Germany's 2014 Africa Prize for rescuing Timbuktu manuscripts</a> (<a href="https://plus.google.com/100003628603413742554/posts/GDsLQuTkQbC">G+</a>)</li><br /><li><a href="http://www.metafilter.com/143388/Adobe-Digital-Editions-4-spying-on-users">Adobe Digital Editions 4 spying on users</a> by sending a listing of the contents of your entire digital library in cleartext (<a href="https://plus.google.com/100003628603413742554/posts/TPhpWEQiuse">G+</a>)</li><br /><li><a href="http://www.wired.com/2014/09/nasa-invents-folding-solar-panel-inspired-origami/">NASA Invents a Folding Solar Panel Inspired by Origami</a> (<a href="https://plus.google.com/100003628603413742554/posts/CX8opYqER1r">G+</a>)</li><br /><li><a href="http://cstheory.stackexchange.com/q/26031/95">Optimal randomized comparison sorting</a>: a question on the CSTheory exchange observing that randomization can break the decision tree lower bound and asking what's known about upper bounds (<a href="">G+</a>)</li><br /><li><a href="http://blogs.scientificamerican.com/roots-of-unity/2014/08/31/look-ma-no-zero/">More on the strange scale-free Babylonian concept of number</a>, in which 1 and 60 were apparently indistinguishable (<a href="https://plus.google.com/100003628603413742554/posts/AjoeettK7go">G+</a>)</li><br /><li><a href="http://www.dataisnature.com/?p=2053">Robert le Ricolais’s Tensegrity Models</a>, architectural models that could as well be abstract art (<a href="https://plus.google.com/100003628603413742554/posts/HwhvPPYgBMm">G+</a>)</li><br /><li><a href="http://retractionwatch.com/2014/10/12/european-science-foundation-demands-retraction-of-criticism-in-nature-threatens-legal-action/">European Science Foundation demands retraction of criticism in Nature, threatens legal action</a> (<a href="https://plus.google.com/100003628603413742554/posts/EbpnnvdVLXE">G+</a>)</li><br /><li><a href="http://www.win.tue.nl/SoCG2015/">SoCG 2015 conference web site and call for papers</a> (<a href="https://plus.google.com/100003628603413742554/posts/RZMDa98Hn1S">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:2979932-site Voronoi triangle centers2014-10-14T23:17:15Z2014-10-15T19:38:44ZThe idea of a 2-site Voronoi diagram was pioneered by Barequet, Dickerson, and Drysdale in a WADS 1999 paper later published in <a href="http://dx.doi.org/10.1016/S0166-218X(01)00320-1">Discrete Applied Math. 2002</a>. The basic idea is that you have a function d(p,q;x) that tells you the distance from an unordered pair of sites {p,q} to another point x in the plane; given a collection of sites, you want to divide the plane up into regions so that the region containing a point x tells you which pair of sites is closest to x (or in some cases farthest from x). Since their work there have been several followup papers including <a href="http://arxiv.org/abs/1105.4130">one in which I was involved</a>.<br /><br />If three sites are given, then these sites determine three pairs of sites, three regions in the Voronoi diagram, and (usually) one or more Voronoi vertices where all three sites meet. Often, these vertices define <a href="https://en.wikipedia.org/wiki/Triangle_center">triangle centers</a>: special points defined from the triangle of the three sites, such that applying a similarity transformation to the plane commutes with constructing the given point. Technically, to get a triangle center out of a 2-site Voronoi diagram, the distance function has to be invariant under congruences of the plane, and if a triangle pqx is scaled by a factor of s then the distance d(p,q;x) has to scale by a factor of s<sup>e</sup> for some constant scaling exponent e (possibly zero). But this scaling requirement is true of many natural functions that you might want to use as distances.<br /><br />By now, thousands of different triangle centers have been studied. Which of them can be generated from 2-site Voronoi diagrams in this way? Here are some examples. (The X(...) numbers are references to Clark Kimberling's <a href="http://faculty.evansville.edu/ck6/encyclopedia/ETC.html">Encyclopedia of Triangle Centers</a>.)<br /><br /><ul><li>If d(p,q;x) is defined as the Euclidean distance from point x to line pq, with scaling exponent 1, then the level sets of this distance function are infinite slabs having pq as their centerline. For a given triangle pqr, the 2-site Voronoi diagram for this distance function has seven junctions. At the three points where two lines cross, four cells of the diagram meet, two for each of the two lines. And at four other points (one inside the triangle and three outside), all three cells of the diagram meet. The one inside the triangle is the <a href="https://en.wikipedia.org/wiki/Incenter">incenter</a> X(1), a triangle center that is the center point of a circle inscribed inside the triangle. The other three of these Voronoi vertices are the excenters, center points of circles that touch the three lines but are exterior to the triangle, and are not individually triangle centers.<br /><br />In the figure below, the level sets of the distances from the three lines are indicated by the red, blue, and yellow shading. The Voronoi diagram boundaries are the green line segments, and the incenter is the green Voronoi vertex inside the triangle. The excenters are outside the margins of the drawing.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/2site-incenter.png"></div><br /><br />Alternatively, we could have defined d(p,q;x) to be the Euclidean distance from point x to line segment pq, giving more complicated <a href="https://en.wikipedia.org/wiki/Stadium_(geometry)">stadium</a>-shaped level sets and only one Voronoi vertex at the incenter.</li><br /><li>If d(p,q,x) is the area of triangle pqx, then the scaling exponent is 2 and the level sets of the distance function are again slabs, with longer line segments having narrower slabs for the same distance. There is a Voronoi vertex at the <a href="https://en.wikipedia.org/wiki/Centroid">centroid</a> of the triangle X(2), because at that point all three of the triangles pqx, prx, and qrx have the same area as each other.</li><br /><li>If d(p,q;x) is the sum of distances px+qx, then the scaling exponent is 1, and the level sets of the distance function are ellipses. There is a Voronoi vertex at the <a href="https://en.wikipedia.org/wiki/Circumcenter">circumcenter</a> X(3); it is inside the triangle if it is acute, outside if it is obtuse, and at the midpoint of the hypotenuse if it is right.</li><br /><li>If d(p,q;x) is the Euclidean distance from x to the midpoint of pq, then the level sets of the distance function are just circles centered on this midpoint, and the scaling exponent is 1. The Voronoi vertex is at the <a href="https://en.wikipedia.org/wiki/Nine-point_center">nine-point center</a> of the triangle, X(5).</li><br /><li>If d(p,q,x) is the ratio of two quantities, the distance of x from line pq and the length of segment pq, then the scaling exponent is 0. The level sets of the distance function are slabs, as for the incenter and centroid, but scaled differently, and there is a Voronoi vertex at the <a href="https://en.wikipedia.org/wiki/Symmedian">symmedian</a> X(6).</li><br /><li>If d(p,q;x) is the angle subtended by segment pq, as viewed from x, then the level sets of the distance function are <a href="https://en.wikipedia.org/wiki/Lens_(geometry)">lunes</a> centered on the sides of the triangle, the scaling exponent is 0, and there is a Voronoi vertex at the <a href="https://en.wikipedia.org/wiki/Fermat_point">Fermat point</a> of the triangle, which for not-too-obtuse triangles coincides with X(13).</li><br /><li>If d(p,q;x) is the perimeter of triangle pqx, then the scaling exponent is 1 and the level sets of the distance function are ellipses. In this case there is a Voronoi vertex at the <a href="https://en.wikipedia.org/wiki/Isoperimetric_point">isoperimetric point</a> X(175).</li><br /><li>If d(p,q;x) is the ratio of the sum of distances px+qx to the length of segment pq (that is, the dilation of the path pxq) then the scaling exponent is 0 and the level sets are ellipses again. The associated triangle center is the <a href="http://11011110.livejournal.com/144178.html">dilation center</a> X(3513).</li><br /><li>If d(p,q;x) is the inradius of triangle pqx, then the scaling exponent is 1. I think the level sets of the distance function are hyperbolae but I haven't proved this. There is a Voronoi vertex at the <a href="http://faculty.evansville.edu/ck6/integer/unsolved.html">mysterious</a> <a href="http://www.jstor.org/stable/2690307">congruent incircles point</a> of the triangle, X(5394).</li></ul><br />Points X(31), X(32), X(75), and X(76) are also Voronoi vertices of differently-scaled distances from line pq. One can generate even more examples (although not necessarily interesting ones) by multiplying together two or more of these distance functions, or adding together functions with the same scaling exponent.<br /><br />Despite all these examples, it's not clear to me how to tell whether a triangle center is or isn't a 2-site Voronoi vertex, or whether there exists a center that is not a 2-site Voronoi vertex. The most obvious center for which I haven't found a good 2-site distance function is the <a href="https://en.wikipedia.org/wiki/Orthocenter">orthocenter</a> X(4), the point where the perpendiculars to each side through the opposite vertex meet. Is it a 2-site Voronoi vertex for some distance function, and if so, what is the function?<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:297829Forced creases in Miura folding2014-10-09T00:57:29Z2014-10-09T00:57:29ZI've <a href="https://plus.google.com/100003628603413742554/posts/hfkbtJmZ6na">posted before</a> about the Miura fold, a subdivision of a sheet of paper into paralellograms that gives a nice smooth motion from a compact folded state (in which the parallelograms are all folded on top of each other) to an unfolded state in which the paper is nearly flat. But this pattern can have <a href="http://www.sciencemag.org/content/345/6197/647.short">defects that interfere with its folding pattern</a>, in which small subunits of the pattern fold the wrong way: they still have the same creases but some of them are backwards. My latest arXiv preprint, "Minimum Forcing Sets for Miura Folding Patterns" (<a href="http://arxiv.org/abs/1410.2231">arXiv:1410.2231</a>, with Ballinger, Damian, Flatland, Ginepro, and Hull, to appear at SODA) studies the number of creases that need to be forced to go the right way, in order to be sure of getting the correct Miura fold for the rest of the creases as well.<br /><br />One of the key ideas in the paper comes from some previous work by undergraduate co-author Jessica Ginepro with her advisor Tom Hull (<span class="ljuser i-ljuser i-ljuser-type-P " lj:user="tomster0" ><a href="http://tomster0.livejournal.com/profile" target="_self" class="i-ljuser-profile" ><img class="i-ljuser-userhead" src="http://l-stat.livejournal.net/img/userinfo.gif?v=17080?v=r123.4.3" /></a><a href="http://tomster0.livejournal.com/" class="i-ljuser-username" target="_self" ><b>tomster0</b></a></span>). They showed that the different ways of folding the Miura pattern (the right way, and the many wrong ways) have a one-to-one correspondence with the different ways of properly 3-coloring a grid graph. The correspondence uses a non-obvious <a href="https://en.wikipedia.org/wiki/Boustrophedon">boustrophedon</a> pattern of sweeping the grid in alternating order, left to right, right to left, left to right, etc., using the differences between consecutive colors in the sweep to determine the direction to fold each crease.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/miura/biject.png"></div><br /><br />Under this correspondence, a forcing set of creases in a Miura pattern becomes a forcing set of edges in the grid, such that if you label each selected edge with the difference (mod 3) of the colors of its endpoints, no other valid coloring has the same pattern of differences.<br /><br />Based on this correspondence, and some other combinatorial tools including domino tiling and planar feedback arc sets, we can show that the standard Miura folding pattern is the worst Miura, in the sense that it requires a bigger number of forced creases (approximately half of the creases) than any other way of folding the same pattern. In terms of the corresponding grid coloring, the Miura pattern forms a checkerboard of two colors, and any one of its grid squares can be recolored in a different color unless it has a forced edge incident to it, so there have to be a lot of forced edges.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/miura/checkerboard.png"></div><br /><br />In constrast, some other folding patterns for the same crease set can be forced by much smaller subsets of creases, proportional only to the square root of the total number of creases. For instance, fold a sheet of paper into a strip, folding each crease the same way so that the paper spirals around itself:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/miura/FalseMiura1.png"></div><br /><br />Then fold the strip in a spiral around itself again, so that the second set of folds are all parallel to each other but tilted a little rather than being perpendicular to the first set of folds:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/miura/FalseMiura2.png"></div><br /><br />This corresponds to a nice regular pattern of three colors in the grid in diagonal stripes, which is much more highly determined: if you fix the colors on the boundary of the grid, everything inside has its color forced. So, it has much smaller forcing sets (in fact, the smallest possible among all wrong ways of folding the Miura).<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/miura/stripes.png"></div><br /><br />More generally, for any pattern of folding the Miura (right or wrong), we can construct a minimum subset of the pattern that forces the rest, in polynomial time.<a name='cutid1-end'></a>