urn:lj:livejournal.com:atom1:110111100xDE0xDE0xDE2014-11-27T07:26:46Zurn: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'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=122.1" /></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>urn:lj:livejournal.com:atom1:11011110:297618Linkage for the end of September2014-10-01T03:09:51Z2014-10-01T03:09:51Z<ul><li><a href="http://www.algomation.com/">Algomation animated algorithms</a> (<a href="https://plus.google.com/100003628603413742554/posts/ifGuC6WWnhW">G+</a>)</li><br /><li><a href="http://player.vimeo.com/video/106226560">Rush hour</a> video, or, what our robot-driven future will be like (<a href="https://plus.google.com/100003628603413742554/posts/SpGwTwXX6up">G+</a>)</li><br /><li><a href="http://www.washingtonpost.com/blogs/answer-sheet/wp/2014/09/17/more-students-are-illegally-downloading-college-textbooks-for-free">The Washington Post rants about those evil student pirates</a>, but neglects to mention the free alternatives (<a href="https://plus.google.com/100003628603413742554/posts/GoN1H7rF3y2">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=TUHgGK-tImY">A song video about knots</a>, from <a href="https://ldtopology.wordpress.com/2014/09/18/a-song-about-a-knot/">the low-dimensional topology blog</a> (<a href="https://plus.google.com/100003628603413742554/posts/VipsGJPJHjb">G+</a>)</li><br /><li><a href="http://gamasutra.com/blogs/HermanTulleken/20140912/225495/20_Fun_Grid_Facts_Hex_Grids.php">Fun hex grid facts</a>, via <a href="http://www.metafilter.com/142931/THERE-IS-ONLY-ONE-MAGIC-HEXAGON">MF</a> (<a href="https://plus.google.com/100003628603413742554/posts/VRqtn49sKnU">G+</a>)</li><br /><li><a href="http://www.siam.org/meetings/da15/da15_accepted.pdf">SODA 2015 accepted papers</a> (<a href="https://plus.google.com/100003628603413742554/posts/EtQ3QChk1bc">G+</a>)</li><br /><li><a href="http://aperiodical.com/2014/09/katex-the-fastest-math-typesetting-library-for-the-web/">KaTeX</a>, a lobotomized but fast web math renderer (<a href="https://plus.google.com/100003628603413742554/posts/RAC6o9qaoq6">G+</a>)</li><br /><li><a href="https://medium.com/@cshirky/why-i-just-asked-my-students-to-put-their-laptops-away-7f5f7c50f368">Against laptops in lectures</a>, via <a href="http://www.metafilter.com/143006/Why-I-Just-Asked-My-Students-To-Put-Their-Laptops-Away-">MF</a> (<a href="https://plus.google.com/100003628603413742554/posts/irVC2gYXcLW">G+</a>)</li><br /><li><a href="http://www.dataisnature.com/?p=2048">David Wade’s ‘Fantastic Geometry’ – The Works of Wenzel Jamnitzer & Lorenz Stoer</a> on Dataisnature (<a href="https://plus.google.com/100003628603413742554/posts/QvmRaFPqvT8">G+</a>)</li><br /><li><a href="https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2">Something about how some data structures I helped develop could improve bitcoin mining</a> (<a href="https://plus.google.com/100003628603413742554/posts/SEgCxWu1rT5">G+</a>)</li><br /><li><a href="https://www.youtube.com/watch?v=09JslnY7W_k">63 and –7/4 are special</a>, numberphile video about prime factors of recurrence sequences (<a href="https://plus.google.com/100003628603413742554/posts/SDSanXttfwA">G+</a>)</li><br /><li><a href="http://www.ams.org/notices/201409/rnoti-p1040.pdf">Critique of Hirsch’s Citation Index</a>, article in the <i>Notices</i> about how the h-index doesn't provide much more information than the total citation count (<a href="https://plus.google.com/100003628603413742554/posts/4EXT17fkXHY">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:297428University of Würzburg graffiti2014-09-29T03:16:59Z2014-09-29T03:16:59ZI neglected to pack my camera and its new lens with me for the trip to GD (oops), and anyway most of the time the weather wasn't very conducive to photography. But I did take a couple of cellphone snapshots of graffiti/murals on the University of Würzburg campus. This one, if Google translate is to be believed, proclaims Würzburg as the city of young researchers; it's on the wall of the Mensa where we ate lunch every day.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/pix/uni-wuerzburg/CityOfYoungResearchers-m.jpg" border="2" style="border-color:black;" /></div><br /><br />And here's some advice to the students starting the new term, from just outside the conference hall:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/pix/uni-wuerzburg/Study-m.jpg" border="2" style="border-color:black;" /></div>urn:lj:livejournal.com:atom1:11011110:297186Report from Graph Drawing2014-09-28T01:29:03Z2014-10-16T18:41:07ZI'm currently in the process of returning<sup>*</sup> from Würzburg, Germany, where I attended the 22nd International Symposium on Graph Drawing (GD 2014) and was one of the invited speakers at the associated EuroGIGA/CCC Ph.D. school on graph drawing.<br /><br />The format for the Ph.D. school was three one-hour lectures in the morning and three hours of working on exercises in the afternoon, for two days. My contribution was a high-level overview of graph drawing methods that involve curves (an updated version of <a href="http://drops.dagstuhl.de/opus/volltexte/2013/4168/">my Dagstuhl survey</a>). You'll have to ask one of the students how well the school really went, but my impression is that it was a success. Among other things, it brought in 40 students, and perhaps helped GD itself achieve an unusually high number of participants.<br /><br />There were two best presentation awards from GD. One went to Vincent Kusters, for a talk on "Column planarity and partial simultaneous geometric embedding" with Evans, Saumell and Speckmann. Their main result is that if one is given two trees on the same vertex set, then it is possible to find planar drawings of them both, with straight line segments as edges, in which a large fraction of the vertices are in the same location in both drawings. (It is not always possible to place all vertices the same in both drawings.) There was also a best poster award, given to Thomas Bläsius, Fabian Klute, Benjamin Niedermann, and Martin Nöllenburg, for their work on "PIGRA", a tool for pixelated graphs. Instead of the usual poster format (a few boxes of text+figures, not very different from the set of slides from a short talk) they made an effort at presenting their work in a graphic-novel format, with a stick-figure narrator that looked like it was inspired by xkcd. There were two good invited talks, by Oswin Aichholzer on some problems related to the crossing numbers of complete graphs and by Jean-Daniel Fekete on visualizations of graphs based on adjacency matrices rather than node-link diagrams, as well as, of course, many interesting contributed talks.<br /><br />The other best presentation award went to Fidel Barrera-Cruz for his work with Penny Haxell and Anna Lubiw on morphing one triangulation to another by piecewise linear motions while preserving planarity at the intermediate stages. It was one of the few talks to include a demo of things happening dynamically rather than just static images, which worked very well for this topic. I can't find the paper itself online but it seems to also be part of <a href="https://uwspace.uwaterloo.ca/handle/10012/8518">Barrera-Cruz's Ph.D. thesis</a>.<br /><br />A few of the other talks that were memorable to me:<br /><br />Wednesday morning, Jan Christoph Athenstädt spoke about <a href="http://arxiv.org/abs/1408.6019">making overlaid drawings of two partitions</a> of a set of elements; the same problem can be interpreted as one of drawing a 2-regular hypergraph. It's easy to construct such a drawing by using membership in one partition as an x-coordinate and in the other partition as a y-coordinate, and drawing the sets as ovals around the rows and columns of the resulting grid layout, but this is problematic in some respects; for instance, it has empty regions where pairs of sets look like they intersect but actually don't. On the other hand if the partitions are to be drawn as pseudocircles (at most two crossing points per pair, intersecting only as needed) the problem turns into one of graph planarity, but is not always realizable. An intermediate level of constraint on these drawings is unfortunately NP-complete to recognize.<br /><br />On Wednesday afternoon, one of Philipp Kindermann and Fabian Lipp (I no longer remember which) spoke about their work with Sasha Wolff on boundary labeling. If you've ever used the <a href="http://www.ctan.org/pkg/todonotes">todonotes</a> package in LaTeX, you know what this is: a bunch of rectangular labels (notes to you or your co-authors reminding you of things that need to be changed) are to be placed in the margin of your LaTeX output, connected by "leaders" (polygonal paths) to the point where the change needs to be made. todonotes is a little brainless about how it places its notes and leaders, and their paper discussed <a href="http://www.ctan.org/pkg/luatodonotes">an improved system for the same problem</a>. Unfortunately it is implemented in LuaLaTeX, which I am still leery of using. (I don't think arXiv allows it and given the security issues of running a real programming language from user-contributed source code I'm not sure I'd want to advocate that they start; the same is true of the publishers I've worked with.)<br /><br />Thursday morning had a whole session on <a href="https://en.wikipedia.org/wiki/1-planar_graph">1-planarity</a>, a topic of some interest to me. Di Giacomo, Liotta, and Montecchiani showed that outer-1-planar graphs with maximum degree <i>d</i> can be drawn with the given embedding using line segments of O(<i>d</i>) slopes, or planarly (they are always planar graphs) using O(<i>d</i><sup>2</sup>) slopes, better than the higher polynomial for planar 3-trees and exponential known bound for planar graphs in general. Two additional papers concerned "fan-planar graphs", graphs drawn so that, when an edge is crossed, its crossing edges form a fan (adjacent on the same side to a single vertex). Apparently there is some connection between these graphs and confluent drawings, although I'm a little fuzzy on the details.<br /><br />Thursday afternoon, in a session including one of my papers on (impractical) algorithms for crossing minimization, we also had a user study presented by Sergei Pupyrev (with Kobourov and Saket) showing that for larger graphs <a href="https://cs.arizona.edu/people/kobourov/crossings.pdf">the number of crossings does not seem to be strongly correlated with usability of the drawing.</a> This is in contrast with many past works showing that for smaller graphs crossings are quite important. I'm always glad to see research in this style at GD – I think it helps keep us grounded, when otherwise we have a strong tendency to do theory that has no practical applications – but I can see why it is a bit rare: most of the questions afterwards were actually poorly-disguised complaints "you're doing it wrong". There's always something you could have done differently that might have shown a different result, and always someone who has strong opinions on that particular detail. So it's difficult to get such research accepted and the reactions can be a bit discouraging when it is.<br /><br />Friday morning Therese Biedl gave another entertaining talk, on transforming one style of drawing into another while preserving its height. But the moral of the story is that height is probably the wrong thing to optimize, at least for straight-line drawings, because of one of her examples: a planar 3-tree which could be drawn in linear area with height five, but required exponential area for its optimal height-four drawing.<br /><br />And finally one of the Friday afternoon talks also particularly caught my attention. Fabrizio Frati spoke on his work with Dehkordi and Gudmundsson on <a href="http://arxiv.org/abs/1408.2592">"increasing-chord graphs"</a>, a strengthening of greedy drawings. A path from s to t is greedy if the distance to t monotonically decreases along the path. It is self-approaching if every subpath is greedy in the same direction. And it is increasing-chord if it is self-approaching in both directions. It is unknown whether every point set in the plane forms the vertex set of a planar increasing-chord graph, but Frati and his co-authors showed that every point set can be augmented by a linear number of points so that the augmented set supports such a graph. The proof has two parts: a proof that a triangulation with all acute angles is always increasing-chord, and <a href="http://www.ics.uci.edu/~eppstein/pubs/p-pgood.html">an old result of mine</a> that every point set has an all-acute Steiner triangulation.<br /><br />In organizational news: We are soon to have elections for new GD steering committee members, as four members' terms are expiring (Ulrik Brandes, Seok-Hee Hong, Michael Kaufmann, and me). Next year, GD (renamed as the "International Symposium on Graph Drawing and Network Visualization" but with the same numbering and acronym) will be in Northridge, California, with Csaba Tóth organizing. (Csaba looked into instead having it at a nearby beach town but they were too expensive.) After dropping short submissions as a category this year (because of problems in past years where they were judged head-to-head against longer submissions and, unsurprisingly, lost) we will reinstate them next year as "GD notes and demos" with separate reviewing and shorter talks. Along with this year's best poster and best presentation awards, we are reinstating the best paper and test of time awards previously given in 2012; the test of time one will be for papers published in GD between 1994 and 1998 (inclusive). GD 2016 will be in Athens, Greece.<br /><br />Much German food and wine was served (this is in Franconia, one of Germany's wine-making areas and the home of drier wines than the other parts of Germany), old friends seen again, etc. I enjoyed my trip and am looking forward to a more conveniently-located GD next year.<br /><br /><sup>*</sup>Missed a connection and have to spend the night in Newark.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:296778Which polycubes have planar graphs?2014-09-21T01:05:13Z2014-09-21T01:08:54ZJoe Malkevitch recently asked me: which <a href="https://en.wikipedia.org/wiki/Polycube">polycubes</a> have planar graphs?<br /><br />By a polycube, I mean a set of unit cubes in the three-dimensional integer lattice whose dual graph (with vertices for cubes and edges for cubes that share a square with each other) is connected; Malkevitch had a more restrictive definition in mind in which the boundary of the union of the cubes is a connected manifold, but that turns out not to make a difference for this problem. The graph of a polycube is formed by the vertices and edges of the cubes in this set.<br /><br />The answer turns out to be: the polycubes that have a tree-like structure that can be formed by adding cubes one at a time, at each step adding a cube that touches the previous cubes in exactly one of its squares. One direction is easy: if you add cubes in this way, you end up changing the graph by replacing a quadrilateral face by five quadrilaterals, which preserves planarity.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/polycube-gluing-step.png"></div><br /><br />In the other direction, suppose you have a polycube that cannot be constructed in this way, and build it up by adding cubes one at a time in a preorder traversal of a spanning tree of the dual graph. At some point, you will add a cube <i>c</i> that is adjacent not only to its parent <i>p</i> in the tree, but to some other part of the already-constructed polycube. If you contract the parts of <i>c</i> and <i>p</i> that are not on their shared square, and contract the path in the polycube connecting those parts, you can get a <i>K</i><sub>3,3</sub> graph minor out of the graph of the polycube, showing that it must be nonplanar.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/loopy-polycubes-are-nonplanar.png"></div><br /><br />The same question is also interesting when you ask about the graph of the boundary of the polycube, but it has a simpler answer: if the boundary is connected, then it is planar if and only if the polycube is a topological ball.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:296537Linkage2014-09-16T06:20:03Z2014-09-16T07:42:20Z<ul><li><a href="http://www.thisiscolossal.com/2014/08/thomas-herbrich-smoke/">Unexpected shapes in smoke plumes</a>, as photographed by Thomas Herbrich (<a href="https://plus.google.com/100003628603413742554/posts/6CADmTYFxq3">G+</a>)</li><br /><li><a href="http://tcs.postech.ac.kr/isaac2014/accepted_papers.html">ISAAC 2014</a> and <a href="http://theory.utdallas.edu/COCOA2014/accepted-papers.html">COCOA 2014</a> accepted paper lists (<a href="https://plus.google.com/100003628603413742554/posts/BrPabmYReu4">G+</a>)</li><br /><li><a href="http://windowsontheory.org/2014/09/03/focs-2014-program-is-online/">FOCS 2014 program</a> and best paper winners (<a href="https://plus.google.com/100003628603413742554/posts/LnC49jZzLgt">G+</a>)</li><br /><li><a href="http://www.wired.com/2014/08/watch-804-wooden-balls-shape-shift-into-a-perfect-spiral/">Kinetic sculpture</a> made of wooden balls on threads, with some extensive software simulation behind its design (<a href="https://plus.google.com/100003628603413742554/posts/TBadJvQDmeY">G+</a>)</li><br /><li><a href="http://www.wired.com/2014/09/curvature-and-strength-empzeal/">How a 19th century math genius taught us the best way to hold a pizza slice</a>, or, a practical application of the theorem that when a flat surface is embedded in 3d, it remains flat in at least one direction (<a href="https://plus.google.com/100003628603413742554/posts/8MN9K3iXV7Z">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Centered_octahedral_number">Centered octahedral numbers</a> on Wikipedia (<a href="https://plus.google.com/100003628603413742554/posts/VHQFZG3ztR3">G+</a>)</li><br /><li><a href="http://aperiodical.com/2014/09/interesting-esoterica-summation-volume-9/">Interesting esoterica summation</a> (<a href="https://plus.google.com/100003628603413742554/posts/8Rx8UcAjksz">G+</a>)</li><br /><li><a href="http://dx.doi.org/10.1007/s00454-014-9627-0">A Möbius-Invariant Power Diagram and Its Applications to Soap Bubbles and Planar Lombardi Drawing</a> (journal version of two of my old conference papers; <a href="https://plus.google.com/100003628603413742554/posts/WniiFV3VREv">G+</a>)</li><br /><li><a href="http://news.sciencemag.org/people-events/2014/09/researcher-loses-job-nsf-after-government-questions-her-role-1980s-activist">Researcher loses job at NSF after government questions her role as 1980s activist</a> (<a href="https://plus.google.com/100003628603413742554/posts/EAxPtzQiusE">G+</a>)</li><br /><li><a href="http://infosthetics.com/archives/2014/09/pi_visualized_as_a_public_urban_art_mural.html">Pi visualized as a public urban art mural</a> (<a href="https://plus.google.com/100003628603413742554/posts/K3jpjjv9ypa">G+</a>)</li><br /><li><a href="http://igorpak.wordpress.com/2014/09/12/how-not-to-reference-papers/">How not to reference papers</a> (a sad story by Igor Pak of academic misattribution; <a href="https://plus.google.com/100003628603413742554/posts/XN5S8t9d8QV">G+</a>)</li><br /><li><a href="http://jocg.org/v5n1p10/">Steinitz Theorems for Simple Orthogonal Polyhedra</a> (journal version of another of my papers; <a href="https://plus.google.com/100003628603413742554/posts/2Nz66ruDFHu">G+</a>)</li><br /><li><a href="http://sbseminar.wordpress.com/2014/09/14/editorial-board-of-journal-of-k-theory-on-strike-demanding-tony-bak-hands-over-the-journal-to-the-k-theory-foundation/">Editorial board of <i>Journal of K-theory</i> goes on strike</a> over publisher profiteering (<a href="https://plus.google.com/100003628603413742554/posts/g1MfZRTPDf2">G+</a>)</li></ul>urn:lj:livejournal.com:atom1:11011110:296235Bren Hall, East Stairs2014-09-13T21:57:06Z2014-09-13T21:57:06ZJust some test shots with my new travel lens (Canon's 17-40/F4 L, replacing a mysteriously nonfunctional and optically not as good 17-85IS).<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/brenstairs/1.html"><img src="http://www.ics.uci.edu/~eppstein/pix/brenstairs/1-m.jpg" border="2" width="160" height="240" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/brenstairs/2.html"><img src="http://www.ics.uci.edu/~eppstein/pix/brenstairs/2-m.jpg" border="2" width="240" height="160" style="border-color:black;" /></a></td>
</tr><tr align="center" valign="middle">
<td><a href="http://www.ics.uci.edu/~eppstein/pix/brenstairs/3.html"><img src="http://www.ics.uci.edu/~eppstein/pix/brenstairs/3-m.jpg" border="2" width="240" height="160" style="border-color:black;" /></a></td>
<td><a href="http://www.ics.uci.edu/~eppstein/pix/brenstairs/4.html"><img src="http://www.ics.uci.edu/~eppstein/pix/brenstairs/4-m.jpg" border="2" width="160" height="240" style="border-color:black;" /></a></td>
</tr></table></div>urn:lj:livejournal.com:atom1:11011110:295979Algorithmic representative democracy2014-09-10T05:15:24Z2014-09-10T07:32:47ZDid you ever wonder why different states of the US have the numbers of representatives in congress that they do? It's supposed to be proportional to population but that's not actually true: for instance the ratio of representatives to population is about 40% higher in Montana than California. <a href="https://en.wikipedia.org/wiki/United_States_congressional_apportionment#Apportionment_methods">What formula or algorithm do they use to pick the numbers?</a><br /><br />This has varied over the years but, Wikipedia tells me, currently it's the <a href="https://en.wikipedia.org/wiki/Huntington%E2%80%93Hill_method">Huntington–Hill method</a>. One way of describing this is by a simple but inefficient algorithm, with the following steps:<br /><br />1. Give each state a representative, since they all have to have at least one.<br /><br />2. Repeatedly, until there are the desired number of total representatives, prioritize the states by <img src="http://www.ics.uci.edu/~eppstein/0xDE/HuntingtonHill.gif" valign="middle"> and give one more representative to the state with the biggest priority.<br /><br />The problem of assigning seats to parties after a parliamentary election is very similar, using votes instead of population, but in that case it's ok for some parties to get zero seats. This causes the formulas that are used for prioritizing the parties to use different divisors, typically linear functions of the number of seats already assigned rather than the square root thing used here. This general type of apportionment method is called a <a href="https://en.wikipedia.org/wiki/Highest_averages_method">highest averages method</a>.<br /><br />The question asked by my most recent preprint (<a href="http://arxiv.org/abs/1409.2603">"Linear-time Algorithms for Proportional Apportionment", arXiv:1409.2603</a>, with Jack Cheng, to appear at ISAAC 2014) is: how quickly can you assign seats using these methods? Using the procedure described above, with a priority queue to do the prioritization, would take an amount of time slightly superlinear in the number of seats. But it turns out we can do quite a bit better: linear in the number of parties or states getting the seats. Probably this doesn't matter for actual elections, the slow part of which is collecting all the votes. But it might be useful if you want to run a lot of simulated elections, or to use apportionment algorithms for problems where the number of things being apportioned is much larger than the number of congressional representatives.<br /><br />There's also a nice way of viewing these problems more abstractly: suppose we have <i>n</i> different infinite arithmetic progressions, and an input parameter <i>k</i> How quickly can we find the <i>k</i>th smallest value in the disjoint union of the progressions? Answer: O(<i>n</i>) arithmetic operations, independently of <i>k</i>. For the parliamentary apportionment problem, you get these sequences by turning the priorities upside down, with the linear function of the number of representatives as the numerator and the number of votes as the denominator. For the congressional problem, this gives something that is not exactly an arithmetic progression, but it's close enough to one that the same algorithms work with only minor modification.<br /><br />Incidentally, there's a footnote on p. 3 of the preprint about two seemingly very relevant references, in Japanese, whose titles claim that they give linear time algorithms for related problems. Unfortunately despite attempts to contact both the authors of these references and the reviewer who used them as a reason to downvote our paper, we have been unable to obtain them <s>nor even to verify that they actually exist,</s> let alone to determine which variable their time is linear in and which apportionment methods they apply to. So we don't actually know whether our algorithms or results are really new. If anyone reading this has better access to these sources, we'd appreciate any help you could give us. ETA: I now have a copy of the IEICE Trans. D one, but haven't yet examined it. Apparently part of the difficulty is that there are two different IEICE Trans. D.'s.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:295706Efficiency of Rado graph representations2014-09-06T06:47:45Z2014-09-06T06:47:45ZThe <a href="https://en.wikipedia.org/wiki/Rado_graph">Rado graph</a> has interesting symmetry properties and plays an important role in the <a href="http://11011110.livejournal.com/295010.html">logic of graphs</a>. But it's an infinite graph, so how can we say anything about the complexity of algorithms on it?<br /><br />There are algorithmic problems that involve this graph and are independent of any representation of it, such as checking whether a first-order logic sentence is true of it (PSPACE-complete). But I'm interested here in problems involving the Rado graph where different ways of constructing and representing the graph lead to different algorithmic behavior. For instance: the Rado graph contains all finite graphs as induced subgraphs. How hard is it to find a given finite graph? Answer: it depends on how the Rado graph is represented.<br /><br />Historically the first way of constructing this graph involved the binary representations of the natural numbers: each vertex corresponds to a number, and vertices x and y are adjacent when the smaller of the two numbers is the index of a nonzero bit in the binary representation of the larger of the two numbers. For this representation it's very easy to find a copy of any given graph G as an induced subgraph: just find copies of the vertices of G one at a time. Each of the vertices you've already found, and its adjacency or nonadjacency to the next vertex, tells you one bit of the binary representation of the next number, and you just have to pad those bits with zeros in the remaining places to find the next vertex. The trouble is, these numbers grow very quickly, roughly as a tower of powers of two whose number of levels is the number of vertices in the graph. For instance, if you want to find an 5-vertex complete subgraph of the Rado graph, you can do it with the numbers 0, 1, 3, 11, 2059, but (according to <a href="https://oeis.org/A034797">OEIS A034797</a>) the smallest number you can use to extend this to a 6-vertex clique already has 620 decimal digits. And the one after that has more like 2^{2059} bits in its binary representation, too many to write down even in the biggest computers. So the algorithm for finding a given graph is easy to describe but not very efficient.<br /><br />An alternative construction just chooses randomly, for each pair of vertices, whether they form the endpoints of an edge. With infinitely many vertices, the result of these random choices is almost certainly the Rado graph. That's not a representation that can be used in a computer, but we could imagine an algorithm that had access to it as some sort of oracle. With this representation, an n-vertex graph should occur much more quickly: if G is such a graph, then the expected number of copies of G among the first N vertices of the Rado graph starts getting large when N is roughly 2^{n/2}. And that's the best you could hope for in any representation, because with fewer vertices there aren't enough n-tuples of vertices to cover all the different induced subgraphs that could exist. But finding a copy of G among these vertices would be difficult. Even for finding a clique, we don't know anything much better than trying all n-tuples of vertices and seeing which ones work. (Finding a clique of size approximately 2 log_2 N in an N-vertex random graph in polynomial time is a well known open problem even though we know that a clique of that size should usually exist.) Yet another construction of the Rado graph, based on the idea of Paley graphs, probably behaves similarly to the random construction but is difficult to prove much about.<br /><br />Here's a construction of an infinite graph in which induced subgraphs of any type are easy to find: instead of using binary numbers, use binary strings, of all possible lengths including zero. For any two strings s and t, connect them by an edge if s is shorter than t and the position of t indexed by the length of s is nonzero (or vice versa). Then you can build an n-vertex graph one vertex at a time, by using one bitstring of each length less than n, with the bits in each string given by the adjacencies to the earlier vertices with no padding. The copy of an n-vertex graph G will be somewhere in the first 2^n vertices (not 2^{n/2}), and the names of these vertices can be calculated and written down by an algorithm in time O(n^2) (matching the description complexity of G in terms of its adjacency matrix). But this is not the Rado graph. For instance, for the two binary strings "0" and "1", there is only one vertex in the graph adjacent to one and not the other (the empty string) whereas the Rado graph has infinitely many such vertices. One could construct a copy of the Rado graph by interspersing this construction with a very small number of random vertices, small enough that they don't affect the complexity of this subgraph-finding algorithm, but that seems a bit of a cheat.<br /><br />One way that it's a cheat is that it doesn't use the full power of the Rado graph. The actual defining property of the Rado graph is that if you start building a given induced subgraph, vertex by vertex, you can never make a mistake: it's always possible to add one more vertex. Or, more abstractly, if you have any two sets A and B of vertices in the Rado graph, there's always another vertex v that's adjacent to everything in A and nothing in B. By choosing A to be the set of already-placed vertices that are adjacent to the next vertex, and B to be the set of already-placed vertices that are not adjacent to the next vertex, you can use this property to find each successive vertex in an arbitrary induced subgraph. The graph of binary strings described above does not have this property, because when A={"0"} and B={"1"} there's no vertex v that matches.<br /><br />Is it possible to construct the Rado graph in such a way that the extension property becomes as easy as the subgraph property was for the graph of binary strings? The short answer is that I don't know. One attempt at an answer would be to build it in levels, much like the binary string graph can be divided into levels by the length of its strings. In the kth level, we include a collection of vertices that extends all subsets of k vertices from the previous level. But what is this collection? If there are N vertices in the previous level, then the vertices of the kth level can be described by N-bit bitstrings specifying their adjacencies. We want to choose as small as possible a set of bitstrings with the property that all k-tuples of previous vertices can be extended; a more geometric way to describe this is that we want to find a small set D of points in the N-dimensional hypercube that hits every (N-k)-dimensional subcube. Exactly this problem was one of the ones I studied in my recent paper "<a href="http://www.combinatorics.org/ojs/index.php/eljc/article/view/v21i3p20">grid minors in damaged grids</a>". But the proof in that paper that D can be relatively small (Theorem 14) uses the probabilistic method, meaning essentially that it chooses a random set of the right number of hypercube points. So as a way of constructing Rado graphs in which the extension property is efficient, it is not an improvement over the method of choosing edges randomly. But maybe this nondeterministic proof that a good set exists can lead the way to a deterministic and efficient construction?<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:295544Linkage2014-09-01T05:59:14Z2014-09-01T05:59:14ZMore Google+ links from the last couple of weeks:<br /><ul><li>An interview with Haida artist <a href="https://en.wikipedia.org/wiki/Jim_Hart_%28artist%29">Jim Hart</a> (<a href="https://plus.google.com/100003628603413742554/posts/dC2GkH8wQVK">G+):<br /><lj-embed id="52" /></li><br /><li><a href="http://chance.amstat.org/2012/11/interview-with-persi-diaconis/">Persi Diaconis discusses mathematics and magic</a> (<a href="https://plus.google.com/100003628603413742554/posts/dXapc9JXucR">G+</a>)</li><br /><li><a href="http://cstheory.stackexchange.com/questions/25509/edit-distance-in-sublinear-space">A still-unsolved question about whether it's possible to compute edit distance in sublinear space and polynomial time</a> (<a href="https://plus.google.com/100003628603413742554/posts/6qtvh6gAJht">G+</a>)</li><br /><li><a href="http://www.nytimes.com/interactive/2014/08/13/us/starbucks-workers-scheduling-hours.html">A New York Times story about how scheduling software makes part-time workers' lives harder</a>. Or does it? The <a href="http://www.metafilter.com/141920/Working-anything-but-9-to-5">MF discussion of the article</a> makes it clear that managers have been doing the same things with lower tech for a long time. (<a href="https://plus.google.com/100003628603413742554/posts/8PmLWMEpyAM">G+</a>)</li><br /><li><a href="http://makingsocg.wordpress.com/2014/08/22/colocation-with-stoc-2016/">Kerfuffle over SoCG colocation with STOC</a>, later <a href="http://makingsocg.wordpress.com/2014/08/27/mea-culpa-and-good-news/">resolved</a> (<a href="https://plus.google.com/100003628603413742554/posts/VWq1DHWHwW6">G+</a>)</li><br /><li><a href="https://en.wikipedia.org/wiki/Barrier_resilience">Barrier resilience</a> on Wikipedia (<a href="https://plus.google.com/100003628603413742554/posts/8B1xmfEEzxb">G+</a>)</li><br /><li><a href="http://www.ted.com/talks/robert_lang_folds_way_new_origami">Robert Lang talks</a> about the way mathematics done purely for its aesthetic value (in this case mathematical origami) can turn around and have practical applications. (<a href="https://plus.google.com/100003628603413742554/posts/4iWzqDnwNDm">G+</a>)</li><br /><li><a href="http://www.newyorker.com/magazine/2014/09/01/troll-slayer">The Troll Slayer</a>. New Yorker profile of classics professor Mary Beard, who knows better than most exactly how long men have been silencing women. (<a href="https://plus.google.com/100003628603413742554/posts/aqEde6zwK7Z">G+</a>)</li><br /><li><a href="http://www.kokomotribune.com/news/nation_world_news/article_7028faa8-2d42-11e4-b5a1-0019bb2963f4.html">A study on how social media causes us to self-censor our opinions</a> (<a href="https://plus.google.com/100003628603413742554/posts/X1ZH2ZemiiM">G+</a>)</li><br /><li><a href="http://www.ocregister.com/articles/internet-633032-jordan-policy.html">My UCI colleague Scott Jordan takes a position advising the FCC about net neutrality</a> (<a href="https://plus.google.com/100003628603413742554/posts/WDA8kJfvrq4">G+</a>)</li><br /><li><a href="http://zacharyabel.com/sculpture/">Sculpture by Zachary Abel</a>, one of my new co-authors on the <a href="http://11011110.livejournal.com/295261.html">flat-folding paper</a> (<a href="https://plus.google.com/100003628603413742554/posts/LEs7sm7BVcy">G+</a>)</li></ul></a>urn:lj:livejournal.com:atom1:11011110:295261Flattening things that aren't already flat2014-08-29T05:46:29Z2014-08-29T06:04:37ZThe last of my Graph Drawing preprints is also the first of the papers to see daylight from the <a href="http://11011110.livejournal.com/286162.html">workshop last spring in Barbados</a>: <a href="http://arxiv.org/abs/1408.6771">"Flat Foldings of Plane Graphs with Prescribed Angles and Edge Lengths"</a> (arXiv:1408.6771, with Zachary Abel, Erik Demaine, Martin Demaine, Anna Lubiw, and Ryuhei Uehara).<br /><br />It's part of what has become a long line of research on trying to understand which shapes can be <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/SquashedFlat">squashed flat</a>, starting with <a href="https://en.wikipedia.org/wiki/Maekawa's_theorem">Maekawa's theorem</a> (every vertex of a flat-folded sheet of paper has to have numbers of mountain folds and valley folds that differ by two) and <a href="https://en.wikipedia.org/wiki/Kawasaki's_theorem">Kawasaki's theorem</a> (alternating angles at each vertex must sum to π). If you have a piece of paper with a desired set of fold lines marked on it, and these fold lines all converge on a single vertex, then it's possible to exactly characterize whether you can fold it flat along those lines. A greedy algorithm can find a way to fold it efficiently, and a version of the <a href="https://en.wikipedia.org/wiki/Carpenter's_rule_problem">Carpenter's rule theorem</a> implies that, when a flat-folded state exists, you can always get to it by a continuous motion. But as Bern and Hayes showed at SODA 1996, the restriction to a single vertex is crucial: the folds at different vertices can interact with each other in complicated ways, making flat foldability of multi-vertex folding patterns NP-complete.<br /><br />The new paper follows an earlier one at ISAAC 2011 and IJCGA 2013, <a href="http://erikdemaine.org/papers/LinearEquilateral_IJCGA/">"Folding equilateral plane graphs"</a>, by an overlapping set of authors, in studying the flat-foldability of objects that are not just flat sheets of paper. But in order to avoid Bern and Hayes' NP-hardness proof, we again restrict our attention only to objects with a single vertex. That is, we have some sort of complex of flat polygons connected by piano hinges at their edges, but all the hinges meet at a point. As in the following illustration:<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/two-cycles.png"></div><br /><br />The blue sphere highlights the vertex, but it also indicates a way to think of the problem in only two dimensions instead of three: cut the complex through the surface of the sphere so that each polygon turns into a line segment (or really a segment of a great circle), each hinge turns into a point, and what you have is just a planar graph drawing. The line segments are rigid but the hinges at their endpoints make the whole drawing floppy (within the plane it's defined in). The question is whether it is sufficiently floppy that it can be made to lie flat along a line.<br /><br />Our key insight is in some sense the opposite of Bern and Hayes': the folds within different faces of this planar graph cannot interact with each other at all. This is not obvious, or at least it wasn't to us. But with this in hand, the rest is easy: we already know how to flatten things with one face using the results about folding patterns on flat sheets of paper, so to test whether a complex can be flattened we just need to test each of its faces separately. By using dynamic programming within each face and then multiplying the results, we can also count the number of different flat-folded states.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:295010A brief introduction to the logic of graphs2014-08-28T00:43:41Z2014-08-31T20:15:20ZIf you're used to writing mathematics, but haven't paid much attention to model theory, you probably think a fully-quantified mathematical sentence is generally either true or false. Fermat's last theorem, for instance, can be written as the following sentence: For all positive integers <i>a</i>, <i>b</i>, <i>c</i>, and <i>n</i>, if <i>n</i> > 2, then <i>a</i><sup><i>n</i></sup> + <i>b</i><sup><i>n</i></sup> ≠ <i>c</i><sup><i>n</i></sup>. This sentence is fully quantified: the four variables <i>a</i>, <i>b</i>, <i>c</i>, and <i>n</i> are all covered by the quantifier "for all positive integers". It's one of the true ones, if difficult to prove.<br /><br />But when we're working with the logic of graphs, a (fully-quantified) sentence is itself just another mathematical object, and its truth is relative: it might be true for some graphs and false for others. Consider, for instance, the following sentence about an undirected graph: "There exist vertices <i>v</i> and <i>w</i> such that <i>v</i> and <i>w</i> are adjacent, and for all vertices <i>u</i>, if <i>u</i> and <i>v</i> are adjacent, then <i>u</i> equals <i>w</i>." It can be satisfied only when <i>v</i> is a vertex whose degree is exactly one, and <i>w</i> is its unique neighbor. We can write this more concisely using a notation in which adjacency is written using a tilde:<br /><br /><div align="center"><img src="http://latex.codecogs.com/gif.latex?\exists&space;v,w:&space;(v\sim&space;w)\wedge&space;(\forall&space;u:&space;(u\sim&space;v)&space;\rightarrow&space;(u&space;=&space;w))" title="\exists v,w: (v\sim w)\wedge (\forall u: (u\sim v) \rightarrow (u = w))" /></div><br /><br />Let's give this sentence a name, <i>D</i><sub>1</sub>. Then <i>D</i><sub>1</sub> is true for a graph that has a degree-one vertex, such as the complete bipartite graph <i>K</i><sub>1,4</sub>. But it's false for a graph that doesn't have such a vertex, such as the complete graph <i>K</i><sub>4</sub>. If a sentence is true for a graph, we say that the graph "models" the sentence, and we can also write that in mathematical notation:<br /><br /><div align="center"><img src="http://latex.codecogs.com/gif.latex?K_{1,4}\models&space;D_{1}" title="K_{1,4}\models D_{1}" /></div><br /><br />This kind of logic, in which the only things we can talk about are vertices and their adjacencies, is called the first order logic of graphs, and it's kind of weak. Each of its sentences is equivalent to an algorithm that can contain nested loops over vertices, if-then-else logic involving adjacency tests and equality, and the ability to return Boolean values, but nothing else. For instance:<br /><br /><pre>def d1(G):
for v in G:
for w in G:
if G.adjacent(v,w):
for u in G:
if G.adjacent(u,v):
if u != w:
break
else:
return True
return False</pre><br /><br />This is good enough to recognize some families of graphs (such as the ones with a finite set of forbidden induced subgraphs) but not many others. For instance, I don't know how to describe the <a href="https://en.wikipedia.org/wiki/Distance-hereditary_graph">distance-hereditary graphs</a> in this way. They can be described by forbidden induced subgraphs, but infinitely many of them, and we're not allowed to write infinitely-long sentences.<br /><br />On the other hand, the weakness of first-order logic means that we can prove interesting facts about it. For instance, every first-order sentence defines a family of graphs that can be recognized in polynomial time. Also, we have the 0-1 law: if <i>S</i> is any sentence in first-order logic then the probability that a graph chosen uniformly at random among all <i>n</i>-vertex graphs models <i>S</i> is either zero or one in the limit as <i>n</i> goes to infinity. Using the 0-1 law, even though we can't describe the distance-hereditary graphs precisely in first-order logic, we can get an approximate description that's good enough to prove that almost all random graphs are not distance-hereditary. A distance-hereditary graph either has a degree-one vertex (it models <i>D</i><sub>1</sub>) or it has two twin vertices, vertices whose sets of neighbors (not counting the two twins themselves) are identical. The existence of twins can also be described by a first-order sentence <i>T</i>:<br /><br /><div align="center"><img src="http://latex.codecogs.com/gif.latex?\exists&space;u,v:&space;(u\ne&space;v)\wedge\forall&space;w:&space;(u=w)\vee(v=w)\vee((u\sim&space;w)\leftrightarrow(v\sim&space;w))" title="\exists u,v: (u\ne v)\wedge\forall w: (u=w)\vee(v=w)\vee((u\sim w)\leftrightarrow(v\sim w))" /></div><br /><br />But for a uniformly random graph, both the expected number of degree-one vertices and the expected number of twin pairs, can be calculated directly from these formulas, and are exponentially small in the number <i>n</i> of vertices. So almost all graphs do not model <i>D</i><sub>1</sub>, do not model <i>T</i>, and therefore cannot be distance-hereditary.<br /><br />The name "first order" should be a hint that there's another kind of logic, "second order logic", and there is. In second order logic, the variables can represent complicated structures built out of <i>k</i>-ary relations (for instance, entire graphs), the quantifiers quantify over these structures, and we need more primitives to be able to look at what's inside these structures. The idea of using second order logic seems to be somewhat controversial in mathematics, in part because there's not a uniquely-defined way of assigning meanings to statements in this logic, but there's a restricted subset of the second order logic of graphs, called monadic second order logic, where these problems do not arise. Or actually there are two such subsets: MSO<sub>1</sub> and MSO<sub>2</sub>.<br /><br />MSO<sub>1</sub> is what you get from the first order logic described above when you add another type of variable for sets of vertices (usually written with capital letters) and you allow quantification over sets of vertices. The only other feature beyond first order logic that's necessary to define this logic is the ability to test whether a vertex belongs to a set. It's convenient to write formulas using more complicated tests such as whether one set is a subset of another, but those can be broken down into membership tests. We can also get the effect of using these sets as variable types that can be quantified over, by instead quantifying over all vertices but then testing whether the results of the quantification belong to the given set. For instance we can write sentences <i>D</i><sub>1</sub>[<i>X</i>] and <i>T</i>[<i>X</i>] that have the same form as <i>D</i><sub>1</sub> and <i>T</i>, but restrict all their variables to be in <i>X</i>. The effect of this restriction would be to test whether the subgraph induced by <i>X</i> has a degree-one vertex or has twins. A distance-hereditary graph is a graph in which every induced subgraph of two or more vertices has a degree-zero vertex, a degree-one vertex or twins, and this logic allows us to express this definition in a sentence <i>DH</i>:<br /><br /><div align="center"><img src="http://latex.codecogs.com/gif.latex?\forall&space;X:&space;(\exists&space;u,v:&space;u\in&space;X\wedge&space;v\in&space;X\wedge&space;u\ne&space;v)\rightarrow(D_0[X]\vee&space;D_1[X]\vee&space;T[X])" title="\forall X: (\exists u,v: u\in X\wedge v\in X\wedge u\ne v)\rightarrow(D_0[X]\vee D_1[X]\vee T[X])" /></div><br /><br />A graph <i>G</i> models DH if and only if <i>G</i> is distance-hereditary. MSO<sub>2</sub> is similar, but allows four types of variables: vertices, edges, and sets of vertices and edges. The ability to represent sets of edges allows it to express some properties (such as the property of having a Hamiltonian cycle) that cannot be expressed in MSO<sub>1</sub>.<br /><br />Unlike first-order logic, we don't necessarily get efficient algorithms out of MSO expressions. Simulating the formula directly would involve an exponential-time search over all possible subsets of vertices or edges in a given graph. But that's not the only way to turn one of these formulas into an algorithm. In particular, we can apply <a href="https://en.wikipedia.org/wiki/Courcelle%27s_theorem">Courcelle's theorem</a>, which says that every MSO<sub>2</sub> formula can be translated into a fixed-parameter tractable algorithm on graphs parameterized by their <a href="https://en.wikipedia.org/wiki/Treewidth">treewidth</a>, and that every MSO<sub>1</sub> formula can be translated into an FPT algorithm on graphs parameterized by their <a href="https://en.wikipedia.org/wiki/Clique-width">clique-width</a>. In the example of the distance-hereditary graphs, we also know that all such graphs have bounded clique-width. So applying Courcelle and plugging in the fixed bound on the clique-width of these graphs immediately tells us that there's a polynomial time algorithm for recognizing distance-hereditary graphs.<br /><br />All of this is, I think, completely constructive: it's not just that an algorithm exists, but in principle we could automatically translate the formula into the algorithm. It's also completely useless in practice because the dependence on the parameter is ridiculously high (some kind of tower of powers). When an algorithm is found in this way, additional research is needed to find a more direct algorithm that reduces this dependence to something more reasonable like single-exponential with a small base, or even removes it to get a polynomial time algorithm. In the case of the distance-hereditary graphs, there's an easy polynomial algorithm: look for degree one vertices or twins, and whenever one of these patterns is found use it to reduce the size of the graph by one vertex. With a little more care one can even achieve linear time for distance-hereditary graph recognition.<br /><br />My latest preprint, <a href="http://arxiv.org/abs/1408.6321">"Crossing minimization for 1-page and 2-page drawings of graphs with bounded treewidth"</a> (arXiv:1408.6321, with Michael Bannister, to appear at Graph Drawing), uses this same logical approach to attack some problems related to <a href="https://en.wikipedia.org/wiki/Book_embedding">book embedding</a>. We had a paper with Joe Simons in GD 2013 that showed that, for graphs formed from trees by adding a very small number of edges, we can find 1-page and 2-page book drawings with a minimum number of crossings in FPT time. In the new paper, we characterize these drawings using second order logic and apply Courcelle's theorem, allowing us to generalize these algorithms to the graphs of low treewidth, a much larger class of inputs. But because we use Courcelle's theorem, our algorithms are completely impractical. More research is needed to find a way to minimize crossings in practice.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:294778Planarization by vertex deletion2014-08-27T05:35:22Z2014-08-27T05:35:22ZAnother of my Graph Drawing papers is online today: <a href="http://arxiv.org/abs/1408.5939">"Planar Induced Subgraphs of Sparse Graphs", arXiv:1408.5939</a>, with Cora Borradaile and her student Pingan Zhu. It's about finding large planar subgraphs in arbitrary graphs; in the version of the problem we study, we want the planar subgraph to be an induced subgraph, so the goal is to find as large a subset of vertices as possible with the property that all edges connecting them can be drawn planarly. Equivalently, we want to delete as few vertices as possible to make the remaining graph planar. It's NP-complete, of course, so our goal is to prove good bounds on how many vertices you need to delete rather than computing this number exactly.<br /><br />We were inspired to look at this sort of problem by <a href="http://people.math.gatech.edu/~thomas/PAP/acyc.pdf">a 2001 paper of Alon, Mubayi, and Thomas</a>, who proved among other things that in triangle-free graphs with <i>m</i> edges you can delete <i>m</i>/4 of the vertices and eliminate all the cycles in the graph (so the remaining graph is a forest). We knew also (too easy for a publication) that you can delete <i>m</i>/3 vertices and get a linear forest, delete <i>m</i>/2 vertices and get a matching, or delete <i>m</i>/1 vertices and get an independent set. So we were hoping that this would be part of a hierarchy of graph classes, sort of like the hierarchy coming from the <a href="https://en.wikipedia.org/wiki/Colin_de_Verdi%C3%A8re_graph_invariant">Colin de Verdière graph invariant</a>: delete <i>m</i>/5 vertices and get an outerplanar graph, delete <i>m</i>/6 vertices and get a planar graph, delete <i>m</i>/7 vertices and get...I don't know, some interesting class of nonplanar graphs. It didn't quite work out that way.<br /><br />We did get one result sort of in this vein: you can delete <i>m</i>/5 vertices and get a partial 2-tree. And this is in some sense optimal, because there are graphs (such as <i>K</i><sub>5</sub>) for which that's the biggest partial 2-tree you can get. But then fractional divisors started turning up: you can delete <i>m</i>/4.5 vertices and get a pseudoforest (again optimal). And the best we could get for finding planar subgraphs was even messier (and used linear programming to work out the precise bounds): you can delete 23<i>m</i>/120 (around <i>m</i>/5.22) vertices and get a planar graph. Probably not optimal.<br /><br />Ok, so the idea of getting a hierarchy with integer divisors is dead, but maybe there's still a hierarchy, just with messier numbers. Maybe, but if you want minor-closed graph families (as all the above ones are) then the divisors can't get arbitrarily big: if you choose a divisor <i>k</i> that's bigger than six, then no matter how you try to delete <i>m</i>/<i>k</i> vertices, the smallest minor-closed family you can get will be the class of all graphs. The proof involves the existence of 3-regular <a href="http://11011110.livejournal.com/285735.html">cages</a>, sparse graphs without any short cycles: if you start with a cage, and don't delete enough vertices, you'll get a graph that still has high girth and high <a href="https://en.wikipedia.org/wiki/Circuit_rank">cyclomatic number</a>. The high girth can be used to contract a lot of edges without introducing any self-loops or multiple adjacencies, giving a much denser minor of the remaining graph, dense enough that it necessarily has <a href="https://en.wikipedia.org/wiki/Hadwiger_number">large clique minors</a>.<br /><br />Maybe there's some way of rescuing the idea of a hierarchy of subgraph classes by using classes of graphs that aren't closed under minors, but have weaker sparsity properties, such as the <a href="https://en.wikipedia.org/wiki/1-planar_graph">1-planar graphs</a>? I don't know; that's as far as we were able to prove. But it might be an interesting subject for future research.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:294551Circle packings with small area2014-08-22T06:16:34Z2014-08-22T06:17:51ZThe second of my papers for this year's Graph Drawing symposium is now online: <a href="https://arxiv.org/abs/1408.4902">"Balanced Circle Packings for Planar Graphs", arXiv:1408.4902</a>, with Jawaherul Alam, Mike Goodrich, Stephen Kobourov, and Sergey Pupyrev. It's about finding <a href="https://en.wikipedia.org/wiki/Circle_packing_theorem">circle packings</a> (interior-disjoint circles whose tangencies form a given graph) where the radii are all within a polynomial factor of each other. Or equivalently, if one normalizes the packing to make the smallest circles have unit radius, then the <a href="https://en.wikipedia.org/wiki/Area_(graph_drawing)">area</a> of the packing should be at most polynomial. We call packings with this property "balanced".<br /><br />The graphs that can be represented by circle packings are all the planar graphs, but not all of these graphs have balanced packings. In particular, for a maximal planar graph, the packing is essentially unique (any two packings can be transformed into each other by a Möbius transformation) and one can easily find graphs for which the circles differ exponentially in their sizes. But if the graph is not maximal planar, then there can be a lot more freedom in choosing a circle packing for it, allowing us to find balanced ones for many subclasses of the planar graphs.<br /><br />Probably the most practical of our results (though not very deep) are that trees, cactus graphs, and bounded-degree outerplanar graphs all have balanced packings. The tree construction is particularly simple: represent the tree by tangent squares (with size proportional to the number of descendants, and with children attached to the bottom side of each square), fill each square by a circle, and then push the circles straight up until they touch.<br /><br /><div align="center"><img src="http://www.ics.uci.edu/~eppstein/0xDE/tree-balcpack.png"></div><br /><br />The result for bounded-degree outerplanar graphs follows by adding a balanced binary tree to the outside face to make the graph have bounded degree and logarithmic diameter, augmenting it to be maximal planar (still with bounded degree), and then applying the standard circle packing theorem. It is known that for bounded degree graphs one can find circle packings in which adjacent circles have radii within a constant factor of each other. Because of the binary tree, any two circles are connected by a path of logarithmic length, and multiplying these constant factors along this path shows that the two circles' radii are within a polynomial of each other. With a little more care the same thing works if the starting graph is not outerplanar, but has at most a logarithmic number of layers from the outside face inwards. For two-layer graphs, bounded degree is necessary, but it might be possible that all outerplanar graphs, even the ones with unbounded degree, have balanced circle packings; we couldn't solve that question and left it open.<br /><br />A large fraction of the paper is taken up by what I think may be its deepest result (but certainly not its most useful): the planar graphs of bounded <a href="https://en.wikipedia.org/wiki/Tree-depth">tree-depth</a> such as the <a href="https://en.wikipedia.org/wiki/Book_(graph_theory)">book graphs</a> and <a href="https://en.wikipedia.org/wiki/Friendship_graph">friendship graphs</a> all have balanced circle packings. The result depends on a characterization of planar bounded-tree-depth graphs in terms of their <a href="https://en.wikipedia.org/wiki/SPQR_tree">SPQR trees</a>, and on a generalization of circle packings to non-tangent circles, called "<a href="https://en.wikipedia.org/wiki/Inversive_distance">inversive distance</a> circle packings". Not much was known about the existence of inversive-distance packings, but we were able to show that the ones we need for this result do exist and can be glued together using Möbius transformations to give us the balanced packings we want.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:294274Condorcet, Hugo, and sad puppies2014-08-19T00:22:57Z2014-08-19T00:22:57ZYesterday, this year's <a href="https://en.wikipedia.org/wiki/Hugo_Award">Hugo Award</a> winners <a href="http://www.loncon3.org/hugo_ceremony.php">were announced</a>; this is an annual fan popularity contest for the best works in science fiction and fantasy (there is a different set of awards voted on by the writers themselves, the Nebulas). I have a few thoughts on the nominees (like, why wasn't <i>Her</i> among them?) but that's not what I'm writing about. Rather, what interests me in this year's contest is the issue of voting systems and their resistance to manipulation.<br /><br />Some background: this year's award nomination and voting involved a group of fans from one of the subgenres of SF whose two main interests seem to be military jingoism and sexual and racial anti-inclusivity and who have apparently dubbed themselves the "sad puppies". These people pushed a slate of nominees onto the ballot, which then lost fairly decisively in the final voting. There was no unfair vote manipulation going on: everything was aboveboard and according to the rules. But it caused me to wonder: how large would a dedicated faction of the voters have to be to break into the winner's circle, against the will of the remaining voters?<br /><br />To model this we need to know something about how the voting worked and we need to make some assumptions (not visible in the actual <a href="http://www.thehugoawards.org/content/pdf/2014HugoStatistics.pdf">Hugo voting data</a>) about the details of the voter preferences. In the nomination stage, any eligible voter may cast one vote in any category. The top five vote winners (after removing ineligible candidates, candidates that received less than 5% of the total nominations, and candidates who decline the nomination) become the short list for the final voting. If there is a tie for fifth place, the tied candidates are all included. In the final voting, each eligible voter makes an ordered list of their favorite candidates, in order from first, second, etc. They are not required to list all candidates in this list, are allowed to list a special placeholder candidate called "no award", and are also allowed to list other candidates after no award. These preferences are aggregated using an algorithm (described below) to produce a winner for each category of the awards. I'm going to assume (without justification) that the sad puppies prefer their candidates, then no award, then all other candidates, while the other voters have the reverse preferences: all other candidates (in some combination of orders that I am not going to make assumptions about), then no award, then the sad puppy candidates.<br /><br />So, first, how easy is it to get your candidate on the short list of nominees? Pretty easy, it turns out. If the sad puppy faction were only 20% of the electorate, they would be able to guarantee themselves a place on the short list even if the remaining voters somehow conspired to make it as hard as possible for them. The actual cutoff was much lower, ranging from 5.0% in the best short story category to 13.9% in the best long-form dramatic presentation category. The percentages achieved by the sad puppies ranged from 9.5% to a little higher, enough to secure their nominations.<br /><br />Next, and more complicatedly, how easy is it for the sad puppies to actually win? The answer turns out to be: much harder. One indication of this is given by something called the <a href="https://en.wikipedia.org/wiki/Condorcet_criterion">Condorcet criterion</a> for preference balloting. This states that, if one candidate would win all head-to-head contests then that candidate should win the overall election; if this is the case, then an election system is immune to certain kinds of manipulation by minority factions. Unfortunately there are two problems with this analysis for the Hugos: first, the assumptions I've made don't imply the existence of a Condorcet winner. There could be a directed cycle of head-to-head winners among the non-sad-puppy candidates, even though each of them individually would win a head-to-head contest against a sad puppy. When this happens, the Condorcet criterion says nothing about who the winner should be. A generalized Condorcet property fixes this: if the candidates can be partitioned into two sets A and B such that every candidate in A wins a head-to-head contest against every candidate in B, then the winner should be from A. A system that satisfies the generalized Condorcet property would never pick a sad puppy unless the sad puppies had an outright majority of the voters.<br /><br />But the second problem with trying to apply the Condorcet analysis to this situation is that the election system used for the Hugos does not obey the Condorcet criterion (in either the single-winner or generalized forms). There are systems that do have the Condorcet property; my favorite is the <a href="https://en.wikipedia.org/wiki/Schulze_method">Schulze method</a>, which involves computing <a href="https://en.wikipedia.org/wiki/Widest_path_problem">widest paths</a> in a complete directed graph describing the head-to-head results between all pairs of candidates. If the Hugo awards used this method, the Condorcet criterion would ensure their immunity to sad puppies. But the method they actually use is <a href="https://en.wikipedia.org/wiki/Instant-runoff_voting">instant-runoff voting</a>. This method proceeds in a sequence of rounds, eliminating one candidate per round until a winner is left. In each round, each voter's vote is given to the remaining candidate that is highest on the voter's list (or the vote is discarded if no listed candidate remains) and the candidate with the fewest votes is kicked off the island. But this is not a Condorcet system; for instance, a candidate that is every voter's second choice would be eliminated in the first round (because that candidate gets no first place votes) but could easily be a Condorcet winner (if no other candidate gets an outright majority of first place votes).<br /><br />Instant-runoff does satisfy a different property, the <a href="https://en.wikipedia.org/wiki/Majority_criterion">majority criterion</a>: anyone who gets an outright majority of first-place votes will necessarily win, because their number of votes can only improve after other candidates are eliminated. This still doesn't help against the sad puppies, because outright majorities are unlikely (in the 2014 Hugos, it happened only for the fan artist category). But we can generalize it just like we can generalize the Condorcet criterion. Call the "generalized majority criterion" the following property: if the candidates can be partitioned into two sets A and B such that a majority of the voters thinks all candidates in A are better than all candidates in B, then the winner should be a candidate in A. Whenever a voting system satisfies the generalized Condorcet criterion it also satisfies the generalized majority criterion. Instant-runoff also satisfies the generalized majority criterion, because once we reach a round in which all but one of the candidates in A has been eliminated, the remaining candidate in A will have an outright majority and will win all remaining rounds. Using any voting system that obeys the generalized majority criterion, and with the assumptions about sad puppy voting patterns made above, the sad puppies can't win without an outright majority of the voters. If the sad puppies are not a majority, then a majority of voters agrees with the partition in which B is the sad puppy candidate and A is everybody else. In particular, the sad puppies can't win an instant runoff without a majority. The existence of "no award" doesn't really make much difference to this analysis: it would be valid with or without the ability to list no award.<br /><br />My colleague <a href="https://en.wikipedia.org/wiki/Donald_G._Saari">Don Saari</a> is an expert on voting systems and a strong advocate of a different preference balloting system, the <a href="https://en.wikipedia.org/wiki/Borda_count">Borda count</a>. This system is easier to explain than instant-runoff (and much easier than Schulze): if there are six candidates (counting no award) we give five points for each first place vote, four for each second place vote, etc., down to one point for a second-to-last vote, and give the award to whoever gets the most points. How does this method fare against the sad puppies? Not so well. If the other candidates are close to equal in strength, then their voters will split their votes evenly among 5, 4, 3, and 2 points, with 1 for no award. The average number of points per candidate will be 3.5x where x is the number of non-sad-puppy voters. On the other hand the sad puppies will vote their candidate first, and then (if they're trying to get the strongest result for this candidate) omit listing anybody else to deny them the points they would get for lower finishes. This would give the sad puppies 5y points where y is the number of sad puppy voters. If 5y > 3.5x (that is, if the sad puppies have a bit more than 41% of the electorate) then they have a chance of winning. In the limit of large numbers of candidates, even a 33% minority of sad puppies could be enough to swing an election. That is, although the Borda count has some robustness against small minority factions, it is more vulnerable to large minority factions than Schulze or instant runoff.<br /><br />As for which election system to choose: it depends on what you want winning to mean. The system you should use for a popularity contest such as this one could well be different than the system you would prefer for a political office. Is it better for the winner to be somewhat liked by most voters or to have strongly enthusiastic support by a smaller number of voters? The instant runoff system used by the Hugos demands a balance of both: a winner needs enough enthusiasm to make it through the early rounds of voting and enough depth of support to make it through the late rounds.<a name='cutid1-end'></a>urn:lj:livejournal.com:atom1:11011110:293984Linkage2014-08-16T04:59:59Z2014-08-16T04:59:59ZSome links I've posted over on Google+ over the last couple of weeks (and reposted here, among other reasons, because I don't trust G+ to give me a usable interface for finding all of my old posts there):
<ul>
<li><p><a href="http://blogs.ams.org/visualinsight/2014/08/01/733-honeycomb/">{7,3,3} Honeycomb</a>, an interesting polyhedral tesselation of hyperbolic space with a <a href="http://blogs.ams.org/visualinsight/2014/08/14/733-honeycomb-meets-plane-at-infinity/">fractal boundary</a> (<a href="https://plus.google.com/100003628603413742554/posts/DuCPX2YVjAD">G+</a>)</p></li>
<li><p><a href="http://www.kansascity.com/news/local/article811395.html">How to distort school rankings in your favor</a> (<a href="https://plus.google.com/100003628603413742554/posts/gosX8zZSAqB">G+</a>)</p></li>
<li><p><a href="http://www.boredpanda.com/iran-mosque-photography-mohammad-domiri/">Some impressive fisheye photography of the heavily patterned interiors of Iranian mosques</a> (<a href="https://plus.google.com/100003628603413742554/posts/f5qR9QRXDPN">G+</a>)</p></li>
<li><p><a href="http://www.smithsonianmag.com/travel/winding-history-maze-180951998/?no-ist">A brief history of mazes and labyrinths</a>, in honor of a new one in place at the Smithsonian (<a href="https://plus.google.com/100003628603413742554/posts/Qyq2iD8Dpns">G+</a>)</p></li>
<li><p><a href="http://www.combinatorics.org/ojs/index.php/eljc/article/view/v21i3p20/pdf">The journal version of my paper "Grid Minors in Damaged Grids"</a> (<a href="https://plus.google.com/100003628603413742554/posts/4D3N9bV6a9R">G+</a>)</p></li>
<li><p><a href="http://crookedtimber.org/2014/08/06/another-anti-zionist-professor-punished-for-his-views/">UIUC rescinds the hire of an outspoken critic of Zionism</a> (<a href="https://plus.google.com/100003628603413742554/posts/H7ARbdSSzKH">G+</a> – as one might guess this led to much discussion)</p></li>
<li><p><a href="http://www.thisiscolossal.com/2014/08/eric-standley-laser-cut-paper-windows/">Stained Glass Windows Made from Stacked Laser-Cut Paper</a> (<a href="https://plus.google.com/100003628603413742554/posts/7gjgi1S7nHu">G+</a>)</p></li>
<li><p><lj-embed id="47" /> (<a href="https://plus.google.com/100003628603413742554/posts/WotzqKwMwxc">G+</a>)</p></li>
<li><p><a href="http://www.newscientist.com/article/dn26041-proof-confirmed-of-400yearold-fruitstacking-problem.html">Hales finally gets computer verification of his sphere-packing proof</a>, with inflammatory statement about journal referees (<a href="https://plus.google.com/100003628603413742554/posts/Kg6gyj984bX">G+</a>)</p></li>
<li><p><a href="http://blogs.lse.ac.uk/impactofsocialsciences/2014/04/23/academic-papers-citation-rates-remler/">Are 90% of academic papers really never cited?</a> For some reason this came up on a Wikipedia deletion discussion: someone wanted to argue that a half-dozen publications with 100+ citations each shouldn't count for much because basically everyone achieved that just by waiting long enough, and used this as evidence. (<a href="https://plus.google.com/100003628603413742554/posts/dCb2wL88Ms8">G+</a>)</p></li>
<li><p><a href="http://www.thisiscolossal.com/2014/08/functional-chocolate-legos-by-akihiro-mizuuchi/">Chocolate LEGOs</a> and <a href="http://boingboing.net/2014/08/15/wall-made-of-jello-bricks.html">other edible construction materials</a> (<a href="https://plus.google.com/100003628603413742554/posts/a8SMoDC9A83">G+</a>)</li>
</ul>