Jekyll2018-10-16T05:14:08+00:00https://11011110.github.io/blog/11011110Geometry, graphs, algorithms, and moreDavid EppsteinLinkage2018-10-15T22:13:00+00:002018-10-15T22:13:00+00:00https://11011110.github.io/blog/2018/10/15/linkage<p>Because Google+ has been scheduled for shutdown (see item below), I’ve started cross-posting links to my Mastodon account <a href="https://mathstodon.xyz/@11011110">@11011110@mathstodon.xyz</a> in the hope that this gives me a smooth transition plan when the shutdown occurs. It also lets me put math formulas into my posts! Those new cross-posts are where the little <script type="math/tex">\mathbb{M}</script> links on some of the entries below go. So if you want to see these postings when I make them, rather than these later roundups, follow me there.</p>
<ul>
<li>
<p><a href="http://crookedtimber.org/2018/09/28/algorithms/"><em>Crooked Timber</em> on algorithms</a> (<a href="https://plus.google.com/100003628603413742554/posts/1nFqyuxbsMw">G+</a>). This piece on algorithmic decision-making makes the point that the kind of “algorithm” used for these tasks is very different from the historical meaning of the word, and that these methods are likely to fall into the same errors that have painstakingly been weeded out from more principled statistical methods in social science and economics.</p>
</li>
<li>
<p><a href="https://blog.archive.org/2018/10/01/more-than-9-million-broken-links-on-wikipedia-are-now-rescued/">More than 9 million broken links on Wikipedia are now rescued</a> (<a href="https://plus.google.com/100003628603413742554/posts/QcZWE6md6qU">G+</a>, <a href="https://news.ycombinator.com/item?id=18116365">via</a>). The internet archive continues to be extremely useful, in this case for rescuing broken links from Wikipedia articles. (I’m also a big fan of its collection of out-of-copyright books.)</p>
</li>
<li>
<p><a href="https://mathwithbaddrawings.com/2018/10/03/twenty-questions-of-maddening-delicious-geometry/">Twenty geometry puzzles by Catriona Shearer</a> on <em>Math with Bad Drawings</em> (<a href="https://plus.google.com/100003628603413742554/posts/3XCfKTM444c">G+</a>, <a href="https://news.ycombinator.com/item?id=18136136">via</a>). I like the ones from this set where you can get the answer with a quick flash of insight and very little calculation. The one below is one of those. Or maybe they all are, and I just haven’t found the insights for all of them?</p>
</li>
</ul>
<p style="text-align:center"><img src="/blog/assets/2018/semicircle-turducken-by-catriona-shearer.jpg" alt=""Semicircle Turducken", puzzle by Catriona Shearer" /></p>
<ul>
<li>
<p><a href="https://www.artnome.com/news/2018/8/8/generative-art-finds-its-prodigy">The generative art of Manolo Gamboa Naon</a> (<a href="https://plus.google.com/100003628603413742554/posts/H3QExN8utwq">G+</a>).</p>
</li>
<li>
<p><a href="https://scilogs.spektrum.de/hlf/quotable-women-in-mathematics/">Quotable women in mathematics</a> (<a href="https://plus.google.com/100003628603413742554/posts/DwZyyEEDAJ8">G+</a>). Taken from interviews with seven mathematicians at the Heidelberg Laureate Forum, now on Wikiquote thanks to Katie Steckles.</p>
</li>
<li>
<p><a href="https://www.seattletimes.com/education-lab/yes-women-can-and-do-want-to-code-uw-professors-and-alumnae-say/">A UW professor argued that women don’t want to code. What do women computer scientists have to say?</a> (<a href="https://plus.google.com/100003628603413742554/posts/A3ENfxrA4XW">G+</a>). Responses to Stuart Reges’ claims that most discrimination is gone and most of the remaining gender gap is innate, by three U. Washington professors and three current and former students.</p>
</li>
<li>
<p><a href="https://www.theverge.com/2018/10/8/17951890/google-plus-shut-down-security-api-change-gmail-android">Google is shutting down Google+ following security lapse</a> (<a href="https://plus.google.com/100003628603413742554/posts/frN7avVYDDv">G+</a>, <a href="https://mathstodon.xyz/@11011110/100861917473535512"><script type="math/tex">\mathbb{M}</script></a>). As I wrote on G+, this makes more urgent the need for me to find a better way to hold discussions online. Facebook is for personal friends and family only. Twitter makes conversations hard to follow, is overrun by robots and spammers, and <a href="https://mashable.com/article/twitter-ceo-jack-dorsey-kept-alex-jones-on-twitter/">welcomes nazis at its highest levels</a> while <a href="https://www.chronicle.com/article/Why-Did-These-Scholars/244686">shutting down left-wing academics</a>. For now I’m going with Mastodon, but see the G+ post for more discussion.</p>
</li>
<li>
<p><a href="https://www.siam.org/conferences/CM/P/AP/soda19-accepted-papers">The list of accepted papers at SODA 2019</a>, the annual ACM–SIAM conference on discrete algorithms, to be held next January in San Diego (<a href="https://plus.google.com/100003628603413742554/posts/4QZ9GsmjUTk">G+</a>, <a href="https://mathstodon.xyz/@11011110/100866534039050851"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://twitter.com/hoonoseme/status/1049369274182029312">via</a>).</p>
</li>
<li>
<p>Bonus link for Mastodon only! <a href="https://mastodon.social/@andrewt/99243602016949935">Andrew T. plays at generating snowflakes using cellular automata</a>. Mastodon doesn’t seem to have a way to link to a boost of a post separately from the post itself, so I only have a direct link to Andrew’s post.</p>
</li>
<li>
<p><a href="https://blog.computationalcomplexity.org/2018/10/a-new-aco-center-guest-post-by-vijay.html">A new ACO Center</a> (<a href="https://plus.google.com/100003628603413742554/posts/FU65dX8edCk">G+</a>, <a href="https://mathstodon.xyz/@11011110/100873006464399613"><script type="math/tex">\mathbb{M}</script></a>). Vijay Vazirani on the new “algorithms, combinatorics, and optimization” center he’s been organizing at UC Irvine, connecting researchers in CS, mathematics, and the business school, and modeled after the success of similar programs at CMU and Georgia Tech.</p>
</li>
<li>
<p><a href="https://www.mathteacherscircle.org/news/mtc-magazine/sa2017/apollonian-gaskets/">A problem fit for a princess</a> (<a href="https://plus.google.com/100003628603413742554/posts/R9NkGUY1VeP">G+</a>, <a href="https://mathstodon.xyz/@11011110/100878786668471817"><script type="math/tex">\mathbb{M}</script></a>). A post on the history of the Apollonian Gasket, a fractal formed by tangent circles, inspired by its use as the logo of the San Joaquin Math Teachers’ Circle.</p>
</li>
<li>
<p><a href="https://boingboing.net/2018/10/11/garbage-conclusions-out.html">Amazon trained a sexism-fighting, resume-screening AI with sexist hiring data, so the bot became sexist</a> (<a href="https://plus.google.com/100003628603413742554/posts/iNXs53Xpsd1">G+</a>, <a href="https://mathstodon.xyz/@11011110/100889889054566786"><script type="math/tex">\mathbb{M}</script></a>). Merely having the intention of using automation to eliminate discrimination isn’t good enough, especially when machine-learning-based decision systems are clever at finding seemingly-innocuous data that allows them to replicate past discrimination.</p>
</li>
<li>
<p><a href="https://mastodon.social/@WelshPixie/100843428683372424">Hand-drawn Delaunay Triangulation and Voronoi Diagram overlay</a> (<a href="https://plus.google.com/100003628603413742554/posts/KDKk4pYLudG">G+</a>, <a href="https://mathstodon.xyz/@11011110/100892675989816940"><script type="math/tex">\mathbb{M}</script></a>). Four in-progress views by Del. Doing the Delaunay part first does seem like the right way to do it, even if what you want is only the Voronoi diagram, since that way the triangles guide you in making the bisectors meet in the right places. Some of the dual pairs of edges seem a bit non-perpendicular in this example, though…</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/graduate-student-solves-quantum-verification-problem-20181008/">Graduate student solves quantum verification problem</a> (<a href="https://plus.google.com/100003628603413742554/posts/McZ4C42kPPn">G+</a>, <a href="https://mathstodon.xyz/@11011110/100895642025080635"><script type="math/tex">\mathbb{M}</script></a>). <em>Quanta Magazine</em> on Urmila Mahadev’s interactive protocols for testing whether a supposedly-quantum computer is really doing quantum stuff, and her persistence at solving this problem when she could easily have completed her Ph.D. with what she already had done.</p>
</li>
<li>
<p><a href="https://doi.org/10.19086/da.4438">On the number of points in general position in the plane</a> (<a href="https://plus.google.com/100003628603413742554/posts/6zpAVq3Uvoh">G+</a>, <a href="https://mathstodon.xyz/@11011110/100903362734933058"><script type="math/tex">\mathbb{M}</script></a>). Balogh and Solymosi’s new paper constructs <script type="math/tex">n</script> points in the plane, no four in line, with max general-position subset size <script type="math/tex">O(n^{5/6+\epsilon})</script>, much better than the previous <script type="math/tex">o(n)</script>. I recently rescued <a href="https://en.wikipedia.org/wiki/J%C3%B3zsef_Solymosi">a Wikipedia article on Solymosi</a> from the draft namespace where it was languishing, adding book references for his results, but I left out my favorite (this one) because it wasn’t published. Now it is, but the book reference would be too self-serving to add…</p>
</li>
</ul>David EppsteinBecause Google+ has been scheduled for shutdown (see item below), I’ve started cross-posting links to my Mastodon account @11011110@mathstodon.xyz in the hope that this gives me a smooth transition plan when the shutdown occurs. It also lets me put math formulas into my posts! Those new cross-posts are where the little links on some of the entries below go. So if you want to see these postings when I make them, rather than these later roundups, follow me there.Recognizing sparse leaf powers2018-10-07T22:27:00+00:002018-10-07T22:27:00+00:00https://11011110.github.io/blog/2018/10/07/recognizing-sparse-leaf<p>I’ve written about <a href="https://en.wikipedia.org/wiki/Courcelle's_theorem">Courcelle’s theorem</a> here several times before. It’s a powerful “algorithmic meta-theorem” that lets you turn a logical characterization of a graph property into an algorithm for testing the property that runs in linear time in the input graphs size, for graphs of bounded treewidth. Unfortunately the constant factor of the linear time bound depends badly on the treewidth. In past posts, I’ve used this to formulate algorithms for <a href="/blog/2014/08/27/brief-introduction-to.html">minimal-crossing book embeddings</a>, <a href="/blog/2015/09/19/toughness-in-logic.html">graph toughness</a>, <a href="/blog/2015/12/18/planar-split-thickness.html">splitting vertices to make graphs planar</a>, <a href="/blog/2017/03/11/fast-k-best.html">finding <script type="math/tex">k</script> shortest paths</a>, and <a href="/blog/2018/03/16/drawing-clustered-graphs.html">constructing clustered planar drawings</a>. My latest preprint, “Parameterized Leaf Power Recognition via Embedding into Graph Products” (<a href="https://arxiv.org/abs/1810.02452">arXiv:1810.02452</a>, with UCI student Elham Havvaei, to appear in the proceedings of IPEC 2018) applies the same method to the problem of recognizing <a href="https://en.wikipedia.org/wiki/Leaf_power">leaf powers</a>.</p>
<p>A <script type="math/tex">k</script>-leaf power is a graph formed from a tree by keeping only the leaves of the tree as vertices, and connecting two leaves by an edge if their tree distance is at most <script type="math/tex">k</script>. Here’s an example of a tree and the corresponding <script type="math/tex">3</script>-leaf power that I drew for the Wikipedia article a couple of years ago, before this paper existed.</p>
<p style="text-align:center"><img src="/blog/assets/2018/3-leaf-power.png" alt="3-leaf power" /></p>
<p>It’s not hard to formulate in logic the condition that a certain set of edges <script type="math/tex">T</script> must form a tree, or that each edge of the given graph must correspond to a path of length at most <script type="math/tex">k</script> in <script type="math/tex">T</script> (at least, when <script type="math/tex">k</script> is a fixed constant rather than allowed to vary). But this doesn’t work directly for leaf powers. The problem is that the tree has vertices and edges that don’t exist in the leaf power: the internal vertices of the tree, and all of the edges adjacent to them (which is all of the edges in the tree). But to apply Courcelle’s theorem, we need to express everything in terms of vertices, edges, and sets of vertices and edges of the input graph, and the input graph is the leaf power, not the tree. I’m pretty sure it’s still possible in this case, but the details are messy, and eluded us until we came up with the following trick.</p>
<p>When we’re developing an algorithm using Courcelle’s theorem, the graph that we apply the logical formulation to doesn’t need to be the input graph of the algorithm. Instead, it can be any other graph that we can compute easily (and still has small treewidth). In the case of <script type="math/tex">k</script>-leaf powers, it turns out to work to use a graph that’s a product of a <script type="math/tex">k</script>-vertex cycle with the input graph. If the input is really a leaf power, the tree that it comes from can be embedded into this product graph. The logical formulation of this embedding is much simpler than the formulation of leaf powers in terms of the original graph (assuming such a formulation exists). And the product by a cycle only blows up the treewidth by a factor of <script type="math/tex">k</script>, not a problem given that we already were going to have a horribly impractical dependence on the treewidth.</p>
<p>Instead of treewidth, our paper parameterizes its dependence on the graph structure using <a href="https://en.wikipedia.org/wiki/Degeneracy_(graph_theory)">degeneracy</a>, a measure of how sparse the graph is rather than of how tree-like it is. But in this case, going from one parameter to the other is not difficult. The <script type="math/tex">k</script>-leaf powers are known to have bounded <a href="https://en.wikipedia.org/wiki/Clique-width">clique-width</a>, and the graphs of bounded clique-width and bounded degeneracy are known to have bounded treewidth. So if we get a sparse graph whose treewidth is too big, we can bounce it immediately as not being a <script type="math/tex">k</script>-leaf power, and otherwise we can apply techniques such as Courcelle’s theorem that are based on treewidth.</p>
<p>As we note in the conclusions, this technique would also have greatly simplified the application of Courcelle to the problem of splitting vertices. It’s also possible that it could lead to more practical algorithms. In <a href="/blog/2018/08/24/report-from-ALGO.html">another earlier posting</a> I mentioned Max Bannach’s and Sebastian Berndt’s best student paper of ESA 2018 track B, “<a href="http://dx.doi.org/10.4230/LIPIcs.ESA.2018.6">Practical access to dynamic programming on tree decompositions</a>”. Part of their paper involves finding constrained fragments of second-order graph logic for which Courcelle’s theorem can be implemented more efficiently. Our graph product technique may help in this respect, by simplifying the logical formulation (of the problems on which it works) far enough to allow Bannach’s and Berndt’s implementation methods to apply.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/S3retaRU7kP">G+</a>)</p>David EppsteinI’ve written about Courcelle’s theorem here several times before. It’s a powerful “algorithmic meta-theorem” that lets you turn a logical characterization of a graph property into an algorithm for testing the property that runs in linear time in the input graphs size, for graphs of bounded treewidth. Unfortunately the constant factor of the linear time bound depends badly on the treewidth. In past posts, I’ve used this to formulate algorithms for minimal-crossing book embeddings, graph toughness, splitting vertices to make graphs planar, finding shortest paths, and constructing clustered planar drawings. My latest preprint, “Parameterized Leaf Power Recognition via Embedding into Graph Products” (arXiv:1810.02452, with UCI student Elham Havvaei, to appear in the proceedings of IPEC 2018) applies the same method to the problem of recognizing leaf powers.Linkage2018-09-30T17:35:00+00:002018-09-30T17:35:00+00:00https://11011110.github.io/blog/2018/09/30/linkage<ul>
<li>
<p><a href="https://www.youtube.com/watch?v=yQq1-_ujXrM">Do you suffer from FWOOWMP?</a> (<a href="https://plus.google.com/100003628603413742554/posts/TPMYNDFyMpL">G+</a>). This video is a couple years old, but may be useful for sharing with students at the start of the term, to cut through their intimidation with some humor and encourage them to take advantage of faculty office hours.</p>
</li>
<li>
<p><a href="https://blog.computationalcomplexity.org/2018/09/what-is-physicist-mathematician.html">What is a physicist? A mathematician? A computer scientist?</a> (<a href="https://plus.google.com/100003628603413742554/posts/WSFU2Ri5d1h">G+</a>). After <a href="https://www.scottaaronson.com/blog/?p=3955">Scott Aaronson called himself “not a physicist” despite recently winning a physics prize</a>, Bill Gasarch posted this piece on how we identify ourselves. Similarly, at <a href="https://sites.google.com/site/silverberg2018/">Alice Silverberg’s 60th birthday conference</a>, Kristin Lauter pointed out the differences between cryptographic number theorists and number theoretic cryptographers, in noting that one of Alice’s strengths has been bringing these two communities together.</p>
</li>
<li>
<p><a href="http://gallery.bridgesmathart.org/exhibitions/2018-bridges-conference/mobscarves">Möbius Cellular Automaton Scarf</a> (<a href="https://plus.google.com/100003628603413742554/posts/1YGRqQMwuj2">G+</a>) by Elisabetta Matsumoto, Henry Segerman, and Fabienne Serriere from the Bridges 2018 art gallery. The part that raises this above the level of “just another use of cellular automata to create decorative patterns” is that they carried out a search for an initial seed pattern that would return to itself, in reversed form, at the right length to make the pattern seamless.</p>
</li>
<li>
<p><a href="https://math.washington.edu/news/2018/09/18/branko-grunbaum-1929-2018">Branko Grünbaum (1929–2018)</a> (<a href="https://plus.google.com/100003628603413742554/posts/HoL58w2MwDp">G+</a>). Sad news from the University of Washington of Grünbaum’s death, in the same week that we learn the <a href="https://sympa.inria.fr/sympa/arc/compgeom-announce/2018-09/msg00005.html">sad news from New York of Ricky Pollack’s death</a>.</p>
</li>
<li>
<p><a href="https://www.nature.com/articles/d41586-018-05947-8">Why Jess Wade and Maryam Zaringhalam are editing women scientists onto Wikipedia</a> (<a href="https://plus.google.com/100003628603413742554/posts/VM1PrpsrK7i">G+</a>) and why you should too.</p>
</li>
<li>
<p><a href="https://www.uni-muenster.de/news/view.php?cmdid=8174">Why the brain is not folded like a crumpled sheet of paper</a> (<a href="https://plus.google.com/100003628603413742554/posts/EKApwoExdJy">G+</a>). Counterpoint to <a href="/blog/2015/07/31/linkage.html">a link I posted three years ago</a>.</p>
</li>
<li>
<p><a href="http://therearemorethings.org/knots.html">There Are More Things</a> (<a href="https://plus.google.com/100003628603413742554/posts/NeJHCKFruUq">G+</a>). Intricate knotwork patterns by Taneli Luotoniemi.</p>
</li>
<li>
<p><a href="https://plus.google.com/118320887831309218676/posts/a7LcxV42Hrq">Alison Grace Martin falsely suspended as a spammer</a> (<a href="https://plus.google.com/100003628603413742554/posts/DPXRUKj6ppf">G+</a>). Eventually her posts were restored, but this scare (and similar instances for other legitimate posters) calls into question the reliability and free availability of Google+. In the comments, Jürgen Christoffel suggests using <a href="https://takeout.google.com/settings/takeout">Google Takeout</a> to make a local backup of your Google data (always a good idea even without this event to warn us).</p>
</li>
<li>
<p><a href="https://www.thisiscolossal.com/2018/09/cookie-cutters/">How steel ribbons are shaped into cookie cutters</a> (<a href="https://plus.google.com/100003628603413742554/posts/eH1SKGm1cuW">G+</a>, <a href="https://plus.google.com/+Colossal/posts/1i4E5mVxWKQ">via</a>). This leads me to wonder which shapes can be formed in this way by hammers that come in from converging angles. I think the answer is that it’s possible as long as, when you walk around the boundary, you never turn backwards more than π from a previous angle. If so, this should be easy to check algorithmically.</p>
</li>
<li>
<p><a href="https://scilogs.spektrum.de/hlf/hlf-2018-women-in-mathematics-throughout-europe-an-exhibition/">Women in Mathematics Throughout Europe, An Exhibition</a> (<a href="https://plus.google.com/100003628603413742554/posts/KSXnfTkXHDy">G+</a>). The Heidelberg Laureate Forum profiles 13 European women mathematicians.</p>
</li>
<li>
<p><a href="https://www.thisiscolossal.com/2018/09/wave-designs/">Hamonshū</a> (<a href="https://plus.google.com/100003628603413742554/posts/DwURJP6DbKR">G+</a>, <a href="https://plus.google.com/+Colossal/posts/Tujm2zGofBE">via</a>). Mori Yuzan’s 1903 guide to wave designs is now online.</p>
</li>
<li>
<p><a href="https://www.ics.uci.edu/~irani/SouthernCaliforniaTheoryDay2018.html">Southern California Theory Day 2018</a> (<a href="https://plus.google.com/100003628603413742554/posts/cyiyneXMnqg">G+</a>). A day of theoretical CS talks to be held November 3 at UC Irvine. Speakers are Umesh Vazirani, Alon Orlitsky, Ashutosh Kumar, Anima Anandkumar, Silas Richelson, Ben Lee Volk, and me.</p>
</li>
<li>
<p><a href="https://scilogs.spektrum.de/hlf/tetris-and-the-curious-case-of-simple-questions-with-tough-answers/">Tetris and the curious case of simple questions with tough answers</a> (<a href="https://plus.google.com/100003628603413742554/posts/PhLqRrzt46Y">G+</a>). Mira Shalah, a student of Gill Barequet at the Technion and, according to the linked article, “one of the first Israeli-Arab women to earn a PhD in computer science”, gets a nice writeup of her work on counting polyominoes.</p>
</li>
<li>
<p><a href="https://www.ics.uci.edu/~irani/ToC_SH_report.pdf">Final report from the Ad hoc committee to Combat Harassment and Discrimination in the Theory of Computing Community</a> (<a href="https://plus.google.com/100003628603413742554/posts/akd2u33bY39">G+</a>, <a href="https://plus.google.com/118250784898510714238/posts/QkHhVbxYb81">via</a>). Recommendations include codes of conduct for conferences, a group of trained advocates, the ability to declare conflicts of interest for harassment against potential reviewers without having to make public accusations against them, and community education.</p>
</li>
<li>
<p><a href="https://mathematics-genealogy.de/">Mathematics genealogy visualization</a> (<a href="https://plus.google.com/100003628603413742554/posts/PCk2CTepCqC">G+</a>, <a href="https://plus.google.com/100372006947364662364/posts/Y22b8Pv5xCm">via</a>). One of this year’s <a href="https://plus.google.com/100372006947364662364">Graph Drawing Contest</a> winners.</p>
</li>
</ul>David EppsteinDo you suffer from FWOOWMP? (G+). This video is a couple years old, but may be useful for sharing with students at the start of the term, to cut through their intimidation with some humor and encourage them to take advantage of faculty office hours.Linkage2018-09-15T21:32:00+00:002018-09-15T21:32:00+00:00https://11011110.github.io/blog/2018/09/15/linkage<ul>
<li>
<p><a href="http://uuuuuu.lassp.cornell.edu/gallery/fractal_fun">Octagonally symmetric fractal tile</a> (<a href="https://plus.google.com/100003628603413742554/posts/B58Wv6RV9xs">G+</a>, <a href="https://arxiv.org/abs/1804.06577">via</a>). It tiles the plane with two incompatible square tiling lattices, rotated <script type="math/tex">45^\circ</script> with respect to each other.</p>
</li>
<li>
<p><a href="https://www.scottaaronson.com/blog/?p=1902">The computational power of the Digi-Comp II</a>, a mechanical device in which marbles roll downhill flipping toggles (<a href="https://plus.google.com/100003628603413742554/posts/aBTzstvr2v5">G+</a>). At JCDCG³, Matt Johnson spoke on the complexity analysis of <a href="https://techcrunch.com/2017/05/30/the-turing-tumble-lets-you-and-your-kids-build-real-mechanical-computers/">Turing Tumble</a>, another closely related marble-race computing device.</p>
</li>
<li>
<p><a href="https://plus.google.com/113086553300459368002/posts/gFGPmCXHKUs">The celebrity, the paparazzo and the bodyguards</a> (<a href="https://plus.google.com/100003628603413742554/posts/FuLGT2J2RyY">G+</a>). Greg Egan explains how finitely many point guards can block visibility between two points in a mirrored room, as shown by Emily Riehl based on a puzzle posed by Maryam Mirzakhani.</p>
</li>
<li>
<p><a href="https://tinyurl.com/jcdcg-abstracts">Abstracts from the Japan Conference on Discrete and Computational Geometry, Graphs, and Games</a> as a Google-drive PDF file (<a href="https://plus.google.com/100003628603413742554/posts/QhUrPZEsRTt">G+</a>). More complete versions of the papers should eventually become available through a volume of Springer LNCS.</p>
</li>
<li>
<p><a href="https://boingboing.net/2018/09/06/six-days-left-2.html">EU prepares to approve licensing fees for all web links to news sites, and dubiously-reliable copyright takedown filters for all user-uploaded web content</a> (<a href="https://plus.google.com/100003628603413742554/posts/aMS6P2tDans">G+</a>). Spoiler: they voted yes.</p>
</li>
<li>
<p><a href="http://www.sciencemag.org/news/2018/09/open-access-editors-resign-after-alleged-pressure-publish-mediocre-papers">Trouble at <em>Nutrients</em></a> (<a href="https://plus.google.com/100003628603413742554/posts/18FLXpjvTkP">G+</a>, <a href="https://retractionwatch.com/2018/09/08/weekend-reads-an-article-on-a-controversial-topic-just-disappears-mass-resignations-from-a-nutrition-journal-the-likely-mistaken-history-of-the-vibrator/">via</a>). The resigning editorial board complained “that the publisher, the Multidisciplinary Digital Publishing Institute (MDPI), pressured them to accept manuscripts of mediocre quality and importance.” The former editor in chief calls himself naive for “assuming he would be able to lead a high-quality open-access journal owned by a commercial publisher”.</p>
</li>
<li>
<p><a href="http://www.conwaylife.com/forums/viewtopic.php?p=63536#p63536">Stable line crosser</a> (<a href="https://plus.google.com/100003628603413742554/posts/SoTJnKYg6cw">G+</a>). This new Game of Life pattern can send a glider across a diagonal line of live cells, and then repair the damage to the line of cells and return to its original state.</p>
</li>
<li>
<p><a href="https://www.nextpittsburgh.com/features/lenore-blum-speaks-out-about-sexism-in-the-workplace/">Lenore Blum tells us why she resigned from CMU</a> (<a href="https://plus.google.com/100003628603413742554/posts/arAhFeWEiJT">G+</a>, <a href="https://plus.google.com/+JeffErickson/posts/bXvFtDZRoSm">via</a>). She makes the point that, although allegations of sexual assault by prominent people are justifiably making headlines lately, “sexism in the workplace … affects many, many more women” and must also be resisted.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/1809.03264"><em>Proceedings of the 26th International Symposium on Graph Drawing and Network Visualization</em></a> (<a href="https://plus.google.com/100003628603413742554/posts/AxBVpfeJNXi">G+</a>). Graph Drawing uses an unusual hybrid open-access arXiv-overlay publication model where all authors upload the conference proceedings versions of their papers to arXiv, the conference publishes a collection of links to these versions as the “online proceedings”, and then later everything is published again through Springer LNCS. This is the arXiv version of this year’s proceedings.</p>
</li>
<li>
<p><a href="https://www.lawfareblog.com/securing-vote-report-national-academies-sciences">Securing the Vote</a> (<a href="https://plus.google.com/100003628603413742554/posts/8XX4Zc4vpv8">G+</a>, <a href="https://plus.google.com/105473622219622697310/posts/gnKsnQbuo24">via</a>). The National Academy of Sciences tells us what we should already have known, but it helps to repeat it: Use paper ballots, conduct random risk-limiting audits, and avoid internet voting unless/until much stronger security guarantees exist.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Isosceles_triangle">Isosceles triangle</a> (<a href="https://plus.google.com/100003628603413742554/posts/UNjp64ZCnCt">G+</a>). Now a Good Article on Wikipedia. Plenty of other similarly basic Wikipedia articles could still use similar improvement.</p>
</li>
<li>
<p><a href="http://gallery.bridgesmathart.org/exhibitions/2018-bridges-conference/bobb">A new solution to Euler’s Königsberg Bridge Problem</a> (<a href="https://plus.google.com/100003628603413742554/posts/AcDQgwvXLYG">G+</a>). Robert Bosch draws a picture of Königsberg and its seven bridges as an Eulerian graph on the points of a grid. One of many impressive pieces of mathematical art in the <a href="http://gallery.bridgesmathart.org/exhibitions/2018-bridges-conference">Bridges 2018 gallery</a>.</p>
</li>
<li>
<p><a href="https://www.nature.com/articles/s41539-018-0028-7">No intrinsic gender differences in children’s earliest numerical abilities</a> (<a href="https://plus.google.com/100003628603413742554/posts/8a4A5wGaGau">G+</a>). Relevant for a recent fuss about the odd and disputed publication history of a paper by Ted Hill suggesting a mathematical explanation for how genetic differences in variance might be differentially advantageous for men vs women. These supposed differences have historically been used as an excuse for failure to improve gender ratios in mathematics. But if they don’t exist, there’s nothing to model and no basis for the excuse. See also <a href="https://gowers.wordpress.com/2018/09/13/additional-thoughts-on-the-ted-hill-paper/">Gowers’ criticism of the mathematical modeling in Hill’s paper</a> and <a href="https://gowers.wordpress.com/2018/09/09/has-an-uncomfortable-truth-been-suppressed/">an earlier post</a> linking at the top to contradictory claims on what happened with Hill’s paper (on which I am too unsure of the truth to express an opinion).</p>
</li>
</ul>David EppsteinOctagonally symmetric fractal tile (G+, via). It tiles the plane with two incompatible square tiling lattices, rotated with respect to each other.Pictures from Manila2018-09-08T16:43:00+00:002018-09-08T16:43:00+00:00https://11011110.github.io/blog/2018/09/08/pictures-from-manila<p>Did you know that Manila has a museum of LEGO churches?</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/manila/MuseumOfLegoChurches-m.jpg" alt="Museum of LEGO churches, Fort Santiago, Manila" style="border-style:solid;border-color:black;" /></p>
<p>It’s one of the exhibits at Fort Santiago, an old fortress within the walled city of Manila (Intramuros) that we visited for the conference excursion of <a href="http://ateneo.edu/ls/sose/mathematics/jcdcggg2018">JCDCG³ 2018</a>. Later on in the excursion we visited two real churches, including the <a href="https://en.wikipedia.org/wiki/San_Agustin_Church_(Manila)">San Agustin Church</a> (a World Heritage Site).</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/manila/SanAgustinChurch-m.jpg" alt="San Agustin Church, Manila" style="border-style:solid;border-color:black;" /></p>
<p><a href="https://www.ics.uci.edu/~eppstein/pix/manila/">The rest of my photos from Manila</a> are also online now, but I don’t think they really captured my impressions of the city: the contrast between its colorful shantytowns and its gray highrises, the ubiquitous construction and construction dust, the grinding and often unmoving traffic, the big cars, jeepneys, packs of underpowered motorcycles, and motorcycle-sidecar taxis, the cheerful unconcern for driving the right way down one-way streets or other traffic laws, the many pedestrians and groups of people just hanging out on the streets, the stray dogs and stray cats (mostly ignored by the people and each other), the big welcome signs over each <a href="https://en.wikipedia.org/wiki/Barangay">barangay</a>, the tranquil campus of the Ateneo, the enormous and diverse breakfast spread at my hotel, and the “dirty” ice cream sold by street vendors, in flavors like avocado and cheese.</p>
<p>And unrelated to Manila, but part of the same batch: I couldn’t resist capturing an arrangement of circles underfoot at LAX:</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/manila/CircleArrangementCarpetLAX-m.jpg" alt="Circle arrangement pattern in the carpet at LAX" style="border-style:solid;border-color:black;" /></p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/hx8UyhsRz2y">G+</a>)</p>David EppsteinDid you know that Manila has a museum of LEGO churches?Big convex polygons in grids2018-09-05T08:45:00+00:002018-09-05T08:45:00+00:00https://11011110.github.io/blog/2018/09/05/big-convex-polygons<p>How many corners can a convex polygon in a <script type="math/tex">5\times 5</script> grid of points have?
My book <a href="https://www.cambridge.org/eppstein"><em>Forbidden Configurations in Discrete Geometry</em></a> starts most of its sections with a small puzzle, and this is the one I used for Chapter 4. If you need a spoiler, it’s also in the book, as Figure 11.3. More generally one can ask for the biggest convex polygon in an <script type="math/tex">n\times n</script> grid, measuring the size of a polygon by its number of corners. I don’t know how to solve this problem exactly for all <script type="math/tex">n</script>, but I can solve it for infinitely many choices of <script type="math/tex">n</script>, and give a solution that is within an additive constant of optimal for all <script type="math/tex">n</script>.</p>
<p>To explain the solution, let’s start with a seemingly different problem: finding the minimum perimeter convex <script type="math/tex">k</script>-gon in an infinite grid. Again we will be able to solve it for infinitely many values of <script type="math/tex">k</script>, but not for all <script type="math/tex">k</script>. The optimal perimeter is not a nice number: each edge length is the square root of an integer, by Pythagoras, so the perimeter is the sum of many square roots. Being able to tell whether one sum of many square roots is smaller than another is <a href="http://cs.smith.edu/~jorourke/TOPP/P33.html">notoriously difficult</a>, but fortunately we won’t need to do this.</p>
<p>If we don’t care whether the result is a convex polygon, and instead seek the shortest convex <a href="https://en.wikipedia.org/wiki/Polygonal_chain">polygonal chain</a> with <script type="math/tex">k</script> edges, the problem becomes much easier. A polygonal chain is just a sequence of line segments meeting up end-to-end, and let’s define it to be convex if the line segments consistently turn clockwise relative to each other at each endpoint (regardless of whether that might cause it to spiral around and cross itself). The sides of the shortest convex chain must be a set of <script type="math/tex">k</script> directed line segments, no two parallel to each other (although they can be antiparallel) and are as short as possible subject to that constraint. So all we need to do is to generate line segments in order by length until we have enough of them.
Once we generate these <script type="math/tex">k</script> shortest no-two-parallel line segments, we can construct a convex chain from them by sorting them by angle and then translating them so that they meet up end-to-end. For instance, here’s the solution for <script type="math/tex">k=9</script>:</p>
<p style="text-align:center"><img src="/blog/assets/2018/9-chain.svg" alt="Minimum-length 9-edge convex grid chain" /></p>
<p>Generating the <script type="math/tex">k</script> shortest line segments can be simplified by moving the start of each line segment to the origin.
Then it becomes equivalent to finding the <script type="math/tex">k</script> nearest <em>primitive</em> grid points to the origin, the points that are not multiples of other nearer points.
In an earlier post I already looked at <a href="/blog/2016/07/04/streaming-integer-points.html">generating the <script type="math/tex">k</script> nearest grid points to the origin</a>, without requiring them to be primitive. But the primitive line segments form a constant fraction of all of them. This fraction <script type="math/tex">6/\pi^2</script> can be derived (at least heuristically) by observing that (for a random grid point within some specified distance of the origin) each prime <script type="math/tex">p</script> has probability <script type="math/tex">1/p^2</script> of dividing both coordinates. If we pretend that these probabilities are all independent, then the <a href="https://en.wikipedia.org/wiki/Euler_product">Euler product</a></p>
<script type="math/tex; mode=display">\prod_{\text{prime }p} 1-\frac{1}{p^2} = 1\Big/\Bigl(\sum_{i=1}^{\infty}\frac{1}{i^2}\Bigr)</script>
<p>gives the probability of being primitive, and Euler’s solution to the <a href="https://en.wikipedia.org/wiki/Basel_problem">Basel problem</a> gives the sum as <script type="math/tex">\pi^2/6</script>. So if we generate a factor of <script type="math/tex">\pi^2/6</script> more vectors than we need, sort them all by slope, and then eliminate duplicate slopes, we’ll get the primitive line segments that we want.</p>
<p>In the example above, the chain ended up at a different point than where it started. But if it doesn’t, we get a convex <script type="math/tex">k</script>-gon that has the minimum length among all convex <script type="math/tex">k</script>-chains, which must be the minimum-perimeter <script type="math/tex">k</script>-gon that we seek. To force the chain to close up into a polygon, pair up each primitive line segment with its antiparallel segment, the one with the same slope and opposite direction. If we generate segments in an order that makes each antiparallel pair consecutive, the resulting polygonal chain will close up. This works for every even <script type="math/tex">k</script>, but for odd <script type="math/tex">k</script>, there isn’t always a way of choosing a minimum-length chain that closes up. In that case we need to do something trickier, and I don’t know of any good construction for the shortest polygon that works for all odd <script type="math/tex">k</script>.</p>
<p>The next step towards the solution of the biggest grid polygon problem is to switch from the Euclidean length of line segments to their length in the <a href="https://en.wikipedia.org/wiki/Taxicab_geometry">Manhattan metric</a>. In this metric, the length of a line segment from <script type="math/tex">(x_1,y_1)</script> to <script type="math/tex">(x_2,y_2)</script> is <script type="math/tex">\vert x_1-x_2\vert +\vert y_1-y_2\vert</script>, the length of the shortest path that connects the endpoints using only horizontal and vertical segments. The algorithm for generating shortest convex polygonal chains is the same as before: generate the shortest <script type="math/tex">k</script> line segments, no two parallel, sort them by slope, and connect them together into a single chain. The Manhattan metric has more ties in the sorted ordering of line segments, but this is not problematic — in fact it can help, by making it easier to choose sets of the <script type="math/tex">k</script> shortest vectors that close up to form a convex polygon. When they do close up, we get a convex polygon with the shortest Manhattan perimeter. This can be made to happen for every even <script type="math/tex">k</script> by generating antiparallel pairs of line segments consecutively.</p>
<p>The Manhattan perimeter may sound like a strange concept, but for convex polygons it has a very familiar description in terms of Euclidean geometry: it is the same as the perimeter of the <a href="https://en.wikipedia.org/wiki/Minimum_bounding_box">smallest bounding box</a> of the polygon. Whenever this bounding box happens to be a square, it also gives us the smallest grid square that contains a convex <script type="math/tex">k</script>-gon. And if we happen to know that the same square doesn’t contain a convex <script type="math/tex">(k+1)</script>-gon, we have found that k is the largest <script type="math/tex">k</script>-gon in this square, the solution to the problem we started with.</p>
<p>We were able to get convex chains to close up to polygons by grouping them in antiparallel pairs. We can get them to have square bounding boxes by grouping them in a different way: Form tuples of four equal-length vectors, all <script type="math/tex">90^\circ</script> rotations of each other. If we generate segements in sorted order by Manhattan length, making sure to generate each 4-tuple consecutively, then whenever <script type="math/tex">k</script> is a multiple of four the resulting polygon will be symmetric under 90 degree rotations so its bounding box will be a square. The minimum Manhattan length of a <script type="math/tex">(k+1)</script>-segment convex polygonal chain is larger by the length of the <script type="math/tex">(k+1)</script>st line segment, so the same square cannot contain a convex <script type="math/tex">(k+1)</script>-gon. This gives us our infinite family of biggest polygons in square grids, for <script type="math/tex">k</script> divisible by four and for the grids whose perimeter is between the Manhattan perimeter of the optimal <script type="math/tex">k</script>-gon (inclusive) and the Manhattan length of the optimal <script type="math/tex">(k+1)</script>-chain (exclusive).</p>
<p>Using the same analysis we can also get a lower bound on the side length of the smallest square that contains a convex <script type="math/tex">k</script>-gon, for any <script type="math/tex">k</script> regardless of whether <script type="math/tex">k</script> is a multiple of four. To do so, compute the minimum Manhattan length of a <script type="math/tex">(k+1)</script>-segment convex polygonal chain, divide by four, and round up. When <script type="math/tex">k</script> is <script type="math/tex">2</script> mod <script type="math/tex">4</script>, and the Manhattan length <script type="math/tex">\ell</script> of the <script type="math/tex">k</script>th-shortest line segment is odd, this lower bound again gives the correct answer for the minimum bounding square of a convex <script type="math/tex">k</script>-gon. The reason is that we can always choose the last two line segments to be the segment from the origin to <script type="math/tex">(\lfloor\ell/2\rfloor,\lceil\ell/2\rceil)</script> and its reverse, very close to having slope <script type="math/tex">1</script>. With these line segments, we get a bounding rectangle whose two side lengths differ by one, and this rectangle fits into the square that you get by rounding up the perimeter to a multiple of four. The same idea (with <script type="math/tex">(1,1)</script>) also works for <script type="math/tex">k=6</script>, even though <script type="math/tex">\ell</script> is even in this case.</p>
<p>Using this method, and making the easy observation that reducing <script type="math/tex">k</script> can’t increase the square size, gives the following table of shortest chains (in Manhatten length), lower bounds on the side length of the optimal square, and actual side length of the optimal square:</p>
<table style="border: 1px solid black;padding: 10px;margin-left:auto;margin-right:auto">
<thead>
<tr>
<th style="text-align: center"> <script type="math/tex">k</script> </th>
<th style="text-align: center"> chain </th>
<th style="text-align: center"> l.b. </th>
<th style="text-align: center"> square </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">3</td>
<td style="text-align: center">3</td>
<td style="text-align: center">1</td>
<td style="text-align: center">1</td>
</tr>
<tr>
<td style="text-align: center">4</td>
<td style="text-align: center">4</td>
<td style="text-align: center">1</td>
<td style="text-align: center">1</td>
</tr>
<tr>
<td style="text-align: center">5</td>
<td style="text-align: center">6</td>
<td style="text-align: center">2</td>
<td style="text-align: center">2</td>
</tr>
<tr>
<td style="text-align: center">6</td>
<td style="text-align: center">8</td>
<td style="text-align: center">2</td>
<td style="text-align: center">2</td>
</tr>
<tr>
<td style="text-align: center">7</td>
<td style="text-align: center">10</td>
<td style="text-align: center">3</td>
<td style="text-align: center">3</td>
</tr>
<tr>
<td style="text-align: center">8</td>
<td style="text-align: center">12</td>
<td style="text-align: center">3</td>
<td style="text-align: center">3</td>
</tr>
<tr>
<td style="text-align: center">9</td>
<td style="text-align: center">15</td>
<td style="text-align: center">4</td>
<td style="text-align: center"><strong>??</strong></td>
</tr>
<tr>
<td style="text-align: center">10</td>
<td style="text-align: center">18</td>
<td style="text-align: center">5</td>
<td style="text-align: center">5</td>
</tr>
<tr>
<td style="text-align: center">11</td>
<td style="text-align: center">21</td>
<td style="text-align: center">6</td>
<td style="text-align: center">6</td>
</tr>
<tr>
<td style="text-align: center">12</td>
<td style="text-align: center">24</td>
<td style="text-align: center">6</td>
<td style="text-align: center">6</td>
</tr>
<tr>
<td style="text-align: center">13</td>
<td style="text-align: center">27</td>
<td style="text-align: center">7</td>
<td style="text-align: center"><strong>??</strong></td>
</tr>
<tr>
<td style="text-align: center">14</td>
<td style="text-align: center">30</td>
<td style="text-align: center">8</td>
<td style="text-align: center">8</td>
</tr>
<tr>
<td style="text-align: center">15</td>
<td style="text-align: center">33</td>
<td style="text-align: center">9</td>
<td style="text-align: center">9</td>
</tr>
<tr>
<td style="text-align: center">16</td>
<td style="text-align: center">36</td>
<td style="text-align: center">9</td>
<td style="text-align: center">9</td>
</tr>
<tr>
<td style="text-align: center">17</td>
<td style="text-align: center">40</td>
<td style="text-align: center">10</td>
<td style="text-align: center"><strong>??</strong></td>
</tr>
</tbody>
</table>
<p> </p>
<p>We can then find the biggest polygon in an <script type="math/tex">n\times n</script> grid by searching this table for the largest <script type="math/tex">k</script> whose square side is at most <script type="math/tex">n</script>. When there are question marks in the table, we can approximate the solution by using the largest <script type="math/tex">k</script> that is not a question mark. Because every fourth row of the table is not a question mark, our approximation will be off by at most three from the true answer.</p>
<p>The puzzle from the book is the first question mark: can we fit a <script type="math/tex">9</script>-vertex convex grid polygon into a square with side length <script type="math/tex">4</script>? (Note that the side length, <script type="math/tex">4</script>, is one less than the number of grid points on a side, <script type="math/tex">5</script>.) Here’s an answer to the second question mark, a <script type="math/tex">13</script>-vertex convex grid polygon fitting optimally into a square with side length <script type="math/tex">7</script>.</p>
<p style="text-align:center"><img src="/blog/assets/2018/grid-13-gon.svg" alt="Convex 13-gon in an 8x8 grid" /></p>
<p>Because there is usually a lot of wiggle room to choose which line segments to use,
I would expect the lower bound to be tight for many more choices of <script type="math/tex">k</script> than the ones identified above. But it’s not always tight, and
the third question mark in the table, <script type="math/tex">k=17</script>, is the first case where it isn’t. It’s not possible to fit a <script type="math/tex">17</script>-gon into a square grid with side length 10, because the only way to get a <script type="math/tex">17</script>-step convex polygonal chain of Manhattan length <script type="math/tex">40</script> is to use all <script type="math/tex">16</script> line segments with Manhattan length <script type="math/tex">1</script>, <script type="math/tex">2</script>, or <script type="math/tex">3</script>, and a single line segment (like the longest one in the <script type="math/tex">13</script>-gon) with Manhattan length <script type="math/tex">4</script>. But because the <script type="math/tex">16</script> shorter line segments are a symmetric set, adding one more line segment to them can never produce a chain that closes up to form a polygon. The same thing happens for infinitely many other values of <script type="math/tex">k</script>. Determining a complete answer to when the lower bound is or isn’t tight doesn’t isn’t obvious to me.</p>
<p>I suspect very little of this is actually new, although I don’t know of references for these precise statements. The biggest polygon in a grid square was considered asymptotically by
Dragan Acketa and Joviša Žunić [“On the maximal number of edges of convex digital polygons included into an <script type="math/tex">m\times m</script>-grid”, <a href="https://doi.org/10.1016/0097-3165(95)90058-6"><em>JCTA</em> 1995</a>], who showed that</p>
<script type="math/tex; mode=display">k\approx 2\pi\Bigl( \frac{n}{12} \Bigr)^{3/2}.</script>
<p>Imre Bárány and Maria Prodromou [“On maximal convex lattice polygons inscribed in a plane convex set”, <a href="https://doi.org/10.1007/BF02773612"><em>Israel J. Math.</em> 2006</a>] generalized this to other shapes than squares. The minimum perimeter version of the problem was already considered, again asymptotically, by Vojtěch Jarník [“Über Gitterpunkte in konvexen Kurven”, <em>Math. Z.</em> 1926], the same Jarník as the namesake of the minimum spanning tree algorithm. For a survey of related problems see Bárány’s “<a href="http://www.renyi.hu/~barany/cikkek/psurveyAMS.pdf">Extremal problems for convex lattice polytopes: a survey</a>” [<a href="https://doi.org/10.1090/conm/453/08796"><em>Contemp. Math.</em> 2009</a>].</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/MFqdV8QKD65">G+</a>)</p>David EppsteinHow many corners can a convex polygon in a grid of points have? My book Forbidden Configurations in Discrete Geometry starts most of its sections with a small puzzle, and this is the one I used for Chapter 4. If you need a spoiler, it’s also in the book, as Figure 11.3. More generally one can ask for the biggest convex polygon in an grid, measuring the size of a polygon by its number of corners. I don’t know how to solve this problem exactly for all , but I can solve it for infinitely many choices of , and give a solution that is within an additive constant of optimal for all .Linkage2018-08-31T10:54:00+00:002018-08-31T10:54:00+00:00https://11011110.github.io/blog/2018/08/31/linkage<ul>
<li>
<p>Congratulations to <a href="https://en.wikipedia.org/wiki/Johan_H%C3%A5stad">Johan Håstad</a>, this year’s <a href="https://windowsontheory.org/2018/08/16/johan-hastad-wins-knuth-prize/">Knuth Prize winner</a> (<a href="https://plus.google.com/100003628603413742554/posts/Qtc2FKGpkX3">G+</a>)! His contributions include important work on circuit lower bounds, interactive proof systems, and inapproximability.</p>
</li>
<li>
<p><a href="https://www.thisiscolossal.com/2018/08/origami-wrap/">Origami wrapping paper</a> (<a href="https://plus.google.com/100003628603413742554/posts/DXNyqP3wfa9">G+</a>, <a href="https://plus.google.com/+Colossal/posts/Yap9vcwiPQn">via</a>). So that after you unwrap your gift you can have fun folding something else.</p>
</li>
<li>
<p><a href="http://www.newscientist.com/article/2176723-we-have-finally-figured-out-how-to-snap-spaghetti-into-two-pieces/">We have finally figured out how to snap spaghetti into two pieces</a> (<a href="https://plus.google.com/100003628603413742554/posts/gKJqtuffCSr">G+</a>, <a href="https://plus.google.com/105473622219622697310/posts/EMLqux8FtAX">via</a>, <a href="http://news.mit.edu/2018/mit-mathematicians-solve-age-old-spaghetti-mystery-0813">see also</a>). The trick is to twist it as you bend it.</p>
</li>
<li>
<p>European parliamentarian Julia Reda wrote a blog post warning of a repeat attempt by the EU to force filtering mechanisms into all internet services, with a vote scheduled for September 12. <a href="https://juliareda.eu/2018/08/censorship-machines-gonna-censor/">Her opponents used the same mechannisms to censor her post from Google</a> (<a href="https://plus.google.com/100003628603413742554/posts/hWWj4SZvc7b">G+</a>, <a href="https://news.ycombinator.com/item?id=17787302">via</a>).</p>
</li>
<li>
<p><a href="https://news.northeastern.edu/2018/08/15/these-students-are-making-science-easier-to-understand-on-wikipedia-one-article-at-a-time/">These students are making science easier to understand on Wikipedia, one article at a time</a> (<a href="https://plus.google.com/100003628603413742554/posts/X2tHy4cfMxE">G+</a>).</p>
</li>
<li>
<p><a href="https://www.motherjones.com/media/2018/07/real-news-tackles-fake-science/">400,000 scientists all over the world have been published in fake journals</a> (<a href="https://plus.google.com/100003628603413742554/posts/Y4o96f2kuqs">G+</a>). It’s clear that this is not just a few bad apples or a few badly-advised new researchers. This corrupt parallel-publication system is thriving, in part as the result of misguided attempts to manage researcher productivity through bibliometrics.</p>
</li>
<li>
<p><a href="https://xkcd.com/2036/">xkcd: Edgelord</a> (<a href="https://plus.google.com/100003628603413742554/posts/CqKfikb5ms9">G+</a>). Who can resist a silly joke about graph theorists? Not me.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=G2Blr0LycOI">Antipodal points</a> (<a href="https://plus.google.com/100003628603413742554/posts/dGwYU9dKx1a">G+</a>). Another tennis ball theorem from +Numberphile, maybe a little easier to prove than <a href="https://en.wikipedia.org/wiki/Tennis_ball_theorem">the more famous one</a>.</p>
</li>
<li>
<p><a href="https://physicstoday.scitation.org/do/10.1063/PT.6.1.20180822a/full/">The war over supercooled water</a> (<a href="https://plus.google.com/100003628603413742554/posts/CsAZsEMUwAE">G+</a>, <a href="https://plus.google.com/105473622219622697310/posts/V24URjnCpWB">via</a>). Beyond telling us how much still remains mysterious about something as seemingly simple and everyday as water, this story has an interesting moral to tell us about the importance of openly available software for reproducing the results of experimental simulations.</p>
</li>
<li>
<p><a href="https://blogs.ams.org/phdplus/2018/07/31/recreational-mathematics-for-fun-sanity-and-an-sometimes-even-papers/">Recreational mathematics for fun, sanity, and sometimes even papers</a> (<a href="https://plus.google.com/100003628603413742554/posts/WFMehkQ6g9M">G+</a>). There are some amusing mathematical puzzles in this post involving quilting bees and card shuffling, but mostly it’s about how recreational mathematics can become the gateway drug to serious mathematics, and can continue to inspire even after the mathematics becomes serious.</p>
</li>
<li>
<p><a href="http://jdh.hamkins.org/chessboard-in-perspective/">Draw a chessboard in perspective view, using straightedge only</a> (<a href="https://plus.google.com/100003628603413742554/posts/RZ5q7Wiv9Ss">G+</a>, <a href="https://plus.google.com/+JoelDavidHamkins1/posts/TMhQbN7dgLv">via</a>). Joel Hamkins shares some basic tricks in perspective drawing.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/1612.07888">Road interchanges with minimal numbers of bridges</a> (<a href="https://plus.google.com/100003628603413742554/posts/LmCBf9EdSXu">G+</a>, <a href="https://plus.google.com/101584889282878921052/posts/dLWrC6KkfFj">via</a>). With some debatable assumptions the problem of optimal interchange design can be reduced to computing the genus of the complete tripartite graph <script type="math/tex">K_{n,n,1}</script>.</p>
</li>
<li>
<p><a href="https://golem.ph.utexas.edu/category/2018/07/the_duties_of_a_mathematician.html">The duties of a mathematician</a> (<a href="https://plus.google.com/100003628603413742554/posts/bUnYFmFK5EH">G+</a>). Mochizuki follower Ivan Fesenko says mathematicians are duty-bound to “study each new groundbreaking theory or proof in one’s general area”. John Baez disagrees.</p>
</li>
</ul>David EppsteinCongratulations to Johan Håstad, this year’s Knuth Prize winner (G+)! His contributions include important work on circuit lower bounds, interactive proof systems, and inapproximability.Congratulations, Dr. Johnson!2018-08-28T20:22:00+00:002018-08-28T20:22:00+00:00https://11011110.github.io/blog/2018/08/28/congratulations-dr-johnson<p><a href="https://www.ics.uci.edu/~tujohnso/">Tim Johnson</a>, one of the students working in the UCI <a href="https://www.ics.uci.edu/~theory/">Center for Algorithms and Theory of Computation</a>, passed his dissertation defense today. Tim has been supervised by Mike Goodrich, with a dissertation on graph drawing. He’s also my co-author on three papers: one at ISAAC 2017 on <a href="/blog/2017/10/03/square-contact-graphs.html">representing the vertices and adjacencies of graphs by touching squares</a>, and two at ALENEX 2018 and ICALP 2018 on <a href="/blog/2018/05/09/sorting-when-sorted.html">dynamic sorting</a>.</p>
<p>Tim has studied <a href="https://arxiv.org/abs/1808.03139">low ply drawings</a>, in which each vertex should have a region of influence, a disk of radius proportional to its longest edge, with only a small number of these regions overlapping at any point. But the largest part of his research in graph drawing concerns the visualization of graphs that represent algorithms or code, as part of a project to <a href="https://doi.org/10.1109/VIZSEC.2016.7739575">use these visualizations to find security vulnerabilities</a>. His work in this area also includes <a href="https://arxiv.org/abs/1508.03931">compact drawings of the flowcharts of structured programs</a>, and a novel recursive graph traversal method that combines depth-first and breadth-first searching and <a href="https://arxiv.org/abs/1608.08970">produces better visualizations than either for control flow graphs</a>. The traversal can be described recursively, much like depth-first search, but with a vertex expansion algorithm that makes two loops over the adjacency list. The first loop finds unincluded vertices and includes them in the search tree as children of the current vertex. Then, the second loop recursively expands each new child. I think this is almost the same (modulo reversal of the adjacency list) as the <a href="/blog/2013/12/17/stack-based-graph-traversal.html">not-DFS that you get by replacing the queue of BFS by a stack</a>, giving an alternative non-recursive method for its construction.</p>
<p>Tim is heading to nearby Aliso Viejo, where he will be working for Microsoft as a software engineer on a cloud database project. But when I asked him about his plans, he suggested that he may not be done with research, and indeed he already has some new material, too recent to have been included in his dissertation, in the <a href="https://dccg.upc.edu/gd2018/index.php/accepted-posters/">Graph Drawing 2018 poster session</a>.</p>
<p>Congratulations, Tim!</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/LuVxDvsqDrp">G+</a>)</p>David EppsteinTim Johnson, one of the students working in the UCI Center for Algorithms and Theory of Computation, passed his dissertation defense today. Tim has been supervised by Mike Goodrich, with a dissertation on graph drawing. He’s also my co-author on three papers: one at ISAAC 2017 on representing the vertices and adjacencies of graphs by touching squares, and two at ALENEX 2018 and ICALP 2018 on dynamic sorting.Report from ALGO2018-08-24T19:40:00+00:002018-08-24T19:40:00+00:00https://11011110.github.io/blog/2018/08/24/report-from-ALGO<p>I’m writing this from Helsinki, where <a href="http://algo2018.hiit.fi/">ALGO 2018</a> just finished. ALGO is the conglomeration of the European Symposium on Algorithms with multiple other satellite symposia and workshops; this year it included the 4th International Symposium on Algorithmic Aspects of Cloud Computing (ALGOCLOUD), 14th International Symposium on Algorithms and Experiments for Wireless Networks (ALGOSENSORS), 18th Workshop on Algorithmic Approaches for Transportation Modeling, Optimization, and Systems (ATMOS), 13th International Symposium on Parameterized and Exact Computation (IPEC), 18th Workshop on Algorithms in Bioinformatics (WABI), and 16th Workshop on Approximation and Online Algorithms (WAOA). My two papers were in IPEC, and I mostly attended talks from ESA and IPEC, but with a few others from the other workshops as well.</p>
<p>I’ve already written about my paper on <a href="/blog/2018/08/07/finding-obstacle-avoiding.html">finding obstacle-avoiding subsets of point sets</a>. I’ll make a separate post on my other paper (on parameterized recognition of sparse <a href="https://en.wikipedia.org/wiki/Leaf_power">leaf power graphs</a>) once we have a preprint online; IPEC does its proceedings after the conference, so we haven’t completed our updates from the conference peer review yet. But I thought I’d post here about a few of the talks that caught my attention. These are a fraction of the ones I saw out of a fraction of the ones that could have been seen at the conference, so they’re probably not a very representative sample, but regardless here they are:</p>
<ul>
<li>
<p>My favorite contributed talk of Monday morning was by Shay Solomon on his paper with Nicole Wein, “<a href="http://dx.doi.org/10.4230/LIPIcs.ESA.2018.72">Improved dynamic graph coloring</a>”. Graph coloring can be hard, so this paper encapsulates that hardness by assuming you have a subroutine that can <script type="math/tex">k</script>-color subgraphs of the graphs you’re given, which are changing by insertions and deletions of edges. They show how to maintain a coloring with <script type="math/tex">O(k\log^2 n)</script> colors, in amortized constant vertex-recolorings per update. The trick is to maintain a partition of the vertices of the graph into statically-colored subgraphs, each having a number of vertices that’s a power of two and existing over a number of update steps equal to the same power of two. These subgraphs together cover most of the edges of the graph, in the sense that the remaining edges form a subgraph with logarithmic vertex degree. There are logarithmically many static graphs at any time, each using <script type="math/tex">k</script> colors, so the total number of colors used by them all is <script type="math/tex">O(k\log n)</script>. Because the remaining subgraph has low degree, one can dynamically recolor each vertex after each update using logarithmically many colors. The overall coloring is then the Cartesian product of the static and dynamic colorings.</p>
</li>
<li>
<p>Each day of the conference had an invited plenary lecture, the first of which was by Claire Mathieu. Claire spoke about her experience with the French national system for assigning high school graduates to university degree programs; there are roughly 800k students, each of whom (by law) is to be matched with a position. They’re using <a href="https://en.wikipedia.org/wiki/Stable_marriage_problem">stable matching</a>, of course, but in a somewhat surprising way. Theoretically, one might suppose that the right thing to do is for students and schools to each submit a ranking of who they would like to be matched to, run the Gale–Shapley algorithm, and then return the results to everybody. There are two choices (students propose and schools propose) for how to run this algorithm, but the students-propose variant has the advantage that it incentivizes the students to be honest in their rankings: there is no advantage to be gained by submitting a ranking that differs from your actual ranking. But in practice, students-propose and schools-propose produce results that are 99.9% the same, and the bigger problem is that the students don’t really know their rankings up front (beyond one or two top choices).</p>
<p>So instead they do the schools-propose version, interactively in a sequence of rounds where the schools actually send out proposals to the students and the students are required to respond within a period of three days to each new proposal (deciding whether to reject it, or accept it and reject whatever other earlier offer they might have previously accepted). Most of the difficulty in designing the system comes in adjusting the school rankings to account for requirements that some student offers come with dorm rooms and others don’t, that schools are required to take a certain fraction of low-income students, and that students are required to take a certain fraction of local students. These fractions are baked into the adjusted rankings, so that
no matter which prefix of a school’s ranking ends up getting proposals, the required fractions will be included. I found the quick-turnaround rule for student responses problematic, though, and Claire agreed. For instance my son has been working summers at <a href="http://unalayee-summer-camp.com/">a remote wilderness camp</a>, with no internet access for weeks at a time, and would not have been able to participate in such a system. One could imagine allowing students to preselect their rankings if they wanted to, and Claire says her committee proposed to do that, but unfortunately it was rejected. Another complication is that even though everyone must be matched, the graph of applicant and school rankings does not have a perfect matching; Claire didn’t detail the consolation round needed to deal with students who could not be matched in the main algorithm.</p>
</li>
<li>
<p>Another of the contributed talks, on Monday afternoon, was by Michal Opler (with Vít Jelínek and Pavel Valtr) on “<a href="http://dx.doi.org/10.4230/LIPIcs.ESA.2018.50">Generalized coloring of permutations</a>”. The question here is whether you can partition a given permutation (represented as a sequence of the numbers from <script type="math/tex">1</script> to <script type="math/tex">n</script>) into two or more subsequences that belong to specified <a href="https://en.wikipedia.org/wiki/Permutation_class">permutation classes</a>. Their main technique is to describe each permutation class by a <a href="https://en.wikipedia.org/wiki/NL_(complexity)">nondeterministic logspace</a> recognition algorithm. When this is possible, one can combine these recognizers to produce another
<script type="math/tex">\mathsf{NL}</script> recognition algorithm for the permutations that can be partitioned in this way. Then the fact that <script type="math/tex">\mathsf{NL}\subset\mathsf{P}</script> leads to a polynomial time algorithm.</p>
</li>
<li>
<p>Three of the talks involved interesting graph parameters with which I was unfamiliar. On Tuesday Florian Nelles spoke on “<a href="http://dx.doi.org/10.4230/LIPIcs.ESA.2018.55">Efficient and adaptive parameterized algorithms on modular decompositions</a>” with Stefan Kratsch. Their paper showed that problems like counting triangles could be solved efficiently for graphs of low <i>modular width</i>, the size of the largest prime graph in a <a href="https://en.wikipedia.org/wiki/Modular_decomposition">modular decomposition</a> of the graph. On Wednesday O-Joung Kwon spoke on “<a href="https://arxiv.org/abs/1803.03514">Generalized distance domination problems and their complexity on graphs of bounded mim-width</a>”; the <i>mim-width</i> is the maximum induced matching size among the cuts of a <a href="https://en.wikipedia.org/wiki/Branch-decomposition">branch decomposition</a> chosen to minimize this number. It has the advantage that it stays small for graph products, so for instance <script type="math/tex">k</script>-leaf powers have mim-width one even though other width parameters can grow with <script type="math/tex">k</script>. And Dušan Knop spoke on Thursday on “<a href="https://arxiv.org/abs/1711.02032">Integer programming in parameterized complexity: Three miniatures</a>” with Tomáš Gavenčiak and Martin Koutecký. Their paper shows that <a href="https://en.wikipedia.org/wiki/Sum_coloring">sum coloring</a> can be solved efficiently in the <i>neighborhood diversity</i> of the graph, the number of distinct neighborhoods that different vertices can have. A graph with <script type="math/tex">n</script> vertices and bounded neighborhood diversity can be represented using only <script type="math/tex">O(\log n)</script> bits of information (the number of vertices of each type) so “efficiently” means that the part of the time bound depending on <script type="math/tex">n</script> should be only logarithmic.</p>
</li>
<li>
<p>Tim Roughgarden gave a very nice invited talk on Tuesday, “How computer science informs modern auction design”. The running example was an auction <a href="https://www.fcc.gov/document/fcc-announces-results-worlds-first-broadcast-incentive-auction-0">used by the US FCC in 2016–2017 to reallocate television channels for other uses</a>, in three phases: a <a href="https://en.wikipedia.org/wiki/Reverse_auction">reverse auction</a> to buy back old television channels from their owners, a consolidation phase in which the remaining television stations are moved to different frequencies so that the same set of channels is freed nationwide, and a conventional forward auction phase to re-sell the newly-freed channels. A reverse auction involves starting with unrealistically-high prices for whatever it is you want to buy, and then lowering the prices as long as the remaining sellers provide enough supply. There’s a theorem here, that this works well when there’s a good reverse greedy approximation algorithm, which could motivate a lot of potential research; reverse greedy algorithms have been somewhat neglected as forward greedy methods are usually easier to understand and have better approximations. In the coloring case a good approximation guarantee is unlikely but one can still give up the guarantees and use the same approach. The bigger difficulty is that, to ensure that there is enough remaining supply to free up enough channels after the consolidation stage, the auctioneers need to solve a graph coloring problem at each offer of a price drop to each seller. These problems are of moderate size (around 2k vertices and 20k edges) so a lot of algorithm engineering was needed to solve them quickly enough to make the auction work.</p>
</li>
<li>
<p>Unfortunately the best student papers from the two tracks of ESA were scheduled opposite each other, so I could only go to one. I chose
Max Bannach’s talk on his paper “<a href="http://dx.doi.org/10.4230/LIPIcs.ESA.2018.6">Practical access to dynamic programming on tree decompositions</a>” with Sebastian Berndt from track B. They implemented two open-source software systems. <a href="https://github.com/maxbannach/Jdrasil">Jdrasil</a> builds tree decompositions of graphs. Using it one can write in a hundred or so lines of Java a program to do simple dynamic programs such as the one for 3-coloring; Bannach presented data showing that this is very competitive with state-of-the-art solvers. His second (and more experimental) system is <a href="https://github.com/maxbannach/Jatatosk">Jatatosk</a>, which can automatically generate these dynamic programming algorithms from a description of the problem in a restricted fragment of the <a href="https://en.wikipedia.org/wiki/Logic_of_graphs">monadic second-order logic of graphs</a>.</p>
</li>
<li>
<p>The other award-winning ESA talks were scheduled sequentially rather than in parallel, occupying the rest of Tuesday afternoon until the boat-tour excursion and conference dinner. They were Eva Rotenberg’s talk on “<a href="http://dx.doi.org/10.4230/LIPIcs.ESA.2018.46">Decremental SPQR-trees for planar graphs</a>” (track A winner, with
Jacob Holm, Pino Italiano, Adam Karczmarz, and Jakub Łącki); “<a href="http://dx.doi.org/10.4230/LIPIcs.ESA.2018.70">An exact algorithm for the Steiner forest problem</a>” (track B, by Daniel R. Schmidt, Bernd Zey, and François Margot), and James Abello presenting his work with former theorists Adam Buchsbaum and Jeff Westbrook from ESA 1998 on external-memory graph algorithms (winner of the <a href="http://algo2018.hiit.fi/esa/tot/">test-of-time award</a>) and some of his own later work on visualization of massive graph data based on this paper.</p>
</li>
<li>
<p>Wednesday morning Bart Jansen spoke on “<a href="https://arxiv.org/abs/1806.10513">Lower bounds for dynamic programming on planar graphs of bounded cutwidth</a>” (with
Bas van Geffen, Arnoud de Kroon, and Rolf Morel). This was the paper that (indirectly, through <a href="https://cstheory.stackexchange.com/q/35974/95">a cstheory.stackexchange question</a>) inspired one of my own papers from GD 2017, “<a href="http://dx.doi.org/10.7155/jgaa.00468">The effect of planarization on width</a>”. The main idea of Bart’s paper is to develop crossover gadgets for hardness reductions, showing that lower bounds for the parameterized complexity of graph problems can be extended without much change from general graphs to planar graphs.</p>
</li>
<li>
<p>Another talk from Wednesday morning that I enjoyed was Thore Husfeldt’s “<a href="https://arxiv.org/abs/1805.07135">Multivariate analysis of orthogonal range searching and graph distances parameterized by treewidth</a>” (with Karl Bringmann and Måns Magnusson), even though really there wasn’t much new in it. The paper looks at computing the diameter of a graph, which <a href="http://www.fmf.uni-lj.si/~cabello/publications/cabello-knauer-treewidth-2008.pdf">Cabello and Knauer had shown to be near-linear-time with fixed-parameter tractable dependence on the treewidth</a> by reducing it to a computational geometry problem, orthogonal range searching, and then applying standard <a href="https://en.wikipedia.org/wiki/Range_tree">range tree</a> data structures. The usual (<a href="https://doi.org/10.1145/358841.358850">Bentley 1980</a>) analysis of range trees solves the recurrence <script type="math/tex">T(n,d)=2T(n/2,d)+T(n,d-1)</script> to show that their time per operation is <script type="math/tex">O(\log^d n)=O(n^{\epsilon}d^{O(d)})</script>, giving a somewhat high dependence on the width parameter (which becomes the dimension <script type="math/tex">d</script>). But a different analysis based on more carefully counting the number of paths to each copy of each point in the range tree (<a href="https://doi.org/10.1016/0196-6774(80)90005-X">Monier 1980</a>) shows that their time per operation is <script type="math/tex">O\left(\tbinom{\lceil\log n\rceil+d}{d}\right)=O(n^{\epsilon}2^{O(d)})</script>, better dependence on the width without really sacrificing anything in the dependence on <script type="math/tex">n</script>.</p>
</li>
<li>
<p>Wednesday’s plenary talk was by Mihai Pop, titled “From clustering to variant discovery: Algorithmics opportunities in microbiome research”. A part that particularly caught my attention involved the visualization of assembly graphs, graphs whose vertices represent sequenced pieces of DNA and whose edges represent the possibility of gluing two sequences together to a longer sequence. Apparently the standard tool for this visualization problem is <a href="https://rrwick.github.io/Bandage/">Bandage</a>, which produces 3d visualizations in which the clearly assembled parts form long curved ropes connecting smaller and more-intricate parts where the assembly is still ambiguous. They look pretty but Pop didn’t like them, because they put the visual emphasis on the wrong parts. Instead he’s been developing a tool called <a href="https://marbl.github.io/MetagenomeScope/">Metagenomescope</a> with a very different visualization style that he thinks is more useful.</p>
</li>
<li>
<p>This year’s Nerode Prize winners were Stefan Kratsch and Magnus Wahlström; Wahlström gave the invited talk for the prize on Thursday. It was given for their TALG 2014 paper “<a href="https://doi.org/10.1145/2635810">Compression via matroids: A randomized polynomial kernel for odd cycle transversal</a>” but the award citation on <a href="http://fpt.wikidot.com/">the FPT wiki</a> and the talk itself also covered material from their follow-up FOCS 2012 paper, “<a href="https://arxiv.org/abs/1111.2195">Representative sets and irrelevant vertices: New tools for kernelization</a>”.</p>
</li>
<li>
<p>Friday morning at IPEC was an invited (but not plenary) tutorial on parameterized counting problems by Radu Curticapean, for which he had filmed some beautiful animations involving playdough and M&Ms. He mostly focused on problems of counting copies of small graphs in larger ones, where “copies” can mean subgraphs, induced subgraphs, or homomorphisms. It turns out that these three types of copies each form a basis for the same space of “motifs”, functions that you get as linear combinations of counts of different small graphs, but they behave differently from each other. For the number of induced subgraphs, the only thing you can do is a brute force search: the exponent of <script type="math/tex">n</script> in the time bounds for counting the copies of any <script type="math/tex">k</script>-vertex graph is proportional to <script type="math/tex">k</script>. For the number of subgraphs, the exponent is controlled in the same way by the vertex cover number of the small subgraph you’re looking for, and for the number of homomorphisms, the exponent is controlled by treewidth. But the homomorphism basis is the most fundamental one in the sense that the exponent for computing any motif is the same as the maximum exponent for any of the elements in its expansion for the homomorphism basis.</p>
<p>The next talk by Marc Roth with Johannes Schmitt (“<a href="https://arxiv.org/abs/1807.01920">Counting induced subgraphs: A topological approach to <script type="math/tex">\#\mathsf{W}[1]</script>-hardness</a>”) continued the same theme, showing that for many natural graph counting problems (like finding the number of <script type="math/tex">k</script>-vertex connected subgraphs or bipartite subgraphs) the exponent-controlling term in the homomorphism expansion is the one for the <script type="math/tex">k</script>-clique, and that therefore the exponent is necessarily near-linear. Their method uses an inclusion-exclusion formula for the coefficient of the <script type="math/tex">k</script>-clique in the homomorphism expansion and a reduction from this to a simpler inclusion-exclusion formula on the potential edge classes of a <a href="https://en.wikipedia.org/wiki/Circulant_graph">circulant graph</a>, previously used in connection with <a href="https://en.wikipedia.org/wiki/Aanderaa%E2%80%93Karp%E2%80%93Rosenberg_conjecture">evasiveness</a> by Kahn, Saks, and Sturtivant (FOCS 1983 and <a href="https://doi.org/10.1007/BF02579140">Combinatorica 1984</a>). Roth and Schmitt’s paper won both the best paper and best student paper awards at IPEC.</p>
</li>
<li>
<p>The final plenary talk of the conference was by Gerhard Woeginger, speaking on “Some easy and some not so easy geometric optimization problems”. The talk was on a particular approximation technique for problems of approximating the construction of a graph on a set of geometric points that minimizes or maximizes the sum of Euclidean edge lengths. When the metric is not Euclidean, but instead a polyhedral distance function, one can choose a normal vector for each facet of the distance function. The length of an edge is obtained by taking the dot products of the endpoints with each normal vector, and choosing the normal vector for which the absolute value of the difference of dot products is maximum. This allows certain geometric optimization problems like MaxTSP to be transformed into a graph problem on the complete bipartite directed graph that has points on one side, normal vectors on the other side, and dot products or (depending on direction) negated dot products as edge weights. A traveling salesperson tour on the points can be expanded into an Euler tour of a subgraph of this bipartite graph that visits the points in the same order, and this expansion is both weight-preserving and reversible. So to solve MaxTSP we need only find the maximum-weight Eulerian subgraph that visits each point-vertex only twice. This can be done in <script type="math/tex">\mathsf{XP}</script> time (parameterized by the number of normal vectors) by guessing the shape of the subgraph (how many of the point-vertices connect each pair of normal-vector-vertices) and then solving a matching problem to pair the actual points with the abstract point-vertices of the guessed shape. By choosing polyhedral metrics that approximate the Euclidean metric with few normal vectors, one obtains a polynomial-time approximation scheme for Euclidean MaxTSP in any bounded dimension, and for many similar maximization problems. But this approach doesn’t work for the usual (minimization) TSP, nor for some other maximization problems that Gerhard discussed. He finished by asking for a more general theory to explain more clearly when we can expect this technique to work and when it fails. Another interesting question for the same line of research is whether the <script type="math/tex">\mathsf{XP}</script> dependence on the number of normal vectors can be replaced by <script type="math/tex">\mathsf{FPT}</script> dependence, giving an efficient PTAS.</p>
</li>
</ul>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/4qyaRG4HaFK">G+</a>)</p>David EppsteinI’m writing this from Helsinki, where ALGO 2018 just finished. ALGO is the conglomeration of the European Symposium on Algorithms with multiple other satellite symposia and workshops; this year it included the 4th International Symposium on Algorithmic Aspects of Cloud Computing (ALGOCLOUD), 14th International Symposium on Algorithms and Experiments for Wireless Networks (ALGOSENSORS), 18th Workshop on Algorithmic Approaches for Transportation Modeling, Optimization, and Systems (ATMOS), 13th International Symposium on Parameterized and Exact Computation (IPEC), 18th Workshop on Algorithms in Bioinformatics (WABI), and 16th Workshop on Approximation and Online Algorithms (WAOA). My two papers were in IPEC, and I mostly attended talks from ESA and IPEC, but with a few others from the other workshops as well.Origami graphs2018-08-21T07:21:00+00:002018-08-21T07:21:00+00:00https://11011110.github.io/blog/2018/08/21/origami-graphs<p>A couple of months ago I wrote here about <a href="/blog/2018/06/22/vertex-free-flat.html">origami folding patterns in which each crease runs all the way across the paper</a>. That’s now detailed in an appendix of my new preprint “Realization and Connectivity of the Graphs of Origami Flat Foldings” (<a href="https://arxiv.org/abs/1808.06013">arXiv:1808.06013</a>, to appear at <a href="https://dccg.upc.edu/gd2018/">Graph Drawing</a>). But as the title suggests, the main part of the paper is about a somewhat different topic.</p>
<p>If you fold a piece of paper so that, in its folded state, it lies flat again (like the <a href="https://commons.wikimedia.org/wiki/File:Bird_base.svg">bird base</a> from which an origami crane is made, but unlike the crane itself), and then you unfold the paper again and look at the creases that were used when it was in its folded state, those creases form straight line segments across the paper that continue until they meet other creases or the edge of the paper. They look like a planar graph! The question is: which graphs can you get in this way?</p>
<p style="text-align:center"><img src="/blog/assets/2018/bird-base.svg" alt="Bird base (as illustrated by Fred the Oyster at https://commons.wikimedia.org/wiki/File:Bird_base.svg) and its unfolded graph." /></p>
<p>The new paper contains two main results: every tree with even degree (at least four) at its internal vertices can be the graph of an origami folding, and every graph of an origami folding is 2-vertex-connected and 4-edge-connected. This seems contradictory, as trees are only 1-connected, but the resolution to the contradiction comes from using different mathematical models for how you construct a graph from a folding pattern.</p>
<p><a href="https://en.wikipedia.org/wiki/Maekawa%27s_theorem">Maekawa’s theorem</a> implies that, at every point where creases come together the degree must be even and at least four. So the only way to get a leaf of a tree would be for it to be a point where the crease reaches the edge of the paper. To simplify the problem mathematically, we instead consider infinite sheets of paper, and look for folding patterns that form trees having infinite rays as their leaves. Cutting the paper into a square that surrounds all the other vertices of the drawing would then make a finite tree with leaves along the edges of the square. Sort of like the following drawing:</p>
<p style="text-align:center"><img src="/blog/assets/2018/tree-counterexample.svg" alt="Locally but not globally flat foldable tree" /></p>
<p>This drawing obeys not only Maekawa’s theorem, but also <a href="https://en.wikipedia.org/wiki/Kawasaki%27s_theorem">Kawasaki’s theorem</a>, according to which the alternating sum of angles at each vertex must be zero. That’s enough to allow it to fold flat locally, at each vertex (ignoring the rest of the pattern). But it is not globally flat foldable! If you try it, you will discover that the four diagonal creases that extend as rays from the center of the drawing must be folded in the usual way that you would quarter a sheet of paper, jamming one of the creases into the middle of another one. So far so good. But no matter which of these four diagonal creases you choose as the inner one, it will get in the way of the additional folds attached to the other crease that surrounds it.</p>
<p>Despite this tricky example, Maekawa’s condition on the vertex degrees turns out to be the only obstacle to drawing trees as flat-foldable folding patterns. The trick is to surround each crease with a buffer zone of unfolded paper, preventing two creases from being folded right up against each other like in the example, so that there is always more room to attach more creases to each one.</p>
<p>The other result on connectivity again uses an infinite sheet of paper but it forms a graph from a folding pattern by adding one more vertex at infinity, to be the endpoint of all of the creases that form rays, rather than giving each ray its own separate ending vertex. So when you do this to a tree folding pattern, all the leaves end up being merged into a single supervertex, giving a series-parallel graph. The graphs that you get in this way from trees with degree-four internal vertices have vertex connectivity exactly 2 and edge connectivity exactly 4, showing that the connectivity bounds in the paper are tight.</p>
<p>For some other geometric graph realization questions, like the question of <a href="https://en.wikipedia.org/wiki/Steinitz%27s_theorem">which graphs are the graphs of convex polyhedra</a>, connectivity tells the whole answer. A graph is the graph of a convex polyhedron if and only if it is planar and 3-vertex-connected. It would be nice to get a similar complete characterization for the graphs of origami flat folding patterns, but I don’t know of one.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/3k9F5rBdgKv">G+</a>)</p>David EppsteinA couple of months ago I wrote here about origami folding patterns in which each crease runs all the way across the paper. That’s now detailed in an appendix of my new preprint “Realization and Connectivity of the Graphs of Origami Flat Foldings” (arXiv:1808.06013, to appear at Graph Drawing). But as the title suggests, the main part of the paper is about a somewhat different topic.