Jekyll2017-07-21T05:42:53+00:00https://11011110.github.io/blog/11011110Geometry, graphs, algorithms, and moreDavid EppsteinLinkage2017-07-15T18:22:00+00:002017-07-15T18:22:00+00:00https://11011110.github.io/blog/2017/07/15/linkage<ul>
<li>
<p><a href="https://www.ghacks.net/2017/06/30/photobucket-now-charges-399-for-third-party-hosted-images/">Photobucket raises its hosting rates to “go away we don’t want your business”</a>, <a href="http://boingboing.net/2017/06/27/end-times.html">Flickr kicks out users of competing email servers</a>, <a href="http://www.chronicle.com/blogs/profhacker/changes-to-unsplash/64198">Unsplash ditches open access</a>, and <a href="https://www.dropbox.com/help/photos-videos/photos-page">Dropbox stops photo sharing</a> (<a href="https://plus.google.com/100003628603413742554/posts/ayiBSiy67Vp">G+</a>). This is why I don’t like relying on cloud services: they go away or add unacceptable terms of service without warning.</p>
</li>
<li>
<p><a href="http://images.math.cnrs.fr/Voyage-sur-une-balle-de-tennis.html">How to construct the seams on a tennis ball from four semicircles</a> (<a href="https://plus.google.com/100003628603413742554/posts/Bh9EzpR9zsV">G+</a>), or more generally <a href="https://mathoverflow.net/questions/130255/optimal-inspection-path-on-a-sphere">cover a sphere with rope of a constant width</a>.</p>
</li>
<li>
<p><a href="Zip files that contain themselves">https://research.swtch.com/zip</a> (<a href="https://plus.google.com/100003628603413742554/posts/3zFddLLxA18">G+</a>). Or see <a href="https://wgreenberg.github.io/quine.zip/">this alternative link</a> if you want to work out how to do it as a puzzle without the spoilers.</p>
</li>
<li>
<p><a href="http://ivanceras.github.io/svgbob-editor/">Turn your ascii art into vector graphics!</a> (<a href="https://plus.google.com/100003628603413742554/posts/eWPCk5sBqgg">G+</a>, via <a href="http://www.metafilter.com/168064/BobSVGMarkdownHTML">MF</a>).</p>
</li>
<li>
<p><a href="http://mybiasedcoin.blogspot.com/2017/07/mitzenmacher-and-upfal-2nd-edition.html">Mitzenmacher and Upfal’s “Alice book” updated</a> (<a href="https://plus.google.com/100003628603413742554/posts/aEG3gfgBWRK">G+</a>). An essential reference for randomized algorithm analysis. Not to be confused with <a href="http://webdam.inria.fr/Alice/">that other Alice book on databases</a> nor with the Alice who’s been <a href="https://www.eff.org/alice">saving us from bad “on a computer” patents</a>.</p>
</li>
<li>
<p><a href="https://plus.google.com/+DanPiponi/posts/RpwQAD4jTrb">Connections between modal logic and bitwise Boolean arithmetic</a> (<a href="https://plus.google.com/100003628603413742554/posts/3vUsfGMxX8P">G+</a>). See also a later post where Dan Piponi <a href="http://blog.sigfpe.com/2017/07/self-referential-logic-via-self.html">connects both modal logic and bit-manipulation to digital circuit design</a>.</p>
</li>
<li>
<p><a href="https://www.economist.com/news/science-and-technology/21724796-future-photography-flat-cameras-are-about-get-lot-smaller">Lensless cameras based on phased arrays</a> (<a href="https://plus.google.com/100003628603413742554/posts/JKcet3oRzqF">G+</a>, via <a href="https://news.ycombinator.com/item?id=14727607">YC</a>). They don’t necessarily cover less area than current cell phone cameras, but they can be a lot flatter.</p>
</li>
<li>
<p><a href="https://cs.uwaterloo.ca/news/memory-professor-alejandro-alex-lopez-ortiz">In memory of Alejandro (Alex) López-Ortiz</a> (<a href="https://plus.google.com/100003628603413742554/posts/WfdCryGvndu">G+</a>).</p>
</li>
<li>
<p><a href="https://www.insidehighered.com/quicktakes/2017/07/11/proposal-would-require-international-students-reapply-permission-stay">Trump administration proposes making foreign students re-apply for entry every year</a> (<a href="https://plus.google.com/100003628603413742554/posts/8DWmQeDBcNB">G+</a>). In case you weren’t already certain that the Trump administration hates higher education.</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/pentagon-tiling-proof-solves-century-old-math-problem-20170711/"><em>Quanta</em> on Rao’s new pentagonal tiling proof</a> (<a href="https://plus.google.com/100003628603413742554/posts/959R5tpLjgS">G+</a>). Thomas Hales vouches for correctness of “the most important half”.</p>
</li>
<li>
<p><a href="https://www.forbes.com/sites/janetwburns/2017/07/12/forget-politics-without-a-neutral-internet-u-s-workers-stand-to-lose-trillions/#6151aee55007">Why net neutrality is essential, not just for idealistic reasons but for the health of the national economy</a> (<a href="https://plus.google.com/100003628603413742554/posts/iJDGkDCHaMQ">G+</a>).</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/subhash-khot-playing-unique-games-in-washington-square-park-20170710">Subhash Khot and Unique Games</a> (<a href="https://plus.google.com/100003628603413742554/posts/4z88akpUACz">G+</a>). Not very in-depth, but another nice popularization of current research from <em>Quanta</em>.</p>
</li>
<li>
<p><a href="http://www.thisiscolossal.com/2017/07/origami-pineapple-pavilion/">Pink Pineapple Pavilion</a> (<a href="https://plus.google.com/100003628603413742554/posts/SwgCwJpe3Ax">G+</a>). An outdoor shade structure in southwest England, built of metal and fabric but “based on a piece of origami” by its designers.</p>
</li>
</ul>David EppsteinPhotobucket raises its hosting rates to “go away we don’t want your business”, Flickr kicks out users of competing email servers, Unsplash ditches open access, and Dropbox stops photo sharing (G+). This is why I don’t like relying on cloud services: they go away or add unacceptable terms of service without warning.Pascal trees for range searching2017-07-02T15:45:00+00:002017-07-02T15:45:00+00:00https://11011110.github.io/blog/2017/07/02/pascal-trees-range<p>Let’s try the same Pascal’s triangle trick that we used in the last post to make <a href="/blog/2017/07/01/pascals-triangle-points.html">point sets with no large convex polygon</a>, on a different kind of object.
Instead of point sets, we’ll make binary search trees.</p>
<p>Form a family of binary trees with <script type="math/tex">\tbinom{n}{i}</script> leaves, as follows.</p>
<ul>
<li>
<p>When <script type="math/tex">i=0</script> or <script type="math/tex">i=n</script>, then <script type="math/tex">\tbinom{n}{i}=1</script> and there is only one tree node.</p>
</li>
<li>
<p>For any other choice of <script type="math/tex">i</script>, use the tree for <script type="math/tex">\tbinom{n-1}{i-1}</script> as the left subtree and the tree for <script type="math/tex">\tbinom{n-1}{i}</script> as the right subtree, with an additional node as their parent.</p>
</li>
</ul>
<p>Like this:</p>
<p style="text-align:center"><img src="/blog/assets/2017/pascal-trees.svg" alt="32-vertex Pascal's triangle of binary search trees" /></p>
<p>And again, let’s take the trees on a single row, and connect them together with the same gluing operation (a new node with a left and right subtree) in left-to-right order, so that their number of leaves is a power of two
(and their number of nodes is one less than a power of two):</p>
<p style="text-align:center"><img src="/blog/assets/2017/pow2-trees.svg" alt="32-vertex Binary search trees constructed from whole rows of Pascal's triangle" /></p>
<p>Why?</p>
<p>Well, here’s one possible answer. You may know that one application of binary search trees is in handling range search queries. Suppose you have a data set organized as a binary search tree and you want to know something about the subset of the data in a range <script type="math/tex">[L,R]</script>. Then you can do a binary search for <script type="math/tex">L</script> and <script type="math/tex">R</script>, and find the subset you want as individual nodes on the two search paths plus whole subtrees between the two paths. In the illustration below I’ve marked the roots of the whole subtrees in yellow. (The leaf at the far right of the blue range is on the search path, so it doesn’t count as a whole subtree; the yellow subtree roots are children of search path nodes but not on the search path themselves.)</p>
<p style="text-align:center"><img src="/blog/assets/2017/range-search.svg" alt="32-vertex Range search in a binary tree" /></p>
<p>You might think that a complete binary tree, like the one above, would be the best choice for this search, but it might not be. In range searching queries like this, it’s often the case that the subtrees between the search paths are more expensive than the individual nodes on the paths. This is because you might have to do another query (say, a range search in another dimension) on those subtrees, whereas that same information can be computed directly for a single node. So, the goal should be to minimize the number of subtrees on your paths.</p>
<p>In a complete binary search tree with <script type="math/tex">2^n-1</script> nodes, such as the one shown above for <script type="math/tex">n=6,</script> you can find ranges that put as many as <script type="math/tex">2n-4</script> complete subtrees inside the range: for instance, consider a range that excludes only the first and last leaf nodes of the tree. In contrast, the binary search tree formed from row <script type="math/tex">n-1</script> of the Pascal triangle of trees has exactly the same number of nodes, but every range contains at most <script type="math/tex">n-2</script> complete subtrees. That is, for range search problems where the interior subtrees are the most expensive part of the search, these Pascal trees are twice as efficient.
The analysis proving this property is more or less the same as the analysis for convex polygons in point sets, but with the subtrees on the left and right sides of a search path replacing caps and cups respectively.</p>
<p>You pay for this by having deeper search paths, though, so this only works when the complete subtrees are the expensive part of the search. An alternative possibility would be to use a shallower and more balanced tree to link up the subtrees from a row of the triangle, making the search depth only <script type="math/tex">\log_2 n+O(\log\log n)</script> but possibly increasing the number of complete subtrees per search by that same <script type="math/tex">O(\log\log n)</script> term.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/DjCLvXd7NFX">Google+ comment thread</a>)</p>David EppsteinLet’s try the same Pascal’s triangle trick that we used in the last post to make point sets with no large convex polygon, on a different kind of object. Instead of point sets, we’ll make binary search trees.Pascal’s triangle of point sets2017-07-01T16:34:00+00:002017-07-01T16:34:00+00:00https://11011110.github.io/blog/2017/07/01/pascals-triangle-points<p>Form a family of sets of <script type="math/tex">\tbinom{n}{i}</script> points, as follows.</p>
<ul>
<li>
<p>When <script type="math/tex">i=0</script> or <script type="math/tex">i=n</script>, then <script type="math/tex">\tbinom{n}{i}=1</script> and there is only one point.</p>
</li>
<li>
<p>For any other choice of <script type="math/tex">i</script>, place the points for <script type="math/tex">\tbinom{n-1}{i-1}</script> below and to the left of the points for <script type="math/tex">\tbinom{n-1}{i}</script>, to form a single chain of points that is monotone in both their <script type="math/tex">x</script> and <script type="math/tex">y</script> coordinates. When placing these two subsets of points, use more space between them horizontally than vertically, so that all lines through pairs of points on the left side pass above the right side and all lines through pairs of points on the right side pass below the left side.</p>
</li>
</ul>
<p>Like this:</p>
<p style="text-align:center"><img src="/blog/assets/2017/pascal.svg" alt="32-vertex Pascal's triangle of point sets" /></p>
<p>This construction can be used to generate point sets with no large convex subsets. To see this, it’s easier to start with two restricted types of convex subset, called “cups” and “caps”. A cup is a subset of points that lies on the graph of a convex function, and a cap lies on the graph of a concave function. These are both convex subsets, but not all convex subsets are cups or caps. For instance, in the image above, the sets in the positions of the binomial coefficients <script type="math/tex">\tbinom{n}{1}</script> are cups and the sets in the positions of <script type="math/tex">\tbinom{n}{n-1}</script> are caps.</p>
<p>Then it turns out that the point set in position <script type="math/tex">\tbinom{n}{i}</script> contains neither an <script type="math/tex">(i+2)</script>-cap nor an <script type="math/tex">(n-i+2)</script>-cup. For <script type="math/tex">i=0</script> or <script type="math/tex">i=n</script>, this is easy to see directly: it doesn’t have enough points. For the other positions, the left side has no <script type="math/tex">(i+1)</script>-cap (by induction) so an <script type="math/tex">(i+2)</script>-cap would have to include at least two points of the right side, only possible if the cap is entirely on the right side. But the right side has no <script type="math/tex">(i+2)</script>-cap (by induction again), so the whole point set also has no such cap. The argument for cups is symmetric.</p>
<p>There’s also no convex subset of <script type="math/tex">n+1</script> points within any of these sets.
For, to make such a set, you would have to combine a cap on the left with a cup on the right, and the number of points you can get that way is too small.</p>
<p>But we can combine these sets to get even larger sets with no large convex polygons. Take each row of this triangle, and glue its point sets together in left-to-right order, again making the horizontal spacing wide enough that in each gluing step the lines through pairs on the left pass above the right and the lines through pairs on the right pass below the left:</p>
<p style="text-align:center"><img src="/blog/assets/2017/eszek.svg" alt="Gluing together one row of the triangle" /></p>
<p>What convex subsets do these point sets have? We already know that within each of the subconfigurations of <script type="math/tex">\tbinom{n}{i}</script> points there are no convex <script type="math/tex">(n+1)</script>-gons, so any larger convex polygon would have to combine points from two or more of these subconfigurations. But the best you can do is to take a cap from any one subconfiguration, a cup from another subconfiguration to its right, and single points from the subconfigurations between them. In all cases, this produces at most <script type="math/tex">n+1</script> points.</p>
<p>Therefore, we have found point sets with</p>
<script type="math/tex; mode=display">\sum_{i=0}^n \binom{n}{i}=2^n</script>
<p>points, having no convex <script type="math/tex">(n+2)</script>-gons. According to the conjectured solution to the <a href="https://en.wikipedia.org/wiki/Happy_ending_problem">happy ending problem</a>, every larger point set does have a convex <script type="math/tex">(n+2)</script>-gon, so (if the conjecture is true) this is the optimal construction for avoiding convex polygons using as many points as possible.</p>
<p>Some bibliographic notes: The number of points in these configurations was already suggested as a conjecture in the original 1935 paper on the happy ending problem by Erdős and Szekeres, hinting that they might have already known of a construction like this one, but they didn’t actually publish such a construction until 1961. Unfortunately, the copy of their 1961 paper on the Erdős publication archive is missing the pages describing the construction, so I’m not sure how they did it. I finally found a description in <a href="https://doi.org/10.1090/S0273-0979-00-00877-6">a 2000 survey by W. Morris and V. Soltan</a>. Morris and Soltan cite a 1995 paper by Kalbfleisch and Stanton that corrects “some inaccuracies in the proof” of Erdős and Szekeres; they follow the presentation of the Erdős–Szekeres construction from a 1979 book of Lovász. The construction here is based on the one from Morris and Soltan, but with a couple of minor changes, namely the arrangement of the point sets into a triangle and the use of the same gluing technique for both phases of the construction.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/3fccYp7AV22">Comment thread on Google+</a>)</p>David EppsteinForm a family of sets of points, as follows.Linkage2017-06-30T21:43:00+00:002017-06-30T21:43:00+00:00https://11011110.github.io/blog/2017/06/30/linkage<ul>
<li>
<p><a href="https://www.quantamagazine.org/cash-for-math-the-erdos-prizes-live-on-20170605/">Erdős’s legacy of cash prizes for problem solutions</a> (<a href="https://plus.google.com/100003628603413742554/posts/MSPET51NW8E">G+</a>). Sadly, Suk’s breakthrough on the happy ending problem doesn’t win the $500 prize still available for that one.</p>
</li>
<li>
<p><a href="http://jdh.hamkins.org/buckets-of-fish/">Buckets of fish!</a> (<a href="https://plus.google.com/100003628603413742554/posts/4Zw6XdR9Mjf">G+</a>). Joel David Hamkins describes a cute combinatorial game that always eventually terminates, despite the players’ ability to make games arbitrarily long. It has an infinite game tree, but there’s a simple trick that makes its strategy easy.</p>
</li>
<li>
<p><a href="https://www.peterkrautzberger.org/0183/">MathJax font matching and pairing</a> (<a href="https://plus.google.com/100003628603413742554/posts/iQp7hpLMd6y">G+</a>). A tool for making sure your MathJax fonts look good against your main text fonts.</p>
</li>
<li>
<p><a href="http://www.bbc.com/news/technology-40326544">Europeans propose end-to-end encryption for all</a> (<a href="https://plus.google.com/100003628603413742554/posts/95eFCzfNqHz">G+</a>). With bonus ban on backdoors.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/1704.08483">No, this is not a circle</a> (<a href="https://plus.google.com/100003628603413742554/posts/DpF5krEaU9u">G+</a>). Zoltán Kovács’s paper can also explain why <a href="http://barnowl93.deviantart.com/art/String-Art-Triforce-119734097">this string art triforce</a> does not depict a Reuleaux triangle.</p>
</li>
<li>
<p><a href="http://news.mit.edu/2017/algorithm-origami-patterns-any-3-D-structure-0622">Origami anything</a> (<a href="https://plus.google.com/100003628603413742554/posts/VTveatuvcbu">G+</a>). Erik Demaine and Tomohiro Tachi show how to fold any 3d shape from a single sheet of paper, in <a href="http://erikdemaine.org/papers/Origamizer_SoCG2017/">a new SoCG paper</a> on their <a href="http://origami.c.u-tokyo.ac.jp/~tachi/software/">Origamizer</a> software.</p>
</li>
<li>
<p><a href="https://windowsontheory.org/2017/06/17/the-1st-symposium-on-simplicity-in-algorithms-guest-post/">1st Symposium on Simplicity in Algorithms</a> (<a href="https://plus.google.com/100003628603413742554/posts/87V35UizDyw">G+</a>) I’m curious how this comes out, but this has to be an improvement on the current top theory conferences’ focus only on algorithms that are difficult and complicated and avoid taking advantage of any known techniques.</p>
</li>
<li>
<p><a href="http://money.cnn.com/2017/06/23/technology/future/minority-report-15-years/index.html">15 years after Minority Report: We’re entering the dystopia</a> (<a href="https://plus.google.com/100003628603413742554/posts/W9NpbCBxG72">G+</a>). Suresh gets extensively quoted by CNN for his warnings about using unexplainable automated methods to make legal judgements.</p>
</li>
<li>
<p><a href="https://blog.wikimedia.org/2017/06/23/wikimedia-v-nsa-present-future/">Wikimedia vs NSA</a> (<a href="https://plus.google.com/100003628603413742554/posts/1fLSgnEYayb">G+</a>). The question appears to be whether the NSA has the right to comb through all traffic through Wikipedia’s service provider.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=-1_VYcJGvKU">Topographical topology at Arches National Park</a> (<a href="https://plus.google.com/100003628603413742554/posts/aTSdgRyPmiN">G+</a>). Henry Segerman points out the nontrivial topology of the earth’s surface (and its complement the air) but asks whether there exists a place where they are not both handlebodies.</p>
</li>
<li>
<p><a href="https://lamington.wordpress.com/2011/12/02/laying-train-tracks/">The group theory of Brio</a> (<a href="https://plus.google.com/100003628603413742554/posts/ewaEeaMhFKc">G+</a>). Or, how to tell whether your track actually meets back up to form a smooth closed loop.</p>
</li>
<li>
<p><a href="https://plus.google.com/101113174615409489753/posts/KMsJteAox8k">2d vector animation on the web is currently dead</a> (<a href="https://plus.google.com/100003628603413742554/posts/bgfZdu6PWnQ">G+</a>). Sariel puts his finger on a serious gap in web graphics standards.</p>
</li>
<li>
<p><a href="http://www.siam.org/meetings/alenex18/">ALENEX 2018</a> (<a href="https://plus.google.com/100003628603413742554/posts/LN9i2tkT42i">G+</a>). The call for papers is out. Submit your experimental algorithms work by August 11 (abstract; full papers one week later).</p>
</li>
</ul>David EppsteinErdős’s legacy of cash prizes for problem solutions (G+). Sadly, Suk’s breakthrough on the happy ending problem doesn’t win the $500 prize still available for that one.Stable redistricting in road networks2017-06-29T18:57:00+00:002017-06-29T18:57:00+00:00https://11011110.github.io/blog/2017/06/29/stable-redistricting-in<p>I have another arXiv preprint, “Defining Equitable Geographic Districts in Road Networks via Stable Matching” (<a href="https://arxiv.org/abs/1706.09593">arXiv:1706.09593</a>, with Mike Goodrich, Doruk Korkmaz, and Nil Mamano). It’s a follow-up to <a href="/blog/2017/04/11/stable-grid-matching.html">our previous work on stable matching in grids</a>, but this time in road networks.</p>
<p>The idea is to partition a geographic region (such as a US state) into smaller districts from a given set of centers, so that each center has an equal (or designated) proportion of the population, and everyone is near their center. We formulate it as a stable matching problem where each center should be matched to its quota of population points, represented as vertices in a road network. Each center prefers to be matched to people near it and vice versa. Here’s an example of the kind of partition you get out of this:</p>
<p style="text-align:center"><img src="/blog/assets/2017/CA8.png" alt="California partitioned into eight stable district" /></p>
<p>This shows a partition of California into eight districts with random centers. The blank spots on the map are places roads don’t go (mostly mountains and desert). You can see that there are some problems with the partition, such as the light blue center somewhere in the San Francisco Bay Area getting most of its area in the far north and far south of the state. That sort of disconnection wouldn’t be allowed in the applications we have in mind, such as congressional redistricting. We hope to fix those sorts of issues by a more careful choice of centers, or possibly also by relaxing the requirement that each center have exactly the same quota, but for now we’re just investigating how to compute this partition.</p>
<p>It turns out that stable matching problems such as this one, where symmetric distance functions are used to determine the preferences on both sides of the matching, have unique solutions that can be constructed by a variant of the <a href="https://en.wikipedia.org/wiki/Nearest-neighbor_chain_algorithm">nearest-neighbor chain algorithm</a> from hierarchical clustering. We already used this idea in our grid matching paper, but it was easier there because of the existence of efficient dynamic post office data structures for points in a grid. To generalize this algorithm to road networks, we need a dynamic graph algorithm that can maintain a changing subset of network vertices and find the nearest neighbor in the subset to any query point, efficiently. This turns out to be possible using a separator hierarchy, giving us an algorithm to find the matching in time <script type="math/tex">O(n^{3/2}\log n)</script> for <script type="math/tex">n</script>-vertex networks.</p>
<p>This is better than the classical Gale–Shapley algorithm when the number of centers is large, especially because running Gale–Shapley requires computing and storing distances from all vertices to all centers, a slow and memory-consuming task.
Using the nearest-neighbor chain method we were able to solve some partitioning problems on which other algorithms ran out of memory. However, our computational experiments showed that for most inputs a better and simpler algorithm than either Gale–Shapley or the nearest neighbor chain algorithm is possible. The idea is to interleave multiple instances of Dijkstra’s algorithm, one for each center, matching each point of the graph to the first instance of Dijkstra that reaches it, and stopping each instance when it reaches its quota. One can find inputs that cause most of the instances of Dijkstra’s algorithm to search most of the graph, so the worst-case runtime of this interleaved Dijkstra method matches the distance computation phase of Gale–Shapley. But in our experiments with random centers most of the instances of Dijkstra’s algorithm stopped early, giving us fast running times in practice.</p>
<p>It seems reasonable to hope that, under some assumptions about what the input looks like and with randomly chosen centers, the interleaved Dijkstra method can achieve near-linear runtime. But we were not able to prove this; it’s one of the problems we list as open at the end of the preprint.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/CmGxRsfo9sU">Comment thread on Google+</a>)</p>David EppsteinI have another arXiv preprint, “Defining Equitable Geographic Districts in Road Networks via Stable Matching” (arXiv:1706.09593, with Mike Goodrich, Doruk Korkmaz, and Nil Mamano). It’s a follow-up to our previous work on stable matching in grids, but this time in road networks.The Malyshev graphs2017-06-18T15:21:00+00:002017-06-18T15:21:00+00:00https://11011110.github.io/blog/2017/06/18/the-malyshev-graphs<p>Some time ago <a href="/blog/2014/04/05/graphs-with-many.html">I reposted a question</a> from MathOverflow about whether <a href="https://mathoverflow.net/q/161006/440">graphs with many cycles have long cycles with doubled edges as minors</a>. The answer turned out to be no, with a counterexample found by Anton Malyshev for a related question about <a href="https://mathoverflow.net/a/162668/440">paths and doubled-path minors</a>.
Malyshev’s graphs can be formed by starting from a pair of vertices (such as the central two vertices in the drawing below) and then repeatedly adding two more vertices adjacent to the two previously-added vertices:</p>
<p style="text-align:center"><img src="/blog/assets/2017/malyshev32.svg" alt="32-vertex Malyshev graph" /></p>
<p>Lately I’ve been thinking about the same graphs again, because they have an interesting combination of properties:</p>
<ul>
<li>
<p>They are planar, and 2-degenerate, and triangle-free, like the <a href="/blog/2017/02/19/triangle-free-penny.html">triangle-free penny graphs</a> and the <a href="/blog/2009/05/28/squaregraphs.html">squaregraphs</a>.</p>
</li>
<li>
<p>Unlike <a href="/blog/2017/06/13/how-many-edges.html">both of those other types of graphs</a>, an <script type="math/tex">n</script>-vertex Malyshev graph has exactly <script type="math/tex">2n-4</script> edges, the maximum possible for a planar triangle-free graph.</p>
</li>
<li>
<p>They have high diameter, linear in the number of vertices.</p>
</li>
<li>
<p>They are bipartite, and are maximal among the planar bipartite graphs.</p>
</li>
<li>
<p>They are very far from being 3-connected, so if the vertices are labeled they have many distinct planar embeddings, showing that being maximal planar bipartite is very different from being maximal planar.</p>
</li>
<li>
<p>They have both bounded treewidth and bounded face size, like the <a href="https://en.wikipedia.org/wiki/Nested_triangles_graph">nested triangles graph</a> and the <a href="https://en.wikipedia.org/wiki/Apollonian_network">Apollonian networks</a> but unlike many other planar graphs.</p>
</li>
<li>
<p>They are permutation graphs.</p>
</li>
</ul>
<p>One way to see this last property is to recognize that the drawing above is exactly the form that one gets for <a href="/blog/2012/12/12/planar-bipartite-permutation.html">a method of drawing planar bipartite permutation graphs that I described in an earlier post</a>, and in fact to make this drawing I used the same program as the one that I used in that post.</p>
<p>Another way to see it is to find a permutation representation for these graphs.
We want a sequence of permutation elements where each two elements are out-of-order with only the two ahead of them and the two behind them, like this:</p>
<p style="text-align:center"><img src="/blog/assets/2017/malperm32.svg" alt="A permutation representing the 32-vertex Malyshev graph" /></p>
<p>We can convert this to <a href="/blog/2012/12/08/notation-for-321-avoiding.html">my notation for bipartite permutation graphs</a> by scanning this picture from left to right, looking at the direction of the line segments at the top and bottom of the picture at each position in this scan, and recording that pair of directions by a character that slants in the same direction at its top and bottom. In this case, the result is the string “>>\\//\\//\\//\\//\\//\\//\\//<<”. And that’s what I gave my permutation-graph-drawing code as input, to get it to produce the top picture.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/DSxNzbEd3gK">Discussion on Google+</a>)</p>David EppsteinSome time ago I reposted a question from MathOverflow about whether graphs with many cycles have long cycles with doubled edges as minors. The answer turned out to be no, with a counterexample found by Anton Malyshev for a related question about paths and doubled-path minors. Malyshev’s graphs can be formed by starting from a pair of vertices (such as the central two vertices in the drawing below) and then repeatedly adding two more vertices adjacent to the two previously-added vertices:Linkage2017-06-15T22:06:00+00:002017-06-15T22:06:00+00:00https://11011110.github.io/blog/2017/06/15/linkage<ul>
<li>
<p><a href="http://zuse.zib.de/item/gHI1cNsUuQweHB6">Zuse describes breadth-first search in 1945</a> (pp. 96–105 of link; <a href="https://plus.google.com/100003628603413742554/posts/3zETVZzQ7nV">G+</a>) as <a href="https://plus.google.com/+JeffErickson/posts/BoLhLRp7qYt">noticed by Jeff Erickson</a>. This is already 14 years earlier than the textbook date for the discovery of BFS, but Jeff thinks earlier instances are out there.</p>
</li>
<li>
<p><a href="https://blogs.scientificamerican.com/roots-of-unity/a-few-of-my-favorite-spaces-the-poincare-homology-sphere/">The Poincaré Homology Sphere</a> (<a href="https://plus.google.com/100003628603413742554/posts/bNJ4BgGYgjf">G+</a>). Evelyn Lamb explains what this space is and why it’s interesting.</p>
</li>
<li>
<p><a href="http://crookedtimber.org/2017/05/28/less-is-more/">Less is more</a> (<a href="https://plus.google.com/100003628603413742554/posts/jgb3Yu7kuUM">G+</a>). This Crooked Timber post and its discussion raise an interesting philosophical question about academic productivity: Is it better to have a small number of publications, but only in top venues, or to have the same amount of top-venue productivity plus a lot of lower-level publications?</p>
</li>
<li>
<p><a href="https://nickhigham.wordpress.com/2017/05/08/dot-grid-paper-for-writing-mathematics/">Dot grid paper for writing mathematics</a> (<a href="https://plus.google.com/100003628603413742554/posts/fPNC32XprVX">G+</a>). I’m thinking of switching from my habitual squared Moleskines to something nicer.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=NoRjwZomUK0">Squared squares</a> video from Numberphile (<a href="https://plus.google.com/100003628603413742554/posts/jFuu8Hb3KNu">G+</a>). The recreational math problem that began Bill Tutte’s work in graph theory.</p>
</li>
<li>
<p><a href="https://plus.google.com/101584889282878921052/posts/YdstbQVhAcq">Self-similar polygonal tilings</a> (<a href="https://plus.google.com/100003628603413742554/posts/WoxRVJanYZ2">G+</a>). Richard Green shares an image by Michael Barnsley and Andrew Vince of a quasiperiodic tiling with two similar prototiles, such that the whole tiling is similar to a subdivided copy of itself.</p>
</li>
<li>
<p><a href="http://blog.computationalcomplexity.org/2017/06/theory-jobs-2016.html">Lance Fortnow’s annual listing of which theoreticians are moving where</a> (<a href="https://plus.google.com/100003628603413742554/posts/JpVzjazqwV5">G+</a>), including the news that Vijay Vazirani is coming to UC Irvine! <a href="https://www.reddit.com/r/gatech/comments/6go8x2/farewell_to_one_of_techs_best_professors/">Here’s a related reddit post</a> by a former student, calling Vijay “an amazing professor”, one of the best at his former institution.</p>
</li>
<li>
<p><a href="http://www.latimes.com/local/lanow/la-me-uc-irvine-latino-20170609-story.html">UC Irvine recognized as a Hispanic Serving Institution</a> (<a href="https://plus.google.com/100003628603413742554/posts/LCuzot9RFPC">G+</a>). We’re better known for our even-bigger Asian population, but a quarter of our students are Hispanic/Latinx, and we’re one of only three top-100 research universities in the US to be distinguished in this way.</p>
</li>
<li>
<p><a href="https://theorydish.blog/2017/05/30/does-pigeonhole-degrade-gracefully/">Does pigeonhole degrade gracefully?</a> (<a href="https://plus.google.com/100003628603413742554/posts/jK8TRKwoA8h">G+</a>) A new Stanford theory blog discusses a sharp phase change in the maximum number of almost-disjoint sets of a given size, as the size drops below roughly the square root of the total number of elements.</p>
</li>
<li>
<p>“<a href="http://buff.ly/2rFeU3O">A Puzzle of Clever Connections Nears a Happy End</a>”, <em>Quanta</em> Magazine (<a href="https://plus.google.com/100003628603413742554/posts/h8MdMjikthQ">G+</a>). Andrew Suk’s almost-complete solution to the happy ending problem, getting the correct exponential (<script type="math/tex">2^n</script> not <script type="math/tex">4^n</script>) for how many points in general position in the plane are needed to guarantee the existence of a convex <script type="math/tex">n</script>-gon.</p>
</li>
<li>
<p><a href="https://www.insidehighered.com/news/2017/06/12/au-beirut-professor-turned-back-us-airport">Lebanese civil engineering professor with a valid visa and multiple past entries to the US denied entry to present his research at a conference</a> (<a href="https://plus.google.com/100003628603413742554/posts/3FuZXKV9JtZ">G+</a>). The sponsoring organization (ASCE) issued only a mealy-mouthed non-protest.</p>
</li>
<li>
<p><a href="http://www.jorislaarman.com/work/bone-chair/">Joris Laarman’s Bone Chair</a> (<a href="https://plus.google.com/100003628603413742554/posts/AuJv6MqEkhg">G+</a>). An early and pioneering work of generative design, a technique that is now becoming more commonplace and popular for its organic “art nouveau” forms and minimal use of materials. See the G+ post for several more recent generative design links.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@jhertzli/59637">Ruler, compass and helix constructions</a> (<a href="https://plus.google.com/100003628603413742554/posts/TsKB1FLZ2yf">G+</a>). From a post by @jherzli on <a href="https://mathstodon.xyz/">mathstodon.xyz</a>, a new social media platform for mathematicians.</p>
</li>
</ul>David EppsteinZuse describes breadth-first search in 1945 (pp. 96–105 of link; G+) as noticed by Jeff Erickson. This is already 14 years earlier than the textbook date for the discovery of BFS, but Jeff thinks earlier instances are out there.How many edges can a squaregraph have?2017-06-13T16:10:00+00:002017-06-13T16:10:00+00:00https://11011110.github.io/blog/2017/06/13/how-many-edges<p>The <a href="/blog/2009/05/28/squaregraphs.html">squaregraphs</a> are planar graphs in which all bounded faces are four-cycles, and each vertex either belongs to the outer face or has degree at least four. The rectangular grids form familiar examples.
A grid with <script type="math/tex">n</script> vertices can have up to <script type="math/tex">\lfloor 2n-2\sqrt{n}\rfloor</script> edges (depending on how close to square it is) and the same formula can also be obtained for other values of <script type="math/tex">n</script> by removing vertices from a square or nearly-square grid. For instance, the drawing below is of a partial grid with <script type="math/tex">51</script> vertices and <script type="math/tex">87</script> edges, matching the formula as <script type="math/tex">87=\lfloor 2\cdot 51-2\sqrt{51}\rfloor.</script></p>
<p style="text-align:center"><img src="/blog/assets/2017/partial-grid-51-87.svg" alt="57-vertex 87-edge squaregraph" /></p>
<p>What about squaregraphs more generally? How many edges can they have? To answer this, I think it’s easier to think about a dual version of the problem. The squaregraphs are exactly the graphs whose vertices represent the cells of a triangle-free weak pseudoline arrangement, and whose edges represent boundaries between cells. Here, a <a href="/blog/2007/08/03/was-sind-und.html">pseudoline</a> is a curve that can be obtained from a line in the plane by a topological deformation of the whole plane, a weak arrangement is a collection of pseudolines such that the intersection of every two pseudolines is either empty or a single crossing point, and it’s triangle-free if no three pseudolines all cross. It’s equivalent to think of these as triangle-free arrangements of lines in the hyperbolic plane, or as <a href="/blog/2008/03/22/labeling-cells-of.html">triangle-free chord diagrams</a>. The drawing below shows an example; the yellow line segments below are the pseudolines/hyperbolic lines/chords, each blue vertex lies in one of the regions separated by the yellow line segments, and each edge between two blue vertices corresponds to a pair of regions separated by one of the yellow line segments.</p>
<p style="text-align:center"><img src="/blog/assets/2017/squaregraph-duality.svg" alt="A squaregraph and its dual arrangement" /></p>
<p>If we create this arrangement by adding the dual curves one at a time, then initially we have one vertex and zero edges. Each new line with <script type="math/tex">k</script> crossings adds <script type="math/tex">k+1</script> new vertices (by splitting that many regions of the previous arrangement into pairs of regions) and <script type="math/tex">2k+1</script> new edges (<script type="math/tex">k+1</script> of them connecting each new region to the one it was split from, and <script type="math/tex">k</script> of them connecting new regions that are consecutive along the new curve). Therefore, by induction, if there are <script type="math/tex">\ell</script> lines and <script type="math/tex">c</script> total crossings, the number of vertices in the squaregraph is <script type="math/tex">c+\ell+1</script> and the number of edges is <script type="math/tex">2c+\ell</script>. Therefore, for an <script type="math/tex">n</script>-vertex squaregraph represented by an arrangement of <script type="math/tex">\ell</script> lines, the number of edges will fall short of <script type="math/tex">2n</script> by exactly <script type="math/tex">\ell+2</script>. To make squaregraphs with a number of edges that is as close to <script type="math/tex">2n</script> as possible, we need to use as few lines as possible.</p>
<p>But to figure out how few lines we need, we can forget the geometry and fall back to standard graph theory. Consider the intersection graph of the pseudolines. It is a triangle-free graph with <script type="math/tex">\ell</script> vertices, and <a href="https://en.wikipedia.org/wiki/Tur%C3%A1n%27s_theorem">Mantel’s theorem</a> tells us that the maximum number of edges in such a graph is <script type="math/tex">\lfloor \ell^2/4\rfloor,</script> achieved by the complete bipartite graphs. Translating this result back to arrangements, the maximum number of crossings in a triangle-free weak pseudoline arrangement is achieved by partitioning the lines into two equal or nearly-equal sets and making each pseudoline in one set cross each pseudoline in the other set. This is exactly the arrangement that corresponds to a square or nearly-square grid.</p>
<p>We don’t want to maximize crossings for a given number of lines; we want to minimize lines for a given number of squaregraph vertices. But the same result tells us that we can never achieve fewer lines than the grid or partial grid with the same number of vertices, because to do so we would need to use more crossings than are possible for that many lines. Therefore, every <script type="math/tex">n</script>-vertex squaregraph has at most <script type="math/tex">\lfloor 2n-2\sqrt{n}\rfloor</script> edges, the number given by the grids and partial grids.</p>
<p>This edge bound turns out to be exactly the same as Swanepoel’s conjectured maximum number of edges in <a href="/blog/2017/02/19/triangle-free-penny.html">triangle-free penny graphs</a>. The grids and partial grids are penny graphs, and their existence shows that (if true) Swanepoel’s conjectured bound would be tight. But not every squaregraph is a penny graph, and not every triangle-free penny graph is a squaregraph, so the fact that squaregraphs can be proven to obey the same bound doesn’t seem to be helpful in making progress on Swanepoel’s conjecture.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/EoT2dcnQZHh">For discussion see Google+</a>)</p>David EppsteinThe squaregraphs are planar graphs in which all bounded faces are four-cycles, and each vertex either belongs to the outer face or has degree at least four. The rectangular grids form familiar examples. A grid with vertices can have up to edges (depending on how close to square it is) and the same formula can also be obtained for other values of by removing vertices from a square or nearly-square grid. For instance, the drawing below is of a partial grid with vertices and edges, matching the formula asPicnic at Stevens Creek2017-06-04T18:04:00+00:002017-06-04T18:04:00+00:00https://11011110.github.io/blog/2017/06/04/picnic-at-stevens<p>It’s been just over 50 years since my parents <a href="http://www.maureeneppstein.com/mve_journal/?p=1545">moved to California</a> (from England, with me in tow, and before that from New Zealand). So over the Memorial Day weekend, together with their friend Judi Foster who moved from Texas to California around the same time, they celebrated with a picnic in Stevens Creek County Park, near Cupertino where they first moved. (Coincidentally, the same park is where my brother-in-law works now.) <a href="http://www.ics.uci.edu/~eppstein/pix/stevenscreek/">My photo album from the event</a> is now online. Most of the photos in it are just family snapshots, likely uninteresting unless you’re one of the subjects, but I should at least include one here of my parents themselves:</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/stevenscreek/MaureenAndTony1-m.jpg" alt="Maureen and Tony Eppstein at Stevens Creek Park, Santa Clara County, California" style="border-style:solid;border-color:black;" /></p>
<p><a href="/blog/2013/03/17/stevens-creek-park.html">When I last posted photos from the same park</a>, my wife’s cousin Erik Cassel had just died, and we were visiting the park to choose a site for a bench in his memory.
So of course we had to come back and visit the bench.</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/stevenscreek/EriksBench2-m.jpg" alt="Bench in memory of Erik Cassel at Stevens Creek Park, Santa Clara County, California" style="border-style:solid;border-color:black;" /></p>
<p>California’s drought broke this winter, so the creek and the reservoir that feeds it were full. The buckeyes were in bloom:</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/stevenscreek/Buckeye-m.jpg" alt="Flowering Buckeye tree at Stevens Creek Park, Santa Clara County, California" style="border-style:solid;border-color:black;" /></p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/ANJ3WWPHS4U">Google+</a>)</p>David EppsteinIt’s been just over 50 years since my parents moved to California (from England, with me in tow, and before that from New Zealand). So over the Memorial Day weekend, together with their friend Judi Foster who moved from Texas to California around the same time, they celebrated with a picnic in Stevens Creek County Park, near Cupertino where they first moved. (Coincidentally, the same park is where my brother-in-law works now.) My photo album from the event is now online. Most of the photos in it are just family snapshots, likely uninteresting unless you’re one of the subjects, but I should at least include one here of my parents themselves:Linkage2017-05-31T21:46:00+00:002017-05-31T21:46:00+00:00https://11011110.github.io/blog/2017/05/31/linkage<ul>
<li>
<p><a href="https://cameroncounts.wordpress.com/2017/05/02/a-small-fact-about-the-petersen-graph/">Packing Petersen graphs into <script type="math/tex">K_{10}</script></a>, Peter Cameron (<a href="https://plus.google.com/100003628603413742554/posts/57rqBYrqNcG">G+</a>). Three don’t fit exactly, but you can cover <script type="math/tex">K_{10}</script> with four Petersens so that the extra edges form another cubic graph.</p>
</li>
<li>
<p><a href="http://szimmetria-airtemmizs.tumblr.com/post/151671838483/i-made-a-new-version-with-smooth-movement-five">Animation of Miquel’s five circles theorem</a> (<a href="https://plus.google.com/100003628603413742554/posts/XN8RbKo65AA">G+</a>). Given a cycle of five circles with crossing points of consecutive circles all on a sixth circle, the other five crossing points form the crossings of a pentagram with points on the red circles. A dual version (every pentagram has six associated circles) also seems to be true.</p>
</li>
<li>
<p><a href="https://www.peterkrautzberger.org/0186/">MathML is a failed web standard</a>, Peter Krautzberger (<a href="https://plus.google.com/100003628603413742554/posts/Yb9s6MoaRAn">G+</a>). “It doesn’t matter whether or not MathML is a good XML language … It’s clearly a success in the XML publishing world, serving an important role in standards such as JATS and BITS. The problem is: MathML has failed on the web.”</p>
</li>
<li>
<p><a href="http://boingboing.net/2017/05/19/little-england-little-internet.html">Tories use child porn and terrorism as an excuse to censor political speech on the British internet</a> (<a href="https://plus.google.com/100003628603413742554/posts/SUHj4tBMC6k">G+</a>). “[Tech companies] would be forced to help controversial government schemes like its Prevent strategy, by promoting counter-extremist narratives. … The Conservatives will also seek to regulate the kind of news that is posted online … If elected, Theresa May will ‘take steps to protect the reliability and objectivity of information that is essential to our democracy.’“</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=lS4rsU2IRJE">Frechet distances between one-dimensional trajectories</a> (<a href="https://plus.google.com/100003628603413742554/posts/JoL9W7GprMR">G+</a>). An amusingly acted and not-too-technical video, featuring Maarten Löffler as a crazed papercrafter.</p>
</li>
<li>
<p><a href="http://perso.ens-lyon.fr/michael.rao/publi/penta.pdf">Exhaustive search of convex pentagons which tile the plane</a> by Michaël Rao (<a href="https://plus.google.com/100003628603413742554/posts/dC6Qo87LouC">G+</a>). Rao claims to have a computational proof that the 15 known types of monohedral convex pentagon tiles are the only ones possible.</p>
</li>
<li>
<p><a href="http://aperiodical.com/2017/05/right-answer-for-the-wrong-reason-cellular-automaton-on-the-new-cambridge-north-station/">The new Cambridge North train station is decorated with cellular automata</a> (<a href="https://plus.google.com/100003628603413742554/posts/hdSeMkRxiPC">G+</a>). But despite wanting to honor Conway they chose Wolfram’s Rule 30 instead of Conway’s Game of Life.</p>
</li>
<li>
<p><a href="https://plus.google.com/118320887831309218676/posts/iWuoMJMQvR6">Punctured surface</a>, Alison Grace Martin (<a href="https://plus.google.com/100003628603413742554/posts/NrRNia87fdX">G+</a>). A kagome basketweave pattern with judiciously placed heptagons in place of the usual hexagons allows its paper strips to follow approximate geodesics on a nontrivial topological surface.</p>
</li>
<li>
<p><a href="https://plus.google.com/100749485701818304238/posts/iX5KaENPQDy">Physical stop-motion animation of the Dirac belt trick</a>, Gerard Westendorp (<a href="https://plus.google.com/100003628603413742554/posts/1JKAT1QQzYa">G+</a>). Westendorp writes “I find it fascinating that you can rotate something by an infinite angle, without net twisting its connection to solid earth.”</p>
</li>
<li>
<p><a href="http://chalkdustmagazine.com/regulars/on-the-cover/fermat-point-by-suman-vaze/">Fermat Point by Suman Vaze</a>, <em>Chalkdust</em> magazine (<a href="https://plus.google.com/100003628603413742554/posts/2iZsP2xHrby">G+</a>). Triangle centers as fine art.</p>
</li>
<li>
<p><a href="https://plus.google.com/+JeffErickson/posts/b2voosyVwFJ">Jeff Erickson shares two recent preprints on breakthroughs relating to his research</a> (<a href="https://plus.google.com/100003628603413742554/posts/1Sg34qZGCPj">G+</a>): “<a href="https://arxiv.org/abs/1705.05243">Hanani–Tutte for approximating maps of graphs</a>” by Rado Fulek and Jan Kynčl, and “<a href="https://eccc.weizmann.ac.il/report/2017/082/">Near-optimal linear decision trees for <script type="math/tex">k</script>-SUM and related problems</a>” by Kane, Lovett, and Moran.</p>
</li>
<li>
<p><a href="https://hyperallergic.com/361446/picturing-math-at-the-metropolitan-museum-of-art/">Artistic expressions of math over seven centuries</a> (<a href="https://plus.google.com/100003628603413742554/posts/Q9sJyfduymm">G+</a>). Selections from the Department of Drawings and Prints, Metropolitan Museum of Art.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=QJYmyhnaaek">All possible pythagorean triples, visualized</a>, 3Blue1Brown (<a href="https://plus.google.com/100003628603413742554/posts/7MeN26M6zgg">G+</a>). The formula for generating all primitive pythagorean triples becomes a lot more intuitive when you visualize it in terms of complex numbers and their transformations.</p>
</li>
<li>
<p><a href="http://www.paywallwatch.com/">Paywall Watch</a> (<a href="https://plus.google.com/100003628603413742554/posts/bcBxeJD5TJv">G+</a>), a new site that tracks commercial journal publishers who charge for papers that were supposed to be open access. Also see their <a href="http://retractionwatch.com/2017/05/31/how-upset-should-we-get-when-articles-are-paywalled-by-mistake/">interview on RetractionWatch</a> and <a href="http://www.the-scientist.com/?articles.view/articleNo/49544/title/Website-Flags-Wrongly-Paywalled-Papers/">profile on TheScientist</a>.</p>
</li>
</ul>David EppsteinPacking Petersen graphs into , Peter Cameron (G+). Three don’t fit exactly, but you can cover with four Petersens so that the extra edges form another cubic graph.