Jekyll2018-12-09T01:00:24+00:00https://11011110.github.io/blog/feed.xml11011110Geometry, graphs, algorithms, and moreDavid EppsteinGeneral-position hypercube projections2018-12-08T16:40:00+00:002018-12-08T16:40:00+00:00https://11011110.github.io/blog/2018/12/08/general-position-hypercube<p>I recently posted about finding solutions to the <a href="https://en.wikipedia.org/wiki/No-three-in-line_problem">no-three-in-line problem</a> of finding large general-position subsets of grids, by <a href="/blog/2018/11/10/random-no-three.html">using the probabilistic method</a> or by <a href="/blog/2018/11/12/gurobi-vs-no.html">throwing an integer linear program solver at the problem</a>. Another potential method for finding solutions involves finding large general-position subsets in higher dimensions, where it’s easier (there’s more room to move the points out of the way of each other), and then projecting back down while being careful not to introduce any new collinearities.</p>
<p>A particularly nice family of general-position subsets is given by the hypercubes. The vertices of a <script type="math/tex">d</script>-dimensional hypercube can be described as the points in <script type="math/tex">d</script>-dimensional space all of whose coordinates are zeros and ones. There’s no way for three such points to lie on a line, because the middle of the three points would have to have fractional coordinates somewhere between the zero-one coordinates of the outer two points. So for the purposes of the no-three-in-line problem these points are in general position.</p>
<p>A projection of a hypercube onto the integer grid can be described (up to translations) by choosing <script type="math/tex">d</script> two-dimensional vectors and letting the projected points be all sums of subsets of these vectors. There are <script type="math/tex">2^d</script> subsets (including the empty subset and the subset of all vectors), and their sums give <script type="math/tex">2^d</script> points in the plane. It’s always possible to choose a <script type="math/tex">d</script>-tuple of vectors that causes these <script type="math/tex">2^d</script> points to remain in general position, but the question is how small we can make these vectors in order to make the projection stay within a small grid.</p>
<p>For <script type="math/tex">d\in\{2,3,4\}</script> the answer is that we can fit the points into a grid of size <script type="math/tex">2^{d-1}\times 2^{d-1}</script>. This is optimal because any smaller grid would cause more than two points to lie on the same horizontal or vertical grid line.</p>
<p style="text-align:center"><img src="/blog/assets/2018/gen-pos-cubes.svg" alt="hypercubes of dimension 2, 3, and 4, projected in general position into optimally-small grid squares" /></p>
<p>The simplicity of the <script type="math/tex">4</script>-dimensional projection (<script type="math/tex">16</script> points in an <script type="math/tex">8\times 8</script> grid with no three in line) makes me wonder whether this solution was the one Dudeney was trying to avoid in his <a href="https://archive.org/stream/amusementsinmath00dude#page/94/mode/2up">1917 statement of the problem</a>, when he added the extra condition that the solutions (described in terms of pawns on a chessboard) must include pawns at e4 and d5.</p>
<p>Unfortunately the <script type="math/tex">5</script>-dimensional hypercube doesn’t have a general-position projection onto a <script type="math/tex">16\times 16</script> grid. The best <a href="/blog/assets/2018/projcube.py">my search software</a> could find were several different <script type="math/tex">18\times 19</script> solutions. Here’s one of them:</p>
<p style="text-align:center"><img src="/blog/assets/2018/5cube-18x19.svg" alt="hypercube of dimension 5, projected in general position into an 18x19 grid" /></p>
<p>Beyond these specific examples, it would be interesting to obtain asymptotic bounds on how big a grid is needed for all hypercubes.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/101208363611245952"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/iADVC9CsL1b">G+</a>)</p>David EppsteinI recently posted about finding solutions to the no-three-in-line problem of finding large general-position subsets of grids, by using the probabilistic method or by throwing an integer linear program solver at the problem. Another potential method for finding solutions involves finding large general-position subsets in higher dimensions, where it’s easier (there’s more room to move the points out of the way of each other), and then projecting back down while being careful not to introduce any new collinearities.Triply-Hamiltonian edge colorings2018-12-02T17:58:00+00:002018-12-02T17:58:00+00:00https://11011110.github.io/blog/2018/12/02/triply-hamiltonian-edge<p>Mark Jason Dominus recently made a blog post about the interesting observation that the <a href="https://blog.plover.com/math/dodecahedral-3-coloring.html">regular dodecahedron can have its edges properly colored with three colors so that every two colors form a Hamiltonian cycle</a>. Here’s another view of the same dodecahedral coloring:</p>
<p style="text-align:center"><img src="/blog/assets/2018/hamiltonian-dodecahedron.svg" alt="Triply-Hamiltonian edge coloring of a regular dodecahedron" /></p>
<p>Mark’s drawing is easier to recognize as the dodecahedron, but this drawing style makes clear the Hamiltonicity of one of the pairs of colors: just look at the outer cycle. As with every planar graph drawn like this as a Hamiltonian cycle plus some diagonals, the diagonals can be partitioned into two non-crossing subsets, belonging to the front and back sides of an embedding of the graph onto a <a href="https://en.wikipedia.org/wiki/Dihedron">dihedron</a>. I’ve shown this by casing the crossings to show which diagonal is front and which is back at each crossing. The diagonals subdivide the front and back into the faces of the planar embedding and you can trace through the faces to check that there are 12 pentagons, six on the front and six on the back.</p>
<p>This property of having a triply-Hamiltonian edge coloring is not special to the dodecahedron. It’s known to be true of every 3-regular graph whose edge coloring is unique (up to permutation of colors). This class of graphs includes the graph of the tetrahedron (<script type="math/tex">K_4</script>) as well as the non-planar generalized Petersen graph <script type="math/tex">G(9,2)</script>.</p>
<p style="text-align:center"><img src="/blog/assets/2018/generalized-Petersen-9-2.svg" alt="Triply-Hamiltonian edge coloring of the generalized Petersen graph G(9,2)" /></p>
<p>The proof that uniquely 3-edge colorable graphs must be triply Hamiltonian is easy: if not, some two colors would form a 2-regular subgraph with multiple connected components, and you could get a different edge coloring by swapping the colors in one of the components. And there cannot be any other Hamiltonian cycles in these graphs, because every Hamiltonian cycle leads to a coloring like the one in the first illustration that alternates colors around the cycle and uses the third color for the diagonals. The larger generalized Petersen graphs <script type="math/tex">G(6k+3,2)</script> are still triply-Hamiltonian; they have exactly three Hamiltonian cycles but do not have a unique edge coloring.<sup id="fnref:t82"><a href="#fn:t82" class="footnote">1</a></sup></p>
<p>Two uniquely 3-edge colorable graphs can be glued together by removing one vertex from each graph and reattaching the neighbors of the removed vertices by three new edges.</p>
<p style="text-align:center"><img src="/blog/assets/2018/glue-edge-coloring.svg" alt="Gluing two 3-edge-colored graphs together)" /></p>
<p>Starting from <script type="math/tex">K_4</script> and <script type="math/tex">G(9,2)</script>, this produces infinitely many uniquely 3-edge colorable graphs. The ones glued from only copies of <script type="math/tex">K_4</script> are planar (the duals of the <a href="https://en.wikipedia.org/wiki/Apollonian_network">Apollonian networks</a>) but the ones involving <script type="math/tex">G(9,2)</script> are nonplanar.<sup id="fnref:bh15"><a href="#fn:bh15" class="footnote">2</a></sup>
As far as I know, all uniquely 3-edge colorable graphs are generated from <script type="math/tex">K_4</script> and <script type="math/tex">G(9,2)</script> by this operation, with one exception: the two-vertex three-edge multigraph, which is the identity element for the operation.
If so, this would lead to a polynomial time algorithm for recognizing and coloring these graphs. The same operation also preserves triply-Hamiltonian edge colorings even when they aren’t the unique 3-edge-coloring of the graph.</p>
<p>Another operation does not preserve unique 3-edge-coloring, but it does preserve triply-Hamiltonian edge coloring: take any two differently-colored edges of a single graph, subdivide them into three-edge paths, and connect the four new vertices in pairs.</p>
<p style="text-align:center"><img src="/blog/assets/2018/subdivide-edge-coloring.svg" alt="Subdividing two edges in a triply-Hamiltonian 3-edge-colored graph" /></p>
<p>For instance, depending on how you choose the two edges, you can use this operation to get from the two-vertex multigraph to either the triangular prism or the non-planar complete bipartite graph <script type="math/tex">K_{3,3}</script>.</p>
<p>You can’t get the dodecahedron or <script type="math/tex">G(9,2)</script> by these operations (they have neither 4-cycles nor 3-edge cuts) but by using these operations, you can get infinitely many other triply-Hamiltonian graphs. In fact, it seems difficult to find 3-vertex-connected cubic graphs that are not triply-Hamiltonian! So I’ll conclude by giving two families of graphs that are not triply-Hamiltonian.</p>
<p>The first non-triply-Hamiltonian family is the family of <a href="https://en.wikipedia.org/wiki/Prism_graph">prism graphs</a> over odd polygons: the pentagonal prism, heptagonal prism, etc. We have already seen that the first graph in this family, the triangular prism, is triply-Hamiltonian, but the rest are not. They only have one Hamiltonian cycle, up to symmetries of the graph: the cycle that uses all but one edge from each of the two non-quadrilateral faces of the prism, and connects the resulting two paths by two edges of one of the quadrilaterals. But the three-edge-coloring that you get from this Hamiltonian cycle has only two colors on some of the quadrilateral faces, so those pairs of colors do not themselves form Hamiltonian cycles.</p>
<p>The second non-triply-Hamiltonian family is the family of planar 3-regular bipartite graphs (including the cube, the rest of the prisms, and a lot more graphs besides). To see this, let <script type="math/tex">G</script> be a planar 3-regular bipartite graph.
If <script type="math/tex">G</script> is not Hamiltonian then obviously it is not triply-Hamiltonian; otherwise, draw <script type="math/tex">G</script> as in the first illustration, with two colors alternating around an outer Hamiltonian cycle and the third color used for all the interior diagonals. And, as in the first illustration, partition the interior diagonals into the ones on the front and back sides of an embedding onto a dihedron.
These diagonals partition the front and back sides into the faces of a planar embedding.</p>
<p>The number of front faces is one more than the number of front diagonals, and the number of back faces is one more than the number of back diagonals, so the total number of faces is more than the total number of diagonals.
There are two kinds of vertex in each face: “inner vertices” incident to a diagonal edge of the face, and “outer vertices” incident to two edges of the outer Hamiltonian cycle that both belong to the face. Every face has an even number of inner vertices, so if the graph is to be bipartite every face must also have an even number of outer vertices (zero or at least two). Because there are two outer vertices per diagonal (on the other side of the dihedron from the diagonal) but more faces than diagonals, there must be at least one face with no outer vertices. But then this face has edges that alternate between only two colors, and these two colors cannot form a Hamiltonian cycle. Since we can apply this argument to every three-edge-coloring of a bipartite planar graph in which two of the colors form a Hamiltonian cycle, this proves that no planar bipartite graph can be triply Hamiltonian.</p>
<p>On the other hand, planarity is essential to this argument, as we have already seen an example of a triply-Hamiltonian bipartite graph, the graph <script type="math/tex">K_{3,3}</script>. By gluing copies of <script type="math/tex">K_{3,3}</script> together, we can get arbitrarily large triply-Hamiltonian bipartite graphs, all of which must be nonplanar.</p>
<div class="footnotes">
<ol>
<li id="fn:t82">
<p>Thomason, Andrew (1982), “<a href="https://doi.org/10.1002%2Fjgt.3190060218">Cubic graphs with three Hamiltonian cycles are not always uniquely edge colorable</a>”, <em>J. Graph Th.</em> 6 (2): 219–221. <a href="#fnref:t82" class="reversefootnote">↩</a></p>
</li>
<li id="fn:bh15">
<p>belcastro, sarah-marie, and Haas, Ruth (2015), “<a href="https://arxiv.org/abs/1508.06934">Triangle-free uniquely 3-edge colorable cubic graphs</a>”, <em>Contributions to Discrete Mathematics</em> 10 (2): 39–44. <a href="#fnref:bh15" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
<p>(<a href="https://mathstodon.xyz/@11011110/101174690700738835"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/BA3qxsSQv8N">G+</a>)</p>David EppsteinMark Jason Dominus recently made a blog post about the interesting observation that the regular dodecahedron can have its edges properly colored with three colors so that every two colors form a Hamiltonian cycle. Here’s another view of the same dodecahedral coloring:Linkage2018-11-30T23:40:00+00:002018-11-30T23:40:00+00:00https://11011110.github.io/blog/2018/11/30/linkage<p>In which I discover <a href="https://github.com/gettalong/kramdown/issues/46">kramdown’s inability to pass raw vertical-bar characters to MathJax</a>… (workaround: use <code class="highlighter-rouge">\vert</code>)</p>
<ul>
<li>
<p><a href="http://euro-math-soc.eu/news/18/11/16/ems-protest-against-detention-bet%C3%BCl-tanbay">Turkish arrest of Betül Tanbay</a> (<a href="https://mathstodon.xyz/@11011110/101085263553828399"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/WqpkEA4c816">G+</a>, <a href="https://plus.google.com/+EuromathsocEurope/posts/ZZzHCaM4KAy">via</a>, <a href="https://gowers.wordpress.com/2018/11/16/worrying-news-from-turkey/">via2</a>). Tanbay is the former president of the Turkish Mathematical Society, and was accused of implausible crimes, but released the next day after an international furor. Many of the other academics Turkey has done the same to in their totalitarian clampdown haven’t fared as well.</p>
</li>
<li>
<p><a href="https://liorpachter.wordpress.com/2018/11/05/i-was-wrong-part-3/">Lior Pachter fesses up to once being juvenile</a> about names of mathematics theorems, and connects it to the recent kerfuffle over <a href="https://nips.cc/Conferences/2018/News">whether the NIPS conference should change its name</a> to something that isn’t simultaneously a reference to female anatomy and an anti-asian slur (<a href="https://mathstodon.xyz/@11011110/101090969808225349"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/2p9qGrVX5nV">G+</a>, <a href="http://retractionwatch.com/2018/11/10/weekend-reads-a-debate-over-journal-editors-academic-corruption-in-china-a-poisoning-in-a-lab/">via</a>).</p>
</li>
<li>
<p><a href="http://aperiodical.com/2018/11/baking-babylonian-cuneiform-tablets-in-gingerbread/">Baking Babylonian cuneiform tablets in gingerbread</a> (<a href="https://mathstodon.xyz/@11011110/101096095505409838"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/7Wo5KRKmxMR">G+</a>, <a href="https://plus.google.com/+Aperiodical/posts/Jbuwd3V3eSz">via</a>). It’s a gingerbread replica of <a href="https://en.wikipedia.org/wiki/YBC_7289">YBC 7289</a>! This Babylonian tablet shows a highly accurate sexagesimal representation of the square root of two as the diagonal of a unit square.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/1811.06482">A note on universal point sets for planar graphs</a> (<a href="https://mathstodon.xyz/@11011110/101104544122642667"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/JZtwu56C9v9">G+</a>). A universal point set is a set of points that can be used as the vertices for straight-line drawings of every <script type="math/tex">n</script>-vertex planar graph. We still don’t know how big they have to be, as the best lower bounds are only a little more than <script type="math/tex">n</script> while the best upper bounds are quadratic, but now the best lower bounds are a little bigger than they were thanks to this new preprint by Scheucher, Schrezenmaier, and Steiner.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/1202.5614">Survey on fusible numbers</a> (<a href="https://mathstodon.xyz/@11011110/101108014334584225"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/JAe7AvQ68B5">G+</a>, <a href="https://mathstodon.xyz/@jeffgerickson/101043945178816599">via</a>). Fusible numbers are what you get from <script type="math/tex">0</script> by operations <script type="math/tex">f(x,y)=(x+y+1)/2</script> restricted to <script type="math/tex">\left\vert x-y\right\vert \lt 1</script>. They model a puzzle of measuring time intervals using <script type="math/tex">1</script>-minute fuses whose ends you can light when another fuse burns out, and are well-ordered with unknown order type. In the via link, Jeff Erickson calls his (wrong) conjecture “one of my bugs that really should be better known” and points out the lack of progress since 2012.</p>
</li>
<li>
<p><a href="https://thewalrus.ca/the-greatest-mathematician-youve-never-heard-of/">Robert Langlands, Edward Frenkel, and their differing approaches to the Langlands program</a> (<a href="https://mathstodon.xyz/@11011110/101113575475605646"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/bdCYDN3wbZX">G+</a>, <a href="https://mathstodon.xyz/@seta/101105098859601328">via</a>).</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Fountain_(Duchamp)">Duchamp’s <em>Fountain</em>, again</a> (<a href="https://mathstodon.xyz/@11011110/101118679269577252"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/DEHLsHfFPTG">G+</a>). This time, the question isn’t who actually created it, but how to describe its change of orientation from a normally positioned urinal.</p>
</li>
<li>
<p><a href="https://www.thisiscolossal.com/2018/11/new-handmade-paper-toys-by-haruki-nakamura/">Handmade paper toys by Haruki Nakamura spring, fold, and jump into action</a> (<a href="https://mathstodon.xyz/@11011110/101124742457807058"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/EAqsmxF1px7">G+</a>).</p>
</li>
<li>
<p><a href="https://twitter.com/cstheory">TCS aggregator</a> for collecting new theoretical computer science content as a twitter stream (<a href="https://mathstodon.xyz/@11011110/101133471061212768"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/bTzzCZdHHWM">G+</a>), newly <a href="https://cstheory.stackexchange.com/a/41907/95">handed over from its creator Arvind Narayanan to Suresh Venkatasubramanian</a>.</p>
<p>While I’m posting about feeds, here are some <a href="https://mastodon.at/@switchingsocial/100368443255001645">instructions for obtaining RSS feeds for Mastodon accounts</a>.</p>
</li>
<li>
<p><a href="https://www.theglobeandmail.com/opinion/article-derek-pyne-and-the-future-of-academic-freedom/">Academic freedom and Derek Pyne</a> (<a href="https://mathstodon.xyz/@11011110/101136466078213671"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/M86QPNvUTHs">G+</a>). Unless the story has another side that we haven’t heard, it’s quite disturbing: Pyne, an econ professor at Thompson Rivers University in Canada, published a <a href="https://muse.jhu.edu/article/652022/">peer-reviewed study showing that many of his colleagues had been using predatory publishers</a>, and rather than addressing the issue the campus administrators suspended him and banned him from campus for being a troublemaker.</p>
</li>
<li>
<p><a href="https://dreamsofspace.blogspot.com/2018/10/stories-about-seagull-1966.html">Stories About a “Seagull”</a> (<a href="https://mathstodon.xyz/@11011110/101141961394148482"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/XfKLgTDKfNw">G+</a>, <a href="https://plus.google.com/107472103813015966933/posts/3Kuu1YwnMm5">via</a>). UCI librarian John Sisson posts scans of a 1966 Soviet children’s book about astronaut Valentina Tereshkova.</p>
</li>
<li>
<p><a href="https://www.nytimes.com/2018/11/26/science/crumple-paper-math.html">In a ball of paper, scientists discover a landscape of surprising mathematical order</a> (<a href="https://mathstodon.xyz/@11011110/101144217571216853"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/M4Es7k64t9N">G+</a>, <a href="https://twitter.com/bit_player/status/1067398386670800896">via</a>). Siobhan Roberts in the NYT writes about Omer Gottesman’s discovery that <a href="https://doi.org/10.1038/s42005-018-0072-x">when repeatedly crumpling paper, the total length of the creases is surprisingly predictable</a>.</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/tadashi-tokieda-collects-math-and-physics-surprises-20181127/">Tadashi Tokieda discovers new physical phenomena by looking at the everyday world with the eyes of a child</a> (<a href="https://mathstodon.xyz/@11011110/101155435491139782"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/hzSb9zyKThX">G+</a>, <a href="https://plus.google.com/+QuantamagazineOrgNews/posts/J2oDKTn9V4V">via</a>).</p>
</li>
<li>
<p><a href="https://www.alisonmarr.com/cyoa.html">Choose your own adventure</a> (<a href="https://mathstodon.xyz/@11011110/101158761287268180"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/dwtVCvHy7Vz">G+</a>). Alison Marr and two students visualize the graph structures of choose-your-own-adventure books.</p>
</li>
<li>
<p><a href="https://www.chronicle.com/article/How-Academic-Corruption-Works/244703">Larry Lessig on how “industry influence can affect even the ethically engaged professional”</a> (<a href="https://mathstodon.xyz/@11011110/101162836386569713"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/Zv51Cx1KsJw">G+</a>). And how this corruption can lead to anti-scientific popular backlashes such as the anti-GMO movement. Excerpt from his book <em>America, Compromised</em> in <em>The Chronicle of Higher Education</em>; may require subscription for access.</p>
</li>
</ul>David EppsteinIn which I discover kramdown’s inability to pass raw vertical-bar characters to MathJax… (workaround: use \vert)Linkage2018-11-15T22:14:00+00:002018-11-15T22:14:00+00:00https://11011110.github.io/blog/2018/11/15/linkage<p>I’m gradually shifting weight to my Mastodon account and away from my doomed G+, but I hope to stick with both through the end of the year to provide a gradual transition. Today’s step: the Mastodon links go first.</p>
<ul>
<li>
<p><a href="https://www.thisiscolossal.com/2018/11/geometric-drawings-by-albert-chamillard/">Meditative geometric shapes doodled on old ledgers by Albert Chamillard</a> (<a href="https://mathstodon.xyz/@11011110/101002990210314449"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/7uwkFaBvhUr">G+</a>).</p>
</li>
<li>
<p><a href="https://mathlesstraveled.com/2018/10/29/post-without-words-23/">Post without words: A sequence of mathematical images in search of an explanation</a> (<a href="https://mathstodon.xyz/@11011110/101011048144015749"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/G67oSSootvr">G+</a>). What are these paths of randomly-placed dots that seem to explode in some sort of binary tree pattern from the bottom left corner of the images? (Don’t read the comments farther down on the post unless you want spoilers.)</p>
</li>
<li>
<p><a href="https://math.stackexchange.com/questions/2972454/rolling-icosahedron-hamiltonian-path">Symmetric graphs constructed as the state spaces of rolling dice of different shapes</a> (<a href="https://mathstodon.xyz/@11011110/101015589539981534"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/KoW9DG8gBTV">G+</a>). It doesn’t say so in the post, but Ed Pegg pointed out separately to me that if you do this with a regular octahedron (d8) you get the Nauru graph (see <a href="https://en.wikipedia.org/wiki/File:Rollingoctahedron.svg">Ed’s new illustration of this</a>). A dodecahedron (d12) should get you a nice 5-regular 120-vertex graph (because each face has 10 orientations) – anyone have any idea what’s known about this graph?</p>
</li>
<li>
<p><a href="https://www.acsh.org/news/2018/10/30/1-4-statisticians-say-they-were-asked-commit-scientific-fraud-13554">1 in 4 statisticians say they were asked to commit scientific fraud</a> (<a href="https://mathstodon.xyz/@11011110/101022276346253274"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/SW8xe9GoFTB">G+</a>, <a href="https://news.ycombinator.com/item?id=18364518">via</a>). One of the reasons I like working in a discipline based more on proof and less on experiment: I have a difficult time imagining what “mathematical fraud” might be, or why one might be pressured to commit it. Uninteresting math, or more-complicated-than-necessary math, sure, but deliberately-wrong math? Why would you do that?</p>
</li>
<li>
<p><a href="https://cstheory.stackexchange.com/q/41846/95">How can we randomly sample degeneracy orderings of graphs?</a> (<a href="https://mathstodon.xyz/@11011110/101027433040011088"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/bCNxoMS3Pmy">G+</a>). These are the orderings you get by setting a counter <script type="math/tex">k</script> to zero, and then repeatedly either removing a vertex of degree <script type="math/tex">k</script> (if there is one) or incrementing <script type="math/tex">k</script> (otherwise); they define an <a href="https://en.wikipedia.org/wiki/Antimatroid">antimatroid</a>. My intuition is that counting them (or generating exactly uniform samples) might be <script type="math/tex">\#\mathsf{P}</script>-complete, but I don’t have a proof.</p>
</li>
<li>
<p><a href="https://www.ams.org/profession/ams-fellows/new-fellows">The 2019 class of fellows of the American Mathematical Society</a> (<a href="https://mathstodon.xyz/@11011110/101031865022374252"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/YpB3HuJ4Mtc">G+</a>). There are surprisingly many new fellows with a theoretical computer science connection, including Saugata Basu, Bonnie Berger, Aravind Srinivasan, Moshe Vardi, and Eric Vigoda.</p>
</li>
<li>
<p><a href="https://www.reed.edu/reed_magazine/march2016/articles/features/irena-swanson.html">The geometric quilts of Irena Swanson</a> (<a href="https://mathstodon.xyz/@11011110/101037762263567476"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/Jy4xshY7dUV">G+</a>). Swanson is a commutative algebraist, one of the new AMS Fellows. See also her own sites on <a href="http://people.reed.edu/~iswanson/quilt.html">geometric quilting</a> and <a href="https://www.tubepiecing.com/">tube piecing</a>.</p>
</li>
<li>
<p><a href="https://blogs.scientificamerican.com/roots-of-unity/the-queen-of-the-fold-and-cut-alphabet/">The Queen</a> of the <a href="https://blogs.scientificamerican.com/roots-of-unity/make-your-own-font-1-cut-at-a-time/">fold-and-cut alphabet</a> (<a href="https://mathstodon.xyz/@11011110/101045284528321059"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/aDBfBSu8xn8">G+</a>). Two posts by Evelyn Lamb about the theorem that you can make any shape by folding and one cut, and a alphabet based on this principle by Katie Steckles with the Demaines.</p>
<p>A small peeve: Lamb and Steckles omit credit for some theorem authors.
If you want to design your own, the <a href="http://jorigami.sourceforge.net/">disk packing method has been
implemented</a> (I <a href="/blog/2007/04/13/houdinis-trick-implemented.html">posted about this
already once long ago</a>) but I think that the straight
skeleton method produces prettier folding patterns when it works (it
doesn’t always).</p>
</li>
<li>
<p><a href="https://apod.nasa.gov/apod/ap181109.html">Little Planet Lookout, by Gyorgy Soponyai</a> (<a href="https://mathstodon.xyz/@11011110/101055220166468969"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/2eYNGnor3iF">G+</a>, <a href="https://plus.google.com/+AstronomyPictureOfTheDay/posts/abTukk6EBVP">via</a>). Where did all the circles in this image come from? Some of them, traced by stars across the night sky, form an <a href="https://en.wikipedia.org/wiki/Apollonian_circles">elliptic pencil</a> converging to the north and south celestial poles. Others come from the latticework of a lookout tower, transformed into more pencils of circles. The horizon also appears, less clearly, as a small dark circle near the center of the image.</p>
</li>
<li>
<p><a href="http://b3s23life.blogspot.com/2018/11/new-tools-for-self-construction.html">New tools for self-construction in Conway’s Game of Life</a> (<a href="https://mathstodon.xyz/@11011110/101068476442717963"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/TeLA61WjnZr">G+</a>). Self-constructing spaceships are getting smaller, more visually clear (not just looking like a line) and more varied. And there’s a hint of a new and improved <a href="http://conwaylife.com/wiki/Metacell">metacell</a> that can simulate Life or other cellular automata, with empty space as its off state, so you could start any simulation with finitely many live cells. The key to all this is new software to find glider salvos that build constellations of still lifes.</p>
</li>
<li>
<p><a href="http://www.openculture.com/2018/11/prepare-online-database-600-overlooked-female-artists-15th-19th-centuries.html">A Space of Their Own</a> (<a href="https://mathstodon.xyz/@11011110/101074232585283370"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/DVMn2HgPVZE">G+</a>, <a href="http://en.wikipedia.org/wiki/Special:Diff/868574917">via</a>). A new and under-construction database of over 600 overlooked female artists from the 15th to 19th centuries.</p>
<p>“Many of their female creators were acclaimed during their lifetimes. By the time Fortune [the founder of the project] set about restoring their work – and visibility – to the public view, they were virtually unknown, even to museum staff.”</p>
</li>
<li>
<p><a href="https://blog.plover.com/math/pow23tab.html">A puzzle about representing numbers as a sum of 3-smooth numbers</a> (<a href="https://mathstodon.xyz/@mjd/101064932333632993"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://plus.google.com/100003628603413742554/posts/fQZw4pcCbTE">G+</a>). No two of the numbers in the sum can be pairwise divisible, so you can’t just use powers of two.</p>
</li>
</ul>David EppsteinI’m gradually shifting weight to my Mastodon account and away from my doomed G+, but I hope to stick with both through the end of the year to provide a gradual transition. Today’s step: the Mastodon links go first.Gurobi versus the no-three-in-line problem2018-11-12T16:30:00+00:002018-11-12T16:30:00+00:00https://11011110.github.io/blog/2018/11/12/gurobi-vs-no<p>For the <a href="https://en.wikipedia.org/wiki/No-three-in-line_problem">no-three-in-line problem</a>, it has been known since the 1990s that <script type="math/tex">n\times n</script> grids with <script type="math/tex">n\le 46</script> have sets of <script type="math/tex">2n</script> points with no three in line. Those results, by Achim Flammenkamp, were based on custom search software and a lot of compute time. I was curious to see how far one could get with more-modern but generic optimization codes, so this weekend I ran a little experiment.</p>
<p>I think that in this area, most general-purpose solvers can be reasonably divided into two categories: integer linear program solvers, and satisfiability solvers. For the no-three-in-line problem, we have <script type="math/tex">0</script>-<script type="math/tex">1</script> integer variables (<script type="math/tex">1</script> if a point is included, <script type="math/tex">0</script> if it is excluded), linear constraints (the sum of variables on any line should be at most <script type="math/tex">2</script>), and a linear optimization criterion (maximize the sum of variables). So this led me to look at integer linear program solvers rather than satisfiability solvers. Based on <a href="http://strimas.com/prioritization/ilp-performance/">a comparison by Matt Strimas-Mackey</a>, I chose <a href="http://www.gurobi.com/">Gurobi</a> over several open-source alternatives. Gurobi is not open source, but it is free for academic purposes.</p>
<p>This was my first experience with an ILP solver, and my impression was that everything “just worked”. Gurobi was easy to download and install, easy to run, and easy to program following the model of their <a href="http://www.gurobi.com/documentation/8.1/quickstart_windows/py_simple_python_example.html">simple Python example</a> in their Quick Start Guide.</p>
<p>On the other hand, although it worked quickly for small grids, it was far from being able to reach the grid sizes already solved by Flammenkamp. With the formulation of the problem that I used, the boundary between easy and difficult problems was between <script type="math/tex">n=13</script> (five seconds to solve on my laptop) and <script type="math/tex">n=14</script> (thirty minutes to solve). It’s important to remember, though, that this was my first attempt at coding up anything as an integer linear program, and my first time using this system. So it’s entirely likely that an expert user of the system would know some tricks that would let it get farther.</p>
<p>Perhaps it’s also important to remember that for <script type="math/tex">n=13</script> it’s searching through a space of <script type="math/tex">7.5\times 10^{50}</script> possible solutions, and for <script type="math/tex">n=14</script> that blows up to approximately <script type="math/tex">10^{59}</script>. So the fact that it can solve these at all, and do so relatively quickly, is quite impressive.</p>
<p>In case anyone else wants to try it, here’s my code:</p>
<figure class="highlight"><pre><code class="language-python" data-lang="python"><span class="n">n</span> <span class="o">=</span> <span class="mi">14</span>
<span class="kn">from</span> <span class="nn">gurobipy</span> <span class="kn">import</span> <span class="o">*</span>
<span class="kn">from</span> <span class="nn">fractions</span> <span class="kn">import</span> <span class="n">gcd</span>
<span class="c"># Construct the grid points and the lines through them</span>
<span class="n">points</span> <span class="o">=</span> <span class="p">[(</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)</span> <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">)]</span>
<span class="n">lines</span> <span class="o">=</span> <span class="p">{}</span>
<span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">points</span><span class="p">:</span>
<span class="k">for</span> <span class="n">q</span> <span class="ow">in</span> <span class="n">points</span><span class="p">:</span>
<span class="k">if</span> <span class="n">p</span> <span class="o">!=</span> <span class="n">q</span><span class="p">:</span>
<span class="n">a</span> <span class="o">=</span> <span class="n">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">q</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
<span class="n">b</span> <span class="o">=</span> <span class="n">q</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">c</span> <span class="o">=</span> <span class="n">p</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">q</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">p</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="n">q</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">g</span> <span class="o">=</span> <span class="n">gcd</span><span class="p">(</span><span class="n">gcd</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="n">b</span><span class="p">),</span><span class="n">c</span><span class="p">)</span>
<span class="n">L</span> <span class="o">=</span> <span class="p">(</span><span class="n">a</span><span class="o">//</span><span class="n">g</span><span class="p">,</span><span class="n">b</span><span class="o">//</span><span class="n">g</span><span class="p">,</span><span class="n">c</span><span class="o">//</span><span class="n">g</span><span class="p">)</span>
<span class="k">if</span> <span class="n">L</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">:</span>
<span class="n">lines</span><span class="p">[</span><span class="n">L</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="n">p</span><span class="p">,</span><span class="n">q</span><span class="p">}</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">lines</span><span class="p">[</span><span class="n">L</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">p</span><span class="p">)</span>
<span class="n">lines</span><span class="p">[</span><span class="n">L</span><span class="p">]</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">q</span><span class="p">)</span>
<span class="c"># Create an ILP with a 0-1 variable per grid point,</span>
<span class="c"># maximizing the number of variables we set to 1</span>
<span class="n">m</span> <span class="o">=</span> <span class="n">Model</span><span class="p">()</span>
<span class="nb">vars</span> <span class="o">=</span> <span class="p">{</span><span class="n">p</span><span class="p">:</span> <span class="n">m</span><span class="o">.</span><span class="n">addVar</span><span class="p">(</span><span class="n">vtype</span><span class="o">=</span><span class="n">GRB</span><span class="o">.</span><span class="n">BINARY</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">points</span><span class="p">}</span>
<span class="n">m</span><span class="o">.</span><span class="n">setObjective</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="nb">vars</span><span class="p">[</span><span class="n">p</span><span class="p">]</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">points</span><span class="p">),</span> <span class="n">GRB</span><span class="o">.</span><span class="n">MAXIMIZE</span><span class="p">)</span>
<span class="c"># Add constraints for at most two points on each line</span>
<span class="k">for</span> <span class="n">L</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">lines</span><span class="p">[</span><span class="n">L</span><span class="p">])</span> <span class="o">></span> <span class="mi">2</span><span class="p">:</span>
<span class="n">m</span><span class="o">.</span><span class="n">addConstr</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="nb">vars</span><span class="p">[</span><span class="n">p</span><span class="p">]</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">lines</span><span class="p">[</span><span class="n">L</span><span class="p">])</span> <span class="o"><=</span> <span class="mi">2</span><span class="p">)</span>
<span class="c"># To speed things up tell it that we only care about perfect solutions</span>
<span class="n">m</span><span class="o">.</span><span class="n">addConstr</span><span class="p">(</span><span class="nb">sum</span><span class="p">(</span><span class="nb">vars</span><span class="p">[</span><span class="n">p</span><span class="p">]</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">points</span><span class="p">)</span> <span class="o">>=</span> <span class="mi">2</span><span class="o">*</span><span class="n">n</span><span class="p">)</span>
<span class="n">m</span><span class="o">.</span><span class="n">optimize</span><span class="p">()</span>
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
<span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">n</span><span class="p">):</span>
<span class="n">s</span> <span class="o">=</span> <span class="s">"."</span>
<span class="k">if</span> <span class="nb">vars</span><span class="p">[</span><span class="n">i</span><span class="p">,</span><span class="n">j</span><span class="p">]</span><span class="o">.</span><span class="n">x</span> <span class="o">></span> <span class="mf">0.5</span><span class="p">:</span>
<span class="n">s</span> <span class="o">=</span> <span class="s">"O"</span>
<span class="k">print</span> <span class="n">s</span><span class="p">,</span>
<span class="k">print</span></code></pre></figure>
<p>It’s in Python 2 rather than Python 3 because somehow that’s the default for my installation (probably because it’s the default command-line python on my laptop).
The code after the optimize step produces a picture of the solution in crude ASCII graphics. Here’s a prettier version of the <script type="math/tex">14\times 14</script> solution:</p>
<p style="text-align:center"><img src="/blog/assets/2018/no3il14x14.svg" alt="28 points in a 14x14 grid with no three in line" /></p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/aEhW29MVv2H">G+</a>, <a href="https://mathstodon.xyz/@11011110/101061128588762922"><script type="math/tex">\mathbb{M}</script></a>)</p>David EppsteinFor the no-three-in-line problem, it has been known since the 1990s that grids with have sets of points with no three in line. Those results, by Achim Flammenkamp, were based on custom search software and a lot of compute time. I was curious to see how far one could get with more-modern but generic optimization codes, so this weekend I ran a little experiment.Random no-three-in-line sets2018-11-10T15:25:00+00:002018-11-10T15:25:00+00:00https://11011110.github.io/blog/2018/11/10/random-no-three<p>The <a href="http://sites.uci.edu/acoi/seminar-series/">UCI algorithms, combinatorics and optimization seminar</a> this week featured a nice talk by local mathematician <a href="https://www.math.uci.edu/~nckaplan/">Nathan Kaplan</a> on the <a href="https://en.wikipedia.org/wiki/No-three-in-line_problem">no-three-in-line problem</a>, which asks how many points you can choose from an <script type="math/tex">n\times n</script> grid so that no three of them lie on a single line. For small <script type="math/tex">n</script>, such as the <script type="math/tex">10\times 10</script> grid below, the answer is <script type="math/tex">2n</script> (any more than that would lead to three points on a horizontal line) but it has long been conjectured that large enough grids have fewer points in their optimal solutions.</p>
<p style="text-align:center"><img src="/blog/assets/2018/No-three-in-line.svg" alt="20 points in a 10x10 grid with no three in line" /></p>
<p>There was no recent progress to report, but instead Nathan’s talk had two main points: First, to express his skepticism about the heuristic reasoning that led to the conjecture that the right bound should be</p>
<script type="math/tex; mode=display">\frac{\pi}{\sqrt{3}} n \bigl( 1+o(1) \bigr)
\approx 1.814 n.</script>
<p>To get to this conjecture, <a href="https://en.wikipedia.org/wiki/Richard_K._Guy">Richard K. Guy</a> and P. A. Kelly (not the same Kelly as the one associated with the <a href="https://en.wikipedia.org/wiki/Sylvester%E2%80%93Gallai_theorem">Sylvester–Gallai theorem</a> on lines through only two points) used a probabilistic approach, based on the idea that certain random events would be largely independent of each other when they’re really not. Nathan thinks that if we look more closely at how non-independent they actually are we might not reach the same conclusion.</p>
<p>Second, Nathan pointed out a phenomenon occurring broadly across discrete geometry, where point sets that are extremal in some way often have some kind of algebraic structure. A particularly clear instance of this occurs in the 2013 solution by Green and Tao of the Dirac–Motzkin conjecture on the minimum number of ordinary lines occurring in the Sylvester–Gallai theorem, and on the closely related <a href="https://en.wikipedia.org/wiki/Orchard-planting_problem">orchard-planting problem</a> on the maximum number of three-point lines possible for <script type="math/tex">n</script> points in the plane. There, the best known solutions involved placing points on a cubic curve, and Green and Tao solved the problems by proving that any good enough solution would have to do the same thing.</p>
<p>Other instances of the same algebraic structure phenomenon involve the <a href="https://en.wikipedia.org/wiki/Erd%C5%91s_distinct_distances_problem">Erdős distinct distances problem</a>, where point sets with few distances tend to look either like grids or evenly spaced points on lines or circles, the <a href="https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93Anning_theorem">Erdős–Anning theorem</a> according to which infinite sets of points with integer distances must lie on a line, and a <a href="https://doi.org/10.1007%2Fs00454-009-9179-x">theorem of de Zeeuw and Solymosi</a> that infinite sets of points with rational distances must either be Zariski-dense or lie almost entirely on a line or circle. For a variant of the no-three-in-line problem, in projective planes over finite fields of odd order, the optimal solution can be proven to be the set of points on a quadratic curve. And for the no-three-in-line problem itself, the same algebraic structure shows up in the known ways of placing many points with no three on a line: <script type="math/tex">n-o(n)</script> points by Erdős, using a quadratic curve modulo a prime near <script type="math/tex">n</script>, and later <script type="math/tex">3n/2 - o(n)</script> by Hall et al. using multiple copies of a quadratic curve modulo a prime near <script type="math/tex">n/2</script>. However, for this problem we don’t know how to prove that this structure is necessary.</p>
<p>In graph theory, we often have a different phenomenon, that it can be easier to find extremal examples with no structure via the <a href="https://en.wikipedia.org/wiki/Probabilistic_method">probabilistic method</a> than to find structured examples. A standard example of this is in the <a href="https://en.wikipedia.org/wiki/Ramsey's_theorem">Ramsey graphs</a>, graphs with neither a large clique nor a large independent set. The best way we know how to construct these graphs is just to choose a graph independently at random from the set of all graphs; this will with high probability limit the cliques and independent sets to logarithmic size. There is an algebraic construction that we think does as well (the <a href="https://en.wikipedia.org/wiki/Paley_graph">Paley graphs</a>) but the algebraic structure isn’t necessary and we don’t know how to prove that it works.</p>
<p>So this naturally raises the question: how good are the point sets we can find by applying the probabilistic method to the no-three-in-line problem, rigorously rather than heuristically? The answer is: not bad, but not as good as the algebraic constructions. This must have been long known (especially given that Erdős was a major contributor to what we know about the problem) but I don’t think it has been published, probably because it’s not an improvement over other methods. Still, I think it makes a useful exercise to work it out.</p>
<p>A key tool in the analysis is a bound proven by <a href="https://doi.org/10.4153/CMB-1968-062-3">Guy and Kelly</a> on the number of collinear triples in an <script type="math/tex">n\times n</script> grid. This number is:</p>
<script type="math/tex; mode=display">t_n=\frac{3}{\pi^2} n^4\log n + O(n^4).</script>
<p>If we choose <script type="math/tex">k</script> points at random from the grid, the probability that we hit all three points of some particular collinear triple is <script type="math/tex">p_k = (k/n^2)^3</script>.
And as long as this probability is small enough that <script type="math/tex">% <![CDATA[
p_k t_n<1 %]]></script>, we will have nonzero probability of randomly choosing points with no three-in-line. This is an instance of the <a href="https://en.wikipedia.org/wiki/Boole%27s_inequality">union bound</a>: when you have a collection of “bad” events, each with probability so small that the sum of probabilities is less than one, the probability of avoiding them all is nonzero. Here the bad events are the events that we choose all three points from one of the collinear triples. The same bound can also be seen by observing that the expected number of collinear triples in our sample is <script type="math/tex">p_k t_n</script> (the contribution to the expected number from any particular collinear triple is just <script type="math/tex">p_k</script>, and the total expected number follows by linearity of expectation). But an expected value of a non-negative integer can only be less than one when there is nonzero probability of the value being zero. So as long as</p>
<script type="math/tex; mode=display">% <![CDATA[
k < \frac{(\pi n)^{2/3}}{(3\log n)^{1/3}}, %]]></script>
<p>we will have nonzero probability of our sample having no three in line. But this is far below the linear numbers of points from the algebraic constructions.</p>
<p>If the bad events were independent from each other, we wouldn’t have to use the union bound. As long as each of them has probability less than one, their disjunction would also. But they’re not independent. The exact nature of their dependence varies according to the sampling scheme we use, but most obviously, when one bad event turns out to be true, it significantly increases the probability that another bad event that uses one of the same three points is also true. Less obviously, when we sample <script type="math/tex">k</script> out of <script type="math/tex">n^2</script> points, and one bad event is true, it slightly decreases the probability that another event disjoint from it is true, from <script type="math/tex">(k/n^2)^3</script> to <script type="math/tex">\bigl((k-3)/n^2\bigr){}^3</script>, because there are fewer remaining points in the sample that could hit the disjoint event. If we only look at the first type of dependence, each bad event only depends on <script type="math/tex">O(n^2\log n)</script> others, the ones that it shares a point with, significantly fewer than the total number of events.</p>
<p>In a situation like this where we want to avoid a collection of bad events that have limited dependence on each other, the right replacement for the union bound is a tool called the <a href="https://en.wikipedia.org/wiki/Lov%C3%A1sz_local_lemma">Lovász local lemma</a>. Intuitively, it says that we can do the same sort of reasoning as the union bound (just checking that the sum of bad event probabilities is small), but replacing the total number <script type="math/tex">t</script> of bad events with the number <script type="math/tex">d</script> of other events that any one bad event can depend on. If each event has probability <script type="math/tex">p</script>, and if <script type="math/tex">pd\le 1/e\approx 0.368</script>, then there is still nonzero probability of avoiding all the bad events.
Here, <script type="math/tex">p_k</script> is still <script type="math/tex">(k/n^2)^3</script>, and we have <script type="math/tex">d_n=O(n^2\log n)</script> instead of <script type="math/tex">t_n=O(n^4\log n)</script>. So this looks like it should let us use much bigger samples, and get much bigger sets of points with no three in line. But there’s a problem: we can’t safely ignore the weaker dependences between disjoint events.</p>
<p>We can eliminate this second kind of dependence by choosing our sample differently: choose randomly for each point of the grid whether or not to include it in the sample, independently of the other points, with probability <script type="math/tex">k/n^2</script>, so that the total expected sample size comes out right. For this kind of <a href="https://en.wikipedia.org/wiki/Poisson_sampling">Poisson sample</a>, disjoint collinear triples have independent bad events. But there’s another kind of bad event that we also have to worry about: the event that our sample size is much smaller than its expected value. For the union bound that’s ok (this event has tiny probability) but for the Lovász local lemma it’s a problem because it’s dependent with all the other bad events.</p>
<p>To navigate between the Scylla and Charibdys of too many weak dependences or the possibility of overly small samples, researchers on related problems (notably on finding large general-position subsets when a point set has no long lines of points; see sections 9.4 and 9.6 of <a href="https://www.ics.uci.edu/~eppstein/forbidden/">my book</a>)
have turned to a different sampling method for a different problem. Instead of looking for a single large point set with no collinear triples, they look for a partition of the points into <script type="math/tex">g</script> different subsets, all of which have no collinear triples. And instead of choosing a single sample of a fixed size, or with a fixed inclusion probability, they choose independently for each of the points which of the <script type="math/tex">g</script> subsets it belongs to.</p>
<p>Now we can use the Lovász local lemma! The bad events are the same (some triple of collinear points from the grid all get assigned to the same subset) but now they have a different probability, <script type="math/tex">1/g^2</script>. To calculate this, observe that the first of the three points in a collinear triple can be assigned to any of the <script type="math/tex">g</script> subsets. Once its subset is determined, each of the other two points of the collinear triple has an independent <script type="math/tex">1/g</script> probability of landing in the same subset. These bad events are only dependent when they come from triples that share at least one point, so each bad event depends on <script type="math/tex">O(n^2\log n)</script> others. Applying the Lovász local lemma, a solution exists when <script type="math/tex">(n^2\log n)/g^2</script> is small enough, i.e. when <script type="math/tex">g=O\bigl(n\sqrt{\log n}\bigr)</script>.
And for this solution (a partition of the grid into <script type="math/tex">g</script> subsets, each of which has no three in line) the largest of the <script type="math/tex">g</script> subsets has size <script type="math/tex">\Omega\bigl(n/\sqrt{\log n}\bigr)</script>.</p>
<p>So the probabilistic method can generate near-linear solutions, while the algebraic structure of the problem leads to solutions that are actually linear. By choosing randomly, we lose only a sublogarithmic factor, but this factor means that (without further refinements) this method doesn’t tell us anything useful about the still-open research question of what the right constant factor on the linear solutions is. On the other hand, the fact that the probabilistic method gets so close in this case suggests to me that it will be difficult to apply the method of showing that all good solutions must have an algebraic structure, which has worked so well for some other problems in this area.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/YTjKufrifBD">G+</a>, <a href="https://mathstodon.xyz/@11011110/101049530070735894"><script type="math/tex">\mathbb{M}</script></a>)</p>David EppsteinThe UCI algorithms, combinatorics and optimization seminar this week featured a nice talk by local mathematician Nathan Kaplan on the no-three-in-line problem, which asks how many points you can choose from an grid so that no three of them lie on a single line. For small , such as the grid below, the answer is (any more than that would lead to three points on a horizontal line) but it has long been conjectured that large enough grids have fewer points in their optimal solutions.95 women of STEM2018-11-01T21:00:00+00:002018-11-01T21:00:00+00:00https://11011110.github.io/blog/2018/11/01/95-women-stem<p><a href="/blog/2018/03/01/64-mathematicians.html">As they did last February</a>, Wikipedia’s WikiProject Women in Red just finished another successful monthly editathon for October, centered on <a href="https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Women_in_Red/Meetup/96">Women in STEM</a>. I didn’t quite make my goal of contributing 100 new articles, but I came close. Here are the new articles I added:</p>
<ul>
<li><a href="https://en.wikipedia.org/wiki/L._D._Adams">L. D. Adams</a>, mathematics educator and school inspector, president of the Mathematical Association</li>
<li><a href="https://en.wikipedia.org/wiki/Helen_Popova_Alderson">Helen Popova Alderson</a>, researcher on quasigroups and higher reciprocity</li>
<li><a href="https://en.wikipedia.org/wiki/Noriko_H._Arai">Noriko H. Arai</a>, researcher in mathematical logic and artificial intelligence, known for project to develop software that can pass college entrance examinations</li>
<li><a href="https://en.wikipedia.org/wiki/Esther_Arkin">Esther Arkin</a>, highly-cited computational geometer</li>
<li><a href="https://en.wikipedia.org/wiki/Shiri_Artstein">Shiri Artstein</a>, asymptotic convex geometer, Krill Prize, Erdős Prize</li>
<li><a href="https://en.wikipedia.org/wiki/Carol_Joyce_Blumberg">Carol Joyce Blumberg</a>, president of AERA Educational Statistics Special Interest Group, led International Statistical Literacy Project, elected member of ISI, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Susanne_B%C3%B8dker">Susanne Bødker</a>, introduced activity theory to human–computer interaction, Rigo Award, EUSSET Lifetime Achievement Award, IFIP Pioneer Award, CHI Academy</li>
<li><a href="https://en.wikipedia.org/wiki/Mary_Bradburn">Mary Bradburn</a>, mathematics educator, president of the Mathematical Association, FRAS</li>
<li><a href="https://en.wikipedia.org/wiki/Amy_Braverman">Amy Braverman</a>, principal statistician at JPL, studies remote sensing and climate models, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Carla_Brodley">Carla Brodley</a>, expert on machine learning for time series data, dean at Northeastern, advocate for greater enrollment of women in computer science, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Margaret_Brown_(mathematics_educator)">Margaret Brown</a>, researcher on numeracy and the learning stages of arithmetic, head of the School of Education at King’s College London, president of the British Educational Research Association, chair of the trustees of the School Mathematics Project, president of the Mathematical Association, OBE</li>
<li><a href="https://en.wikipedia.org/wiki/Ranee_Brylinski">Ranee Brylinski</a>, representation theorist and quantum logic researcher, G. de B. Robinson Award</li>
<li><a href="https://en.wikipedia.org/wiki/Angelika_Bunse-Gerstner">Angelika Bunse-Gerstner</a>, German expert in numerical linear algebra, SIAM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Margaret_Burnett">Margaret Burnett</a>, pioneer in in visual programming languages, end-user software engineering, and gender-inclusive software, distinguished professor at Oregon State, CHI Academy, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Tianxi_Cai">Tianxi Cai</a>, expert on biomarkers and personalized medicine, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Edith_Cohen">Edith Cohen</a>, expert in data mining, algorithms for big data, and peer-to-peer networks, William R. Bennett Prize, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Elaine_Cohen">Elaine Cohen</a>, pioneer on geometric modeling with splines, Pierre Bézier Award</li>
<li><a href="https://en.wikipedia.org/wiki/Caterina_Consani">Caterina Consani</a>, arithmetic and noncommutative geometer, namesake of the <a href="https://en.wikipedia.org/wiki/Consani%E2%80%93Scholten_quintic">Consani–Scholten quintic</a></li>
<li><a href="https://en.wikipedia.org/wiki/Alissa_Crans">Alissa Crans</a>, expert on higher-dimensional algebra, Henry L. Alder Award for Distinguished Teaching, MAA Distinguished Lecturer</li>
<li><a href="https://en.wikipedia.org/wiki/Penny_J._Davies">Penny J. Davies</a>, expert on wave scattering, president of the Edinburgh Mathematical Society, OBE</li>
<li><a href="https://en.wikipedia.org/wiki/Ruth_M._Davis">Ruth M. Davis</a>, government research manager, chair of The Aerospace Corporation, National Academy of Engineering, National Academy of Public Administration, American Academy of Arts and Sciences, Department of Commerce Gold Medal, Defense Distinguished Service Medal, Ada Lovelace Award</li>
<li><a href="https://en.wikipedia.org/wiki/Jacqueline_Dewar">Jacqueline Dewar</a>, mathematics educator, textbook author, mentor of women in mathematics, Haimo Award, AWM Fellow, Bacon number 3</li>
<li><a href="https://en.wikipedia.org/wiki/Giulia_Di_Nunno">Giulia Di Nunno</a>, stochastic analyst and financial mathematician known for promoting mathematics in Africa, chair of the European Mathematical Society Committee for Developing Countries, Su Buchin Prize</li>
<li><a href="https://en.wikipedia.org/wiki/Allison_Druin">Allison Druin</a>, expert on children’s use of educational technology, chief futurist at the University of Maryland, SIGCHI Social Impact Award, CHI Academy, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Malgorzata_Dubiel">Malgorzata Dubiel</a>, mathematics educator, president of Canadian Math Education Study Group, 3M Canadian National Fellow, Adrien Pouliot Award</li>
<li><a href="https://en.wikipedia.org/wiki/Maria_Dzielska">Maria Dzielska</a>, biographer of Hypatia, anti-communist activist, member of two Polish national academies, Order of the White Eagle</li>
<li><a href="https://en.wikipedia.org/wiki/Livia_S._Eberlin">Livia S. Eberlin</a> known for using mass spectrometry to detect cancerous tissue during surgery, Marion Milligan Mason Award, MacArthur Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Tanja_Eisner">Tanja Eisner</a>, functional analyst and ergodic theorist, dean of study at Leipzig</li>
<li><a href="https://en.wikipedia.org/wiki/Mar%C3%ADa_Falk_de_Losada">María Falk de Losada</a>, helped found the Colombian Mathematical Olympiad and the World Federation of National Mathematics Competitions, rector of Antonio Nariño University, David Hilbert Award, José Celestino Mutis Prize, Juan Montalvo Prize</li>
<li><a href="https://en.wikipedia.org/wiki/Susan_R._Fussell">Susan R. Fussell</a>, human–computer interaction researcher, Liberty Hyde Baily Professor at Cornell, CHI Academy</li>
<li><a href="https://en.wikipedia.org/wiki/Yolanda_Gil">Yolanda Gil</a>, expert on knowledge discovery and knowledge-based systems, chair of SIGAI, president of AAAI, AAAI Fellow, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Pamela_Gorkin">Pamela Gorkin</a>, complex analyst, Presidential Professor at Bucknell, AWM/MAA Falconer Lecturer, Crawford Distinguished Teaching Award</li>
<li><a href="https://en.wikipedia.org/wiki/Mor_Harchol-Balter">Mor Harchol-Balter</a>, queueing theorist, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Linda_B._Hayden">Linda B. Hayden</a>, mentor for minorities doing research projects in environmental science, winner of Presidential Award for Excellence in Science, Mathematics, and Engineering Mentoring</li>
<li><a href="https://en.wikipedia.org/wiki/Margaret_Hayman">Margaret Hayman</a>, mathematics educator and textbook author, co-founded the British Mathematical Olympiad, president of the Mathematical Association</li>
<li><a href="https://en.wikipedia.org/wiki/Pinar_Heggernes">Pinar Heggernes</a>, researcher on parameterized graph algorithms, head of informatics at Bergen, Norwegian Academy of Technological Sciences</li>
<li><a href="https://en.wikipedia.org/wiki/Karen_Holtzblatt">Karen Holtzblatt</a>, expert in contextual design, SIGCHI Lifetime Achievement Award, CHI Academy</li>
<li><a href="https://en.wikipedia.org/wiki/Joan_Hu">Joan Hu</a>, expert on missing data, elected member of ISI, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Chawne_Kimber">Chawne Kimber</a>, abstract algebraist known for incorporating social justice into her mathematics teaching and expressing her political activism in her prize-winning quilts</li>
<li><a href="https://en.wikipedia.org/wiki/Vivien_Kirk">Vivien Kirk</a>, dynamical systems theorist, Miriam Dell Excellence in Science Mentoring Award, president of the New Zealand Mathematical Society</li>
<li><a href="https://en.wikipedia.org/wiki/Jana_Ko%C5%A1eck%C3%A1">Jana Košecká</a>, highly-cited computer vision researcher, Marr Prize</li>
<li><a href="https://en.wikipedia.org/wiki/V%C4%9Bra_K%C5%AFrkov%C3%A1">Věra Kůrková</a>, expert on neural nets and nonlinear approximation, Bernard Bolzano Medal, president of the European Neural Network Society</li>
<li><a href="https://en.wikipedia.org/wiki/Tanja_Lange">Tanja Lange</a>, highly-cited researcher on post-quantum cryptography</li>
<li><a href="https://en.wikipedia.org/wiki/Anne_M._Leggett">Anne M. Leggett</a>, mathematical logician, editor-in-chief of <em>AWM Newsletter</em>, AWM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Virginia_Lesser">Virginia Lesser</a>, expert on agricultural applications of statistics, elected member of ISI, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Magnhild_Lien">Magnhild Lien</a>, knot theorist, executive director of the AWM, AWM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Marta_Losada">Marta Losada</a>, high energy physicist, president of Antonio Nariño University</li>
<li><a href="https://en.wikipedia.org/wiki/Dawn_Lott">Dawn Lott</a>, studies numerical partial differential equations, AWM/MAA Falconer Lecturer</li>
<li><a href="https://en.wikipedia.org/wiki/Amita_Manatunga">Amita Manatunga</a>, biostatistician and expert on kidney imaging, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Elizabeth_Mansfield_(mathematician)">Elizabeth Mansfield</a>, researcher on moving frames and discretized conservation laws, founding co-editor of the <em>LMS Journal of Computation and Mathematics</em>, Fellow of the Institute of Mathematics and its Applications</li>
<li><a href="https://en.wikipedia.org/wiki/Alison_Marsden">Alison Marsden</a>, developed computer simulations of an artificial heart, SIAM and AIMBE Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Maeve_McCarthy">Maeve McCarthy</a>, expert on inverse problems and modelling biological systems, executive director of AWM, Jesse D. Jones Professor at Murray State, AWM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Lynne_McClure">Lynne McClure</a>, mathematics educator, director of Cambridge Mathematics, president of the Mathematical Association, executive chair of the International Society for Design and Development in Education, trustee of National Numeracy</li>
<li><a href="https://en.wikipedia.org/wiki/Elizabeth_McHarg">Elizabeth McHarg</a>, expert in special functions, president of the Edinburgh Mathematical Society</li>
<li><a href="https://en.wikipedia.org/wiki/Jeanette_McLeod">Jeanette McLeod</a>, combinatorist, popularizes mathematics using crafts, president of the Combinatorial Mathematics Society of Australasia</li>
<li><a href="https://en.wikipedia.org/wiki/Muriel_M%C3%A9dard">Muriel Médard</a>, information theorist known for network coding, Cecil H. Green Professor at MIT, president of IEEE Information Theory Society, editor-in-chief of <em>IEEE Journal on Selected Areas in Communications</em>, Aaron D. Wyner Distinguished Service Award, Edwin Howard Armstrong Achievement Award, IEEE Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Olga_Gil_Medrano">Olga Gil Medrano</a>, geometric analyst, first female president of the Royal Spanish Mathematical Society</li>
<li><a href="https://en.wikipedia.org/wiki/Joan_L._Mitchell">Joan L. Mitchell</a>, coinvented JPEG, IBM Fellow, IEEE Fellow, IEEE Masaru Ibuka Consumer Electronics Award, National Academy of Engineering</li>
<li><a href="https://en.wikipedia.org/wiki/Atsuko_Miyaji">Atsuko Miyaji</a>, highly-cited cryptographer and number theorist known for her research on elliptic-curve cryptography and software obfuscation</li>
<li><a href="https://en.wikipedia.org/wiki/Helen_Moore_(mathematician)">Helen Moore</a>, moved from studying soap bubbles to applying control theory to combination therapy, SIAM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Christine_O%27Keefe">Christine O’Keefe</a>, finite geometer and data privacy expert, Fellow of Institute of Combinatorics and its Applications, Hall Medal, AustMS Medal, AustMS Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Sofia_Olhede">Sofia Olhede</a>, mathematical statistician known for her research on wavelets, graphons, and high-dimensional statistics and for her columns on algorithmic bias, fellow of the Institute of Mathematical Statistics</li>
<li><a href="https://en.wikipedia.org/wiki/Meral_%C3%96zsoyoglu">Meral Özsoyoglu</a>, database expert, Andrew R. Jennings Professor Emeritus at Case Western, editor-in-chief of <em>ACM Transactions on Database Systems</em>, ACM SIGMOD Contributions Award, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Linda_Pagli">Linda Pagli</a>, researcher on computer networks and distributed algorithms, works to spread computer science expertise in developing countries, Fellow of Italian Academy for Advanced Studies in America</li>
<li><a href="https://en.wikipedia.org/wiki/Leysia_Palen">Leysia Palen</a>, expert on disaster informatics, SIGCHI Social Impact Award, CHI Academy</li>
<li><a href="https://en.wikipedia.org/wiki/Jean_Pedersen">Jean Pedersen</a>, author of books connecting recreational mathematics to research topics</li>
<li><a href="https://en.wikipedia.org/wiki/Limin_Peng">Limin Peng</a>, applies statistics to chronic diseases, Mortimer Spiegelman Award, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Guergana_Petrova">Guergana Petrova</a>, highly-cited researcher on numerical differential equations</li>
<li><a href="https://en.wikipedia.org/wiki/Raquel_Prado">Raquel Prado</a>, specialist in Bayesian inference for time series, president of ISBA, Outstanding Statistical Application Award, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Dionne_Price">Dionne Price</a>, biostatistician and division director in the Food and Drug Administration, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Louiqa_Raschid">Louiqa Raschid</a>, expert in in data science and its applications in biology, medicine, disaster recovery, social science, and finance, editor-in-chief of <em>ACM Journal of Data and Information Quality</em>, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Heike_Riel">Heike Riel</a>, nanotechnologist known for developing OLED displays, IBM Fellow, member of Leopoldina and Swiss Academy of Engineering Sciences, David Adler Lecturer</li>
<li><a href="https://en.wikipedia.org/wiki/Beatrice_Rivi%C3%A8re">Beatrice Rivière</a>, computational fluid dynamicist, Noah Harding Chair at Rice</li>
<li><a href="https://en.wikipedia.org/wiki/Linda_Gilbert_Saucier">Linda Gilbert Saucier</a>, prolific textbook author, distinguished professor emerita</li>
<li><a href="https://en.wikipedia.org/wiki/Nora_Cate_Schaeffer">Nora Cate Schaeffer</a>, sociologist and survey statistician, Sewell Bascom Professor at Wisconsin, president of American Association for Public Opinion Research, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Alexandra_M._Schmidt">Alexandra M. Schmidt</a>, expert on applications of spatiotemporal and multivariate statistics to environmental statistics, president of ISBA, ASA Section on Statistics and the Environment Distinguished Achievement Medal, elected member of ISI</li>
<li><a href="https://en.wikipedia.org/wiki/Jean_Scholtz">Jean Scholtz</a>, developed NIST Common Industry Format for usability test results, SIGCHI Lifetime Service Award, CHI Academy</li>
<li><a href="https://en.wikipedia.org/wiki/Jennifer_Scott_(mathematician)">Jennifer Scott</a>, highly-cited numerical analyst and expert on sparse matrix computation</li>
<li><a href="https://en.wikipedia.org/wiki/Lianne_Sheppard">Lianne Sheppard</a>, expert on the effects of air quality on health, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Sue_Singer">Sue Singer</a>, mathematics educator, headmistress of Guildford High School, president of the Girls’ Schools Association, president of the Mathematical Association</li>
<li><a href="https://en.wikipedia.org/wiki/Aleksandra_Slavkovi%C4%87">Aleksandra Slavković</a>, chairs the ASA Committee on Privacy and Confidentiality in Statistics, elected member of ISI, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Dalene_Stangl">Dalene Stangl</a>, studies children’s mental health and mental health services, chaired ASA Section on Bayesian Statistical Science and Committee on Women, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Yvonne_Stokes">Yvonne Stokes</a>, fluid mechanic and mathematical biologist, chaired Women in Mathematical Sciences SIG of AustMS, JH Michell Medal, EO Tuck Medal</li>
<li><a href="https://en.wikipedia.org/wiki/Marilyn_Strutchens">Marilyn Strutchens</a>, mathematics educator, Emily R. and Gerald S. Leischuck Professor at Auburn, president of the Association of Mathematics Teacher Educators, Judith E. Jacobs Lecturer</li>
<li><a href="https://en.wikipedia.org/wiki/Ayellet_Tal">Ayellet Tal</a>, computational geometry and graphics expert, Alfred and Marion Bar Chair at the Technion, university advisor for the advancement of women in science and engineering</li>
<li><a href="https://en.wikipedia.org/wiki/Wang-Chiew_Tan">Wang-Chiew Tan</a>, expert in natural language processing and data lineage, ACM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Chelsea_Walton">Chelsea Walton</a>, noncommutative algebraist and quantum group theorist, Sloan Fellow, Andre Lichnerowicz Prize</li>
<li><a href="https://en.wikipedia.org/wiki/Joan_E._Walsh">Joan E. Walsh</a>, founding chair of the Numerical Algorithms Group, pro-vice-chancellor at Manchester, Fellow of the Institute of Mathematics and its Applications</li>
<li><a href="https://en.wikipedia.org/wiki/Lesley_Ward">Lesley Ward</a>, harmonic analyst, chair of the Women in Mathematics Group of AustMS, Henry L. Alder Award for Distinguished Teaching, AWM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Simone_Warzel">Simone Warzel</a>, studies statistical mechanics and the many-body problem in quantum mechanics, Young Scientist Prize in Mathematical Physics, Sloan Fellow, speaker at 2018 ICM</li>
<li><a href="https://en.wikipedia.org/wiki/Anne_Watson_(mathematics_educator)">Anne Watson</a>, mathematics educator, Fellow of the International Society for Design and Development in Education and of the Institute for Mathematics and its Applications</li>
<li><a href="https://en.wikipedia.org/wiki/Ulrica_Wilson">Ulrica Wilson</a>, noncommutative ring theorist and expert on the combinatorics of matrices, associate director of diversity and outreach at ICERM, vice-president of National Association of Mathematicians, Presidential Award for Excellence in Science, Mathematics, and Engineering Mentoring, AWM Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Sharon_Xiangwen_Xie">Sharon Xiangwen Xie</a>, biostatistician and epidemiologist who studies neurodegenerative diseases, ASA Fellow</li>
<li><a href="https://en.wikipedia.org/wiki/Yongjie_Jessica_Zhang">Yongjie Jessica Zhang</a>, expert in geometric modeling, mesh generation, and applications to modeling blood vessels and neurons, Gallagher Young Investigator Medal, Presidential Early Career Award for Scientists and Engineers</li>
<li><a href="https://en.wikipedia.org/wiki/Sisi_Zlatanova">Sisi Zlatanova</a>, researcher in geospatial data, geographic information systems, and 3D modeling, president of Technical Commission IV (Spatial Information Science) of the International Society for Photogrammetry and Remote Sensing</li>
</ul>
<p>I didn’t have to stretch much to find these; their claims to meeting <a href="https://en.wikipedia.org/wiki/Wikipedia:Notability_(academics)">Wikipedia’s notability standards for academics</a> (or in a few cases, <a href="https://en.wikipedia.org/wiki/Wikipedia:Notability_(people)#Creative_professionals">for authors</a>) are generally very clear. On top of the Strickland scandal (where a Wikipedia editor turned down a draft article on a future Nobelist despite her clearly meeting multiple criteria from that standard) I think this shows how many more deserving women there must still be that are not being properly recognized, and how much more work there still is to be done to recognize them.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/FNzfQNybAni">G+</a>, <a href="https://mathstodon.xyz/@11011110/101000131606080870"><script type="math/tex">\mathbb{M}</script></a>)</p>David EppsteinAs they did last February, Wikipedia’s WikiProject Women in Red just finished another successful monthly editathon for October, centered on Women in STEM. I didn’t quite make my goal of contributing 100 new articles, but I came close. Here are the new articles I added:Linkage for Halloween2018-10-31T22:05:00+00:002018-10-31T22:05:00+00:00https://11011110.github.io/blog/2018/10/31/linkage-for-halloween<ul>
<li>
<p><a href="http://vixra.org/abs/1801.0292">An upper bound for Lebesgue’s universal covering problem</a> (<a href="https://plus.google.com/100003628603413742554/posts/5EjfGrTkT7f">G+</a>, <a href="https://mathstodon.xyz/@11011110/100908632866635208"><script type="math/tex">\mathbb{M}</script></a>). Philip Gibbs makes progress on the smallest area needed to cover a congruent copy of every diameter-one curve in the plane, with additional contributions from John Baez, Karine Bagdasaryan, and Greg Egan. See <a href="https://johncarlosbaez.wordpress.com/2018/10/07/lebesgue-universal-covering-problem-part-3/">Baez’s blog post</a> for more.</p>
</li>
<li>
<p><a href="https://spontaneous-venning.glitch.me/">Spontaneous Venning</a> (<a href="https://plus.google.com/100003628603413742554/posts/9cZkcLdisKj">G+</a>, <a href="https://mathstodon.xyz/@christianp/100910732525415121"><script type="math/tex">\mathbb{M}</script></a>). Christian Lawson-Perfect simulates people (or maybe the kodama from Princess Mononoke) moving around to be closer to others like them, and finds that they spontaneously form Venn diagrams.</p>
</li>
<li>
<p><a href="https://www.theguardian.com/environment/gallery/2018/oct/08/patterns-in-nature-2018-rsb-photographer-of-the-year-shortlist-in-pictures">Patterns in nature</a> (<a href="https://plus.google.com/100003628603413742554/posts/fRitHvk6pPT">G+</a>, <a href="https://mathstodon.xyz/@11011110/100923996042065552"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://www.metafilter.com/177120/Patterns-in-Nature-RSB-2018-shortlist">via</a>). 12 shortlisted photographers for the Royal Society of Biology Photographer of the Year.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=iA5zBZB2dng">Kokichi Sugihara wins the Best Illusion of the Year (again) with an orthogonal polyhedron!</a> (<a href="https://plus.google.com/100003628603413742554/posts/JYpB2MM2b4o">G+</a>, <a href="https://mathstodon.xyz/@11011110/100925501377934219"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://www.metafilter.com/177169/Accurate-perception-is-optional">via</a>). Or maybe a different orthogonal polyhedron. Or maybe a third one. Or maybe it’s not actually orthogonal at all…</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Theil%E2%80%93Sen_estimator">Theil–Sen (median slope) estimator</a>, now a Good Article on Wikipedia (<a href="https://plus.google.com/100003628603413742554/posts/Vk9Wecm874V">G+</a>, <a href="https://mathstodon.xyz/@11011110/100936583124189097"><script type="math/tex">\mathbb{M}</script></a>). This is a method for fitting a line to a set of data points by finding the median slope of lines through pairs of points. It is robust, meaning that (unlike ordinary least squares) a constant fraction of the data can be arbitrarily corrupted without affecting the goodness of fit.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Garsia%E2%80%93Wachs_algorithm">Garsia–Wachs algorithm</a> (<a href="https://plus.google.com/100003628603413742554/posts/Chn5zT9KkvK">G+</a>, <a href="MDONLINK"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://mathstodon.xyz/@11011110/100948654238777912">via</a>). New Wikipedia article on an old algorithm for finding optimal binary search trees (in the special case where you care about the heights of the leaves but not the internal nodes) or optimal alphabetic Huffman codes.</p>
</li>
<li>
<p><a href="https://boingboing.net/2018/10/24/artist-uses-bare-hands-to-scul.html">Artist uses bare hands to sculpt soda cans into beautiful geometric shapes</a> (<a href="https://plus.google.com/100003628603413742554/posts/FTktp53ETtS">G+</a>, <a href="https://mathstodon.xyz/@11011110/100952153700824335"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="https://plus.google.com/113086553300459368002/posts/4VB8Xi3i2Gt">Shrinking the superpermutations</a> (<a href="https://plus.google.com/100003628603413742554/posts/DpdLg2bJBkE">G+</a>, <a href="https://mathstodon.xyz/@11011110/100960320455611890"><script type="math/tex">\mathbb{M}</script></a>). Greg Egan suggests a formula for their length, and constructs superpermutations of length only one more than the formula. Superpermutations should not be confused with <a href="https://en.wikipedia.org/wiki/Superpattern">superpatterns</a>, which contain all permutations of a given length for a different definition of containment, and are a lot shorter, but also somewhat mysterious in length.</p>
</li>
<li>
<p><a href="https://plus.google.com/+PeterSuber/posts/1Fc9YY6qdgy">A short open letter to Google on minimizing the damage of shutting down Google Plus</a>, Peter Suber (<a href="https://plus.google.com/100003628603413742554/posts/PEFJBUyrctz">G+</a>, <a href="https://mathstodon.xyz/@11011110/100965228335288276"><script type="math/tex">\mathbb{M}</script></a>). I agree with this letter. I can rescue and rehost my individual posts if Google takes down Google+ altogether. But even if I do that, all my links to other people’s posts and all my comments on those posts will be lost. Far better to freeze Google+ but keep it online with all the existing post urls still live. To do otherwise would be to throw away all trust that any Google site is a safe haven for my content.</p>
</li>
<li>
<p><a href="https://blog.computationalcomplexity.org/2018/10/if-pnp-then-we-have-alg-for-sat.html">Programs that run all small programs in parallel and pick the winner</a> (<a href="https://plus.google.com/100003628603413742554/posts/bosrwanRkJw">G+</a>, <a href="https://mathstodon.xyz/@11011110/100977749527152484"><script type="math/tex">\mathbb{M}</script></a>). This idea gives the long-known but counterintuitive result that there is an already-known algorithm that, if P=NP, solves all solvable instances of satisfiability in polynomial time. Bill Gasarch gives a nice roundup of explanatory links in this new blog post.</p>
</li>
<li>
<p><a href="https://www.insidehighered.com/news/2018/10/29/cornell-ends-partnership-chinese-university-over-academic-freedom-concerns">Cornell ends a partnership with a Chinese university</a> “because of concerns that its Chinese partner institution, Renmin University of China, had punished, surveilled or suppressed students who supported workers’ rights in a labor conflict” at a different university (<a href="https://plus.google.com/100003628603413742554/posts/Lpgp2bb5AiQ">G+</a>, <a href="https://mathstodon.xyz/@11011110/100980106024821824"><script type="math/tex">\mathbb{M}</script></a>). According to the quoted Cornell professor who headed and cut off the partnership, the suppression came from the national party, not Renmin.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2018-10-28/Op-ed">Wikipedia’s Strickland affair</a> (<a href="https://plus.google.com/100003628603413742554/posts/bk77dBGnHYz">G+</a>, <a href="https://mathstodon.xyz/@11011110/100981222605072123"><script type="math/tex">\mathbb{M}</script></a>). Strickland is a new Nobel prize winner who, before the prize, had never been put up for promotion to full professor (embarrassing her employer) and had two attempts at creating a Wikipedia article shot down (which should have, but apparently didn’t, embarrassed the people who did it). This trio of op-eds examines how everyone responded, how we can do better, or (in the third case) why the writer thinks we shouldn’t try to do better.</p>
</li>
<li>
<p><a href="https://plus.google.com/+JeffErickson/posts/TbsWRKnsC7R">A few labeled graphs (with notes as vertices and intervals as edges), from the 1492 printing of Boethius’s <em>De institutione musica</em></a> (<a href="https://plus.google.com/100003628603413742554/posts/TKUB7TpoH5B">G+</a>, <a href="https://mathstodon.xyz/@11011110/100989001006717818"><script type="math/tex">\mathbb{M}</script></a>). Jeff Erickson finds yet another instance of graph theory before Euler’s invention of the subject in 1736.</p>
</li>
<li>
<p><a href="http://www.ics.uci.edu/~eppstein/forbidden/">Updates and errata to my book</a> (<a href="https://plus.google.com/100003628603413742554/posts/KgB7MjFS2Ni">G+</a>, <a href="https://mathstodon.xyz/@11011110/100994118424940155"><script type="math/tex">\mathbb{M}</script></a>). I had been planning to do this eventually but what triggered me to do it now was the discovery of a paper by Czumaj, Sohler, and Ziegler (<a href="https://doi.org/10.1007/3-540-45253-2_15">ESA 2000</a>) on geometric property testing that I should have already been citing and that solved a problem I had listed as open.</p>
</li>
</ul>David EppsteinAn upper bound for Lebesgue’s universal covering problem (G+, ). Philip Gibbs makes progress on the smallest area needed to cover a congruent copy of every diameter-one curve in the plane, with additional contributions from John Baez, Karine Bagdasaryan, and Greg Egan. See Baez’s blog post for more.Layered pathwidth and its obstacles2018-10-22T15:00:00+00:002018-10-22T15:00:00+00:00https://11011110.github.io/blog/2018/10/22/layered-pathwidth-obstacles<p>There is a strong connection between the structural properties of the graphs in <a href="https://en.wikipedia.org/wiki/Graph_minor">minor-closed families of graphs</a>, and the properties of the graphs that are not in those families, their <a href="https://en.wikipedia.org/wiki/Forbidden_graph_characterization">forbidden minors</a>.
A famous example of this is the proof by <a href="https://doi.org/10.1016/0095-8956(86)90030-4">Robertson and Seymour (1986)</a> that a minor-closed family of graphs has bounded <a href="https://en.wikipedia.org/wiki/Treewidth">treewidth</a> if and only if at least one planar graph is not in the family. This is closely related to an earlier <a href="https://en.wikipedia.org/wiki/Halin%27s_grid_theorem">theorem of Halin on grid minors in infinite graphs</a>, and <a href="https://arxiv.org/abs/1305.6577">Chekuri and Chuzhoy (STOC 2014)</a> have proven a polynomial relation between the treewidth and the size of the excluded planar graph.</p>
<p>Another result of <a href="https://doi.org/10.1016%2F0095-8956%2883%2990079-5">Robertson and Seymour (1983)</a>, the first in their long sequence of papers on graph minors, states that a minor-closed family of graphs has bounded <a href="https://en.wikipedia.org/wiki/Pathwidth">pathwidth</a> if and only if at least one tree is not in the family. I’m less sure of the provenance, but it’s also known that a minor-closed family of graphs has bounded <a href="https://en.wikipedia.org/wiki/Tree-depth">tree-depth</a> if and only if at least one path is not in the family.</p>
<p>My own most heavily-cited non-algorithmic result (from <a href="https://doi.org/10.1007/s004530010020">Algorithmica 2000</a>) has the same flavor, but is a little more complicated to explain. It states that a minor-closed family of graphs has bounded local treewidth if and only if at least one <a href="https://en.wikipedia.org/wiki/Apex_graph">apex graph</a> is not in the family. An apex graph is what you get by adding one vertex to a planar graph.</p>
<p style="text-align:center"><img src="/blog/assets/2018/apex-graph.svg" alt="An apex graph" /></p>
<p>“Bounded local treewidth” means that, for each vertex <script type="math/tex">v</script>, and each number <script type="math/tex">d</script>, the treewidth of the subgraph within distance <script type="math/tex">d</script> of <script type="math/tex">v</script> can be bounded by a function of <script type="math/tex">d</script>. Later, <a href="https://doi.org/10.1016/j.jctb.2017.05.006">Dujmović, Morin, and Wood (JCTB 2017)</a> showed that the same is true for linear local treewidth (the function of <script type="math/tex">d</script> is linear) and for bounded layered treewidth.
Layered treewidth is a concept defined by simultaneously choosing a <a href="https://en.wikipedia.org/wiki/Tree_decomposition">tree decomposition</a> (a tree whose nodes, called bags, represent sets of vertices, with each vertex belonging to the bags of a connected subtree and each edge having both endpoints in at least one bag) and a layering (a partition of the vertices into a sequence of subsets called layers, such that each edge connects vertices in the same or consecutive layers). The layered width of a (tree decomposition, layering) pair is the largest intersection of a bag and a layer.</p>
<p>In a paper with Bannister, Devanny, Dujmović, and Wood (described in <a href="/blog/2015/06/30/new-preprint-on.html">this earlier post</a> and <a href="https://doi.org/10.1007/s00453-018-0487-5">to appear in Algorithmica</a>) we introduced an analogous concept, layered pathwidth.
This is just the width of a (tree decomposition, layering) pair whose tree decomposition is a path of bags. In the example below, the rows of the grid are the layers, and the columns are the bags. Each vertex belongs to one layer and a contiguous subsequence of bags, and each grid cell (the intersection of a layer and a bag) contains at most two vertices. Each edge belongs to a single bag and spans at most two consecutive layers. So the layered pathwidth for this example is two.</p>
<p style="text-align:center"><img src="/blog/assets/2018/layered-path-decomp.svg" alt="Layered path decomposition" /></p>
<p>My newest preprint, “Minor-closed graph classes with bounded layered pathwidth” (with Vida Dujmović, Gwenäel Joret, Pat Morin, and David Wood, <a href="https://arxiv.org/abs/1810.08314">arXiv:1810.08314</a>) proves the same style of forbidden-minor characterization for this concept: a minor-closed family of graphs has bounded local pathwidth, linear local pathwidth, or bounded layered pathwidth if and only if at least one apex-tree is not in the family. An apex-tree is a graph like the one below formed by adding a single vertex to a tree.</p>
<p style="text-align:center"><img src="/blog/assets/2015/ApexTree.svg" alt="An apex tree" /></p>
<p>By analogy, one would expect that the forbidden minors for bounded local tree-depth would be the fan graphs formed by adding one vertex to a path. I don’t know a reference for this, but it turns out to be true! In one direction, if a minor-closed family of graphs includes all of the fans, then it includes graphs whose radius from the center of the fan is one, but whose tree-depth is logarithmic in the size of the fan (because that’s the tree-depth of the path from which the fan was formed). In the other direction, I want to show that if a family of graphs excludes a <script type="math/tex">k</script>-vertex fan, then the tree-depth of its radius-<script type="math/tex">r</script> graphs is at most <script type="math/tex">(k-1)^r</script>.</p>
<p>To prove this, suppose that we are given a graph such that the radius from some central vertex <script type="math/tex">v</script> is <script type="math/tex">r</script>. Perform a depth-first search from <script type="math/tex">v</script>, and let <script type="math/tex">\ell</script> be the length of the longest path in the depth-first search tree. Then the graph has tree-depth at most <script type="math/tex">\ell</script>, and we want to show that if <script type="math/tex">\ell</script> is at least <script type="math/tex">(k-1)^r</script> then the graph contains as a minor a fan with <script type="math/tex">k</script> vertices.
If the path includes <script type="math/tex">k-1</script> consecutive vertices at distance exactly <script type="math/tex">r</script> from <script type="math/tex">v</script>, then the fan is easy to find: just contract all closer vertices into <script type="math/tex">v</script>. Otherwise, contract each vertex at distance <script type="math/tex">r</script> from <script type="math/tex">v</script> into one of its path neighbors. This compresses the path by removing groups of at most <script type="math/tex">k-2</script> consecutive vertices,
so we get a path of <script type="math/tex">(k-1)^{r-1}</script> vertices (other than <script type="math/tex">v</script>) that are all now at distance at most <script type="math/tex">r-1</script> from <script type="math/tex">v</script>. Repeat, either finding enough consecutive vertices at the maximum distance or shrinking the path by a factor of <script type="math/tex">k-1</script> and the distance by one, until eventually finding a fan. When we shrink to distance one from <script type="math/tex">v</script>, we will necessarily have found a fan, because we still have at least <script type="math/tex">k-1</script> vertices left in the shrunken path and they are all adjacent to <script type="math/tex">v</script>.</p>
<p>But the tree-depth one gets from this argument is very far from linear.
And I don’t know what layered tree-depth should mean, or whether (if it is defined properly) bounded layered tree-depth and bounded local tree-depth of minor-closed families are the same, as they are for treewidth and pathwidth.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/VTaBe2NJgpi">G+</a>, <a href="https://mathstodon.xyz/@11011110/100942192280467337"><script type="math/tex">\mathbb{M}</script></a>)</p>David EppsteinThere is a strong connection between the structural properties of the graphs in minor-closed families of graphs, and the properties of the graphs that are not in those families, their forbidden minors. A famous example of this is the proof by Robertson and Seymour (1986) that a minor-closed family of graphs has bounded treewidth if and only if at least one planar graph is not in the family. This is closely related to an earlier theorem of Halin on grid minors in infinite graphs, and Chekuri and Chuzhoy (STOC 2014) have proven a polynomial relation between the treewidth and the size of the excluded planar graph.Laminar 3-separators2018-10-20T17:20:00+00:002018-10-20T17:20:00+00:00https://11011110.github.io/blog/2018/10/20/laminar-3-separators<p>My upcoming SODA paper with Bruce Reed, “Finding Maximal Sets of Laminar 3-Separators in Planar Graphs in Linear Time”, is now online as <a href="https://arxiv.org/abs/1810.07825">arXiv:1810.07825</a>. It’s about algorithms that work only on planar graphs, but one of its main motivations is as a subroutine in a different algorithm for a problem on non-planar graphs. How can that be?</p>
<p>First, maybe I should say something about what the paper itself is about.
In very rough terms, it’s about finding tree-like structures of highly connected pieces in graphs that, overall, are not as well connected. We can measure the connectivity of a graph by its <a href="https://en.wikipedia.org/wiki/K-vertex-connected_graph">vertex connectivity</a>, the number of vertices you need to remove to disconnect the rest of the graph. A graph is <script type="math/tex">k</script>-vertex-connected if this number is at least <script type="math/tex">k</script>.</p>
<p>If a graph is <script type="math/tex">1</script>-connected but not <script type="math/tex">2</script>-connected, we can partition its edges into subsets called <em>blocks</em> or <em>biconnected components</em>, by declaring two edges to be equivalent when they belong to a simple cycle. Each of these subsets of edges forms a <script type="math/tex">2</script>-connected subgraph (possibly just a single edge), and they meet each other at single vertices called <em>articulation vertices</em>. These subgraphs have a tree-like structure called the <em>block-cut tree</em>, a tree whose nodes are the blocks and the articulation vertices and whose edges connect blocks to their articulation vertices. Here’s an illustration from Wikipedia (not by me):</p>
<p style="text-align:center"><img src="/blog/assets/2018/block-cut.svg" alt="The blocks of a 1-connected graph. CC-BY image File:Graph-Biconnected-Components.svg by Zyqqh from Wikimedia Commons" /></p>
<p>Similarly, when a graph is <script type="math/tex">2</script>-connected but not <script type="math/tex">3</script>-connected, there’s a tree-like structure called the <a href="https://en.wikipedia.org/wiki/SPQR_tree">SPQR tree</a> that describes it.
The nodes of the SPQR tree are labeled by smaller graphs of one of three types (cycles, two-vertex multigraphs, or other <script type="math/tex">3</script>-connected graphs), and the original graph is constructed by gluing these smaller graphs together along shared edges and then deleting the glue edges. Every <script type="math/tex">2</script>-vertex separator is a glue edge in this structure, and it also encodes other useful information like (in the case that the underlying graph is planar) all the planar embeddings of the graph.</p>
<p style="text-align:center"><img src="/blog/assets/2018/spqr.svg" alt="SPQR tree" /></p>
<p>For edge connectivity, this tree-like structure goes all the way up, to all values of <script type="math/tex">k</script>, using the <a href="https://en.wikipedia.org/wiki/Gomory%E2%80%93Hu_tree">Gomory–Hu tree</a>, but for vertex connectivity it gets messy quickly.
For graphs that are <script type="math/tex">3</script>-connected but not <script type="math/tex">4</script>-connected, we don’t know of a nice uniquely-determined tree structure that describes all of the <script type="math/tex">3</script>-vertex separators. So we relaxed our goals a little and just asked for some of the <script type="math/tex">3</script>-vertex separators, all of the ones that we can fit into a single tree-like structure. More precisely, two separators are <em>laminar</em> when each of the two subgraphs from one separator is either a subgraph or a supergraph of one of the two subgraphs from the other separator. What we’re looking for is a set of cutsets that (like the four red and blue cutsets in the graph below) are all laminar with each other, but non-laminar with all the other non-chosen cutsets.</p>
<p style="text-align:center"><img src="/blog/assets/2018/laminar.svg" alt="Laminar 3-cutsets in a planar graph" /></p>
<p>It turns out that we can list all <script type="math/tex">3</script>-cutsets, and all non-laminar pairs of <script type="math/tex">3</script>-cutsets, in time linear in the total number of cutsets and pairs, by adapting <a href="https://doi.org/10.7155/jgaa.00014">an old algorithm of mine for subgraph isomorphism</a>. We could then just look for a maximal independent set in a graph describing all non-laminar pairs.
But this can go badly wrong in some cases, like the <a href="https://en.wikipedia.org/wiki/Wheel_graph">wheel graphs</a>, which have quadratically many <script type="math/tex">3</script>-cutsets and quartically many non-laminar pairs.</p>
<p style="text-align:center"><img src="/blog/assets/2018/non-laminar.svg" alt="Non-laminar 3-cutsets in a wheel" /></p>
<p>Fortunately, wheel-like subgraphs are the only thing that can go wrong, and when they exist, we can use them to divide the problem into subproblems. So the overall algorithm uses the same subgraph isomorphism algorithm to find wheel-like subgraphs, uses these subgraphs to divide the problem into subproblems where the wheels are all too small to cause any harm, constructs the non-laminarity graph in each subproblem, and looks for a maximal independent set in each such graph. In this way, we can find a maximal laminar family of <script type="math/tex">3</script>-cutsets in any planar graph in linear time.</p>
<p>We were looking at this because of some work Reed had done involving disjoint paths in graphs. But the even-more-indirect motivation involves nonplanar generalizations of the <a href="https://en.wikipedia.org/wiki/Planar_separator_theorem">planar separator theorem</a>, according to which every <script type="math/tex">n</script>-vertex planar graph can be partitioned into two pieces of roughly equal size by removing only <script type="math/tex">O(\sqrt n)</script> vertices. There are lots of methods for finding these separators, and one of the original methods, by <a href="https://doi.org/10.1137/0136016">Lipton and Tarjan in 1979</a>, already leads easily to linear time algorithm for constructing them. More strongly, a recursive hierarchy of separators can be constructed in linear time as well, by <a href="https://doi.org/10.1006/jcss.1995.1076">an algorithm of Mike Goodrich from 1995</a> that he needed for a parallel polygon triangulation algorithm.</p>
<p>The existence of separators of square root size has been generalized to every <a href="https://en.wikipedia.org/wiki/Graph_minor">minor-closed graph family</a> by <a href="https://doi.org/10.1109/FOCS.2010.22">Kawarabayashi and Reed (FOCS 2010)</a>, but with a construction algorithm whose running time is <script type="math/tex">O(n^{1+\epsilon})</script> for every <script type="math/tex">\epsilon>0</script> rather than truly linear. Working with Zhentao Li, Kawarabayashi and Reed have announced a faster algorithm “in a forthcoming paper”, but to achieve this they needed a subroutine for finding pairs of vertex-disjoint paths between two pairs of terminal vertices, in arbitrary graphs. They solve this disjoint paths problem in linear time (shaving an inverse-Ackermann factor from previous algorithms by Tholey) in a 2015 preprint, “Connectivity Preserving Iterative Compaction and Finding 2 Disjoint Rooted Paths in Linear Time” (<a href="https://arxiv.org/abs/1509.07680">arXiv:1509.07680</a>). This preprint, in turn, uses the results from my new paper as a subroutine. (The weird timing of a 2015 preprint that uses results from a 2018 paper happened because it took Bruce and I a long time between being confident in our results and writing them up to the point where we felt comfortable publishing them.)</p>
<p>So anyway, how to find two disjoint paths between specified pairs of vertices? I don’t think I can do justice to an 84-page paper in a blog post, so I’ll just highlight a few key ideas. Kawarabayashi, Li, and Reed develop a <a href="https://en.wikipedia.org/wiki/Certifying_algorithm">certifying algorithm</a>, one that produces a proof that its answer is correct. When the paths exist, the proof can be just the two paths themselves. When they do not exist, it is a graph formed
by adding to the given graph a wheel whose four outer vertices are the four terminals, in alternating order, and then simplified by finding sets of up to three vertices that cut the wheel from the rest of the graph and replacing the part on the other side of the cutset by a complete graph on the cut vertices. If this proof graph is planar, then the two paths cannot exist, because together with the wheel they would form a <script type="math/tex">K_5</script> subdivision.</p>
<p style="text-align:center"><img src="/blog/assets/2018/k5-subdivision.svg" alt="K5 subdivision caused by adding a wheel to two disjoint paths, and simplification by replacing subgraphs that are cut off by at most three vertices by cliques" /></p>
<p>Their algorithm works by contracting edges of the given graph (not including edges between pairs of terminal vertices) to form a minor whose size is a constant fraction of the original graph, recursively finding an answer and a proof of the answer in the contracted graph, and then uncontracting and extending the answer to the original graph. If a pair of disjoint paths is found at any level of the recursion, it is straightforward to uncontract them into disjoint paths of the original problem. So the tricky part of the uncontraction step arises when the contracted graph has been reduced to a planar proof graph. My new preprint is used to provide some structure to the planar proof graph in this case. This structure is then used by Kawarabayashi, Li, and Reed in the uncontraction step, to show how to find either another planar proof graph or a pair of disjoint paths in the uncontracted graph.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/bSA8Ddq7ydC">G+</a>, <a href="https://mathstodon.xyz/@11011110/100930801764588334"><script type="math/tex">\mathbb{M}</script></a>)</p>David EppsteinMy upcoming SODA paper with Bruce Reed, “Finding Maximal Sets of Laminar 3-Separators in Planar Graphs in Linear Time”, is now online as arXiv:1810.07825. It’s about algorithms that work only on planar graphs, but one of its main motivations is as a subroutine in a different algorithm for a problem on non-planar graphs. How can that be?