Jekyll2019-03-20T07:21:58+00:00https://11011110.github.io/blog/feed.xml11011110Geometry, graphs, algorithms, and moreDavid EppsteinLinkage2019-03-15T22:53:00+00:002019-03-15T22:53:00+00:00https://11011110.github.io/blog/2019/03/15/linkage<p>It’s the last day of classes for the winter quarter here at UCI, and a good time for some spring cleaning of old bookmarked links. Probably also a good time for a reminder that Google+ is shutting down in two weeks so if, like me, you still have links to it then you don’t have long to replace them with archived copies before it gets significantly more difficult.</p>
<ul>
<li>
<p><a href="https://www.universityofcalifornia.edu/press-room/uc-terminates-subscriptions-worlds-largest-scientific-publisher-push-open-access-publicly">The University of California cancels its subscriptions to Elsevier journals after failing to agree on open access</a> (<a href="https://mathstodon.xyz/@11011110/101672959195728560"><script type="math/tex">\mathbb{M}</script></a>). I support this decision, but it means that new papers in Elsevier journals will be harder for me to read. (I will still have access to pre-2019 papers.) More recently, <a href="https://www.insidehighered.com/quicktakes/2019/03/13/norwegian-universities-ditch-elsevier">Norway has also cancelled its subscriptions</a>.</p>
</li>
<li>
<p>My keyboard needed replacement but fortunately the <a href="https://www.apple.com/support/keyboard-service-program-for-macbook-and-macbook-pro/">Apple Keyboard Service Program</a> came through (<a href="https://mathstodon.xyz/@11011110/101683848227213394"><script type="math/tex">\mathbb{M}</script></a>).</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/keyboard/keyboard-m.jpg" alt="Broken MacBook Pro Keyboard" style="border-style:solid;border-color:black;" /></p>
</li>
<li>
<p><a href="https://inference-review.com/article/a-crisis-of-identification">A crisis of identification</a> (<a href="https://mathstodon.xyz/@11011110/101689960199735892"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://thehighergeometer.wordpress.com/2019/03/02/something-i-wrote/">via</a>). David Roberts summarizes the state of play in the claimed proof of the <a href="https://en.wikipedia.org/wiki/abc_conjecture"><script type="math/tex">abc</script> conjecture</a>. The linked site, <em>Inference Review</em>, looks like an interesting platform for <a href="https://inference-review.com/topic/mathematics/">essays on mathematics</a>.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Plan_S">Plan S</a> is a push for funding agencies to require research to be open access. While it’s no surprise that <a href="https://www.insidehighered.com/news/2019/02/19/publishers-express-concern-about-unintended-consequences-plan-s">publishers would push back</a>, there are concerns from the side of open access “that the technical requirements are too high and will result in only large, well-funded publishers and repositories to become compliant”. See the opinions from the <a href="https://euro-math-soc.eu/news/19/02/8/feedback-ems-implementation-plan-s">European Mathematical Society</a>, <a href="https://blogs.cornell.edu/arxiv/2019/02/04/arxivs-feedback-on-the-guidance-on-the-implementation-of-plan-s/">arXiv</a>, and <a href="https://www.coar-repositories.org/news-media/coar-feedback-on-the-guidance-on-implementation-of-plan-s/">Confederation of Open Access Repositories</a> (<a href="https://mathstodon.xyz/@11011110/101699226916200843"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="https://arstechnica.com/science/2019/03/nasa-visualizes-supersonic-shockwaves-in-a-new-awe-inspiring-way/">Visualization of the shockwaves created by supersonic aircraft</a> (<a href="https://mathstodon.xyz/@11011110/101704826218861968"><script type="math/tex">\mathbb{M}</script></a>), created by NASA using aerial <a href="https://en.wikipedia.org/wiki/Schlieren_photography">schlieren photography</a> and stunt piloting.</p>
</li>
<li>
<p>I’m currently preparing a couple of papers, in the LaTeX format for the <a href="https://www.dagstuhl.de/publikationen/lipics/">LIPIcs computer science conference proceedings series</a>. I’ve written here before about <a href="/blog/2018/05/25/lipics-autoref-lemma.html">the trickery needed to get the hyperref package and autoref macro to work in LIPIcs</a>. Now, finally, with the v2019 version of LIPIcs format, it’s much easier: just add [autoref] to the options in the documentclass. Why they don’t turn this on by default is beyond me (<a href="https://mathstodon.xyz/@11011110/101705996579583347"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="http://digg.com/2019/straight-line-uk-to-new-zealand">Today we learned you can sail in a straight line from the UK to New Zealand</a> (<a href="https://mathstodon.xyz/@jhertzli/101558721134407781"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="https://mathscinet.ams.org/mathscinet-getitem?mr=3791763">László Szabó reviews my book for MathSciNet</a> (<a href="https://mathstodon.xyz/@11011110/101718165708839697"><script type="math/tex">\mathbb{M}</script></a>, subscription required).</p>
</li>
<li>
<p><a href="https://doi.org/10.1080/00029890.2019.1535735">Cantarella, Needham, Shonkwiler, and Stewart write in the <em>Monthly</em> about an interesting smooth probability distribution on the shapes of triangles</a> (<a href="https://mathstodon.xyz/@shonk/101723146578421634"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Sums_of_three_cubes">Sums of three cubes</a> (<a href="https://mathstodon.xyz/@11011110/101725333452262574"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://gilkalai.wordpress.com/2019/03/09/8866128975287528%C2%B3-8778405442862239%C2%B3-2736111468807040%C2%B3/">via</a>), a notoriously hard Diophantine equation for which <a href="https://people.maths.bris.ac.uk/~maarb/papers/cubesv1.pdf">Andrew Booker has found</a> the new solution</p>
<script type="math/tex; mode=display">33 = 8866128975287528^3+(-8778405442862239)^3+(-2736111468807040)^3.</script>
<p>But don’t listen to Stephen Wolfram when he tells you that <a href="https://www.wolframscience.com/nks/p789--implications-for-mathematics-and-its-foundations/">the simplest representation for <script type="math/tex">2</script></a> is</p>
<script type="math/tex; mode=display">2 = 1214928^3+3480205^3+(-3528875)^3.</script>
</li>
<li>
<p><a href="https://hungarytoday.hu/mta-head-minister-sign-letter-of-intent-on-future-of-academy-research-network/">László Lovász has agreed to allow the <script type="math/tex">\approx 5000</script> researchers of the Hungarian Academy of Sciences (MTA) to be separated from the academy itself</a> (<a href="https://mathstodon.xyz/@11011110/101735747787440743"><script type="math/tex">\mathbb{M}</script></a>). And <a href="https://www.chronicle.com/blogs/letters/open-letter-to-the-president-of-the-hungarian-academy-of-sciences-laszlo-lovasz/">an open letter</a> asks him to resist pressure from the Hungarian government to dismantle the MTA’s research centers and place researchers under “direct political control”. I don’t know enough to tell whether his agreement is resistance or a concession, but it warrants continued attention.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=imfqczglelI">Vi Hart’s <script type="math/tex">\pi</script>-day video</a> (<a href="https://mathstodon.xyz/@11011110/101753216836690906"><script type="math/tex">\mathbb{M}</script></a>) conveys what I feel about the significance of random concatenations of digits. <a href="https://mathstodon.xyz/@andrewt">Andrew Taylor’s</a> Aperiodical piece on <a href="https://aperiodical.com/2019/03/buzz-in-when-you-think-you-know-the-answer/">average numbers of representations as sums of squares</a> is good too.</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/math-duo-maps-the-infinite-terrain-of-minimal-surfaces-20190312/"><em>Quanta</em> on the work of Fernando Codá Marques and André Neves on the existence of minimal surfaces within arbitrary geometric manifolds</a> (<a href="https://mathstodon.xyz/@11011110/101758577189877053"><script type="math/tex">\mathbb{M}</script></a>). The vague non-technical language is a little frustrating but I think that’s what they mean by “shape”.</p>
</li>
</ul>David EppsteinIt’s the last day of classes for the winter quarter here at UCI, and a good time for some spring cleaning of old bookmarked links. Probably also a good time for a reminder that Google+ is shutting down in two weeks so if, like me, you still have links to it then you don’t have long to replace them with archived copies before it gets significantly more difficult.Planar graphs needing many lines2019-03-13T18:37:00+00:002019-03-13T18:37:00+00:00https://11011110.github.io/blog/2019/03/13/planar-graphs-needing<p>As I said in <a href="/blog/2019/03/12/counting-polygon-triangulations.html">my previous post</a> my two SoCG papers both
involved trying and failing to prove something else, and writing down
what I could prove instead. For the one that appears today, “Cubic
planar graphs that cannot be drawn on few lines” (<a href="http://arxiv.org/abs/1903.05256">arXiv:1903.05256</a>),
that something else was Open Problem 16.14 of my book, which can be
rephrased as: does there exist a family of planar graphs that cannot be
drawn planarly with all vertices on a constant number of convex curves?</p>
<p>Instead I expand on something that was already known, the existence of
planar graphs that cannot be drawn with all vertices on a constant
number of lines.</p>
<p>There were two previously known methods for constructing such graphs:</p>
<ul>
<li>Use a <a href="https://en.wikipedia.org/wiki/Apollonian_network">planar
3-tree</a>. This
is a planar graph formed by recursively subdividing triangles into three
smaller triangles. If the vertices are drawn on some family of lines,
the line through the subdivision point must miss one of the three
smaller triangles, so by induction you can be forced to use a
non-constant number of lines. But the bound you get is only logarithmic.<sup id="fnref:book"><a href="#fn:book" class="footnote">1</a></sup></li>
</ul>
<p style="text-align:center"><img src="/blog/assets/2019/planar-3-tree.svg" alt="Planar 3-tree" /></p>
<ul>
<li>Use a maximal planar graph whose dual graph has no long paths.
In a maximal planar graph, any line through many vertices can be
translated into a path through many dual vertices. So if there is no
long dual path there must be many lines. This gives a polynomial lower
bound on the number of lines, but with a tiny exponent.<sup id="fnref:dual"><a href="#fn:dual" class="footnote">2</a></sup></li>
</ul>
<p>The new paper finds a third method:</p>
<ul>
<li>Use a graph that has many disjoint collections of many nested cycles.
Drawing a big set of nested cycles on a small
number of lines necessarily uses up one of the crossing points of the lines.
So if there are more nests than crossing points, one of them will have
to use many lines.</li>
</ul>
<p style="text-align:center"><img src="/blog/assets/2019/spiderwebs.svg" alt="Graph with many disjoint collections of many nested cycles" /></p>
<p>This leads to stronger polynomial bounds, but also (more importantly I
think) wider families of planar graphs that need non-constant numbers of
lines. For instance, it works for series-parallel graphs of maximum
degree three, which are far from being maximal planar. And even though
every tree can be drawn with its vertices on two lines, adding a single
vertex to a tree can produce a graph that requires a non-constant number
of lines.</p>
<p style="text-align:center"><img src="/blog/assets/2019/apex-tree.svg" alt="Tree plus one vertex requiring a non-constant number of lines" /></p>
<div class="footnotes">
<ol>
<li id="fn:book">
<p><a href="https://www.ics.uci.edu/~eppstein/forbidden/"><em>Forbidden Configurations in Discrete Geometry</em></a>, Theorem 16.13. <a href="#fnref:book" class="reversefootnote">↩</a></p>
</li>
<li id="fn:dual">
<p>Ravsky, Alexander, and Verbitsky, Oleg (2011), “<a href="https://doi.org/10.1007/978-3-642-25870-1_27">On collinear sets in straight-line drawings</a>”, <em>37th Int. Worksh. Graph-Theoretic Concepts in Computer Science (WG 2011)</em>, LNCS 6986, Springer, pp. 295–306; Chaplick, Steven, Fleszar, Krzysztof, Lipp, Fabian, Verbitsky, Oleg, and Wolff, Alexander (2016), “<a href="https://doi.org/10.1007/978-3-319-50106-2_14">Drawing graphs on few lines and few planes</a>”, <em>24th Int. Symp. Graph Drawing and Network Visualization (GD 2016)</em>, LNCS 9801, Springer, pp. 166–180. <a href="#fnref:dual" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
<p>(<a href="https://mathstodon.xyz/@11011110/101747562081254313">Discuss on Mastodon</a>)</p>David EppsteinAs I said in my previous post my two SoCG papers both involved trying and failing to prove something else, and writing down what I could prove instead. For the one that appears today, “Cubic planar graphs that cannot be drawn on few lines” (arXiv:1903.05256), that something else was Open Problem 16.14 of my book, which can be rephrased as: does there exist a family of planar graphs that cannot be drawn planarly with all vertices on a constant number of convex curves?Counting polygon triangulations is hard2019-03-12T18:48:00+00:002019-03-12T18:48:00+00:00https://11011110.github.io/blog/2019/03/12/counting-polygon-triangulations<p>In some sense both of my accepted papers at SoCG are about a situation where I really wanted to prove something else, wasn’t able to, and wrote up what I could prove instead. The one whose preprint appears today, “Counting polygon triangulations is hard” (<a href="http://arxiv.org/abs/1903.04737">arXiv:1903.04737</a>), proves that it’s <script type="math/tex">\#\mathsf{P}</script>-complete to count the triangulations of a polygon with holes.</p>
<p>It’s easy to prove that it’s <script type="math/tex">\mathsf{NP}</script>-hard to count maximum non-crossing subsets of line segment arrangements: the intersections graphs of line segments include all the planar graphs, so this follows immediately from the <script type="math/tex">\mathsf{NP}</script>-completeness of maximum independent sets in planar graphs. The gadgets in my paper (drawn below) turn a single line segment into a part of a polygon for which many triangulations use diagonals in approximately the same position as the line segment, and there are few other triangulations. By using these gadgets, one could easily construct a polygon in which most of the triangulations correspond to maximum non-crossing subsets, showing that it’s also <script type="math/tex">\mathsf{NP}</script>-hard to count triangulations. But this is unsatisfactory because it’s the wrong kind of completeness. For counting problems, we want <script type="math/tex">\#\mathsf{P}</script>-completeness, not just <script type="math/tex">\mathsf{NP}</script>-hardness.</p>
<p style="text-align:center"><img src="/blog/assets/2019/tricount-gadgets.svg" alt="Gadgets for proving hardness of polygon triangulation" /></p>
<p>The reason the outline above isn’t already a <script type="math/tex">\#\mathsf{P}</script>-completeness proof is that we need to control the rest of the triangulation better. It’s not enough for most triangulations to come from maximum non-crossing subsets. We need each maximum non-crossing subset of line segments to contribute exactly the same number of triangulations (or at least a predictable and controlled number) so that we can recover the number of maximum non-crossing subsets from the number of triangulations. The gadgets control the parts of the triangulation near each segment of the non-crossing subsets, but we also need to control the parts of the triangulation that are not near those segments. Achieving this took much of the work in my new paper. There are two main ideas: First, we use special arrangements with the property that, when you close off the gadgets of a maximum non-crossing subset, the remaining parts of the polygon form pieces of predictable shapes for which we can count the triangulations. In these arrangements, there are two colors of segments, red and blue; each blue segment is crossed by two red segments, and each red segment is crossed in the order blue-red-blue. So we need a new counting reduction from graph independent sets that produces arrangements of this type. And second, we decompose the total number of maximum non-crossing subsets into a sum of smaller numbers, of subsets that have a given number of red segments. Subsets with the same number of red segments leads to the same numbers of triangulations, allowing the terms in the sum to be recovered from the number of triangulations.</p>
<p>A secondary goal was to do this all using a <a href="https://en.wikipedia.org/wiki/Polynomial-time_counting_reduction">polynomial-time counting reduction</a> rather than the <a href="https://en.wikipedia.org/wiki/Turing_reduction">Turing reductions</a> that are more commonly used for <script type="math/tex">\#\mathsf{P}</script>-completeness. One cannot use an even stronger notion of reduction, <a href="https://en.wikipedia.org/wiki/Parsimonious_reduction">parsimonious reductions</a>, to reduce <script type="math/tex">\#\mathsf{P}</script> problems that might have zero solutions to a problem like triangulation that always has at least one. But to me, counting reductions are more closely analogous to the many-one reductions used for <script type="math/tex">\mathsf{NP}</script>-completeness. We can use them, so we should use them. So the reductions in the paper are polynomial-time counting reductions, but more work would be needed to prove that the starting graph problem I used (counting independent sets in regular planar graphs) is complete for those reductions.</p>
<p>Surprisingly to me, this appears to be the first published proof of a <script type="math/tex">\#\mathsf{P}</script>-completeness result in two-dimensional computational geometry. And although some 2d geometric structures have been proven <script type="math/tex">\mathsf{NP}</script>-hard to construct (and therefore <script type="math/tex">\mathsf{NP}</script>-hard to count) it seems to be the first hardness proof of any kind for counting 2d structures that can be constructed rather than counted in polynomial time. But as I said at the top of this post, it’s not what I really wanted to prove. I was hoping to prove hardness for counting non-crossing structures on point sets, such as simple polygons, triangulations, non-crossing matchings, or pointed pseudotriangulations. The polygon question was suggested to me by Sara Billey when I visited her last April, in connection with a different problem we were working on (and still haven’t published). And counting the triangulations of a point set would fit the theme of my recent book, because this count is a numerical parameter that depends only on the order type of the points and mostly behaves monotonically under point deletion (exception: delete the center point of a <a href="https://en.wikipedia.org/wiki/Quincunx">quincunx</a>). Instead I had to settle for polygon triangulations. But maybe another paper can take this line of research one step farther, to counting problems on points.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/101741985429465998">Discuss on Mastodon</a>)</p>David EppsteinIn some sense both of my accepted papers at SoCG are about a situation where I really wanted to prove something else, wasn’t able to, and wrote up what I could prove instead. The one whose preprint appears today, “Counting polygon triangulations is hard” (arXiv:1903.04737), proves that it’s -complete to count the triangulations of a polygon with holes.Linkage2019-02-28T14:41:00+00:002019-02-28T14:41:00+00:00https://11011110.github.io/blog/2019/02/28/linkage<p>This seems like a good time to throw in a word of appreciation for <a href="https://archive.org/">archive.org</a> and their wayback machine for making it so easy to make permanent links to online resources that might otherwise go away, such as other people’s Google+ posts. Just search for the link on archive.org and, if it’s not archived already, it will give you a convenient link to immediately archive it. There’s one of those hiding in the links below, and more among the older links on my blog.</p>
<ul>
<li>
<p>Elsevier news roundup (<a href="https://mathstodon.xyz/@11011110/101604919533994937"><script type="math/tex">\mathbb{M}</script></a>): <a href="https://www.nature.com/articles/d41586-019-00492-4">German, Hungarian, and Swedish academics have been cut off from Elsevier journals</a> after subscription negotiations broke down. <a href="https://www.insidehighered.com/quicktakes/2019/02/01/talks-continue-between-u-california-and-elsevier">Negotiations with the University of California are ongoing</a> after a missed deadline. <a href="https://www.nature.com/news/german-scientists-regain-access-to-elsevier-journals-1.21482">Access to Germany was restored</a> but without any long-term agreement. And <a href="https://www.nature.com/articles/d41586-019-00135-8">the editorial board of <em>Informetrics</em> resigned</a> to protest Elsevier’s open access policies.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Rado_graph">The Rado graph</a> (<a href="https://mathstodon.xyz/@11011110/101608978698250480"><script type="math/tex">\mathbb{M}</script></a>). Choose a random graph with countably infinite vertices by flipping a coin to decide whether to include each edge. Or, construct a graph with binary numbers as vertices, with an edge <script type="math/tex">x</script>—<script type="math/tex">y</script> when <script type="math/tex">x\lt y</script> and the <script type="math/tex">x</script>th bit of <script type="math/tex">y</script> is one. Or, construct a graph on primes congruent to 1 mod 4, with an edge when one is a quadratic residue mod the other. They’re all the same graph, and it has many other amazing properties.</p>
</li>
<li>
<p><a href="https://www.cbc.ca/news/health/cihr-gender-bias-1.5009611">A comparison of two parallel Canadian grant funding tracks</a> (<a href="https://mathstodon.xyz/@11011110/101617210700627060"><script type="math/tex">\mathbb{M}</script></a>) shows that when reviewers are told to focus on the investigator rather than the proposed investigation, they are significantly more biased against women.</p>
</li>
<li>
<p>Paul Erdős died in 1996, but <a href="http://www.math.ucsd.edu/~ronspubs/pre_tres_egyptian.pdf">his most recent paper</a> is from 2015, nearly 20 years later! (<a href="https://mathstodon.xyz/@11011110/101623126848928532"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://www.simonsfoundation.org/2015/12/10/new-erdos-paper-solves-egyptian-fraction-problem/">see also</a>). It’s about Egyptian fractions – representations of rationals as sums of distinct unit fractions – and is motivated by the conjecture that it’s always possible for all denominators to be semiprime. That’s still open, but they prove that every integer has a representation with all denominators products of three primes.</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/mobius-strips-defy-a-link-with-infinity-20190220/">You can’t pack uncountably many Möbius strips into 3d space</a> (<a href="https://mathstodon.xyz/@11011110/101625917417129970"><script type="math/tex">\mathbb{M}</script></a>). Known since the early 1960s for polyhedral embeddings, this has been recently generalized to arbitrarily messy topological embeddings, and to higher dimensions, in two papers <a href="https://doi.org/10.1142/S0218216518420051">by Olga Frolkina</a> and <a href="https://arxiv.org/abs/1810.04089">by Sergey Melikhov</a>.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/YBC_7289">YBC 7289</a> (<a href="https://mathstodon.xyz/@11011110/101638091102582421"><script type="math/tex">\mathbb{M}</script></a>). This Babylonian tablet from 1800 BC – 1600 BC shows the sides and diagonals of a square with a very accurate sexagesimal approximation to the square root of two, “the greatest known computational accuracy … in the ancient world”. Now a Good Article on Wikipedia.</p>
</li>
<li>
<p><a href="https://abcnews.go.com/Technology/nasa-names-facility-hidden-figures-inspiration-katherine-johnson/story">NASA names a building after <em>Hidden Figures</em> subject Katherine Johnson</a> (<a href="https://mathstodon.xyz/@btcprox/101638679662393655"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@christianp/101651770581756631">Christian Lawson-Perfect 3d-prints interconnecting Herschel enneahedra</a>. This is <a href="https://en.wikipedia.org/wiki/Herschel_graph">the simplest non-Hamiltonian polyhedron</a>. I <a href="/blog/2016/11/30/linkage.html">wrote a couple years ago</a> about Lawson-Perfect’s quest for a nice polyhedral realization for these shapes; now they exist in tangible form.</p>
</li>
<li>
<p><a href="https://mathlesstraveled.com/2019/02/20/goldilogs-and-the-n-bears/">Goldilogs and the <script type="math/tex">n</script> bears: a parable of algorithmic efficiency</a> (<a href="https://mathstodon.xyz/@11011110/101655938940308411"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="http://eatcs.org/index.php/presburger">Karl Bringmann and Kasper Green Larsen have won the 2019 Presberger Award</a> (<a href="https://mathstodon.xyz/@11011110/101665972353816294"><script type="math/tex">\mathbb{M}</script></a>), for outstanding contributions by young scientists in theoretical computer science, to be presented later this year at ICALP. The award laudatio appears not to be ready yet but <a href="https://web.archive.org/web/20190227203235/https://plus.google.com/+JukkaSuomela/posts/HfEVeR44Bww">committee chair Jukka Suomela writes that it is “for their groundbreaking work on lower bounds”</a>.</p>
</li>
<li>
<p><a href="http://cgshop.ibr.cs.tu-bs.de/">The Computational Geometry Week Optimization Challenge</a> (<a href="https://mathstodon.xyz/@11011110/101667406212632110"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://sites.google.com/stonybrook.edu/cgweek2019-workshop/">via</a>) is a contest to solve a hard problem in computational geometry, finding a simple polygon of minimum or maximum area with a given point set as its vertices. The 247 challenge instances are now online, with a deadline of May 31 for solving them.</p>
</li>
<li>
<p><a href="https://www.worldscientific.com/worldscibooks/10.1142/11261"><em>Problems with a Point: Exploring Math and Computer Science</em></a> (<a href="https://mathstodon.xyz/@11011110/101672038034600757"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://blog.computationalcomplexity.org/2019/02/problems-with-point-exploring-math-and.html">via</a>), a new book of mathematical essays from Bill Gasarch and Clyde Kruskal, based on expanded and cleaned-up versions of Bill’s blog posts at the Computational Complexity blog.</p>
</li>
</ul>David EppsteinThis seems like a good time to throw in a word of appreciation for archive.org and their wayback machine for making it so easy to make permanent links to online resources that might otherwise go away, such as other people’s Google+ posts. Just search for the link on archive.org and, if it’s not archived already, it will give you a convenient link to immediately archive it. There’s one of those hiding in the links below, and more among the older links on my blog.Mutual nearest neighbors versus closest pairs2019-02-21T21:06:00+00:002019-02-21T21:06:00+00:00https://11011110.github.io/blog/2019/02/21/mutual-nearest-neighbors<p>In the 1990s I published a series of papers on data structures for closest pairs. As long as you already know how to maintain dynamic sets of objects of some type, and answer nearest-neighbor queries among them, you can also keep track of the closest pair, and this can be used as a subroutine in many other
computational geometry algorithms. But it turns out that many of those algorithms can now be simplified and sped up by using mutual nearest neighbors (pairs of objects that are each other’s nearest neighbors) instead of closest pairs.</p>
<p>My original motivation for studying these types of problems was to maintain minimum spanning trees of dynamic point sets, using closest red-blue pairs of Euclidean points,<sup id="fnref:aem"><a href="#fn:aem" class="footnote">1</a></sup> <sup id="fnref:ebf"><a href="#fn:ebf" class="footnote">2</a></sup> and I later found more applications in hierarchical clustering, greedy matching, traveling salesperson heuristics,<sup id="fnref:fhc"><a href="#fn:fhc" class="footnote">3</a></sup> <sup id="fnref:lazy"><a href="#fn:lazy" class="footnote">4</a></sup> and (with Jeff Erickson) motorcycle graphs and <a href="https://en.wikipedia.org/wiki/Straight_skeleton">straight skeletons</a>.<sup id="fnref:ee"><a href="#fn:ee" class="footnote">5</a></sup> But to use these closest pair data structures, you have to pay two logarithmic factors in time complexity over the time for the underlying nearest-neighbor data structure. So they’re not competitive with (uncolored) Euclidean closest pair data structures, which take only logarithmic time in any fixed dimension. Instead they make more sense to use with other distances than Euclidean, with objects more complicated than single points, or with variations like the red-blue closest pair for which the logarithmic-time solution doesn’t work.</p>
<p>For several variations of hierarchical clustering, an alternative and simpler technique has been known for quite a bit longer, based on finding mutual nearest neighbors (pairs of objects that are nearer to each other than to anything else) rather than closest pairs.<sup id="fnref:ben"><a href="#fn:ben" class="footnote">6</a></sup> <sup id="fnref:juan"><a href="#fn:juan" class="footnote">7</a></sup> It’s called the <a href="https://en.wikipedia.org/wiki/Nearest-neighbor_chain_algorithm">nearest neighbor chain algorithm</a>, but really it’s a data structure rather than an algorithm, one that allows you to maintain a dynamic point set and find pairs of mutual nearest neighbors, again based on calls to an underlying nearest neighbor data structure. The idea is to maintain a stack of shorter and shorter pairs of nearest neighbors, until the two objects whose distance is on the top of the stack have nothing nearer – they are mutual nearest neighbors. Whenever you want a pair of neighbors, you look at the top pair, an object <script type="math/tex">x</script> and its nearest neighbor <script type="math/tex">y</script>, and ask whether <script type="math/tex">y</script>’s nearest neighbor is <script type="math/tex">x</script>. If so, you have found a mutual nearest neighbor pair, and if not you have a new shorter distance to push onto the stack.</p>
<p>One can this in a hierarchical clustering algorithm that repeatedly finds and merges the nearest two clusters, whenever the distance between clusters has a special property: a merged cluster is never closer to other clusters than the closer of the two clusters that was merged. This property implies both that the stack of distances remains valid after the merge, and that mutual nearest neighbors are always safe to merge. If two clusters are mutual nearest neighbors, then the closest-pair clustering algorithm will eventually merge them, because none of its actions can cause them to stop being mutual nearest neighbors. So we might as well merge them immediately once we discover them to be mutual nearest neighbors. (One way to formulate this mathematically is that the set of mutual nearest neighbor pairs merged by the clustering algorithm forms an <a href="https://en.wikipedia.org/wiki/Antimatroid">antimatroid</a>). When this works, you get a clustering algorithm that uses a linear number of nearest neighbor queries, instead of the <script type="math/tex">O(n\log^2 n)</script> queries that you would get using my closest-pair data structures.</p>
<p>In more recent research with UCI student Nil Mamano (finishing his doctorate this year; hire him for a postdoc, he’s good!) we noticed that the nearest neighbor chain algorithm can also be applied to certain <a href="/blog/2017/04/11/stable-grid-matching.html">stable marriage problems with preferences coming from geometric distances</a>.<sup id="fnref:egm"><a href="#fn:egm" class="footnote">8</a></sup> Our latest preprint, “Euclidean TSP, Motorcycle Graphs, and Other New Applications of Nearest-Neighbor Chains” (with Efrat, Frishberg, Goodrich, Kobourov, Mamano, Matias, and Polishchuk, <a href="https://arxiv.org/abs/1902.06875">arXiv:1902.06875</a>) extends this to a much broader set of applications. As well as simplifying and speeding up my previous work on motorcycle graphs and TSP heuristics, we also use nearest neighbor chains in a bigger class of stable matching problems and in an approximate geometric set cover problem. In each case, we need to show either that the problem has an antimatroid-like property (so using mutual nearest neighbors produces the same solution as closest pairs) or that, even when varying from the same solution, it achieves the same quality. It’s not quite true that anything closest pairs can do, mutual nearest neighbors can do better, but it’s close.</p>
<p>Another idea in the paper is that to find (exact!) mutual nearest neighbor pairs one can sometimes get away with using approximate near neighbor structures. This is important if you’re using Euclidean distance, because the time bounds for exact nearest neighbors have the form <script type="math/tex">n^{1-\varepsilon_d}</script> for constants <script type="math/tex">\varepsilon_d</script> that get very small as <script type="math/tex">d</script> gets large, while approximate nearest neighbors are logarithmic in all dimensions. The idea is to build the stack of shorter distances by asking for a constant number of approximate near neighbors, the <script type="math/tex">i</script>th of which is within a constant factor of the distance to the actual <script type="math/tex">i</script>th nearest neighbor. By a packing argument for points in Euclidean space, either some two of these points are closer to each other than the distance on the current stack top (in which case you can build the stack one more level) or these approximate neighbors are guaranteed to contain the actual nearest neighbor (in which case you can either detect a mutual nearest neighbor pair or again build the stack).
This idea leads, for instance, to an algorithm for the <a href="https://en.wikipedia.org/wiki/Multi-fragment_algorithm">multi-fragment TSP heuristic</a> that takes time <script type="math/tex">O(n\log n)</script> in Euclidean spaces of any bounded dimension; the best previous time appears to be an <script type="math/tex">O(n^2)</script>-time algorithm (valid in any metric space) from one of my previous papers.<sup id="fnref:fhc:1"><a href="#fn:fhc" class="footnote">3</a></sup></p>
<div class="footnotes">
<ol>
<li id="fn:aem">
<p>Agarwal, P. K., Eppstein, D., and Matoušek, J., “<a href="https://www.ics.uci.edu/~eppstein/pubs/AgaEppMat-FOCS-92.pdf">Dynamic algorithms for half-space reporting, proximity problems, and geometric minimum spanning trees</a>”, <em>FOCS</em>, 1992, pp. 80–89. <a href="#fnref:aem" class="reversefootnote">↩</a></p>
</li>
<li id="fn:ebf">
<p>Eppstein, D., “<a href="https://www.ics.uci.edu/~eppstein/pubs/Epp-DCG-95.pdf">Dynamic Euclidean minimum spanning trees and extrema of binary functions</a>”, <em>Discrete Comput. Geom.</em> 13: 111–122, 1995. <a href="#fnref:ebf" class="reversefootnote">↩</a></p>
</li>
<li id="fn:fhc">
<p>Eppstein, D., “Fast hierarchical clustering and other applications of dynamic closest pairs”, <em>SODA</em>, 1998, pp. 619–628, <a href="https://arxiv.org/abs/cs.DS/9912014">arXiv:cs.DS/9912014</a>, <em>J. Experimental Algorithmics</em> 5 (1): 1–23, 2000. <a href="#fnref:fhc" class="reversefootnote">↩</a> <a href="#fnref:fhc:1" class="reversefootnote">↩<sup>2</sup></a></p>
</li>
<li id="fn:lazy">
<p>Cardinal, J., and Eppstein, D., “<a href="https://www.siam.org/meetings/alenex04/abstacts/JCardinal.pdf">Lazy algorithms for dynamic closest pair with arbitrary distance measures</a>”, <em>ALENEX</em>, 2004, pp. 112–119. <a href="#fnref:lazy" class="reversefootnote">↩</a></p>
</li>
<li id="fn:ee">
<p>Eppstein, D., and Erickson, J., “<a href="http://jeffe.cs.illinois.edu/pubs/pdf/cycles.pdf">Raising roofs, crashing cycles, and playing pool: applications of a data structure for finding pairwise interactions</a>”, <em>SoCG</em>, 1998, pp. 58–67, <em>Discrete Comput. Geom.</em> 22 (4): 569–592, 1999. <a href="#fnref:ee" class="reversefootnote">↩</a></p>
</li>
<li id="fn:ben">
<p>Benzécri, J.-P. (1982), “<a href="http://www.numdam.org/item?id=CAD_1982__7_2_209_0">Construction d’une classification ascendante hiérarchique par la recherche en chaîne des voisins réciproques</a>”, Les Cahiers de l’Analyse des Données, 7 (2): 209–218. <a href="#fnref:ben" class="reversefootnote">↩</a></p>
</li>
<li id="fn:juan">
<p>Juan, J. (1982), “<a href="http://www.numdam.org/item?id=CAD_1982__7_2_219_0">Programme de classification hiérarchique par l’algorithme de la recherche en chaîne des voisins réciproques</a>”, <em>Les Cahiers de l’Analyse des Données</em>, 7 (2): 219–225. <a href="#fnref:juan" class="reversefootnote">↩</a></p>
</li>
<li id="fn:egm">
<p>Eppstein, D., Goodrich, M. T., and Mamano, N., “Algorithms for stable matching and clustering in a grid”, <a href="https://arxiv.org/abs/1704.02303">arXiv:1704.02303</a>, <em>IWCIA</em> 2017, LNCS 10256 (2017), pp. 117–131. <a href="#fnref:egm" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
<p>(<a href="https://mathstodon.xyz/@11011110/101634032916499158">Discuss on Mastodon</a>)</p>David EppsteinIn the 1990s I published a series of papers on data structures for closest pairs. As long as you already know how to maintain dynamic sets of objects of some type, and answer nearest-neighbor queries among them, you can also keep track of the closest pair, and this can be used as a subroutine in many other computational geometry algorithms. But it turns out that many of those algorithms can now be simplified and sped up by using mutual nearest neighbors (pairs of objects that are each other’s nearest neighbors) instead of closest pairs.Linkage2019-02-15T10:45:00+00:002019-02-15T10:45:00+00:00https://11011110.github.io/blog/2019/02/15/linkage<p>Beware the Ides of February.</p>
<ul>
<li>
<p>Holes and their reflections (<a href="https://mathstodon.xyz/@11011110/101517910934422997"><script type="math/tex">\mathbb{M}</script></a>). (The reflections are in the curved surface of an espresso portafilter.)</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/reflected-holes/reflected-holes-m.jpg" alt="Holes and their reflections" style="border-style:solid;border-color:black;" /></p>
</li>
<li>
<p><a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings">The 2019 Bridges mathematical art gallery is online!</a> (<a href="https://mathstodon.xyz/@11011110/101526999074315478"><script type="math/tex">\mathbb{M}</script></a>). <a href="https://twitter.com/bit_player/status/1086463227154915329">Brian Hayes lists</a> his favorites as being the <a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings/unsolvedmre">warped notepaper of Matt Enlow</a> and the <a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings/burkholderd">Penrose quilt of Douglas G. Burkholder</a>.</p>
</li>
<li>
<p>Some of my own favorites from this year’s Bridges mathematical art gallery (<a href="https://mathstodon.xyz/@11011110/101530712079779913"><script type="math/tex">\mathbb{M}</script></a>): <a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings/fieldingbrown">Fielding Brown’s 3d Lissajous wood ribbon sculpture</a>, <a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings/ddavis">Diana Davis’s periodic pentagonal billiards patterns</a>, <a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings/stephen-kenney">Stephen Kenney’s illustration of triangle geometry</a>, <a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings/espaley">Elizabeth Paley’s stoneware Klein bottle</a>, and <a href="http://gallery.bridgesmathart.org/exhibitions/2019-joint-mathematics-meetings/anduriel-s-widmark">Anduriel Widmark’s knotted glasswork</a>.</p>
</li>
<li>
<p><a href="https://www.radionz.co.nz/national/programmes/ourchangingworld/audio/2018667030/mathematician-wins-top-science-award">Rod Downey, a New Zealand-based theoretical computer scientist who co-founded the theory of parameterized complexity, has won the Rutherford Medal, New Zealand’s highest science award</a> (<a href="https://mathstodon.xyz/@11011110/101537786624226744"><script type="math/tex">\mathbb{M}</script></a>). Somehow I missed this when it came around last October.</p>
</li>
<li>
<p><a href="http://ad-publications.informatik.uni-freiburg.de/ESA_experiment_Bast_2018.pdf">Hannah Bast’s slides on the European Symposium on Algorithms 2018 Track B experiment</a> (<a href="https://mathstodon.xyz/@11011110/101543698645665393"><script type="math/tex">\mathbb{M}</script></a>). (two independent program committees decided on the same set of papers and then the conference accepted the union of their acceptances). Some conclusions: the initial scoring is remarkably consistent, and per-paper discussions to reconcile differences of scoring are useful, but the final decision on which “gray zone” papers to keep is random and could be replaced by a simple threshold.</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/the-sum-product-problem-shows-how-addition-and-multiplication-constrain-each-other-20190206/"><em>Quanta</em> writes up recent progress</a> on the <a href="https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93Szemer%C3%A9di_theorem">Erdős–Szemerédi sum-product problem</a>, that any set of numbers must either have many distinct pairwise sums or many distinct products (<a href="https://mathstodon.xyz/@11011110/101549376500085965"><script type="math/tex">\mathbb{M}</script></a>). Progress: “many” increased from <script type="math/tex">\Omega(n^{4/3+1/1509})</script> to <script type="math/tex">\Omega(n^{4/3+5/5277})</script>.</p>
</li>
<li>
<p><a href="https://retractionwatch.com/2019/02/07/the-case-of-the-reviewer-who-said-cite-me-or-i-wont-recommend-acceptance-of-your-work/">How to handle journal referees who ask authors to add unjustified citations to their own papers?</a> (<a href="https://mathstodon.xyz/@11011110/101552010373686789"><script type="math/tex">\mathbb{M}</script></a>). Is their misbehavior protected by the anonymity of peer review or can they be publicly named and shamed?</p>
</li>
<li>
<p>The Cal Poly ag students have started selling these blood oranges at the local farmer’s market, as they do every year around this time, only $1 for five. In the summer they sell sweet corn on the cob. (<a href="https://mathstodon.xyz/@11011110/101557509103586528"><script type="math/tex">\mathbb{M}</script></a>).</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/bloodoranges/bloodoranges-m.jpg" alt="Blood oranges" style="border-style:solid;border-color:black;" /></p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/ancient-turing-pattern-builds-feathers-hair-and-now-shark-skin-20190102/">Turing patterns in shark skin</a> (<a href="https://mathstodon.xyz/@11011110/101570379158959818"><script type="math/tex">\mathbb{M}</script></a>, <a href="http://doi.org/10.1126/sciadv.aau5484">original paper</a>). Researchers at the University of Florida led by Gareth Fraser and his student Rory Cooper used reaction-diffusion patterns (also named <a href="https://en.wikipedia.org/wiki/Turing_pattern">Turing patterns</a> after Turing’s early work) to model the distribution of scales on sharks, and performed knockdown experiments to validate their model in vivo.</p>
</li>
<li>
<p>Did you know that two different graphs with 81 vertices and 20 edges/vertex are famous enough to have Wikipedia articles? (<a href="https://mathstodon.xyz/@11011110/101578088028534617"><script type="math/tex">\mathbb{M}</script></a>). The strongly regular <a href="https://en.wikipedia.org/wiki/Brouwer%E2%80%93Haemers_graph">Brouwer–Haemers graph</a> connects elements of GF(81) that differ by a fourth power. The <a href="https://en.wikipedia.org/wiki/Sudoku_graph">Sudoku graph</a> connects cells of a Sudoku grid that should be unequal. Sudoku puzzles are instances of precoloring extension on this graph. Unfortunately the natural graphs on the 81 cards of Set have degree ≠ 20…</p>
</li>
<li>
<p><a href="http://joshmillard.com/sgmenger/">Josh “cortex” Millard describes how he made a stained glass Menger sponge</a> (<a href="https://mastodon.social/@joshmillard/101580889806746340"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p>Jacob Siehler labels cubic graphs with binary strings of length 5 so that all labels appear once and each vertex is the xor of its neighbors (<a href="https://mathstodon.xyz/@jsiehler/101586101859381152"><script type="math/tex">\mathbb{M}</script></a>). He can do three vertex-transitive 32-vertex graphs: the Dyck graph, an expansion of the vertices of <script type="math/tex">K_{4,4}</script> into four cycles, and another one I don’t know.</p>
</li>
<li>
<p>Four of <a href="https://oeis.org/A248380/a248380.pdf">Conway’s five $1000-prize problems</a> remain unsolved (<a href="https://mathstodon.xyz/@11011110/101592412607547272"><script type="math/tex">\mathbb{M}</script></a>): the dead fly problem on spacing of <a href="https://en.wikipedia.org/wiki/Danzer_set">point sets that touch all large convex sets</a>, <a href="https://en.wikipedia.org/wiki/Conway%27s_99-graph_problem">existence of a 99-vertex graph</a> with each edge in a unique triangle and each non-edge the diagonal of a unique quadrilateral, the <a href="https://en.wikipedia.org/wiki/Thrackle">thrackle conjecture</a>, on graphs drawn so all edges cross once, and who wins <a href="https://en.wikipedia.org/wiki/Sylver_coinage">Sylver coinage</a> after move 16?</p>
</li>
<li>
<p><a href="http://eecs.oregonstate.edu/socg19/accepted.html">The list of accepted papers</a> from this year’s Symposium on Computational Geometry just came out (<a href="https://mathstodon.xyz/@11011110/101600288486356446"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
</ul>David EppsteinBeware the Ides of February.Big convex polyhedra in grids2019-02-09T15:07:00+00:002019-02-09T15:07:00+00:00https://11011110.github.io/blog/2019/02/09/big-convex-polyhedra<p>I recently wrote here about <a href="/blog/2018/09/05/big-convex-polygons.html">big convex polygons in grids</a>, a problem for which we know very precise answers. This naturally raises the question: what about higher dimensions? How many vertices can be part of a convex polyhedron in an <script type="math/tex">n\times n\times n</script> grid, or more generally a convex polytope in a <script type="math/tex">d</script>-dimensional grid of side length <script type="math/tex">n</script>? Here we do still know some pretty good answers, at least up to constant factors in spaces of constant dimension.</p>
<p>The problem is included in a 2008 survey by Imre Bárány,<sup id="fnref:bar"><a href="#fn:bar" class="footnote">1</a></sup> according to whom the maximum number of vertices is</p>
<script type="math/tex; mode=display">\Theta\left(n^{d-2+\frac{2}{d+1}}\right).</script>
<p>For instance, in three dimensional <script type="math/tex">n\times n\times n</script> grids the maximum number of vertices is <script type="math/tex">\Theta(n^{3/2})</script>.</p>
<p>One way to find polyhedra with this many vertices is to take the convex hull of the points in a ball,<sup id="fnref:bl"><a href="#fn:bl" class="footnote">2</a></sup> <sup id="fnref:bd"><a href="#fn:bd" class="footnote">3</a></sup> or in scaled copies of any fixed smooth convex body. Another way, which should generate polyhedra with a somewhat less irregular appearance and (up to constant factors) the same number of vertices, is to take the <a href="https://en.wikipedia.org/wiki/Minkowski_addition">Minkowski sum</a> of all line segments (up to scaling and translation) that will fit into a smaller grid, of side length <script type="math/tex">O(n^{1/(d+1)})</script>. For instance, the <a href="https://en.wikipedia.org/wiki/Truncated_rhombicuboctahedron">truncated rhombicuboctahedron</a> below<sup id="fnref:ruen"><a href="#fn:ruen" class="footnote">4</a></sup> is the Minkowski sum of all the line segments that fit into a unit cube. Its 96 vertices lie in a <script type="math/tex">10\times 10\times 10</script> grid. In general, this method produces a <a href="https://en.wikipedia.org/wiki/Zonohedron">zonohedron</a> whose complexity can be analyzed in terms of a <script type="math/tex">(d-1)</script>-dimensional arrangement of <script type="math/tex">O(n^{d/(d+1)})</script> hyperplanes. As long as this arrangement is not too degenerate (which it appears not to be, but I haven’t worked out the details carefully) this should give
a number of vertices within a constant factor of the number coming from the convex hull construction.</p>
<p style="text-align:center"><img src="/blog/assets/2019/truncated-rhombicuboctahedron2.png" alt="Truncated rhombicuboctahedron" /></p>
<p>A matching upper bound comes from a 1963 paper by G. K. Andrews,<sup id="fnref:and"><a href="#fn:and" class="footnote">5</a></sup> and Bárány writes that although several more proofs have been published none of them is easy. I’m not sure whether the difficulty is in getting the exact bound or in the fact that Andrews and the later proofs allow more general shapes with volume <script type="math/tex">n^d</script> that don’t fit into a grid, but it’s not hard to get close to the right bound simply by counting the number of possible facets of a given volume <script type="math/tex">v</script>. By using <a href="https://en.wikipedia.org/wiki/Lenstra%E2%80%93Lenstra%E2%80%93Lov%C3%A1sz_lattice_basis_reduction_algorithm">lattice basis reduction</a> the integer vectors in the hyperplane through any facet have a nearly-orthogonal basis whose product of lengths is proportional to <script type="math/tex">v</script>. By considering how this product of lengths can be broken down into factors of different scales, and counting how many integer vectors of those lengths exist, it follows that the number of possible facets of volume <script type="math/tex">v</script> is <script type="math/tex">O(v^d\log^{d-1} v)</script>. Combining this with the <script type="math/tex">O(n^{d-1})</script> surface area of a grid polytope gives the correct upper bound on the number of vertices up to a polylog factor.</p>
<p>What about when the dimension is not constant? An easy construction for high dimensions is to take all points with a fixed distance <script type="math/tex">r</script> from the grid center. There are <script type="math/tex">O(dr^2)</script> possible values for the distance, so this construction produces a convex polytope with <script type="math/tex">\Omega(n^{d-2}/d)</script> vertices. It comes from a 1946 paper by Behrend, who uses this idea to find <a href="https://en.wikipedia.org/wiki/Salem%E2%80%93Spencer_set">dense sets of integers with no arithmetic progressions</a>.<sup id="fnref:beh"><a href="#fn:beh" class="footnote">6</a></sup>
It is never worse to use the convex hull of the ball than the points on a sphere,
and a celebrated paper by Elkin from 2011 (in the appendix of the published version) gives another proof of the <script type="math/tex">\Omega(n^{d-2+2/(d+1)})</script> bound for convex hulls of balls (for <script type="math/tex">d\ge 5</script>) in which the constant factor of the <script type="math/tex">\Omega</script> is universal, not depending on <script type="math/tex">d</script>. So when <script type="math/tex">n</script> is singly exponential in <script type="math/tex">d</script>, <script type="math/tex">n^{2/(d+1)}</script> becomes constant and the convex hull technique produces <script type="math/tex">\Omega(n^{d-2})</script> vertices, improving Behrend’s construction for progression-free sets by the same <script type="math/tex">d</script> factor.<sup id="fnref:elk"><a href="#fn:elk" class="footnote">7</a></sup></p>
<div class="footnotes">
<ol>
<li id="fn:bar">
<p>Bárány, Imre (2008), “Extremal problems for convex lattice polytopes: a survey”, <em>Surveys on Discrete and Computational Geometry</em>, Contemporary Mathematics 453, Amer. Math. Soc., pp. 87–103, <a href="https://doi.org/10.1090/conm/453/08796">doi:10.1090/conm/453/08796</a>, <a href="https://mathscinet.ams.org/mathscinet-getitem?mr=2405678">MR2405678</a>. <a href="#fnref:bar" class="reversefootnote">↩</a></p>
</li>
<li id="fn:bl">
<p>Bárány, Imre and Larman, David (1998), “The convex hull of the integer points in a large ball”, <em>Math. Ann.</em> 312 (1), pp. 167–181, <a href="https://doi.org/10.1007/s002080050217">doi:10.1007/s002080050217</a>, <a href="https://mathscinet.ams.org/mathscinet-getitem?mr=1645957">MR1645957</a>. <a href="#fnref:bl" class="reversefootnote">↩</a></p>
</li>
<li id="fn:bd">
<p>Balog, Antal and Deshouillers, Jean-Marc (1999), “On some convex lattice polytopes”. <em>Number Theory in Progress</em>, Vol. 2 (Zakopane-Kościelisko, 1997), de Gruyter, pp. 591–606, <a href="https://mathscinet.ams.org/mathscinet-getitem?mr=1689533">MR1689533</a>. <a href="#fnref:bd" class="reversefootnote">↩</a></p>
</li>
<li id="fn:ruen">
<p>Ruen, Tom (2014), “Truncated rhombicuboctahedron”, CC-BY-SA 4.0, <a href="https://commons.wikimedia.org/wiki/File:Truncated_rhombicuboctahedron2.png">File:Truncated rhombicuboctahedron2.png</a> on Wikimedia commons. <a href="#fnref:ruen" class="reversefootnote">↩</a></p>
</li>
<li id="fn:and">
<p>Andrews, George E. (1963), “A lower bound for the volume of strictly convex bodies with many boundary lattice points”, <em>Trans. Amer. Math. Soc.</em> 106, pp. 270–279, <a href="https://doi.org/10.2307/1993769">doi:10.2307/1993769</a>, <a href="https://mathscinet.ams.org/mathscinet-getitem?mr=0143105">MR0143105</a>. <a href="#fnref:and" class="reversefootnote">↩</a></p>
</li>
<li id="fn:beh">
<p>Behrend, F. A. (1946), “On sets of integers which contain no three terms in arithmetical progression”, <em>Proc. Nat. Acad. Sci.</em> 32 (12), pp. 331–332, <a href="https://doi.org/10.1073/pnas.32.12.331">doi:10.1073/pnas.32.12.331</a>, <a href="https://mathscinet.ams.org/mathscinet-getitem?mr=0018694">MR0018694</a>. <a href="#fnref:beh" class="reversefootnote">↩</a></p>
</li>
<li id="fn:elk">
<p>Elkin, Michael (2011), “An improved construction of progression-free sets”, <em>Israel J. Math.</em> 184, pp. 93–128, <a href="https://arxiv.org/abs/0801.4310">arXiv:0801.4310</a>, <a href="https://doi.org/10.1007%2Fs11856-011-0061-1">doi:10.1007/s11856-011-0061-1</a>, <a href="https://www.ams.org/mathscinet-getitem?mr=2823971">MR2823971</a>. The paragraph describing Elkin’s results was updated from an earlier more tentative version in the original post. <a href="#fnref:elk" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
<p>(<a href="https://mathstodon.xyz/@11011110/101564963348879092">Discuss on Mastodon</a>)</p>David EppsteinI recently wrote here about big convex polygons in grids, a problem for which we know very precise answers. This naturally raises the question: what about higher dimensions? How many vertices can be part of a convex polyhedron in an grid, or more generally a convex polytope in a -dimensional grid of side length ? Here we do still know some pretty good answers, at least up to constant factors in spaces of constant dimension.Linkage2019-01-31T21:27:00+00:002019-01-31T21:27:00+00:00https://11011110.github.io/blog/2019/01/31/linkage<p>As usual, follow <a href="https://mathstodon.xyz/@11011110">me</a> on <a href="https://mathstodon.xyz">Mathstodon</a> to see these as I post them rather than two weeks later.</p>
<ul>
<li>
<p><a href="https://montrealgazette.com/news/organizers-fear-visa-issues-may-push-ai-conferences-to-avoid-canada">Half of the 200 people who needed visas to attend one of the satellite workshops of NeurIPS 2018 in Montreal were unable to get them in time</a> (<a href="https://mathstodon.xyz/@11011110/101429260698057077"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://www.wired.com/story/canada-welcome">see also</a>), making it more likely that future conferences depending on international attendance will avoid Canada.</p>
</li>
<li>
<p>This is not a cinnamon bun (<a href="https://mathstodon.xyz/@11011110/101438594980314031"><script type="math/tex">\mathbb{M}</script></a>). It’s actually a 160 million year old fossil snail shell from Madagascar, roughly the size of a large fist (or cinnamon bun). I don’t think it’s particularly rare or valuable; I picked it up because I liked its shape.</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/gastropod/gastropod-m.jpg" alt="Fossil gastropod" style="border-style:solid;border-color:black;" /></p>
</li>
<li>
<p><a href="https://www.ics.uci.edu/~nmamano/knightstour.html">Web site for generating knight’s tours of oversized chessboards with approximately-minimum numbers of bends and crossings</a> (<a href="https://mathstodon.xyz/@11011110/101445919833908876"><script type="math/tex">\mathbb{M}</script></a>). For background on how it works, see the short paper by Besa, Johnson, Mamano, and Osegueda (all UCI students) in <a href="https://doi.org/10.1007/978-3-030-04414-5"><em>Graph Drawing 2018</em></a> pp. 661–663 – unfortunately I don’t know of a non-paywalled link.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Besse_Day">Besse Beulah Day</a> (<a href="https://mathstodon.xyz/@11011110/101451632049375948"><script type="math/tex">\mathbb{M}</script></a>), in the 1940s, was one of the first to apply the design of experiments to engineering, after previously having learned to use the technique in forestry. Jacqueline Telford wrote about her briefly in <a href="https://www.jhuapl.edu/techdigest/TD/td2703/telford.pdf">a 2007 survey</a>. Searching for the phrase “Besse Day, working at” finds that Telford’s account of Day’s work has been plagiarized by at least six other works. It’s a form of fame, I guess, to be copied so much.</p>
</li>
<li>
<p><a href="https://theconversation.com/how-one-german-city-developed-and-then-lost-generations-of-math-geniuses-106750">The slow rise and rapid fall of Göttingen as the world capital of mathematics</a> (<a href="https://mathstodon.xyz/@11011110/101457036274744941"><script type="math/tex">\mathbb{M}</script></a>).</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/carolina-araujo-is-building-a-network-of-women-in-mathematics-20190122/">An interview with Brazilian mathematician Carolina Araujo</a> (<a href="https://mathstodon.xyz/@11011110/101464602401203371"><script type="math/tex">\mathbb{M}</script></a>) on the gender gap in mathematics and what still needs to be done to close it.</p>
</li>
<li>
<p><a href="https://doi.org/10.1038/s42256-018-0002-3">If you sample enough times from an unknown distribution over an unknown finite subset of <script type="math/tex">[0,1]</script>, can you (with high probability) produce a finite set of measure at least <script type="math/tex">2/3</script>?</a> (<a href="https://mathstodon.xyz/@11011110/101470101768702252"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://twitter.com/johncarlosbaez/status/1083055024119308288">via</a>, <a href="https://www.metafilter.com/178941/Learnability-can-be-undecidable">via2</a>). Your set does not need to consist only of the points you’ve sampled! You can do it if <script type="math/tex">2^{\aleph_0}=\aleph_k</script> for finite <script type="math/tex">k</script> but not otherwise.</p>
</li>
<li>
<p><a href="https://agtb.wordpress.com/2019/01/22/guest-post-like-a-swarm-of-locusts-vijay-vazirani/">Vijay Vazirani on the flocking behavior of theoretical computer scientists</a> (<a href="https://mathstodon.xyz/@11011110/101472666044751626"><script type="math/tex">\mathbb{M}</script></a>). Vijay’s post also includes an announcement for a semester-long <a href="https://simons.berkeley.edu/programs/market2019">program on online and matching-based market design</a> at the Simons Institute in Berkeley.</p>
</li>
<li>
<p>The view from my desk (<a href="https://mathstodon.xyz/@11011110/101478744747251421"><script type="math/tex">\mathbb{M}</script></a>). Actually my office has lots of windows with a nice view of a well-used plaza, outdoor coffee shop, trees, and distant mountains. But to see that, I have to get up and go over to one of the windows. If I stay at my desk and look up at the window, I see this interesting geometric pattern instead.</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/deskview/deskview-m.jpg" alt="UC Irvine's CalIT2 building from Donald Bren Hall, room 4082" style="border-style:solid;border-color:black;" /></p>
</li>
<li>
<p><a href="https://scholar.social/@GerardWestendorp/101478161346333486">Gerard Westendorp made a snowdecahedron</a> but <a href="https://scholar.social/@GerardWestendorp/101483814063002454">global warming melted it</a>.</p>
</li>
<li>
<p><a href="http://homepages.gac.edu/~jsiehler/games/blocks-start.html">Online sliding block puzzles</a> (<a href="https://mathstodon.xyz/@jsiehler/101472426764291238"><script type="math/tex">\mathbb{M}</script></a>) by
Jacob Siehler. The goal is to swap the positions of two colored blocks. Even the easy ones are non-obvious.</p>
</li>
<li>
<p>Cute proof of <a href="https://en.wikipedia.org/wiki/Sperner%27s_theorem">Sperner’s theorem</a> (<a href="https://mathstodon.xyz/@11011110/101495343260074941"><script type="math/tex">\mathbb{M}</script></a>) from a talk by R. P. Stanley: represent subsets of <script type="math/tex">[0,n-1]</script> by strings of<br />
<script type="math/tex">n</script> parentheses, “)” in position <script type="math/tex">i</script> if <script type="math/tex">i</script> is in the set, “(” otherwise. In each string, flip the first unmatched “(”, grouping the subsets into chains like (()(( – )()(( – )())( – )())). Each chain touches the middle level once, and any other antichain at most once, so the middle level is the biggest antichain.</p>
</li>
<li>
<p>Two triangles in a convex point set can cross or overlap in eight configurations, colorfully named the taco, mariposa, bat, nested, crossing, ears, swords, and david by “<a href="https://www.combinatorics.org/ojs/index.php/eljc/article/view/v26i1p8">More Turán-Type Theorems for Triangles in Convex Point Sets</a>”, a new paper in <em>Elect. J. Comb.</em> by Aronov, Dujmović, Morin, Ooms, and Schultz (<a href="https://mathstodon.xyz/@11011110/101507914773539844"><script type="math/tex">\mathbb{M}</script></a>). For 246 of the 256 subsets of configurations, they find near-max families of triangles avoiding the subset. The remaining 8 subsets are equivalent to “tripod packing”, which is less well-understood but the subject of another newly published paper, “<a href="https://doi.org/10.1007/s00454-018-0012-2">New Results on Tripod Packings</a>” (<em>Discrete Comput. Geom.</em>, by Östergård and Pöllänen). The tripod problem has a complicated history of independent rediscovery, not all of which was known to Östergård and Pöllänen, so see the <em>EJC</em> paper for a more thorough survey.</p>
</li>
<li>
<p><a href="https://mathvis.academic.wlu.edu/2017/07/13/creating-a-3d-printable-lorenz-attractor/">Creating a 3D-printable Lorenz attractor</a> (<a href="https://mathstodon.xyz/@11011110/101514403573957983"><script type="math/tex">\mathbb{M}</script></a>). From Elizabeth Denne’s <a href="https://mathvis.academic.wlu.edu">“Visions in Math” blog</a> which, sadly, seems to have gone on hiatus after publishing this in 2017.</p>
</li>
</ul>David EppsteinAs usual, follow me on Mathstodon to see these as I post them rather than two weeks later.Simplifying task-milestone diagrams2019-01-29T16:22:00+00:002019-01-29T16:22:00+00:00https://11011110.github.io/blog/2019/01/29/simplifying-task-milestone<p>In my graph algorithms class last week, I covered critical path scheduling, as motivation for the linear-time algorithms for computing shortest and longest paths in directed acyclic graphs. In this scheduling problem, you are given a system of tasks, each with a predicted time to perform it, and constraints that some tasks should be done before others. Assuming that you have enough people working together to perform tasks in parallel, how quickly can you get everything done?</p>
<p>An optimal solution can be found by scheduling each task to start at a time given by the longest sequence of tasks leading up to it such that each consecutive pair in the sequence must be performed sequentially. The total length of the resulting schedule equals the length of the <a href="https://en.wikipedia.org/wiki/Critical_path_method">critical path</a>, the longest sequence of sequential tasks in the whole system. The example below could represent subtasks of a software project: design, implement, and test the software (A, B, and C), develop test cases (D), and document the results (E). Its critical path could be one of ABC, DE, AE, or DC, depending on the lengths of each task.</p>
<p style="text-align:center"><img src="/blog/assets/2019/pert1.svg" alt="Five tasks with ordering constraints" /></p>
<p>It’s easy enough to solve this problem directly, but to convert it to a path problem we need to have lengths on edges rather than times on vertices. It’s also convenient to have a single starting vertex for all the paths.
Therefore, <a href="https://en.wikipedia.org/wiki/Critical_path_method">Wikipedia’s article on the critical path method</a> uses a different kind of graph, which I’ll call a “task-milestone diagram” to distinguish it from the one above.
In this diagram, the vertices represent milestones, single points in time. The tasks to be performed are represented by edges, and the time to perform a task becomes the length of its edge. The goal of the scheduling problem now becomes one of choosing a time for each milestone, with enough time between pairs of milestones to perform each task.
The longest-path schedule, in which we place each milestone at a time given by the longest path to it from the start milestone, solves this problem optimally.</p>
<p>To convert a system of tasks and ordering constraints (without milestones) into an equivalent task-milestone diagram, make two new milestones for each task, one for when it starts and one for when it ends. Turn each task into an edge between its two milestones. Transform each ordering constraint (saying that task X should be performed earlier than task Y) into a length-zero edge from the end of task X to the beginning of task Y. Add two more milestones, for the start and end of the whole project. And add more length-zero edges from the project start to the start of each task that has no predecessors, and from the end of each task that has no successors to the project end milestone.</p>
<p style="text-align:center"><img src="/blog/assets/2019/pert2.svg" alt="Expanding each task vertex into two milestone vertices connected by a task edge" /></p>
<p>In the resulting graph, the paths from the start to the end milestone consist of the same sequences of tasks as we had before: ABC, DE, AE, or DC, separated by length-zero edges.
And for computational purposes the expansion doesn’t blow up the input size enough to cause any problems. But if we want to use this diagram for visualizing the resulting schedule, it’s a little confusing because of all of those extra length-zero edges. They don’t really represent tasks; they’re just there to make sure that the paths connect the tasks in the correct order. Do we really need so many of them?</p>
<p>There are a couple of simple rules that can be used to reduce the number of length-zero edges:</p>
<ul>
<li>If two vertices both have only zero-length edges going out of them, and both have the same set of outgoing neighbors, they can be merged into a single vertex. Symmetrically, if two vertices both have only zero-length edges coming into them, and both have the same set of incoming neighbors, they can be merged.</li>
<li>If a vertex has only one edge going out of it, of length zero, it can be merged with its outgoing neighbor. Symmetrically, if a vertex has only one edge coming into it, of length zero, it can be merged with its incoming neighbor.</li>
</ul>
<p>For instance, the first rule will merge the milestones for the starts of tasks A and D, and the second rule will merge the resulting vertex into the start vertex. Repeatedly applying these rules produces the following simplified graph. Note that its start-to-end paths, ABC, DE, AE, and DC, are exactly the same as the potential critical paths that we started with.</p>
<p style="text-align:center"><img src="/blog/assets/2019/pert3.svg" alt="Path-preserving simplification of the task-milestone diagram" /></p>
<p>If we assume that the task edges all have non-negative length (as they do in the scheduling application) and that we only care about longest paths, there are even more simplifications that we can perform. These ones might change the set of all paths in the graph (as identified by their sequences of tasks) but they preserve the identities of the longest paths:</p>
<ul>
<li>
<p>If a zero-length edge goes from task X to task Y, and the graph contains another path between the same two tasks, remove the edge.</p>
</li>
<li>
<p>If a zero-length edge goes from task X to Y, every other edge into Y or out of X has length zero, and every incoming neighbor of task Y has a path to every outgoing neighbor of task X, then merge X and Y into a single vertex.</p>
</li>
</ul>
<p>In our example, the bottom edge meets the conditions of the second rule. Applying that rule produces an even simpler task-milestone diagram:</p>
<p style="text-align:center"><img src="/blog/assets/2019/pert4.svg" alt="Additional simplification preserving longest paths" /></p>
<p>Our example has no instances of the first rule, but when it is used it removes paths from the graph. The removed paths can never be longest paths, because any path through the removed edge can be made longer by replacing that edge by a different path from X to Y.
When we perform the second rule, we may introduce new paths that were not already present, from a predecessor of Y, through the merged vertex, to a successor of X. For instance, the new graph has a path through only the two tasks AC, which was not one of the four paths we started with. But because these new paths replace portions of existing paths by two length-zero edges, they can never be the longest path, and the resulting compacted diagram can safely be used for scheduling.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/101502692118389818">Discuss on Mastodon</a>)</p>David EppsteinIn my graph algorithms class last week, I covered critical path scheduling, as motivation for the linear-time algorithms for computing shortest and longest paths in directed acyclic graphs. In this scheduling problem, you are given a system of tasks, each with a predicted time to perform it, and constraints that some tasks should be done before others. Assuming that you have enough people working together to perform tasks in parallel, how quickly can you get everything done?Orientations of infinite graphs2019-01-17T20:39:00+00:002019-01-17T20:39:00+00:00https://11011110.github.io/blog/2019/01/17/orientations-infinite-graphs<p>An <a href="https://en.wikipedia.org/wiki/Orientation_(graph_theory)">orientation</a> of an undirected graph is the directed graph that you get by assigning a direction to each edge. Several kinds of orientations have been studied. For instance, in a graph with even vertex degrees, an Eulerian orientation makes the numbers of incoming and outgoing degrees equal at each vertex. In a bridgeless graph, a <a href="https://en.wikipedia.org/wiki/Strong_orientation">strong orientation</a> makes the resulting directed graph strongly connected. In finite connected graphs, every Eulerian orientation is strong, but that is untrue in infinite graphs. Consider, for instance, the graph of unit distances on the integers, which is Eulerian (every vertex has degree two) but has no strong orientation (every edge is a bridge). Even when a strong orientation exists, an Eulerian orientation might not be strong: the graph of distance-1 and distance-2 integers, with the orientation from smaller to larger numbers, is Eulerian but not strong. So when does an Eulerian strong orientation exist? The answer turns out to be: whenever the obvious obstacles are not present. Every bridgeless connected even-degree infinite graph has an Eulerian strong orientation.</p>
<p style="text-align:center"><img src="/blog/assets/2019/euler-not-strong.svg" alt="For infinite graphs, Eulerian orientations might not be strong" /></p>
<p>To prove this, we can use a convenient tool for dealing with infinite orientations by looking only at finite graphs, a result of Rado from 1949 that is simultaneously a predecessor and generalization of the <a href="https://en.wikipedia.org/wiki/De_Bruijn%E2%80%93Erd%C5%91s_theorem_(graph_theory)">De Bruijn–Erdős theorem on graph colorings</a>. Suppose each element in some infinite set <script type="math/tex">S</script> has a finite set of labels, and we choose an assignment of labels for each finite subset of <script type="math/tex">S</script>. These choices may be inconsistent with each other, so there may be no way of labeling all of <script type="math/tex">S</script> consistently with all of the choices. But Rado proved (assuming the axiom of choice) that there exists a global labeling that, on every finite subset, is consistent with the assignment to one of its finite supersets. Another way of thinking about this is that if certain finite patterns must be avoided, and every finite subset has a labeling that avoids them, then some global labeling will also avoid them.<sup id="fnref:rado"><a href="#fn:rado" class="footnote">1</a></sup> The De Bruijn–Erdős theorem is the case where the elements are vertices, the labels are colors, and the patterns to be avoided are pairs of equal color on adjacent vertices. In our case the set elements will be edges, the labels will be which way to orient each edge, and the choice of assignment will be some way of defining a “good” orientation for finite subgraphs.</p>
<p style="text-align:center"><img src="/blog/assets/2019/graph-labels.svg" alt="Graph vertices can be labeled by color; edges, by orientation" /></p>
<p>So suppose we’re given a finite subgraph <script type="math/tex">G</script> of an infinite 2-edge-connected even-degree graph. What kind of orientation on <script type="math/tex">G</script> should we look for? A complication is that <script type="math/tex">G</script> might have bridges or odd-degree vertices. So we’ll try to come as close as we can to what we want, an Eulerian strong orientation, while taking those deficiencies into account. Let’s define a good orientation of <script type="math/tex">G</script> to be an orientation that is almost Eulerian, in that at each vertex the in-degree and out-degree differ by at most one, and almost strong, in that each edge of <script type="math/tex">G</script> that belongs to an undirected cycle also belongs to a directed cycle. Another way of stating the almost strong condition is that the strongly connected components of the oriented graph should coincide with the 2-edge-connected components, or blocks, of the undirected graph.</p>
<p style="text-align:center"><img src="/blog/assets/2019/good-orientation.svg" alt="A good orientation of a graph" /></p>
<p>The existence of a good orientation of an arbitrary finite undirected graph (also having some other stronger properties) was proven in the 1960s by Nash-Williams.<sup id="fnref:nw"><a href="#fn:nw" class="footnote">2</a></sup> But now Rado’s method proves that every infinite graph also has a good orientation. If we find a global orientation that’s nearly-Eulerian on a supergraph of the star of neighbors of every vertex, then it must be nearly-Eulerian. And if it’s almost strong on a supergraph of every cycle, then it must be almost strong. This proves the theorem that a bridgeless connected even-degree infinite graph has an Eulerian strong orientation, because every good orientation in these graphs must be Eulerian and strong. Nash-Williams already considered the infinite case of his orientation theorem, but wrote that the details were too heavy to include. Perhaps he didn’t know about Rado’s theorem (despite it being published in the same journal), which makes the extension from finite to infinite easy.</p>
<p>The same method of extending finite to infinite orientations can also be used to study notions of graph sparseness including <a href="https://en.wikipedia.org/wiki/Arboricity">arboricity</a>, <a href="https://en.wikipedia.org/wiki/Degeneracy_(graph_theory)">degeneracy</a>, and pseudoarboricity. Historically the pseudoarboricity of infinite graphs was first. A graph has pseudoarboricity at most <script type="math/tex">p</script> if it can be oriented so that each vertex has out-degree <script type="math/tex">p</script> (or equivalently if it can be partitioned into subgraphs each with out-degree one). In the 1950 paper in which he first announced the De Bruijn–Erdős theorem, Erdős used it to prove that, when such an orientation is given, the resulting graph can be <script type="math/tex">(2k+1)</script>-colored.<sup id="fnref:e"><a href="#fn:e" class="footnote">3</a></sup> But he didn’t write about the conditions under which such an orientation exists. Rado’s theorem shows that they are the same as in the finite case: an outdegree-<script type="math/tex">p</script> orientation exists if and only if every finite <script type="math/tex">k</script>-vertex subgraph has at most <script type="math/tex">pk</script> edges.</p>
<p>A graph has degeneracy at most <script type="math/tex">d</script> if it has an acyclic orientation so that each vertex has out-degree <script type="math/tex">d</script>. Unlike in the finite case, infinite graphs with low degeneracy might have high minimum degree; for instance, there exist graphs with degeneracy one in which all vertices have infinite degree. A finite <script type="math/tex">d</script>-degenerate graph can be <script type="math/tex">(d+1)</script>-colored greedily, and the De Bruijn–Erdős theorem shows that even in the infinite case such a coloring exists. Rado’s theorem shows that infinite graphs with pseudoarboricity <script type="math/tex">p</script> are <script type="math/tex">2p</script>-degenerate, and that a graph is <script type="math/tex">d</script>-degenerate if and only if every finite subgraph has a vertex with degree at most <script type="math/tex">d</script>. As in the case of Eulerian strong orientations, this involves checking the orientation only on two kinds of finite subgraphs, stars and cycles.</p>
<p>Arboricity is based on forests and there are multiple incompatible definitions of infinite forests. But the one we want to use is that a forest is a 1-degenerate graph. A graph has arboricity <script type="math/tex">a</script> if its edges can be partitioned into <script type="math/tex">a</script> forests. This is clearly at least as large as the degeneracy (no Rado needed). Rado’s theorem shows that infinite graphs with arboricity <script type="math/tex">a</script> are <script type="math/tex">2a-1</script>-degenerate, and that a graph has arboricity at most <script type="math/tex">a</script> if and only if every finite <script type="math/tex">k</script>-vertex subset has at most <script type="math/tex">a(k-1)</script> edges.</p>
<div class="footnotes">
<ol>
<li id="fn:rado">
<p>Rado, R. (1949), “<a href="https://doi.org/10.4153/cjm-1949-031-1">Axiomatic treatment of rank in infinite sets</a>”, <em>Canad. J. Math.</em> 1: 337–343. <a href="#fnref:rado" class="reversefootnote">↩</a></p>
</li>
<li id="fn:nw">
<p>Nash-Williams, C. St. J. A. (1960), “<a href="https://doi.org/10.4153/cjm-1960-049-6">On orientations, connectivity and odd-vertex-pairings in finite graphs</a>”, <em>Canad. J. Math.</em>, 12: 555–567; —— (1969), “Well-balanced orientations of finite graphs and unobtrusive odd-vertex-pairings”, <em>Recent Progress in Combinatorics (Proc. Third Waterloo Conf. on Combinatorics, 1968)</em>, New York: Academic Press, pp. 133–149. <a href="#fnref:nw" class="reversefootnote">↩</a></p>
</li>
<li id="fn:e">
<p>Erdős, P. (1950), “<a href="https://users.renyi.hu/~p_erdos/1950-13.pdf">Some remarks on set theory</a>”, <em>Proc. AMS</em>, 1: 127–141. <a href="#fnref:e" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
<p>(<a href="https://mathstodon.xyz/@11011110/101435740463423422">Discuss on Mastodon</a>)</p>David EppsteinAn orientation of an undirected graph is the directed graph that you get by assigning a direction to each edge. Several kinds of orientations have been studied. For instance, in a graph with even vertex degrees, an Eulerian orientation makes the numbers of incoming and outgoing degrees equal at each vertex. In a bridgeless graph, a strong orientation makes the resulting directed graph strongly connected. In finite connected graphs, every Eulerian orientation is strong, but that is untrue in infinite graphs. Consider, for instance, the graph of unit distances on the integers, which is Eulerian (every vertex has degree two) but has no strong orientation (every edge is a bridge). Even when a strong orientation exists, an Eulerian orientation might not be strong: the graph of distance-1 and distance-2 integers, with the orientation from smaller to larger numbers, is Eulerian but not strong. So when does an Eulerian strong orientation exist? The answer turns out to be: whenever the obvious obstacles are not present. Every bridgeless connected even-degree infinite graph has an Eulerian strong orientation.