Jekyll2018-04-23T07:27:23+00:00https://11011110.github.io/blog/11011110Geometry, graphs, algorithms, and moreDavid Eppstein2048: secretly the same as change-making2018-04-21T21:45:00+00:002018-04-21T21:45:00+00:00https://11011110.github.io/blog/2018/04/21/2048-secretly-same<p>Coincidentally, the same day as my <a href="https://sites.google.com/view/fun2018/">FUN 2018</a> paper “Making Change in 2048” appeared on the arXiv (<a href="https://arxiv.org/abs/1804.07396">arXiv:1804.07396</a>),
another paper on 2048 also appeared. It is “Analysis of the Game “2048” and its Generalization in Higher Dimensions” (Madhuparna Das and Goutam Paul, <a href="https://arxiv.org/abs/1804.07393">arXiv:1804.07393</a>), and one of the things it looks at is higher dimensional versions of the game. I didn’t know about these before, but you can play two such versions at <a href="https://huonw.github.io/2048-4D/">2048 4D</a> (16 cells like the usual 2048, but arranged as a hypercube) and <a href="https://cesarkawakami.github.io/2048-5D/">2048 5D</a> (the same thing but with 32 cells in a higher dimension).</p>
<p>16-cell 2048 goes on long enough to be addictive but eventually you get stuck, after a few thousand moves. The total tile value goes up by 2 (or 4) at each step and to represent this number you need at least as many tiles as the number of ones in its binary representation. Eventually you reach numbers whose binary representations have too many ones and you can’t fit all their tiles onto the board. But I think that in 32-cell variants that use the same system of tile values (like the 5D one above) you are likely to get bored before you get stuck, because the numbers that can be represented with 32 tiles are so much bigger. But what about if you use other tile values than the binary numbers (still allowing tiles to combine when their sum is another tile)? A couple of years ago I posted a proof that <a href="/blog/2014/11/09/length-of-2048.html">the game terminates whenever the tile values have arbitrarily large gaps</a>, and the new paper expands on that proof and gives you a way of telling exactly how many steps you can hope to go before getting stuck.</p>
<p>The termination proof for standard 2048 uses the optimal representation of the current total tile value as a sum of powers of two (its binary representation) and observes that the number of terms in this optimal representation controls how many game squares you need to reach that tile value. But for other games, it turns out that it’s not the optimal representation that’s important, but the greedy representation. We pretend that the tiles are really coins (of the value shown on the tile), and use them to make change for the total tile value, using the <a href="/blog/2017/12/23/factorial-change-making.html">greedy change-making algorithm</a> (in which we repeatedly use as large a tile as possible to approximate the remaining value). If the greedy algorithm would use a certain number of coins for a given tile value, then the 2048-like game would need at least the same number of squares to reach the same tile value.</p>
<p>To prove this, my paper has to generalize, beyond five-dimensional hypercubes, to a form of 2048 where you can slide any set of two or more tiles into each other (no matter how they are arranged) and combine them to form a larger tile (as long as they add up to exactly the larger tile’s value). For this version of the game, the relation between 2048 and greedy change-making is exact, and there is a min-max theorem: the maximum tile value you can achieve with a given number of squares equals the minimum value that would cause greedy change-making to use the same number of coins!</p>
<p>I think the following example will make the difference between optimal representations and greedy representations clearer. Suppose you have coins whose values form the sequence</p>
<script type="math/tex; mode=display">1, 2, 4, 5, 8, 10, 16, 17, 20, 21, 32, \dots</script>
<p>Do you see the pattern in these numbers? It is clearer if we write their binary representations:</p>
<script type="math/tex; mode=display">1, 10, 100, 101, 1000, 1010, 10000, 10001, 10100, 10101, 100000, \dots</script>
<p>They are the numbers that have every other bit zero (sequence <a href="http://oeis.org/A126684">A126684</a> in the OEIS). Either all the bits in the even positions of their binary representations are zero, or all the bits in the odd positions are zero. You can represent any positive integer <script type="math/tex">x</script> as a sum of two numbers in this sequence, by splitting the binary representation of <script type="math/tex">x</script> into the even and odd bit positions. So if we used these numbers as coin values, we could make change for any amount of money using only two coins! But not with the greedy algorithm.</p>
<p style="text-align:center"><img src="/blog/assets/2018/coins-1-2-4-5-8-10-16.png" alt="Coins of value 1, 2, 4, 5, 8. 10, and 16" /></p>
<p style="text-align:center"><small>(From <a href="Coins by face value">Category:Coins by face value</a>. Anyone know where to find a 17-unit coin?)</small></p>
<p>If we make change with these coins, let <script type="math/tex">g(k)</script> denote the smallest value that causes the greedy algorithm to use <script type="math/tex">k</script> coins, or equivalently the largest value achievable in a 2048-like game with <script type="math/tex">k</script> squares. Then <script type="math/tex">g(k)</script> can be found recursively from <script type="math/tex">g(k-1)</script> by finding the largest gap between two coins that is bigger than <script type="math/tex">g(k-1)</script> and adding the bottom of the two coin values on either side of the gap to <script type="math/tex">g(k-1)</script>. So, for instance, because <script type="math/tex">g(2)=3</script> (the smallest value not representable as a single coin), and the first gap bigger than <script type="math/tex">3</script> is between <script type="math/tex">10</script> and <script type="math/tex">16</script>, we have <script type="math/tex">g(3)=3+10=13</script>. If you try to make change for <script type="math/tex">13</script> greedily, you have to use a <script type="math/tex">10</script>-unit coin (the big gap prevents any bigger coin from being usable) and you are left with <script type="math/tex">3</script> units taking another two coins. The sequence of largest gaps in A126684 are easy to calculate: they are the ones between <script type="math/tex">2^i</script> (a power of two) and <script type="math/tex">\lfloor 2^{i+1}/3\rfloor</script> (the number with alternating ones and zeros in its binary representation closest to that power of two). And based on this, we can calculate the values of <script type="math/tex">g(k)</script> for A126684: they are the sequence</p>
<script type="math/tex; mode=display">1, 3, 13, 55, 225, 907, 3637, 14559, 58249, 233011, \dots</script>
<p>This is a new sequence in OEIS, <a href="http://oeis.org/A302757">A302757</a>, but an unexpectedly nice one. It obeys the recurrences</p>
<script type="math/tex; mode=display">g(k)=4g(k-1)+2k-5</script>
<p>and</p>
<script type="math/tex; mode=display">g(k)=6g(k-1)-9g(k-2)+4g(k-3)</script>
<p>and the formula</p>
<script type="math/tex; mode=display">g(k)=\frac{2^{1+2k} - 6k + 7}{9}.</script>
<p>(The first found by me, the second two rapidly added by OEIS regular Colin Barker.) Based on this, it looks like the right size of board for a 2048-like game using these tiles is around <script type="math/tex">3\times 3</script>. The usual <script type="math/tex">4\times 4</script> board would allow a total tile value of <script type="math/tex">954437167</script>, big enough that you will get bored before you reach it.</p>
<p>Finally, as my paper notes, there are a couple other 2048-like games that my paper’s analysis is inapplicable to. They are <a href="https://calebhugo.com/musical-games-interact-with-sound/2048-circle-of-fifths/">2048 circle of fifths</a> (in which the tile values use modular arithmetic) and <a href="https://louh.github.io/2048-numberwang/">2048 numberwang</a> (in which random things happen including occasional unexpected tile combinations). So, if you want to play a web game while justifying the time as research, go play those!</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/d7zkVSvC3NT">G+</a>)</p>David EppsteinCoincidentally, the same day as my FUN 2018 paper “Making Change in 2048” appeared on the arXiv (arXiv:1804.07396), another paper on 2048 also appeared. It is “Analysis of the Game “2048” and its Generalization in Higher Dimensions” (Madhuparna Das and Goutam Paul, arXiv:1804.07393), and one of the things it looks at is higher dimensional versions of the game. I didn’t know about these before, but you can play two such versions at 2048 4D (16 cells like the usual 2048, but arranged as a hypercube) and 2048 5D (the same thing but with 32 cells in a higher dimension).Subtraction games, the Furstenberg–Sárközy theorem, and R2018-04-18T23:08:00+00:002018-04-18T23:08:00+00:00https://11011110.github.io/blog/2018/04/18/subtraction-games<p>The first of my two <a href="https://sites.google.com/view/fun2018/">FUN 2018</a> papers, “Faster Evaluation of Subtraction Games”, has now appeared on the arXiv as <a href="https://arxiv.org/abs/1804.06515">arXiv:1804.06515</a>. It expands on material from two earlier posts here on the game of <a href="https://en.wikipedia.org/wiki/Subtract_a_square">subtract-a-square</a>, one of which briefly remarked that <a href="/blog/2016/11/14/shaving-superpolylog-from.html">the winning positions can be calculated using convolutions in near-linear-time</a>, and the other of which provided data hinting that <a href="/blog/2016/11/16/better-behaved-subtraction-game.html">the set of winning positions is an unexpectedly large square-difference-free set</a>, something of interest to number theorists in connection with the <a href="https://en.wikipedia.org/wiki/Furstenberg%E2%80%93S%C3%A1rk%C3%B6zy_theorem">Furstenberg–Sárközy theorem</a>.
Experimentally, if we let <script type="math/tex">c(n)</script> denote the number of winning (or “cold”) positions among the first <script type="math/tex">n</script> numbers, then <script type="math/tex">c\approx n^{0.7}</script>:</p>
<p style="text-align:center"><img src="/blog/assets/2018/sas-density.png" alt="Density of winning positions in subtract-a-square" /></p>
<p>In this figure, the black circles show the actual values of <script type="math/tex">c</script> up to <script type="math/tex">n=2^{30}</script>, and the red line and red formula show a function that numerically fits this data, all drawn on a log-log scale. I would really like to see a proof, for some <script type="math/tex">\epsilon>0</script>, either that <script type="math/tex">c=\Omega(n^{1/2+\epsilon})</script> or that <script type="math/tex">c=O(n^{1-\epsilon})</script>. We know <script type="math/tex">c=\Omega(n^{1/2})</script> (because you need enough winning positions to represent every other position as a square plus a winning position) and <script type="math/tex">c=o(n)</script> by the Furstenberg–Sárközy theorem, but despite the strong numerical evidence shown in the plot above, we don’t know much more than that.</p>
<p>Beyond its actual content, this paper served as an excuse for me to start learning how to use the <a href="https://www.r-project.org/">R statistical package</a>, which is how I drew this plot and the other figures from the paper. So far, my uses of it have been pretty cookbook (i.e., search for something like what I want to do on the internet and copy the code with mild changes), but it seems pretty powerful, and useful more generally for experimental algorithmics and experimental mathematics (and of course for other topics that I’m less likely to work in).</p>
<p>First, you need a file of data. Tab-delimited text works fine, so you don’t need to put a lot of effort into careful output formatting. I took the sieving algorithm from my earlier posts and rewrote it in C, so it would be faster and I could reach bigger game positions without having to wait too long:</p>
<figure class="highlight"><pre><code class="language-c" data-lang="c"><span class="cp">#include <stdio.h>
#define BIG (1<<30)
</span>
<span class="kt">char</span> <span class="n">hot</span><span class="p">[</span><span class="n">BIG</span><span class="p">];</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span>
<span class="p">{</span>
<span class="kt">int</span> <span class="n">n</span><span class="p">,</span><span class="n">i</span><span class="p">,</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">n</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">n</span> <span class="o"><</span> <span class="n">BIG</span><span class="p">;</span> <span class="n">n</span><span class="o">++</span><span class="p">)</span> <span class="n">hot</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="n">r</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="n">c</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">n</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">n</span> <span class="o"><</span> <span class="n">BIG</span><span class="p">;</span> <span class="n">n</span><span class="o">++</span><span class="p">)</span>
<span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="n">n</span> <span class="o">==</span> <span class="n">r</span><span class="o">*</span><span class="n">r</span><span class="o">*</span><span class="n">r</span><span class="p">)</span>
<span class="p">{</span>
<span class="n">printf</span><span class="p">(</span><span class="s">"%d</span><span class="se">\t</span><span class="s">%d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="n">n</span><span class="p">,</span><span class="n">c</span><span class="p">);</span>
<span class="n">r</span><span class="o">++</span><span class="p">;</span>
<span class="p">}</span>
<span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">hot</span><span class="p">[</span><span class="n">n</span><span class="p">])</span>
<span class="p">{</span>
<span class="n">c</span><span class="o">++</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="n">n</span><span class="o">+</span><span class="n">i</span><span class="o">*</span><span class="n">i</span><span class="o"><</span><span class="n">BIG</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">)</span> <span class="n">hot</span><span class="p">[</span><span class="n">n</span><span class="o">+</span><span class="n">i</span><span class="o">*</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span></code></pre></figure>
<p>The only trick here is that to make the data set sparser my code only reports the pair <script type="math/tex">(n,c)</script> (where <script type="math/tex">c</script> is the number of winning positions up to <script type="math/tex">n</script>) for values of <script type="math/tex">n</script> that are perfect cubes. I wanted to fit the resulting data set to a function of the form <script type="math/tex">an^b</script> and test what exponent <script type="math/tex">b</script> I got from the fit; I did this by transforming the data to a log-log scale and then using a line-fitting algorithm. R has several ways of fitting a line to data already coded up for me, so I chose <a href="https://en.wikipedia.org/wiki/Repeated_median_regression">repeated median regression</a>, a method that is very robust against outliers (that is, it doesn’t require me to assume that the deviations from the fit line are nicely distributed). It was also easy to make a log-log plot with appropriately labeled scales, show the fit line on the plot, and throw on a label describing how that line translates into a function of <script type="math/tex">n</script>:</p>
<figure class="highlight"><pre><code class="language-r" data-lang="r"><span class="n">library</span><span class="p">(</span><span class="s1">'mblm'</span><span class="p">)</span><span class="w">
</span><span class="n">tab</span><span class="w"> </span><span class="o"><-</span><span class="w"> </span><span class="n">read.table</span><span class="p">(</span><span class="s1">'density.txt'</span><span class="p">)</span><span class="w">
</span><span class="n">x</span><span class="w"> </span><span class="o"><-</span><span class="w"> </span><span class="n">sapply</span><span class="p">(</span><span class="n">tab</span><span class="p">[,</span><span class="m">1</span><span class="p">],</span><span class="n">log2</span><span class="p">)</span><span class="w">
</span><span class="n">y</span><span class="w"> </span><span class="o"><-</span><span class="w"> </span><span class="n">sapply</span><span class="p">(</span><span class="n">tab</span><span class="p">[,</span><span class="m">2</span><span class="p">],</span><span class="n">log2</span><span class="p">)</span><span class="w">
</span><span class="n">fit</span><span class="w"> </span><span class="o"><-</span><span class="w"> </span><span class="n">mblm</span><span class="p">(</span><span class="n">y</span><span class="o">~</span><span class="n">x</span><span class="p">)</span><span class="w">
</span><span class="n">pdf</span><span class="p">(</span><span class="s2">"density.pdf"</span><span class="p">)</span><span class="w">
</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">xlab</span><span class="o">=</span><span class="s2">"log2 n"</span><span class="p">,</span><span class="w"> </span><span class="n">ylab</span><span class="o">=</span><span class="s2">"log2 # cold"</span><span class="p">)</span><span class="w">
</span><span class="n">abline</span><span class="p">(</span><span class="n">fit</span><span class="p">,</span><span class="w"> </span><span class="n">col</span><span class="o">=</span><span class="s2">"red"</span><span class="p">)</span><span class="w">
</span><span class="n">text</span><span class="p">(</span><span class="m">12</span><span class="p">,</span><span class="m">20</span><span class="p">,</span><span class="n">paste</span><span class="p">(</span><span class="nf">c</span><span class="p">(</span><span class="s2">"c = "</span><span class="p">,</span><span class="m">2</span><span class="o">**</span><span class="n">coef</span><span class="p">(</span><span class="n">fit</span><span class="p">)[</span><span class="m">1</span><span class="p">],</span><span class="s2">" * n**"</span><span class="p">,</span><span class="n">coef</span><span class="p">(</span><span class="n">fit</span><span class="p">)[</span><span class="m">2</span><span class="p">]),</span><span class="n">collapse</span><span class="o">=</span><span class="s2">""</span><span class="p">),</span><span class="w"> </span><span class="n">col</span><span class="o">=</span><span class="s2">"red"</span><span class="p">)</span></code></pre></figure>
<p>I haven’t yet figured out how to get nicely formatted text with LaTeX equations for my labels, in better colors, but I’m sure it’s just a matter of time and experience. In the meantime I’ve already used R in a similar way for another research project (not yet written up) and I’m sure I’ll continue to do so for more.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/5iAFox1h9K9">G+</a>)</p>David EppsteinThe first of my two FUN 2018 papers, “Faster Evaluation of Subtraction Games”, has now appeared on the arXiv as arXiv:1804.06515. It expands on material from two earlier posts here on the game of subtract-a-square, one of which briefly remarked that the winning positions can be calculated using convolutions in near-linear-time, and the other of which provided data hinting that the set of winning positions is an unexpectedly large square-difference-free set, something of interest to number theorists in connection with the Furstenberg–Sárközy theorem. Experimentally, if we let denote the number of winning (or “cold”) positions among the first numbers, then :The mythical Reuleaux triangle manhole cover2018-04-17T21:38:00+00:002018-04-17T21:38:00+00:00https://11011110.github.io/blog/2018/04/17/mythical-reuleaux-manhole<p>There’s a <a href="http://mathtourist.blogspot.com/2010/08/manhole-cover-geometry.html">story going around</a> in <a href="https://www.sciencenews.org/article/rolling-reuleaux">mathematical circles</a>, perhaps due to <a href="https://doi.org/10.2307/3026963">a 1971 article of Victor Klee</a>, that Reuleaux triangles make a good shape for manhole covers. This is because, like the more common circular manhole covers, they can’t fall into the holes that they cover. However, circles have other useful properties: they roll more easily and you don’t have to align them very carefully with their holes. I can’t find any evidence that anyone anywhere has ever actually used a Reuleaux triangle shaped manhole cover.</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/uciutil/26-m.jpg" alt="A rounded triangular (but not Reuleaux triangle) valve cover on the UC Irvine campus" style="border-style:solid;border-color:black;" /></p>
<p>So what is that picture, you ask?
I took it, and <a href="http://www.ics.uci.edu/~eppstein/pix/uciutil/">a batch of related photos</a> from the UC Irvine campus, with the plan of replacing a similar photo that had been deleted from <a href="https://en.wikipedia.org/wiki/Reuleaux_triangle">the Wikipedia Reuleaux triangle article</a> over some licensing snafu. But it’s not a Reuleaux triangle manhole cover, for multiple reasons.</p>
<ol>
<li>
<p>The red rounded triangle that you see when you first look at the image is not the cover. It’s the plate onto which the cover fits. The actual cover is inset, and has the shape of a standard equilateral triangle with rounded corners.</p>
</li>
<li>
<p>Reuleaux triangles have pointy <script type="math/tex">120^\circ</script> corners. The corners of the base plate are rounded. You can see that they have a bigger radius of curvature, at the corner, than the rounded equilateral triangle of the cover.</p>
</li>
<li>
<p>It’s not a manhole cover. It’s far too small for a man to fit through into a hole under it. It’s just a valve cover. That was also true of the old image that was deleted, of a valve cover in San Francisco. (I don’t remember if it also had the other flaws, but <a href="https://www.maa.org/community/columns/maa-found-math/maa-found-math-2008-week-21">if it’s anything like these ones</a> then yes.) Valve covers are small and light enough to be easily lifted and fitted into place; you don’t have to roll them, and there’s no deep hole for them to fall into.</p>
</li>
</ol>
<p>So I think it’s far enough from being a good illustration of the manhole story that I’m not going to try to add it to the Wikipedia article. But I did at least find some pretty fallen Spring blossoms:</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/uciutil/40-m.jpg" alt="Utility cover with fallen Spring blossoms on the UC Irvine campus" style="border-style:solid;border-color:black;" /></p>
<p>If anyone does know of somewhere that uses actual Reuleaux triangle shaped manhole covers, please tell me where to find them.</p>
<p>(As usual see <a href="https://plus.google.com/100003628603413742554/posts/d3spDCQ7s9Z">G+</a> for comments. This has been episode 3 of <em>Things That Are Not Reuleaux Triangles</em>. For episodes 1 and 2 see <a href="/blog/2016/04/30/shape-of-kresge.html">The shape of the Kresge Auditorium</a> and <a href="https://plus.google.com/100003628603413742554/posts/DpF5krEaU9u">Triforce string art</a> respectively. Maybe some day I’ll continue the series with something about the Wankel rotary engine.)</p>David EppsteinThere’s a story going around in mathematical circles, perhaps due to a 1971 article of Victor Klee, that Reuleaux triangles make a good shape for manhole covers. This is because, like the more common circular manhole covers, they can’t fall into the holes that they cover. However, circles have other useful properties: they roll more easily and you don’t have to align them very carefully with their holes. I can’t find any evidence that anyone anywhere has ever actually used a Reuleaux triangle shaped manhole cover.Linkage2018-04-15T18:19:00+00:002018-04-15T18:19:00+00:00https://11011110.github.io/blog/2018/04/15/linkage<ul>
<li>
<p><a href="https://boingboing.net/2018/03/30/information-diet-advice.html">Five years after Google conquered and abandoned RSS, the news-reader ecosystem is showing green shoots</a> (<a href="https://plus.google.com/100003628603413742554/posts/Gn5apfEoWwF">G+</a>). I get most of the links I read via RSS using <a href="http://netnewswireapp.com/">NetNewsWire</a> and am reasonably happy with that combination. The linked post lists several alternatives.</p>
</li>
<li>
<p><a href="http://www.davidumemoto.com/soma-cube-ii">Soma cube architectural blocks</a> (<a href="https://plus.google.com/100003628603413742554/posts/anUhC8BmNst">G+</a>). Sculpture by David Umemoto.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Hopper_crystal">Hopper crystals</a> (<a href="https://plus.google.com/100003628603413742554/posts/1ycTLfuLCNi">G+</a>), stepped shapes that look like they need to be designed (or procedurally generated) and then fabricated, but grow naturally as crystals of bismuth or other materials.</p>
</li>
<li>
<p><a href="https://www.chemistryworld.com/news/mismatch-between-citations-and-chemists-expectations/3008854.article">Chemists discover that the perceived significance of a paper isn’t the same as its citation count</a> (<a href="https://plus.google.com/100003628603413742554/posts/KTS8cydXmii">G+</a>, <a href="https://retractionwatch.com/2018/04/07/weekend-reads-brazen-plagiarism-why-animal-studies-dont-hold-up-in-humans-motherhood-citation-penalty/">via</a>). Completely unsurprising, but it’s good to have data anyway.</p>
</li>
<li>
<p><a href="https://www.nytimes.com/2018/04/05/opinion/election-voting-machine-hacking-russians.html">All votes should use paper backups to prevent undetectable tampering</a> (<a href="https://plus.google.com/100003628603413742554/posts/AECqskcEGtJ">G+</a>, <a href="https://www.scottaaronson.com/blog/?p=3694">via</a>). This autoplay video by security expert Alex Halderman clearly explains why.</p>
</li>
<li>
<p><a href="http://www.ams.org/journals/bull/2018-55-02/S0273-0979-2018-01613-3/">Do opera omnia have a future?</a> (<a href="https://plus.google.com/100003628603413742554/posts/7W2Kn5kxVus">G+</a>). Gerald L. Alexanderson and Leonard F. Klosinski ask about those multi-volume sets of collected works of famous mathematicians that are apparently still being published.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/1804.02385">The chromatic number of the plane is at least 5</a> (<a href="https://plus.google.com/100003628603413742554/posts/FBNVqfWwvpw">G+</a>, <a href="https://plus.google.com/+TerenceTao27/posts/QBxTFAsDeBp">via</a>). Amateur mathematician Aubrey de Gray makes a big breakthrough on the <a href="https://en.wikipedia.org/wiki/Hadwiger%E2%80%93Nelson_problem">Hadwiger–Nelson problem</a>, later <a href="https://dustingmixon.wordpress.com/2018/04/10/the-chromatic-number-of-the-plane-is-at-least-5/">verified by a computer search</a>. Things are still in rapid flux, with an ongoing <a href="https://dustingmixon.wordpress.com/2018/04/14/polymath16-first-thread-simplifying-de-greys-graph/">Polymath project to tighten de Gray’s construction</a>.</p>
</li>
<li>
<p><a href="https://mathoverflow.net/a/297527/440">Crossing number of sphere of influence graphs </a> (<a href="https://plus.google.com/100003628603413742554/posts/QQSPGWTPahC">G+</a>). If you take a collection of disks on the Euclidean plane with the property that no disk interior contains the center of another disk, and draw the intersection graph of the disks (in the obvious way by placing a vertex at the center of each disk and a line segment connecting each two disks that touch or overlap each other) then the resulting graph has bounded degeneracy and bounded chromatic number, but can have a quadratical number of crossings.</p>
</li>
</ul>
<p style="text-align:center"><img src="/blog/assets/2018/nbhd-graph-many-crossings.svg" alt="Construction for a sphere of influence graph with quadratically many crossings" /></p>
<ul>
<li>
<p><a href="https://boingboing.net/2018/04/11/evidence-free-zone.html">EU proposal to force all copyrighted material to require fees, even for linking to the material rather than re-using it</a> (<a href="https://plus.google.com/100003628603413742554/posts/Pzp9dCgP1vp">G+</a>). This appears to be a major threat to open-access publishing.</p>
</li>
<li>
<p><a href="https://mathoverflow.net/q/78424/440">A 2011 discussion</a> concluded that the graph below (the smallest cubic graph with no perfect matching) had no good name, and deserved one. I think it should be called the fidget spinner graph (<a href="https://plus.google.com/100003628603413742554/posts/4pujows4MzG">G+</a>; drawing modified from <a href="https://commons.wikimedia.org/wiki/File:Class-2-planar-3-regular.svg">an earlier one I made for Wikipedia</a>).</p>
</li>
</ul>
<p style="text-align:center"><img src="/blog/assets/2018/fidget-spinner-graph.svg" alt="The fidget spinner graph" /></p>
<ul>
<li>
<p><a href="http://csconferences.mah.se/swat2018/program.html">Accepted papers to SWAT 2018</a>, the Scandinavian Symposium and Workshops on Algorithm Theory, where I am PC chair, and <a href="https://sites.google.com/view/fun2018/accepted-papers?authuser=0">accepted papers to FUN 2018</a>, the 9th International Conference on Fun With Algorithms, two of them mine (<a href="https://plus.google.com/100003628603413742554/posts/gCd77cAMMKP">G+</a>). You may need to adjust your browser or its settings to make the FUN list visible.</p>
</li>
<li>
<p><a href="http://cstaecker.fairfield.edu/~cstaecker/neighbors/">Nice Neighbors</a> (<a href="https://plus.google.com/100003628603413742554/posts/BiFc1BK1bBM">G+</a>). A topological webgame by Chris Staecker: move the vertices of a graph to neighbors of their home location, so that all adjacencies are preserved (or contracted) and at least one home location becomes free. Staecker also has an amusing series of <a href="https://www.youtube.com/user/cstaecker/videos">YouTube videos about mechanical calculation devices</a> (<a href="https://www.metafilter.com/173440/Mechanical-Mathematic-Devices-Reviewed-and-Explained">via</a>).</p>
</li>
</ul>David EppsteinFive years after Google conquered and abandoned RSS, the news-reader ecosystem is showing green shoots (G+). I get most of the links I read via RSS using NetNewsWire and am reasonably happy with that combination. The linked post lists several alternatives.Esther Szekeres on triangle inequalities2018-04-13T14:01:00+00:002018-04-13T14:01:00+00:00https://11011110.github.io/blog/2018/04/13/esther-szekeres-triangle<p>(<a href="http://www.cambridgeblog.org/2018/04/esther-szekeres-on-triangle-inequalities/">Cross-posted to fifteen eightfour, the blog of the Cambridge University Press</a>)</p>
<p><a href="https://en.wikipedia.org/wiki/Esther_Szekeres">Esther Klein</a> (later Esther Szekeres) famously observed that five points in the plane with no three in line must contain the vertices of a convex quadrilateral. Similarly, nine points in the plane with no three in line must contain the vertices of a convex pentagon, and more generally for every <script type="math/tex">n</script> there exists a larger number <script type="math/tex">N</script> such that every <script type="math/tex">N</script> points in the plane with no three in line must contain the vertices of a convex <script type="math/tex">n</script>-gon. The “<a href="https://en.wikipedia.org/wiki/Happy_ending_problem">happy ending problem</a>” asks for a more precise relation between <script type="math/tex">n</script> and <script type="math/tex">N</script>; it is still the subject of ongoing research, including <a href="http://buff.ly/2rFeU3O">a 2016 breakthrough by Andrew Suk</a>, and is one of the topics covered in my about-to-be-published book <em><a href="https://www.cambridge.org/core/books/forbidden-configurations-in-discrete-geometry/0A90D6B522B1DFF59641F086F149EA45">Forbidden Configurations in Discrete Geometry</a></em>.</p>
<p>After this incident, the particulars of Klein’s life become difficult to separate from those of her eventual husband, George Szekeres (the one who proved the more general statement about <script type="math/tex">n</script>-gons). Neither started out as mathematicians. Because of the restrictions placed on Jews in Hungary in the late 1920s, only two students from Szekeres’s school could study science or mathematics at the university in Budapest; <a href="https://en.wikipedia.org/wiki/M%C3%A1rta_Sv%C3%A9d">Márta Svéd</a> took the mathematics position, so Klein necessarily studied physics instead. George studied chemical engineering, motivated by his family’s leather business.
The two became refugees in Shanghai, and then after the end of World War II moved to Adelaide, where they shared an apartment with Márta Svéd and her family. George became a university mathematics lecturer and Esther raised their children while working as a mathematics tutor. In 1964, the family moved to Sydney. Esther became one of the first mathematicians at the newly-founded Macquarie University, where she is “<a href="https://www.mq.edu.au/connect/alumni/news-and-events/sirius/alumni_13122011-sirius_magazine_publication_summer_2006.pdf">fondly remembered as a gifted and inspiring tutor</a>”; Macquarie gave her an honorary doctorate in 1990. She and her husband died within hours of each other, in 2005.</p>
<p><a href="https://www.smh.com.au/news/obituaries/a-world-of-teaching-and-numbers--times-two/2005/11/06/1131211943674.html">Their joint <em>Sydney Morning Herald</em> obituary</a> writes of Esther that “The mathematical love of her life was always geometry, in which she outshone George.” So with this as background, I was interested to learn more about some of her work in geometry. I found a paper, “<a href="https://eudml.org/doc/140836">Einfache Beweise zweier Dreieckssätze</a>”, that she published in 1967 in the journal <em>Elemente der Mathematik</em> (in German, despite being a Hungarian in Australia). The title promises two theorems about triangles, both of which concern what happens when you inscribe a triangle <script type="math/tex">XYZ</script> into a larger triangle <script type="math/tex">ABC</script> (with <script type="math/tex">X</script> opposite <script type="math/tex">A</script>, etc), dividing <script type="math/tex">ABC</script> into four smaller triangles.</p>
<p style="text-align:center"><img src="/blog/assets/2018/klein-triangles-1.svg" alt="Triangle XYZ inscribed in a larger triangle ABC" /></p>
<p>Szekeres’s two theorems are that the area and perimeter of the central triangle <script type="math/tex">XYZ</script> are at least equal to the minimum area or perimeter among the three surrounding triangles. It’s possible for <script type="math/tex">XYZ</script> to be one of the smallest triangles, but this can only happen when <script type="math/tex">XYZ</script> has equal area or perimeter to another of the four small triangles; it can never be the unique smallest one. For instance, when <script type="math/tex">XYZ</script> is the <a href="https://en.wikipedia.org/wiki/Medial_triangle">medial triangle</a> of <script type="math/tex">ABC</script>, all four smaller triangles are congruent to each other (and similar to the big triangle).</p>
<p style="text-align:center"><img src="/blog/assets/2018/klein-triangles-2.svg" alt="The medial triangle subdivides ABC into four congruent triangles" /></p>
<p>The theorems themselves are not original to Szekeres, and her paper details their history of publication and solution in various mathematical problem columns. The perimeter inequality is also connected with a classical piece of geometry, <a href="https://en.wikipedia.org/wiki/Fagnano%27s_problem">Fagnano’s problem</a> of finding an inscribed triangle <script type="math/tex">XYZ</script> of the minimum possible perimeter.</p>
<p>Stripped of some unnecessary detail, her proof of the area theorem is simple and elegant. Suppose that <script type="math/tex">BX:BC</script> is the smallest of the six ratios into which the three points <script type="math/tex">XYZ</script> divide the sides of the triangle; the other five cases are symmetric. Draw two additional lines, <script type="math/tex">L</script> through <script type="math/tex">X</script> parallel to <script type="math/tex">AB</script>, and <script type="math/tex">M</script> parallel to <script type="math/tex">XZ</script> but twice as far from <script type="math/tex">B</script>. Then it follows from the choice of <script type="math/tex">BX:BC</script> as the smallest ratio that <script type="math/tex">Y</script> lies on the segment of <script type="math/tex">AC</script> on the far side of <script type="math/tex">B</script> from <script type="math/tex">L</script>, and that <script type="math/tex">M</script> separates <script type="math/tex">X</script> from this segment.</p>
<p style="text-align:center"><img src="/blog/assets/2018/klein-triangles-3.svg" alt="Lines L and M separate B from the segment on which Y must lie" /></p>
<p>So if we place a point <script type="math/tex">D</script> at the intersection of line <script type="math/tex">M</script> and segment <script type="math/tex">XY</script>, we have</p>
<script type="math/tex; mode=display">\operatorname{area}(XZB)=\operatorname{area}(XZD)
\le\operatorname{area}(XYZ),</script>
<p>where the left equality relates two triangles with the same base <script type="math/tex">XZ</script> and equal heights, and the right inequality is containment of one triangle in the other.</p>
<p style="text-align:center"><img src="/blog/assets/2018/klein-triangles-4.svg" alt="Triangles XYB and XYD have the same area, and triangle XYD is contained in triangle XYZ" /></p>
<p>Most of Szekeres’s other publications were in mathematical problem columns, and included similar styles of reasoning applied to other geometry problems. Beyond geometry, the subjects of her research included <a href="https://doi.org/10.1016/S0012-365X(98)00332-X">arithmetic combinatorics</a> and <a href="http://www.jstor.org/stable/3612854">graph theory</a>. Still, it is clear that it is in geometry, and in particular in the problem of convex polygons in point sets, where she made her most far-reaching contribution to mathematics. Her problem became foundational for two major fields, discrete geometry and Ramsey theory, and has led to a huge body of research by other mathematicians.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/EXetH9C3U1o">G+</a>)</p>David Eppstein(Cross-posted to fifteen eightfour, the blog of the Cambridge University Press)Research, Bajan style2018-04-03T21:27:00+00:002018-04-03T21:27:00+00:00https://11011110.github.io/blog/2018/04/03/research-bajan-style<p>I’m back from another visit to the Bellairs Research Institute on Barbados last week, for Erik Demaine’s annual computational geometry workshop.
<a href="http://www.ics.uci.edu/~eppstein/pix/bellairs18/index.html">Here are my photos of the workshop participants</a>.</p>
<p>What I like about these workshops is their collaborative nature: everyone works together in small groups on set research problems, in one place, for two three-hour sessions per day (mornings and early evenings, with the afternoons left as free time). The outdoor picnic table area where this happens is not broken up into discrete islands, so the research groups flow into each other and can change fluidly. If you get bored or stuck on one problem, it’s easy to find another to work on. I hope some sense of this dynamics comes through in these photos.</p>
<div><table style="margin-left:auto;margin-right:auto">
<tr style="text-align:center;vertical-align:middle">
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/bellairs18/22-m.jpg" alt="Erik Demaine, Andrew Winslow, Ryuhei Uehara, and Yushi Uno" width="320" style="border-style:solid;border-color:black;" /></td>
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/bellairs18/16-m.jpg" alt="Tadashi Tokieda, Tomohiro Tachi, Tom Hull, and Ryuhei Uehara" width="360" style="border-style:solid;border-color:black;" /></td>
</tr><tr style="text-align:center;vertical-align:middle">
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/bellairs18/5-m.jpg" alt="Zuzana Masárová, Christiane Schmidt, Linda Kleist, and Marty Demaine" width="360" style="border-style:solid;border-color:black;" /></td>
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/bellairs18/33-m.jpg" alt="Jason Ku and Irina Kostitsyna" width="320" style="border-style:solid;border-color:black;" /></td>
</tr></table></div>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/cpMyytZ1A2k">G+</a>)</p>David EppsteinI’m back from another visit to the Bellairs Research Institute on Barbados last week, for Erik Demaine’s annual computational geometry workshop. Here are my photos of the workshop participants.MOCA2018-04-01T15:01:00+00:002018-04-01T15:01:00+00:00https://11011110.github.io/blog/2018/04/01/MOCA<p>I’m a bit behind on processing photos, so <a href="http://www.ics.uci.edu/~eppstein/pix/moca18/index.html">here’s a short set from a visit two weeks ago to MOCA</a>.
The shot below combines two artworks (and a spectator); I didn’t catch the title or artist of the sculpture, but the painting is <em>Black Iris</em> by <a href="https://en.wikipedia.org/wiki/Franz_Kline">Franz Kline</a>.</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/moca18/FranzKlineBlackIris-m.jpg" alt="Franz Kline, _Black Iris_, at MOCA" style="border-style:solid;border-color:black;" /></p>
<p>Another of the artworks that caught my attention, <em>Chromatic Fire</em> by <a href="https://en.wikipedia.org/wiki/Thomas_Hirschhorn">Thomas Hirschhorn</a>, incorporates abstract geometric designs by Swiss mystic and “geometric visionary” <a href="https://en.wikipedia.org/wiki/Emma_Kunz">Emma Kunz</a>.</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/moca18/ThomasHirschhornEmmaKunzChromaticFire-m.jpg" alt="Thomas Hirschhorn, _Chromatic Fire_ (incorporating works of Emma Kunz), at MOCA" style="border-style:solid;border-color:black;" /></p>
<p>Kunz’s drawings sometimes resemble <a href="https://en.wikipedia.org/wiki/String_art">string art</a>, <a href="https://en.wikipedia.org/wiki/Spirograph">Spirograph</a> curves, or groupings of <a href="https://en.wikipedia.org/wiki/Star_polygon">star polygons</a>; there’s a gallery of some of her works at <a href="https://www.juxtapoz.com/news/illustration/master-of-the-month-emma-kunz/">Juxtapoz</a> and another at <a href="http://museumofthegoldenratio.org/emma_kunz.htm">the Museum of the Golden Ratio</a>.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/KgmKV4g9WHw">G+</a>)</p>David EppsteinI’m a bit behind on processing photos, so here’s a short set from a visit two weeks ago to MOCA. The shot below combines two artworks (and a spectator); I didn’t catch the title or artist of the sculpture, but the painting is Black Iris by Franz Kline.Linkage2018-03-31T19:00:00+00:002018-03-31T19:00:00+00:00https://11011110.github.io/blog/2018/03/31/linkage<ul>
<li>
<p><a href="https://www.youtube.com/watch?v=ZJJkJDb6N6w">Three space-filling polyhedra in the diamond lattice</a> (<a href="https://plus.google.com/100003628603413742554/posts/P9gCnZYwvkz">G+</a>, <a href="https://plus.google.com/+TimHutton/posts/Ho3tLrAhUNQ">via</a>). Along with the cube tiling usually used to show the diamond’s repeating structure, there is a rhombic dodecahedron tiling some of whose edges align with the diamond, and a Voronoi tiling with triakis truncated tetrahedra (say that three times fast!) as its cells. With pretty visualizations by Tim Hutton.</p>
</li>
<li>
<p>Practical applications of the subset sum problem in forensic accounting? <a href="https://gist.github.com/RyanCavanaugh/a42ee7f8c4edb540c1b303cf7a7d26e2">Ryan Cavanaugh looks for Trump payments whose total matches the alleged Stormy Daniels hush money</a> (<a href="https://plus.google.com/100003628603413742554/posts/eXu8aS5aaaj">G+</a>).</p>
</li>
<li>
<p><a href="https://idea-instructions.com/">IKEA-like algorithm visualizations</a> from Sándor Fekete and friends (<a href="https://plus.google.com/100003628603413742554/posts/JRAKA8n8UUP">G+</a>, <a href="https://www.metafilter.com/173042/KWICK-SRT">via</a>).</p>
</li>
<li>
<p><a href="https://www.nytimes.com/2018/03/19/technology/facebook-alex-stamos.html">Facebook’s canary dies</a> (<a href="https://plus.google.com/100003628603413742554/posts/FjtuvxeyDaT">G+</a>, <a href="https://www.metafilter.com/172992/Fear-and-Trembling-and-the-Sickness-Unto-Death#7350677">via</a>). A year ago we were <a href="https://pando.com/2017/01/10/worried-about-facebooks-coziness-trump-keep-eye-what-alex-stamos-does-next/">warned to watch Alex Stamos’s behavior</a> as way to track Facebook’s “weird willingess to cosy up to ultra-nationalist demagogues and authoritarian regimes”. Now he’s leaving over Facebook’s refusal to address Russian interference.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/1803.07185">Tree drawings revisited</a> (<a href="https://plus.google.com/100003628603413742554/posts/ccKV8AZrb1p">G+</a>). Timothy Chan shaves logs in the area requirements for drawing trees into more exotic but also more slowly-growing functions.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Malfatti_circles">Malfatti circles</a> (<a href="https://plus.google.com/100003628603413742554/posts/Kccc3At1bRQ">G+</a>). Another Wikipedia Good Article, on an amusing but not-very-important problem: how to draw three circles tangent to each other and to the sides of a triangle enclosing them, and Malfatti’s mistaken belief that these would maximize the total area among all triples of circles within a given triangle (they never do). The many 19th-century researchers on constructing these circles included <a href="https://en.wikipedia.org/wiki/Charlotte_Wedell">Charlotte Wedell</a>, a Danish baroness who was one of four women to attend the first ICM.</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/gunter-ziegler-and-martin-aigner-seek-gods-perfect-math-proofs-20180319/">Günter Ziegler on book proofs</a> (<a href="https://plus.google.com/100003628603413742554/posts/H1HjJf4Y3bD">G+</a>, <a href="https://plus.google.com/+QuantamagazineOrgNews/posts/7LutJPVf9yD">via</a>, <a href="https://plus.google.com/114992454076690518209/posts/2Mpj6daAzsG">via2</a>).</p>
</li>
<li>
<p><a href="https://thebaffler.com/alienated/in-praise-of-negative-reviews">In praise of negative reviews</a> (<a href="https://plus.google.com/100003628603413742554/posts/YDwyk882Tds">G+</a>). Rafia Zakaria laments the lack of critical engagement in modern book reviews, replaced by “advertisement-style frippery” and plot summary. The same criticism could be leveled at some referee reports.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?time_continue=1&v=k_gYs5uY70A">Combinatorics involved with permutohedra and associahedra</a> (<a href="https://plus.google.com/100003628603413742554/posts/BqhwQERvZBf">G+</a>, <a href="https://plus.google.com/+MichaelNelson/posts/bw7hPrw4g3U">via</a>). A talk by Michael Nielsen at the MAA Southeastern Conference. See G+ for how the connection he describes involving certain trees shows that the preimage on the permutohedron of a vertex of the associahedron forms a distributive lattice.</p>
</li>
<li>
<p><a href="https://agtb.wordpress.com/2018/03/26/combating-harassment-in-toc/">A new commission to address harassment at theory conferences</a> (<a href="https://plus.google.com/100003628603413742554/posts/emMpzsQuf9t">G+</a>). I’m sure commission head Sandy Irani will handle it well, but I worry about the <a href="http://theconversation.com/heres-the-truth-about-false-accusations-of-sexual-violence-88049">unnecessary emphasis on false accusations</a> in their charge, what it says about who the audience is, and what it might do to discourage victims from reporting incidents.</p>
</li>
<li>
<p><a href="http://paulbourke.net/fractals/randomtile/">Random space filling tiling of the plane</a> (<a href="https://plus.google.com/100003628603413742554/posts/fb8BGy41hxG">G+</a>). Pretty images, but Paul Bourke’s somewhat-fragile generation method leads to questions of whether there’s a more robust method for this based on a nice probability space on packings.</p>
</li>
<li>
<p><a href="https://wikiedu.org/blog/2018/03/28/how-one-prolific-wikipedian-is-giving-voice-to-pre-20th-century-womens-stories/">How one prolific Wikipedian is giving voice to pre-20th century women’s stories</a> (<a href="https://plus.google.com/100003628603413742554/posts/NhLMGUux9zM">G+</a>). A profile of Wikipedian and womens’ biographer Rosie Stephenson-Goodknight.</p>
</li>
<li>
<p><a href="https://arstechnica.com/science/2018/03/earwigs-wing-inspires-compact-designs-that-fold-themselves/">Earwig’s wing inspires compact designs that fold themselves</a> (<a href="https://plus.google.com/100003628603413742554/posts/SsBVrMdbYR3">G+</a>, <a href="https://plus.google.com/105473622219622697310/posts/BzPLgT1qXJK">via</a>). Interesting use of metastability to form shapes that fold down to small sizes and hold their rigidity when unfolded. Also with mini-rant about how badly chosen the authors’ term “4d printing” is.</p>
</li>
<li>
<p><a href="https://svpow.files.wordpress.com/2017/03/edwardsroy2017-table1-perverse-incentives.pdf">Perverse incentives in academia</a> (<a href="https://plus.google.com/100003628603413742554/posts/jabv2T4dseA">G+</a>, <a href="https://plus.google.com/118250784898510714238/posts/dzV8MNAVzjR">via</a>). <a href="https://en.wikipedia.org/wiki/Goodhart%27s_law">Goodheart’s law</a> tells us that numerical measures of quality quickly become corrupted, but this table describes more specifically what has gone wrong with standard ways of comparing academic productivity.</p>
</li>
<li>
<p><a href="https://userpages.monmouth.com/~colonel/besbaiocchi/index.html">Baiocchi figures for Besźel polycubes</a> (<a href="https://plus.google.com/100003628603413742554/posts/f34HgyH2s8d">G+</a>). How can we glue together copies of a given polycube, using only cubical cells with at least two even coordinates, to form a bigger shape with the symmetry of a cube? A a small corner of an <a href="https://userpages.monmouth.com/~colonel/polycur.html">extensive set of pages on polyforms</a> by Colonel George Sicherman.</p>
</li>
</ul>David EppsteinThree space-filling polyhedra in the diamond lattice (G+, via). Along with the cube tiling usually used to show the diamond’s repeating structure, there is a rhombic dodecahedron tiling some of whose edges align with the diamond, and a Voronoi tiling with triakis truncated tetrahedra (say that three times fast!) as its cells. With pretty visualizations by Tim Hutton.Drawing clustered graphs (slowly)2018-03-16T23:06:00+00:002018-03-16T23:06:00+00:00https://11011110.github.io/blog/2018/03/16/drawing-clustered-graphs<p>Clustered planarity is a simple enough problem to state: we have a hierarchically clustered collection of vertices (say employees of a company grouped into the company’s subdivisions, or subroutines in a software project, grouped into modules) together with a graph on the same vertices (who actually talks to whom at their lunch breaks, or which subroutines call each other) and we want to visualize both together.</p>
<p style="text-align:center"><img src="/blog/assets/2018/regexp_grouped.png" alt="Call graph of Python regular expression code, from the pycallgraph documentation" /></p>
<p style="text-align:center;font-size:75%"><a href="http://pycallgraph.slowchop.com/en/master/examples/regexp_grouped.html">Call graph of Python regular expression code</a>, from the <a href="http://pycallgraph.slowchop.com/en/master/">pycallgraph</a> documentation</p>
<p>An ideal drawing (if possible) would avoid crossings of pairs edges and of pairs cluster boundaries, and unnecessary crossings of an edge with a cluster boundary. It is not possible to create a nontrivial drawing of this type without some edge-boundary crossings, for edges that have one endpoint on each side of the boundary. But we don’t want any other crossings beyond those necessary ones. When this can be done, the drawing is called “clustered planar”.</p>
<p style="text-align:center"><img src="/blog/assets/2018/cplanarity.svg" alt="A clustered planar drawing" /></p>
<p>Despite the simplicity of the problem statement, research on clustered planarity has been something of a mess. We don’t know whether finding a clustered planar drawing of a given graph and clustering can be done in polynomial time. We don’t know whether it’s hard for any natural complexity classes. And so instead many of the papers in this area study special cases that can be solved efficiently.
Sometimes the restrictions of these cases are natural (e.g. each cluster induces a connected subgraph), and sometimes they’re not (“either the disconnected clusters all lie along a single root-to-leaf path of the cluster hierarchy, or each disconnected cluster has connected parent and siblings”). I think the assumption behind this line of research is that clustered planarity really should be polynomial, and that we can prove it by starting from these cases and generalizing them a bit.</p>
<p>My new preprint, “Subexponential-time and FPT algorithms for embedded flat clustered planarity” (with Giordano Da Lozzo, Mike Goodrich, and Sid Gupta, <a href="https://arxiv.org/abs/1803.05465">arXiv:1803.05465</a>) takes a somewhat different approach. It asks: what if clustered planarity is not really polynomial? We’d still want to solve it anyway. How quickly can we do it?</p>
<p>Unfortunately we couldn’t get away from special cases entirely. That’s what the “embedded flat” parts of the title mean: we only handle inputs where the planar embedding has already been chosen, so the remaining problem is to draw the cluster boundaries, and we only handle clusters that partition the vertices (like the first image above) rather than being nested inside each other (like the second image). We have two results for these kinds of inputs:</p>
<ol>
<li>
<p>A separator-based divide-and-conquer algorithm can find a clustered drawing, if one exists, in time <script type="math/tex">2^{O(\sqrt{\ell n}\cdot\log n)}</script>. Here <script type="math/tex">\ell</script> is the maximum number of edges in a face of the drawing, and <script type="math/tex">n</script> is the number of vertices. The reason for the dependence on <script type="math/tex">\ell</script> is that we need the separators we find to be simple cycles, so we can’t use forms of the <a href="https://en.wikipedia.org/wiki/Planar_separator_theorem">planar separator theorem</a> that find more general separators of size <script type="math/tex">O(\sqrt n)</script> regardless of face size.</p>
</li>
<li>
<p>Clustered planarity for these inputs is fixed-parameter tractable when parameterized by the embedded-width and number of disconnected clusters of the input. Here <em>embedded width</em> is a variant of treewidth for embedded planar graphs, introduced recently by Borradaile, Erickson, Le, and Weber (<a href="https://arxiv.org/abs/1703.07532">arXiv:1703.07532</a>). The idea is to search for a planar supergraph with connected clusters using <a href="https://en.wikipedia.org/wiki/Courcelle's_theorem">Courcelle’s theorem</a>. Bounded embedded-width implies that the graph of all candidate edges (diagonals of the faces of the given embedding) itself has bounded treewidth, allowing this technique to work.</p>
</li>
</ol>
<p>As for whether I believe that clustered planarity should be polynomial or not, in the general case: I have no idea. I’d like it to be polynomial, because having efficient algorithms for useful problems is better than not having them, but I think that it would be easier to prove hard (if indeed it is hard) than to find a polynomial algorithm for the general case (if it is easy). That’s not evidence for either answer, though.</p>
<p>(<a href="https://plus.google.com/100003628603413742554/posts/2XvFQNtMBbT">G+</a>)</p>David EppsteinClustered planarity is a simple enough problem to state: we have a hierarchically clustered collection of vertices (say employees of a company grouped into the company’s subdivisions, or subroutines in a software project, grouped into modules) together with a graph on the same vertices (who actually talks to whom at their lunch breaks, or which subroutines call each other) and we want to visualize both together.Linkage2018-03-15T22:24:00+00:002018-03-15T22:24:00+00:00https://11011110.github.io/blog/2018/03/15/linkage<ul>
<li>
<p><a href="https://crypto.iacr.org/2018/codeofconduct.html">First code of conduct for a TCS conference</a> (<a href="https://plus.google.com/100003628603413742554/posts/WJuEJ74QeQ6">G+</a>, <a href="https://plus.google.com/118250784898510714238/posts/D1jwNYWGxr4">via</a>). I think this is a move in the right direction.</p>
</li>
<li>
<p><a href="https://gilkalai.wordpress.com/2018/02/27/serge-vladut-lattices-with-exponentially-large-kissing-numbers/">Lattices with exponentially large kissing numbers</a> (<a href="https://plus.google.com/100003628603413742554/posts/dU2Yzk1ZuMJ">G+</a>). Gil Kalai describes <a href="https://arxiv.org/abs/1802.00886">a new preprint by Serge Vlăduţ</a>.</p>
</li>
<li>
<p><a href="https://jeremykun.com/2018/03/05/earthmover-distance/">Earthmover distance</a> (<a href="https://plus.google.com/100003628603413742554/posts/1D1oEuiF79Q">G+</a>), and why it might be relevant for gerrymandering-related computations.</p>
</li>
<li>
<p><a href="http://crookedtimber.org/2018/03/05/44049/">UK academics reach the third week of a general strike over significant reduction in their retirement packages</a> (<a href="https://plus.google.com/100003628603413742554/posts/4WZDrNg721e">G+</a>), while the <a href="http://www.bbc.com/news/education-43295334">universities simultaneously call off negotiations and ask strikers to return to work while negotiations continue</a>.</p>
</li>
<li>
<p><a href="http://robjlow.blogspot.co.uk/2018/03/a-regiment-of-monstrous-functions.html">A regiment of monstrous functions</a> (<a href="https://plus.google.com/100003628603413742554/posts/i9i3kHoqti1">G+</a>). Real-valued functions, even the ones defined by simple formulas, can behave badly.</p>
</li>
<li>
<p><a href="http://conwaylife.com/forums/viewtopic.php?f=2&t=3303">Sir Robin</a> (<a href="https://plus.google.com/100003628603413742554/posts/VDgpeZ8hNVG">G+</a>). A new and not-enormous spaceship in Conway’s Game of Life that moves in the direction of a chess Knight at speed <script type="math/tex">c/6</script>. With later <a href="https://cp4space.wordpress.com/2018/03/11/a-rather-satisfying-winter/">in-depth discussion of how it was found</a> (<a href="https://plus.google.com/100003628603413742554/posts/BWoNxyD51HN">G+</a>), and bonus unsolved problem in graph theory (on graphs in which each edge belongs to a unique triangle and each non-edge is the diagonal of a unique 4-cycle), potentially within reach of computation.</p>
</li>
<li>
<p><a href="https://blog.wikimedia.org/2018/02/27/erdos-paradox/">The Erdős paradox: When a mathematical number and Wikipedia collide</a> (<a href="https://plus.google.com/100003628603413742554/posts/jhimAAGuqzU">G+</a>, <a href="https://plus.google.com/+DaveThau/posts/eKtBuuWPmKk">via</a>). Interview with Kirsten Menger-Anderson on how (in <a href="https://medium.com/@kma500/whos-important-a-tale-from-wikipedia-a370dc6ef078">an essay</a> I <a href="/blog/2018/02/15/linkage.html">linked earlier</a>) she was led from Erdős numbers to missing women mathematicians on Wikipedia.</p>
</li>
<li>
<p><a href="http://languagelog.ldc.upenn.edu/nll/?p=36939">The rulers of the empire of the east try lipograms as a mass cultural word game</a> (<a href="https://plus.google.com/100003628603413742554/posts/QLTqxA5SaKn">G+</a>, <a href="https://plus.google.com/+Aperiodical/posts/ZjFVbzCB3we">via</a>). Because somehow that makes it harder to protest the removal of term limits.</p>
</li>
<li>
<p><a href="https://textiles-lab.github.io/publications/2018-autoknit/">Turning surface meshes in 3d into instructions for an automatic knitting machine</a> (<a href="https://plus.google.com/100003628603413742554/posts/P2GcgLTUtxb">G+</a>, <a href="https://news.ycombinator.com/item?id=16536153">via</a>, <a href="https://boingboing.net/2018/03/08/observe-kniterate-repeat.html">via</a>). You would think that a tea cozy for the <a href="https://en.wikipedia.org/wiki/Utah_teapot">Utah teapot</a> would make a good test case, but no, they knitted the <a href="https://en.wikipedia.org/wiki/Stanford_bunny">Stanford bunny</a> instead.</p>
</li>
<li>
<p><a href="http://chalkdustmagazine.com/read/issue-07/">Chalkdust Issue 7</a> (<a href="https://plus.google.com/100003628603413742554/posts/SJVBboQvNwp">G+</a>). This British recreational mathematics magazine features articles on a set-theoretic road-trip game, the classic nine dots puzzle and its extensions, a Menger spongecake recipe, and more.</p>
</li>
<li>
<p><a href="http://aperiodical.com/2018/03/the-oeis-now-contains-300000-integer-sequences/">Sequence 300k for the OEIS</a> (<a href="https://plus.google.com/100003628603413742554/posts/MhchvjHjpqv">G+</a>, <a href="https://plus.google.com/+Aperiodical/posts/WqtxbrUuune">via</a>). Beyond this milestone, the linked post includes some details about four nice new sequences.</p>
</li>
<li>
<p><a href="https://predatoryjournals.com/update/2017/01/24/welcome-to-predatory-journals.html">Beall’s list of predatory journals, resurrected</a> (<a href="https://plus.google.com/100003628603413742554/posts/6nBpsBMYd3B">G+</a>). With some discussion of <em>IJCGA</em> spam in the G+ post.</p>
</li>
</ul>David EppsteinFirst code of conduct for a TCS conference (G+, via). I think this is a move in the right direction.