Jekyll2023-09-25T23:01:00+00:00https://11011110.github.io/blog/feed.xml11011110Geometry, graphs, algorithms, and moreDavid EppsteinReport from Graph Drawing2023-09-25T15:47:00+00:002023-09-25T15:47:00+00:00https://11011110.github.io/blog/2023/09/25/report-graph-drawing<p>I just returned from the 31st International Symposium on Graph Drawing and Network Visualization (GD ‘23), held this time in <a href="Isola delle Femmine">Isola delle Femmine</a>, a small beach town on Sicily near Palermo. Despite the name it is not a separate island; the actual Isola delle Femmine is not the town, but a small barren island about a half kilometer offshore, decorated only by a ruined tower. Several conference participants (not me) swam to the island, several others were turned back by choppy water, and at least two were stung by jellyfish. Other than visiting the hotel beach I didn’t have much of a chance for sightseeing (the weather did not cooperate for the only large block of free time that I had) but I did enjoy the excellent Sicilian food and wine.</p>
<p>This was my first in-person GD since Barcelona in 2018 and it was good to be back and see old friends. One thing that was very noticeable was a strong level of participation by younger participants, and (unlike the old guard) a healthy gender balance among the younger participants. I think this speaks well to the continuing strength of this research community. There were, naturally, many Italians present, but also many Austrians and Germans, and smaller numbers of others scattered among other countries.</p>
<p>I would have thought the speakers on the last day had the advantage in the audience-voted best presentation award, as the freshest in voters’ minds. But the award went to one of the first-day speakers, Julia Katheder, for her paper “Weakly and strongly fan-planar graphs” (<a href="https://arxiv.org/abs/2308.08966">arXiv:2308.08966</a>, with Cheong, Förster, Pfister, and Schlipf) clearing up the past literature on this class of graphs (defined through restrictions on their crossings) in light of the recent discovery that a previous forbidden-subdrawing characterization of them, used in several previous works, was incomplete. I think she sealed the victory by using an actual fan as a prop in her talk, but even without that she was a deserving winner. The two best papers were <a href="/blog/2023/01/23/doubled-planar-drawings.html">mine on biplanarity of blowups</a>, in the theory track, and “CelticGraph: drawing graphs as Celtic knots and links” (<a href="https://arxiv.org/abs/2309.02852">arXiv:2309.02852</a>, Eades, Gröne, Klein, Eades, Schreiber, Hailer, and Schreiber, with two father-son pairs).</p>
<p>A few other highlights for me from the first day included:</p>
<ul>
<li>
<p>Niloufar Fuladi spoke on connections between the crossing number of planar drawings, uncrossed embeddings of graphs on higher-genus surfaces, and the signed pancake-flipping problem from genomics and Bill Gates fame (“Degenerate crossing number and signed reversal distance”, <a href="https://arxiv.org/abs/2308.10666">arXiv:2308.10666</a>, with Hubard and de Mesmay).</p>
</li>
<li>
<p>Patricia Bachmann clarified that an old claim of a polynomial time algorithm for 3-coloring circle graphs (or finding 3-page book embeddings of ordered graphs) is certainly wrong (“On the 3-coloring of circle graphs”, <a href="https://arxiv.org/abs/2309.02258">arXiv:2309.02258</a>, with Rutter and Stumpf). The complexity of this problem remains open.</p>
</li>
<li>
<p>Paul Jungeblut proved that it is complete for the existential theory of the reals to determine whether a graph has a Lombardi drawing (circular arc edges meeting at equal angles at each vertex): “On the complexity of Lombardi graph drawing”, <a href="https://arxiv.org/abs/2306.02649">arXiv:2306.02649</a>).</p>
</li>
</ul>
<p>The second day’s events included an invited talk by Monique Teillaud on the <a href="https://www.cgal.org/">CGAL open-source computational geometry library</a>, the conference business meeting, and a group dinner. At the business meeting we learned that next year’s conference will be in Vienna, with the proceedings publication switching from Springer LNCS to open access on <a href="https://www.dagstuhl.de/en/publishing/series/details/LIPIcs">LIPIcs</a>. The proceedings has traditionally appeared several months after the conference, in part to allow the inclusion of a report from the graph drawing contest, and in part because of the lead time between submission of final versions and the proceedings publication; this seems likely to remain true after the changeover. In recent years we have also maintained a <a href="http://arxiv.org/abs/2309.07166">pseudo-proceedings on arXiv</a>, so that papers would be available open access (getting open access through LNCS is far too expensive), but this also provided conference participants with timely access to the papers. A discussion ensued over whether we needed to continue to do this. It was left up to the PC chairs and steering committee, but one likely compromise would be to provide participants with the full final versions collected by the PC chair for the LIPIcs proceedings.</p>
<p>For me, the second-day highlights included:</p>
<ul>
<li>
<p>András Sebő spoke on <a href="https://en.wikipedia.org/wiki/Boxicity">boxicity</a>, the minimum dimension for which a graph can be represented as an intersection graph of hyper-rectangles: “Boxicity and interval-orders: Petersen and the complements of line graphs” (<a href="https://arxiv.org/abs/2309.02062">arXiv:2309.02062</a>, with Caoduro). Sebő is new to graph drawing, usually working in combinatorial optimization, approximation, packing, and polyhedral combinatorics; I hope he found the community as welcoming as I have usually found it to be.</p>
</li>
<li>
<p>Pavel Valtr enlivened his talk (“Three edge-disjoint plane spanning paths in a point set”, <a href="https://arxiv.org/abs/2306.07237">arXiv:2306.07237</a>, with Kindermann, Kratochvil, and Liotta) by presenting part of it on a T-shirt, sadly available only to the paper’s coauthors.</p>
</li>
<li>
<p>If I remember correctly, the presenter of “Cops and robbers on 1-planar graphs” (<a href="https://arxiv.org/abs/2309.01001">arXiv:2309.01001</a>, Durocher, Kamali, Kryven, Liu, Mashghdoust, Miller, Zamani Nezhad, Penha Costa, and Zapp) was Myroslav Kryven. The paper proves that three cops can catch a robber on a graph drawn with at most one crossing per edge, when each player can either stay put or move along one edge per turn. That is, <a href="https://en.wikipedia.org/wiki/1-planar_graph">1-planar graphs</a> have <a href="https://en.wikipedia.org/wiki/Cop_number">cop number</a> at most three.</p>
</li>
</ul>
<p>The final day of the main conference included another invited talk, by Michael Kaufmann on orthogonal drawing, and the award presentations. As well as the ones I already mentioned, there was an audience-voted best-poster contest, won by “What happens in Dagstuhl…” (Klesen, Miller, Montecchiani, Nöllenburg, and Wallinger), a visualization of interactions at this workshop center. My personal favorite was “A collection of benchmark datasets for evaluating graph layout algorithms” (Di Bartolomeo, Puerta, Wilson, Cronvrsanin, and Dunne). Unfortunately it does not seem to be possible to find the posters online, but <a href="https://osf.io/j7ucv/">the benchmarks themselves are on the Open Science Framework</a>. Highlight talks for me included:</p>
<ul>
<li>
<p>The entire first session concerned parameterized complexity, including papers on bend-minimal orthogonal planar drawing (<a href="https://arxiv.org/abs/2308.13665">arXiv:2308.13665</a>), right-angle-crossing (RAC) drawings (<a href="https://arxiv.org/abs/2308.10600">arXiv:2308.10600</a>), simultaneous embedding (<a href="https://arxiv.org/abs/2308.11401">2308.11401</a>, and drawing graphs so that the edges line up into a small number of line segments (<a href="https://arxiv.org/abs/2308.15416">arXiv:2308.15416</a>). I didn’t notice until after the conference that one of the coauthors on the last of these (not present at the conference) is my former student Sid Gupta.</p>
</li>
<li>
<p>A standard tool in graph drawing is the Schnyder wood, a covering of any 3-connected planar triangulation by three forests. It can alternatively be described by a constrained labeling of corners of the triangles by the numbers 1, 2, and 3, in clockwise order, with the labels appearing in contiguous blocks at each vertex. Éric Fusy spoke about generalizations to 4 trees and 4 labels in 4-connected graphs and to 5 trees and 5 labels in 5-connected graphs (“A Schnyder-type drawing algorithm for 5-connected triangulations”, <a href="https://arxiv.org/abs/2305.19058">arXiv:2305.19058</a>, with Bernardi and Liang).</p>
</li>
<li>
<p>Tim Hegemann’s talk (“A simple pipeline for orthogonal graph drawing”, <a href="https://arxiv.org/abs/2309.01671">arXiv:2309.01671</a>, with Wolff) was notable to me not so much for its methods, but for the application he presented: a farm machinery company builds large harvesters that each include a unique combination of components. When these machines need repair, the technicians use functional diagrams of these components, depicted with boxes for the components and axis-parallel polylines for their connections. So they need a way of producing large numbers of readable diagrams, automatically.</p>
</li>
</ul>
<p>That wasn’t the end of the gathering, though, because there was a final day for “BeppeFest”, an elaborate celebration of Beppe Liotta’s 60th birthday, featuring two sessions of invited talks by Beppe’s old friends overviewing their joint research, and another dinner including an elaborate show of musical pastiches (several involving the talented Alessandra Tappini), quiz questions for Beppe about past conferences, and congratulatory videos. Happy birthday, again, Beppe!</p>
<p>(<a href="https://mathstodon.xyz/@11011110/111128258447765349">Discuss on Mastodon</a>)</p>David EppsteinI just returned from the 31st International Symposium on Graph Drawing and Network Visualization (GD ‘23), held this time in Isola delle Femmine, a small beach town on Sicily near Palermo. Despite the name it is not a separate island; the actual Isola delle Femmine is not the town, but a small barren island about a half kilometer offshore, decorated only by a ruined tower. Several conference participants (not me) swam to the island, several others were turned back by choppy water, and at least two were stung by jellyfish. Other than visiting the hotel beach I didn’t have much of a chance for sightseeing (the weather did not cooperate for the only large block of free time that I had) but I did enjoy the excellent Sicilian food and wine.Linkage2023-09-15T23:21:00+00:002023-09-15T23:21:00+00:00https://11011110.github.io/blog/2023/09/15/linkage<ul>
<li>
<p><a href="https://www.acm.org/publications/ceasing-print">ACM ceases paper publication of journals</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@tragiccommons@infosec.exchange/110976755993238294">\(\mathbb{M}\)</a>).</span></p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@christianp/110978017070739438">Christian Lawson-Perfect collects images of binary numbers in unexpected places</a> after seeing a car with plate number ending in 10110. My contribution to the thread was a T-shirt drawer:</p>
<p style="text-align:center"><img src="/blog/assets/2023/t-shirts.jpg" alt="T-shirts in an open dresser drawer, including a Computer History Museum shirt showing the binary ASCII code for "chm"" style="border-style:solid;border-color:black" /></p>
</li>
<li>
<p><a href="https://slate.com/technology/2023/08/chatgpt-vs-algorithms-class.html">Dan Arena of Vanderbilt ran ChatGPT on his algorithms coursework, and incorporated the results into his weekly lecture material</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111005728003641189">\(\mathbb{M}\)</a>).</span> As he describes, it did well enough to scare the students, but not well enough to impress the instructor.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@rreusser/111006003880137874">2d particle-mesh gravity simulation</a> by Ricky Reusser, quickly clumping up to form the sort of net-like distribution of matter that we think the universe should have.</p>
</li>
<li>
<p><a href="https://igt.centre-mersenne.org/">New diamond-model open-access journal <em>Innovations in Graph Theory</em></a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111013498650970568">\(\mathbb{M}\)</a>,</span> <a href="https://cameroncounts.wordpress.com/2023/09/05/new-diamond-journal/">via</a>), with an impressive editorial board.</p>
</li>
<li>
<p><a href="https://science.ubc.ca/news/canadian-mathematicians-de-claw-graph-theory-nab-us-award">Canadian mathematicians Stephanie van Willigenburg, Angèle Foley, and Samantha Dahlberg win the 2023 David P. Robbins Prize of the MAA</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111021322177862644">\(\mathbb{M}\)</a>)</span> for <a href="https://arxiv.org/abs/1703.05770">finding infinitely many non-claw-contractible and claw-free graphs whose chromatic symmetric functions are not positive linear combinations of elementary symmetric functions</a>, disproving a 1995 conjecture of Richard Stanley. One of their classes of examples is very simple: pair off vertices in two triangles and connect the three pairs by three equal-length paths.</p>
</li>
<li>
<p>My cat thinks that the poster tube I just picked up, with newly-printed poster inside it, makes a great cat toy <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111026860728950914">\(\mathbb{M}\)</a>).</span> It rolls around when you hit it, and you can bear-hug it and then start clawing at it with hind feet. Fortunately the tube is tough but I need to put it somewhere out of reach where it’s less likely to be destroyed. In related poster-printing news: <a href="https://mathstodon.xyz/@omershapira@mastodon.gamedev.place/110788180508600737">you can just put up a poster at an academic conference and nobody will stop you</a>.</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/the-biggest-smallest-triangle-just-got-smaller-20230908/">Progress on Heilbronn’s triangle problem</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111030503769280905">\(\mathbb{M}\)</a>).</span> This is the problem of placing points in a square to maximize the minimum area of any triangle formed by three of them. One can place points so that this area is a little bigger than \(1/n^2\) (by a nonconstant but small amount), and now the best upper bound is a little smaller than \(1/n^{8/7}\). The improvement is the “a little smaller than” term, a polynomial with a tiny exponent. See also <a href="https://en.wikipedia.org/wiki/Heilbronn_triangle_problem">Wikipedia</a> and the
<a href="https://arxiv.org/abs/2305.18253">original preprint by Alex Cohen, Cosmin Pohoata, Dmitrii Zakharov</a>.</p>
</li>
<li>
<p><a href="https://www.nature.com/articles/d41586-023-02477-w"><em>Nature</em> on using leftover framing text to catch papers that were written with the assistance of AI text generation (ChatGPT) but not acknowledged to have been</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111036762867740730">\(\mathbb{M}\)</a>,</span> <a href="https://retractionwatch.com/2023/09/09/weekend-reads-chatgpt-in-papers-a-russia-based-paper-mill-getting-scooped-becomes-an-opportunity/">via</a>). Their lead example is in mathematical physics. Some journals allow this sort of use, but only with an acknowledgement. The tools discussed for catching these will only catch sloppy authors who didn’t clean up after their uses, “only the tip of the iceberg”. Also in <em>Nature</em>: <a href="https://www.nature.com/articles/s41598-023-41032-5">generation of fake references by AI tools is becoming less prevalent but still problematic</a>.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@j2kun/111042760239451399">Starburst almost-Hamiltonian-path puzzle</a>. The underlying graph is just the theta-graph \(\Theta(5,2,2)\), so although finding long paths is hard in general, the difficulty here is more from the tangled graph drawing that is given in the puzzle.</p>
</li>
<li>
<p>Huge number of new solutions to the “free-fall 3-body problem” <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111047863085802334">\(\mathbb{M}\)</a>):</span> “Three-body periodic collisionless equal-mass free-fall orbits revisited”, Ivan Hristov, Radoslava Hristova, Veljko Dmitrašinović, Kiyotaka Tanikawa, <a href="https://arxiv.org/abs/2308.16159">arXiv:2308.16159</a>. These are periodic motions for three equal masses under Newtonian gravity. The “free-fall” condition means that the motion starts with all three objects at rest (and then repeats that same rest position infinitely often). Therefore, the only information one needs to specify the initial conditions is a triangle, the relative positions of the three bodies at rest. Most triangles will produce chaotic orbits that eventually eject one of the three bodies from the system, but some special triangles lead to periodicity. There were many periodic solutions to the 3-body problem known previously, but only a much smaller number for this free-fall variation. Found via ACM <em>TechNews</em> pointing me to a popular-press summary in <em>New Scientist</em> that I’m not going to link because it appears to be irredeemably paywalled.</p>
</li>
<li>
<p><a href="https://www.scientificamerican.com/article/mathematicians-solve-50-year-old-moebius-strip-puzzle/">Unit strips of length shorter than \(\sqrt{3}\) cannot form a smooth Möbius strip</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@ColinTheMathmo/111053074923775304">\(\mathbb{M}\)</a>),</span> solving a 50-year-old open problem. See also Richard Schwartz’s preprint “The optimal paper Moebius band”, <a href="https://arxiv.org/abs/2308.12641">arXiv:2308.12641</a>.</p>
</li>
<li>
<p><a href="https://blog.arxiv.org/2023/09/11/arxiv-org-is-experiencing-a-ddos-attack/">DDoS attack on ArXiv</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@mseri/111051411276461502">\(\mathbb{M}\)</a>),</span> coming from somewhere in China, for unexplained reasons.</p>
</li>
<li>
<p><a href="https://arxiv.org/html/2309.07166">The arXiv version of the full proceedings for Graph Drawing 2023 is now online</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/111067697844156340">\(\mathbb{M}\)</a>),</span> as it has been for previous years. The more official proceedings will be published later by Springer LNCS, differing in a couple of ways: First, the arXiv versions can include appendices but the LNCS versions do not. And second, the LNCS version has (at least in the past) also included a section of poster abstracts (limited to two pages, not counting appendices) that are not in the arXiv proceedings.
<a href="https://gd2023.ing.unipg.it/">The conference itself</a> takes place next week in Palermo.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@carlos_lunamota/111052574662587890">\(\sqrt 2\approx 7/5\), demonstrated in a pavement pattern</a>.</p>
</li>
</ul>David EppsteinACM ceases paper publication of journals (\(\mathbb{M}\)).Linkage2023-08-31T22:51:00+00:002023-08-31T22:51:00+00:00https://11011110.github.io/blog/2023/08/31/linkage<ul>
<li>
<p><a href="https://www.cs.cornell.edu/~ginsparg/top_jul2020.html">A listing of the arXiv preprints with the highest numbers of downloads</a> (above tens of thousands), sorted by category, as of around 2020 <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110901313115824257">\(\mathbb{M}\)</a>).</span> Obviously this is susceptible to being gamed if you know this is going to be measured, but in the categories I looked at, the listings included many well-known papers (and a few random ones).</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/2308.04512">An introduction to graph theory</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@sioum/110865518533023352">\(\mathbb{M}\)</a>).</span> Free (CC0-licensed) online introductory textbook by Darij Grinberg of Drexel U.</p>
</li>
<li>
<p><a href="https://www.thisiscolossal.com/2023/07/possibilities-of-paper/">Possibilities of Paper</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@colossal@mastodon.art/110906752951248679">\(\mathbb{M}\)</a>).</span> A 13-artist exhibition of paperfolding art in Virginia, demonstrating the “possibilities of paper”.</p>
</li>
<li>
<p><a href="https://apnews.com/article/chatgpt-cheating-ai-college-1b654b44de2d0dfa4e50bf0186137fc1">AP News article on overhauling higher education coursework to ward off AI-based cheating</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110911488110988585">\(\mathbb{M}\)</a>,</span> <a href="https://technews.acm.org/">via</a>).</p>
</li>
<li>
<p>Because of a reviewing backlog drive, I have three more new Wikipedia Good Articles <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110916392403825432">\(\mathbb{M}\)</a>):</span></p>
<ul>
<li>
<p><a href="https://en.wikipedia.org/wiki/BIT_predicate">BIT predicate</a>, a test for whether a specified bit of a given number is set. Useful for membership testing in sets represented as bitmaps.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Cartesian_tree">Cartesian tree</a>, a binary tree defined from a sequence of numbers by putting the minimum value as the root and recursing in the subsequences to its left and right.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Herschel_graph">Herschel graph</a>, the smallest non-Hamiltonian polyhedral graph</p>
</li>
</ul>
</li>
<li>
<p><a href="https://www.quantamagazine.org/complexity-theorys-50-year-journey-to-the-limits-of-knowledge-20230817/"><em>Quanta</em> on why it is so hard to prove computational hardness</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@fortnow@fediscience.org/110918072333216087">\(\mathbb{M}\)</a>).</span></p>
</li>
<li>
<p><a href="https://www.ics.uci.edu/~eppstein/pubs/Epp-ICIAM-23.pdf">Talk slides for “Uniqueness in Puzzles and Puzzle Solving”</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110926319180757813">\(\mathbb{M}\)</a>),</span> a short talk I recently gave at the ICIAM 2023 Minisymposium on Mathematical Puzzles and Games in Theoretical Computer Science.</p>
</li>
<li>
<p>“Undulation in Origami Tessellation” <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110937398083636490">\(\mathbb{M}\)</a>),</span> work by Rinki Imada and Tomohiro Tachi on exhibit at ICIAM 2023, Waseda University. See also their new paper “Undulations in tubular origami tessellations: A connection to area-preserving maps”, <em>Chaos</em>, <a href="https://doi.org/10.1063/5.0160803">doi:10.1063/5.0160803</a>.</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/uiot/uiot-m.jpg" alt="Undulation in Origami Tesselation, Sculpture by Rinki Imada and Tomohiro Tachi on exhibit at ICIAM 2023, Waseda University, September 2023" style="border-style:solid;border-color:black" /></p>
</li>
<li>
<p><a href="https://wadscccg2023.encs.concordia.ca/additional/">Talk slides from many of the presentations at WADS and CCCG 2023</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110941261988551266">\(\mathbb{M}\)</a>),</span> on algorithms and data structures, and computational geometry, respectively, and notes from the open problem sessions of each conference, are now online. The talks themselves were not recorded.</p>
</li>
<li>
<p><a href="https://info.arxiv.org/about/accessibility_html_papers.html">For accessibility reasons, arXiv is starting to publish HTML versions of papers</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@tomkalei@machteburch.social/110946281990368357">\(\mathbb{M}\)</a>).</span> Still in the testing phases and not entirely bug-free.</p>
</li>
<li>
<p><a href="https://www.gregegan.net/SCIENCE/Lattices/Lattices.html">Greg Egan visualizes “why a celebrity wandering through a mirrored hexagonal room would need 144 bodyguards to block one paparazzo from taking a snap”</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@gregeganSF/110892046291702585">\(\mathbb{M}\)</a>).</span></p>
</li>
<li>
<p><a href="https://blog.computationalcomplexity.org/2023/08/theorems-and-lemmas-and-proofs-oh-my.html">Theorems and Lemmas and Proofs, Oh My!</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@fortnow@fediscience.org/110967165949442057">\(\mathbb{M}\)</a>).</span> Gasarch on the classification and nomenclature of mathematical statements.</p>
</li>
<li>
<p><a href="https://upload.wikimedia.org/wikipedia/commons/archive/3/34/20230830233910%21Geometric_Net_of_a_Regular_Dodecahedron.svg">Not the net of a regular dodecahedron</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@robinhouston/110972457980570599">\(\mathbb{M}\)</a>).</span> A ten-year-old error on Wikimedia commons finally gets spotted and corrected. In the comments, M.-J. Dominus points to a similarly erroneous image of a Möbius strip with two edges.</p>
</li>
<li>
<p>Older versions of Springer’s proceedings formatting macros were unable to handle dois for papers in Springer proceedings, because they contain underscores <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110981416610550373">\(\mathbb{M}\)</a>).</span> I found <a href="https://tex.stackexchange.com/questions/550123/underscore-in-doi-in-bibtex-file">a StackExchange thread with two workarounds</a> before figuring out the real fix: get rid of the old version of llncs.sty that I had in my personal LaTeX library, shadowing the updated and fixed one in TeX Live.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@johncarlosbaez/110986044748102890">A distributive lattice of musical modes</a>, partially ordered by brightness, with the lattice operations being note-wise minimum and maximum. If the only two modes you use are the major and minor scales, this isn’t very interesting, but there are many more possibilities.</p>
</li>
</ul>David EppsteinA listing of the arXiv preprints with the highest numbers of downloads (above tens of thousands), sorted by category, as of around 2020 (\(\mathbb{M}\)). Obviously this is susceptible to being gamed if you know this is going to be measured, but in the categories I looked at, the listings included many well-known papers (and a few random ones).A hyperbolic surface in Tokyo2023-08-27T16:51:00+00:002023-08-27T16:51:00+00:00https://11011110.github.io/blog/2023/08/27/hyperbolic-surface-tokyo<p><em>Sundial</em>, a 2018 sculpture by <a href="https://en.wikipedia.org/wiki/Hiroshi_Sugimoto">Hiroshi Sugimoto</a>, stands at the corner of a busy intersection in <a href="https://en.wikipedia.org/wiki/%C5%8Ctemachi">Ōtemachi</a>, a skyscraper district near downtown Tokyo. Despite this prominent location, it might easily be missed by passers-by whose attention is instead caught by a bright red agglomeration of steel tubes across the street. But of the two artworks, Sugimoto’s is by far the more interesting from the mathematical point of view.</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/sugsun/LookingSouth-m.jpg" alt="Sundial, Hiroshi Sugimoto, 2018, Otemachi Place, Tokyo, looking south" style="border-style:solid;border-color:black" /></p>
<p>As Sugimoto has <a href="https://www.sugimotohiroshi.com/site-specific-arts">stated more explicitly for some of his related works</a>, this sculpture appears to have a shape called the <a href="https://en.wikipedia.org/wiki/Pseudosphere">pseudosphere</a> or tractroid. Mathematically, the pseudosphere extends infinitely far in the vertical direction, and has a horizontally-reflected copy that extends downward with the same shape, but for practical reasons it has been truncated here. The pseudosphere resembles a different shape called <a href="https://en.wikipedia.org/wiki/Gabriel's_horn">Gabriel’s horn</a>, but Gabriel’s horn is an algebraic surface whereas the pseudosphere is transcendental: it cannot be expressed as the solution to a polynomial equation. Gabriel’s horn has finite volume but infinite surface area; in contrast, the pseudosphere has finite values for both its volume and surface area. Gabriel’s horn is usually depicted truncated at its flared trumpet end (at height one, when oriented vertically as in Sugimoto’s sculpture) but if extended downward toward the <span style="white-space:nowrap">\(xy\)-plane</span> it would spread out towards infinity, becoming arbitrarily flat but never reaching the plane. Instead, the pseudosphere flares more suddenly to meet its horizontal tangent plane in a finite circle.</p>
<p>The pseudosphere is of interest mathematically for the fact that its <a href="https://en.wikipedia.org/wiki/Gaussian_curvature">Gaussian curvature</a> is the same at all points.
This is true also for a sphere or a flat plane, but they have uniformly positive or zero curvature. The pseudosphere has uniformly negative curvature, like a saddle. The curvature of a sphere is the inverse of its radius, and the curvature of any other surface can be expressed as the product of the curvatures of two spheres, approximating its shape in two perpendicular directions. You can imagine one of these spheres hidden inside the spire of the sculpture, touching it from the inside in a horizonal circle, and the other one outside it, rolling around the sculpture on the same circle. As you go higher on the sculpture, the inside sphere becomes smaller but the outside sphere becomes larger; these effects cancel so that the product of the two spheres’ curvatures remains unchanged.</p>
<p>If you had a sheet of hyperbolic paper of the same curvature, you could spread it out anywhere on the surface of the sculpture and it would conform perfectly to that surface, perhaps overlapping itself if you placed the paper high on the sculpture where it thins to a narrow spire. That is, locally this surface is a model of the <a href="https://en.wikipedia.org/wiki/Hyperbolic_geometry">hyperbolic plane</a>. The hyperbolic plane itself cannot be embedded into 3d without distorting its geometry or making it infinitely ruffly, and the pseudosphere fails to be an embedding in two ways: you can find short but uncontractable loops on its surface (tie a ribbon around the sculpture) and it has a boundary (the bottom rim of the sculpture). But in a local neighborhood around each point, measuring distances and angles on its surface, it has the same geometry as the hyperbolic plane.</p>
<p>Sugimoto is a photographer as well as a sculptor, famous for his blurred architectural abstractions. I could not resist taking one myself, of the skyscrapers of Otemachi, seen reflected in the surface of Sugimoto’s <em>Sundial</em>:</p>
<p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/sugsun/ReflectedSkyscrapers-m.jpg" alt="The skyscrapers of Otemachi reflected in Hiroshi Sugimoto's sculpture Sundial (2018)" style="border-style:solid;border-color:black" /></p>
<p>If you’re not in Japan, another similar sculpture by Sugimoto, <em>Point of Infinity</em>, has <a href="https://www.archpaper.com/2023/06/hiroshi-sugimotos-point-of-infinity-installed-yerba-buena-island/">recently been installed</a> in a park on Yerba Buena island, near San Francisco.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/110964305525128696">Discuss on Mastodon</a>)</p>David EppsteinSundial, a 2018 sculpture by Hiroshi Sugimoto, stands at the corner of a busy intersection in Ōtemachi, a skyscraper district near downtown Tokyo. Despite this prominent location, it might easily be missed by passers-by whose attention is instead caught by a bright red agglomeration of steel tubes across the street. But of the two artworks, Sugimoto’s is by far the more interesting from the mathematical point of view.Linkage2023-08-15T15:31:00+00:002023-08-15T15:31:00+00:00https://11011110.github.io/blog/2023/08/15/linkage<ul>
<li>
<p><a href="https://www.youtube.com/watch?v=JiC6DbBoV4Y">Video by Steve Mould on flexible polyhedra</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@robinhouston/110814099127989546">\(\mathbb{M}\)</a>).</span></p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Paper_fortune_teller">Paper fortune teller</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110820688879250478">\(\mathbb{M}\)</a>),</span> cootie catcher, chatterbox, or whatever else you want to call it, now another Wikipedia Good Article.</p>
</li>
<li>
<p><a href="https://makezine.com/article/technology/computers-mobile/the-unilluminable-room-problem/">Tokarsky’s unilluminable room</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110827924214552616">\(\mathbb{M}\)</a>),</span> via Joe O’Rourke. This is a polygonal room with two designated points so that, if the walls of the room are lined with mirrors, one of the points cannot see any reflected image of the other. For rooms with curved boundaries you can make regions with nonzero area that cannot see reflections of each other, but for rooms whose angles are all rational fractions of a circle such as Tokarsky’s, only a finite set of pairs of points can be mutually invisible. That leaves an intermediate case, polygons with irrational angles, for which the question appears to remain open; see <a href="https://en.wikipedia.org/wiki/Illumination_problem">Wikipedia on the “illumination problem”</a> for more.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/2212.08739">Product structure extension of the Alon–Seymour–Thomas theorem</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@DavidWood/110828271125932844">\(\mathbb{M}\)</a>),</span> update to a preprint I <a href="/blog/2022/12/20/tree-clique-products.html">previously discussed</a>, now showing that <span style="white-space:nowrap">\(K_{3,t}\)-minor-free</span> graphs can be expressed as subgraphs of a product of a <span style="white-space:nowrap">treewidth-2</span> graph and a complete graph of <span style="white-space:nowrap">order \(O(t\sqrt n)\).</span></p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@ccanonne/110842350503487374">Clément Canonne observes that academics do not “forget” to answer emails</a>. They remember and feel bad about them.</p>
</li>
<li>
<p>In March or April Zoom changed its terms of use <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110849610932572476">\(\mathbb{M}\)</a>)</span> to <a href="https://www.cnbc.com/2023/08/07/zoom-ai-tools-trained-using-some-customer-data.html">allow Zoom content to be used to train AI models</a>, with no opt-out, and to <a href="https://the.webm.ink/not-using-zoom">push legal responsibility for any resulting copyright violations onto its users</a>. After a big online outcry, and some <a href="https://mathstodon.xyz/@MedievalMideast@hcommons.social/110838371676478198">discussion of alternatives</a>, Zoom <a href="https://www.darkreading.com/analytics/following-pushback-zoom-says-it-won-t-use-customer-data-to-train-ai-models">updated their terms again to drop the idea of using content for AI</a>.</p>
</li>
<li>
<p><a href="https://theconversation.com/a-brief-illustrated-guide-to-scissors-congruence-an-ancient-geometric-idea-thats-still-fueling-cutting-edge-mathematical-research-210612">A brief illustrated guide to scissors congruence</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110860739911305761">\(\mathbb{M}\)</a>).</span> <em>The Conversation</em> discusses geometric dissection, its use to axiomize 2d area, Dehn’s invention of the Dehn invariant to prove that similar uses fail in 3d, and higher-dimensional generalizations of the Dehn invariant.</p>
</li>
<li>
<p><a href="https://arxiv.org/abs/2307.02749">Disproof of the local-global conjecture for integer Apollonian circle packings</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110866392166634590">\(\mathbb{M}\)</a>,</span> <a href="https://www.quantamagazine.org/two-students-shoot-down-a-widely-believed-math-conjecture-20230810/">via</a>). An Apollonian packing is a fractal pattern generated from an initial 4-tuple of mutually tangent circles (one outside and three inside it) by repeatedly placing another tangent circle into each triangular gap between three circles. When the curvatures (1/radius) of the first four circles are all integers, so are the rest. It was conjectured that, for any such packing, the curvatures include all but finitely many of the numbers in six or eight of the residues modulo 24. A summer research project for two students, Summer Haag and Clyde Kertzer, has shot this conjecture down.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@johncarlosbaez/110837164228009336">Why those mini-golf volcanos are so difficult</a>: John Baez explains that for the usual shapes of domes, it’s impossible to roll a ball with the right momentum to reach a dead stop at the top in finite time. But a special shape, <a href="https://en.wikipedia.org/wiki/Norton%27s_dome">Norton’s dome</a>, does allow this. The time-reversed path of the ball is non-deterministic: it is consistent for the ball to sit at the peak for any finite length of time before starting to roll down.</p>
</li>
<li>
<p><a href="https://www.youtube.com/watch?v=6WjnRyYLmM4">A nicely made video about the lengths of longest increasing subsequences in random permutations and the shapes of random Young tableaux</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@gerenuk/110824182369107737">\(\mathbb{M}\)</a>).</span></p>
</li>
<li>
<p><a href="https://www.appliedprobability.org/publications/mathematical-spectrum">All back issues of the now-defunct journal <em>Mathematical Spectrum</em></a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@jsiehler/110855443276243586">\(\mathbb{M}\)</a>),</span> aimed at high school and undergraduate mathematics students.</p>
</li>
<li>
<p>While in Montreal for WADS and CCCG a couple of weeks ago, I took time to photograph some of its abundant street art <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110884988964160062">\(\mathbb{M}\)</a>).</span> <a href="https://www.ics.uci.edu/~eppstein/pix/msa/index.html">My photos are now online</a>. They fall into three portions: the neighborhood of Concordia University (where the conferences were held; 12 photos), a bike ride from there along Blvd De Maisonneuve through the Latin Quarter to Le Plateau-Mont-Royal (18 photos), and Ave du Mont-Royal (16 photos).</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@dpiponi/110874164927449529">On Google Maps failing to display certain street names no matter how far you zoom in</a>. Apple Maps is seemingly better but still far from perfect in this respect.</p>
</li>
</ul>David EppsteinVideo by Steve Mould on flexible polyhedra (\(\mathbb{M}\)).The widths of strict outerconfluent graphs2023-08-08T17:37:00+00:002023-08-08T17:37:00+00:00https://11011110.github.io/blog/2023/08/08/widths-strict-outerconfluent<p>My newest preprint, “The widths of strict outerconfluent graphs”, <a href="https://arxiv.org/abs/2308.03967">arXiv:2308.03967</a>, is centered on the graph drawn below, in a confluent style (meaning that two vertices are adjacent when there exists a smooth path connecting them through the drawing).</p>
<p style="text-align:center"><img src="/blog/assets/2023/non-tree-like.svg" alt="A strict outerconfluent graph, part of a construction of these graphs with unbounded clique-width" /></p>
<p>In some sense, it’s a continuation of my 2014 post here, “<a href="/blog/2014/07/23/big-grids-in.html">big grids in outerplanar strict confluent graphs</a>”, which included a similar drawing. In that post, I already made the connection between the treewidth of the networks of curves used in a special class of drawings (the “strict outerconfluent” drawings of the title) and the clique-width of the graphs they represent. I had hoped to prove that strict outerconfluent graphs have bounded clique-width by using the structure of their drawings, but as that post demonstrated, the structure I wanted to use didn’t always exist. At that time I still didn’t know whether these graphs really had bounded clique-width, provable some other way. Now I know: they do not. The paper analyzes drawings like the one shown above (parameterized by the number of levels of arches) to demonstrate that the clique-width of strict outerconfluent graphs can be arbitrarily large.</p>
<p>If these graphs don’t have bounded clique-width, then what structure do they have instead? The answer is hinted at in the plural “widths” of the preprint title. They have bounded <a href="https://en.wikipedia.org/wiki/Twin-width">twin-width</a>, a more general notion of width involving repeatedly merging pairs of vertices and keeping track of the degree of a “conflict graph” resulting when two merged vertices do not agree on which other vertices are their neighbors. The proof involves a counting argument (the number of strict outerconfluent drawings on a given ordered set of vertices grows only singly-exponentially); a more direct construction of a merge sequence for these graphs would be preferable, but I haven’t found such a construction yet.</p>
<p>It may be of interest to understand what a direct merge sequence construction looks like, for a simpler class of graphs and their drawings, the outerplanar graphs, although these are a very special case of more general known constructions. In more detail, what we want to construct is a sequence of pairwise merges of clusters of vertices, starting from a trivial clustering with one cluster per vertex. At each step, we have a graph with edges of two colors, black and red. Black edges (shown as yellow in the figure below) connect pairs of clusters for which all cluster-to-cluster edges are present in the original graph. Red edges connect pairs of clusters that have inconsistent adjacencies: some but not all cluster-to-cluster edges are present. We want to make sure that, at all times, the red edges form a low-degree graph.</p>
<p style="text-align:center"><img src="/blog/assets/2023/red-graph.svg" alt="The graph of red and black edges resulting from a clustering of vertices in another graph" style="width:100%;max-width:540px" /></p>
<p>For outerplanar graphs, it’s convenient to add artificial “blue” edges to the input graph, to make it into a maximal outerplanar graph, one in which every internal face is a triangle. Then, as we merge pairs of clusters, the clusters will be connected by black edges (all cluster-to-cluster edges present and real), blue edges (all cluster-to-cluster edges present but artificial), and red edges (inconsistent adjacencies). We’ll maintain an invariant that, after each step in the merge sequence construction, the graph remains maximal outerplanar and that its red edges lie only on the outer face, like the illustration below. If we can do this, it might look like we get twin-width two but actually it will be three because some steps will consist of two merges with a degree-three cluster temporarily created and then fixed.</p>
<p style="text-align:center"><img src="/blog/assets/2023/rbk-graph.svg" alt="Maximal outerplanar graph with blue, black, and red edges, with the red edges only on the outer face" style="width:100%;max-width:540px" /></p>
<p>The adjacencies of the triangles in any maximal outerplanar graph form a binary tree, which we can root arbitrarily and then find the farthest leaf from the root. The parent of this leaf has either one or two leaf children. This child or these children are triangles in the outerplanar graph, formed by two consecutive edges of the outer face and a diagonal connecting their endpoints. We can remove them from the graph by merging their middle vertices into the middle vertex of their parent triangle. If there is one child, the parent’s middle vertex has three neighbors before the merge and two after (it becomes a leaf); its two adjacent edges may become red, but that’s ok, because they’ll be on the outer face. If there are two children, then merging one of them may cause the middle vertex of the parent to temporarily have three red edges, but the second merge reduces that to two again. So the twin-width of these graphs is at most three.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/110856893587620968">Discuss on Mastodon</a>)</p>David EppsteinMy newest preprint, “The widths of strict outerconfluent graphs”, arXiv:2308.03967, is centered on the graph drawn below, in a confluent style (meaning that two vertices are adjacent when there exists a smooth path connecting them through the drawing).Python’s selection algorithm – A good choice based on bad experiments2023-08-06T13:23:00+00:002023-08-06T13:23:00+00:00https://11011110.github.io/blog/2023/08/06/python-selection-algorithm<p>While researching the <a href="https://en.wikipedia.org/wiki/Selection_algorithm">Wikipedia article on median selection algorithms</a> (now a Good Article) I discovered that Python’s implementation, <code class="language-plaintext highlighter-rouge">heapq.nsmallest</code>, changed its algorithm to one whose worst-case performance is worse than its previous implementation, based on an empirical analysis that appears to consider only its best-case performance.</p>
<p>The <a href="https://github.com/python/cpython/blob/main/Lib/heapq.py">current implementation of heapq</a> can be found on github, with <a href="https://github.com/python/cpython/commits/main/Lib/heapq.py">its version history</a>. The <code class="language-plaintext highlighter-rouge">nsmallest</code> and <code class="language-plaintext highlighter-rouge">nlargest</code> routines <a href="https://github.com/python/cpython/commit/33ecffb65ae43ece95e4d828f95819395187d579">were added in 2004</a>, using two different algorithms! For <code class="language-plaintext highlighter-rouge">nsmallest</code>, the algorithm was heapselect: create a single \(n\)-item binary heap and then pop \(k\) items from it. Its worst-case running time is \(O(n+k\log n)\). For <code class="language-plaintext highlighter-rouge">nlargest</code>, the original commit instead used an algorithm for maintaining the running \(k\) largest items:</p>
<ul>
<li>Initialize a heap with the first \(k\) items</li>
<li>For each remaining item \(x\), if \(x\) is larger than the heap minimum, pop the heap and add \(x\) in its place.</li>
</ul>
<p>Because the heap only stores \(k\) items, each heap operation takes time \(O(\log k)\). In the worst case of sorted data, each item triggers a heap operation, and the total time is \(O(n\log k)\). This is always worse than heapselect. It only improves on the running time of sorting when \(k\) is a polynomial fraction of \(n\), \(k=O(n^c)\), for some constant exponent \(c<1\). The precise choice of this exponent depends on the tradeoff between the smaller argument of the logarithm versus the worse constant factor of heapsort relative to other comparison sorting algorithms.</p>
<p><a href="https://github.com/python/cpython/commit/f6b26676bc97f2f023cbfeabec5583895e9e054f">A 2013 update to the Python implementation</a> removed the old heapselect <code class="language-plaintext highlighter-rouge">nsmallest</code> implementation (with better worst-case runtime) replacing it with the same algorithm as <code class="language-plaintext highlighter-rouge">nlargest</code> (with the slower worst case). Subsequent edits made minor optimizations and added the extended comment that can be seen in the current version, starting near line 400, pointing to <a href="https://code.activestate.com/recipes/577573-compare-algorithms-for-heapqsmallest/">algorithmic experiments performed in 2011 by Raymond Hettinger</a> appearing to show that the \(O(n\log k)\) algorithm is faster than the \(O(n+k\log n)\) algorithm!</p>
<p>What’s going on here?</p>
<p>First, Hettinger’s experiments are bad. They run only on lists of integers, in sorted order. (Actually they’re an object that acts like an integer but counts its comparisons, but that makes no difference to this argument.) When using running selection for <code class="language-plaintext highlighter-rouge">nsmallest</code>, this is the best case, because none of the items will trigger a heap update. The algorithm only performs one comparison per item after the initial \(k\)-item heapify. In contrast, heapselect initializes a heap with \(n\) items, which takes \(\approx 2n\) comparisons in the worst case (Hettinger quotes a better constant factor of \(1.66n\) that appears to be drawn from his experiments on this special case rather than from any general analysis). Of course the running selection algorithm wins on this best-case data. But that doesn’t tell you anything about real-world usage. If you knew your data were already sorted you would just select its first \(k\) items directly rather than using this algorithm.</p>
<p>Second, it may well be the case that the running selection algorithm is actually the right algorithm to use, at least for small \(k\), because it uses few heap operations (but not zero!) in many cases. In the worst case each item triggers a heap update, but for other orderings of the data these updates are unlikely. A heap update only happens, for the \(i\)th item of the input, when this item is one of the \(k\) smallest items, among the first \(i\) items. For a uniformly random permutation of the data, each of the first \(i\) items is equally likely to be in one of these smallest positions, with probability \(k/i\). By linearity of expectation, the expected number of heap updates, on random or randomly-ordered data, is the sum of the update probabilities for individual items,</p>
\[\sum_{i=k+1}^n \frac{k}{i}\approx k\ln\frac{n}{k}.\]
<p>Each heap update takes time \(O(\log k)\) based on the size of the heap. So the expected total number of comparisons for running selection, in this average case, is \(n+O(k\log(n/k)\log k)\). (There is also an \(O(k\log k)\) term coming from the fact that <code class="language-plaintext highlighter-rouge">nsmallest</code> sorts its output but that is swallowed by the \(O\)-notation.) There is some tradeoff between heapselect and running selection: for very small \(k\), running selection wins, because it has a better constant on the leading \(n\) term. For large enough \(k\), the other terms in the running time dominate, and heapselect wins because it has only one logarithm in its time bound but running select has two. For even larger \(k\), you might as well just sort the input. But Python’s <code class="language-plaintext highlighter-rouge">nsmallest</code> is aimed at small values of \(k\), for which running selection wins.</p>
<p>Unfortunately I couldn’t find any sources stating all this, beyond the original source code. There are books that discuss Python’s <code class="language-plaintext highlighter-rouge">nsmallest</code> routine but they either say it can do selection in time \(O(n\log k)\) (true but not the whole story) or that it should be avoided unless \(k\) is small relative to \(n\). One can probably find other sources analyzing running selection in the average case (for instance as an implementation of <a href="https://en.wikipedia.org/wiki/MinHash">MinHash</a>) but they’re not going to connect it to Python’s implementation.</p>
<p>Finally, suppose you want a simple and implementable deterministic comparison-based selection algorithm for the \(k\) smallest items that has the same \(n+f(k)\) average-case number of comparisons and \(O(k)\) space that you get from running selection. Is the Python algorithm the best choice? Does it have the best \(f(k)\)? Here’s an alternative:</p>
<ul>
<li>Initialize two buffers \(A\) and \(B\) of size \(k\), where \(A\) contains a sorted list of the first \(k\) items, and \(B\) starts empty. Maintain a number \(a=\max A\).</li>
<li>For each remaining item that is smaller than \(a\), add it to \(B\).</li>
<li>If \(B\) becomes full, or at the end of the algorithm, sort \(B\) and then merge it with \(A\), keeping only the \(k\) smallest items in the merged sorted list, and recompute \(a\).</li>
</ul>
<p>The weaker test for whether to add an item to \(B\) (based on \(A\) rather than on the current \(k\) smallest) increases the expected number of added items by less than \(k\), not enough to affect the analysis significantly. Each added item participates in a sorting step, so we get the same \(n+O(k\log(n/k)\log k)\) comparison bound as Python’s implementation. We use twice the space because of the extra buffer, but in exchange the sorting step uses your favorite fast comparison sorting algorithm in place of two binary heap operations per item, so the constant factor on the second term should be smaller. We could also replace the sorting-based buffer decimation by a method based on linear time selection, resulting in a method that is truly linear time in the worst case and still \(n+O(k\log(n/k))\) in the average case, but making that both practical and deterministic appears to be difficult.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/110844568732053623">Discuss on Mastodon</a>)</p>David EppsteinWhile researching the Wikipedia article on median selection algorithms (now a Good Article) I discovered that Python’s implementation, heapq.nsmallest, changed its algorithm to one whose worst-case performance is worse than its previous implementation, based on an empirical analysis that appears to consider only its best-case performance.Linkage from Montréal2023-07-31T14:48:00+00:002023-07-31T14:48:00+00:00https://11011110.github.io/blog/2023/07/31/linkage-from-montreal<ul>
<li>
<p><a href="https://mathstodon.xyz/@highergeometer/110721297663109842">The Higher Geometer gets grumpy over paywalls for back issues of <em>The Duke Mathematical Journal</em></a>. Some but not all of them <a href="https://archive.org/details/sim_duke-mathematical-journal_1935_1/page/n3">can also be found on the Internet Archive</a>. But everything before 1943 is out of copyright and should be free.</p>
</li>
<li>
<p>“<a href="https://arxiv.org/abs/2307.07660">Zip-zip Trees: Making Zip Trees More Balanced, Biased, Compact, or Persistent</a>” <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110733424371983435">\(\mathbb{M}\)</a>)</span> is this year’s winner of the WADS best paper award for its authors, Ofek Gila, Mike Goodrich, and Bob Tarjan. Gila is one of Mike’s students at UCI. The paper continues a line of research on random binary search trees (where the keys are assumed to be insertion-only, arriving in random order), treaps (which use randomly chosen priorities and rotations to get behavior like that of random arrivals for inputs with non-random insertion and deletion operations), and zip trees (which simplify treaps using a zip-and-unzip mechanism in place of rotations, but give up some amount of balance to do so). The new zip-zip trees have the same random shape distribution as random trees and treaps, the same zip mechanism and low number of random bits as zip trees, and the same strong history-independence properties as zip trees (useful in some crypto applications).</p>
</li>
<li>
<p><a href="https://gd2023.ing.unipg.it/accepted-papers.html">Graph Drawing 2023 accepted papers</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110738661479763112">\(\mathbb{M}\)</a>).</span> These should start appearing slowly on arXiv but the proceedings deadline is not until early September so some of them may cut it close to then.</p>
</li>
<li>
<p>My wife caught one of the kittens in his new favorite box <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110742207983654090">\(\mathbb{M}\)</a>),</span> a little stylized by her phonecam.</p>
<p style="text-align:center"><img src="/blog/assets/2023/republic-of-tea.jpg" alt="Gray kitten peeking out from a Republic of Tea box" style="border-style:solid;border-color:black;width:100%;max-width:600px" /></p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@UnsolvedMrE/110713538224014561">UnsolvedMrE asks: which rectangles have two-piece dissections into a square?</a></p>
</li>
<li>
<p>Isaac Grosof posts: <a href="https://conwaylife.com/forums/viewtopic.php?p=163972#p163972">The first period-41 oscillator in Conway’s Game of Life was just found by Nico Brown</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@isaacg/110755002934690587">\(\mathbb{M}\)</a>).</span> With that, oscillators of every period are known: Conway’s Game of Life is omniperiodic! This has been one of the major open problems in the study of Conway’s Game of Life even since its invention over fifty years ago. This comes just 7 days after the second-to-last period, period 19, was discovered.</p>
</li>
<li>
<p>In case anyone, like me, has a link to a Wikipedia user page from their Mastodon profile, and wants it to be marked in green as a verified link (via the rel=me attribute at the user page your profile links to), <a href="https://www.mediawiki.org/wiki/Help:Extension:RealMe">you can now do this</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110765682341893177">\(\mathbb{M}\)</a>)!</span> This adds a special code to your Wikipedia user page so that your Mastodon profile can verify that it really belongs to you.</p>
</li>
<li>
<p>Somehow recent events in social media remind me of <a href="https://www.youtube.com/watch?v=fUiZHt6sqg4">this song by X about a former friend who turned super-racist and had to go away</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110770532110263884">\(\mathbb{M}\)</a>).</span></p>
</li>
<li>
<p>Origami-inspired art by Australian artist Cassandra Laing <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110777774337568601">\(\mathbb{M}\)</a>):</span> “<a href="http://aramblingmeels.blogspot.com/2010/06/art-crush-cassandra-laing.html">Fortune Teller (it will all end in stars)</a>”, and “<a href="https://inside.artbank.gov.au/page/6#/post/91330485243/our-registrars-and-art-handlers-are-big-stars-this">No Time To Waste</a>”
(also visible with three other similar pieces in <a href="https://www.mca.com.au/artists-works/exhibitions/i-walk-the-line-new-australian-drawing/">this gallery view</a>). They look like photos of origami but are actually large photorealistic pencil drawings. <a href="https://www.theage.com.au/entertainment/art-and-design/endless-matter-of-life-and-death-20070328-ge4j36.html">A newspaper story about Laing in <em>The Age</em></a> mentions two more, “My Paper Ancestors” with an origami dinosaur, and “Last migration”, in which “flocks of origami pteranodons fly over the Antarctic icebergs”, but I haven’t been able to find online images of them.</p>
</li>
<li>
<p><a href="https://youtu.be/Ojr5AITcCrs">Women of the Manhattan Project</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@highergeometer/110762990490766452">\(\mathbb{M}\)</a>).</span></p>
</li>
<li>
<p>On <a href="https://mathstodon.xyz/@rygorous@mastodon.gamedev.place/110727728478194221">a thread about why <code class="language-plaintext highlighter-rouge">expm1</code> and <code class="language-plaintext highlighter-rouge">log1p</code> are included in mathematics libraries when we could almost as easily write \(\exp(x)-1\) and \(\log(1+x)\)</a>
(answer: because they’re commonly used for \(x\) close to zero, for which those other expressions would be numerically unstable) <a href="https://mathstodon.xyz/@jix/110728285898409151">Jannis Harder points out an important use case</a>: If you want to compute \((1-p)^n\), the probability of success after many trials with a low failure probability, you should use <code class="language-plaintext highlighter-rouge">exp(n*log1p(-p))</code>. Doing it that way rather than the more obvious expression results in a much smoother and more accurate approximation to the correct answer.</p>
</li>
<li>
<p><a href="https://twistedsifter.com/2020/06/how-wavy-crinkle-crankle-walls-use-less-bricks-than-straight-walls/">Why wavy brick walls use fewer bricks than straight walls</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110799734608149868">\(\mathbb{M}\)</a>,</span> <a href="https://news.ycombinator.com/item?id=36892970">via</a>): because you don’t need to make them so thick to prevent them from falling down.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@Sophie@dice.camp/110587865363562590">Sophie makes an epicycle clock app</a>. The minute hand is attached to the end of the hour hand and traces out a loopy path. There’s also a not-very-helpful second-hand version.</p>
</li>
<li>
<p>The independent set version of the Hadwiger–Nelson problem <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/110810118775049296">\(\mathbb{M}\)</a>,</span> on coloring the infinite unit distance graph of points in the plane) asks: what fraction of the plane can you cover by points that are all at least one unit of distance apart? You can get 1/7 by using one of the seven color classes of a 7-coloring of the plane, but a significantly larger area, roughly 23%, is possible. <a href="https://www.quantamagazine.org/mathematicians-break-bounds-in-coloring-problem-20230719/"><em>Quanta</em> magazine reports on progress in the other direction, bringing the upper bound below 25%</a>. Based on “<a href="https://arxiv.org/abs/2207.14179">The density of planar sets avoiding unit distances</a>”, Gergely Ambrus, Adrián Csiszárik, Máté Matolcsi, Dániel Varga, and Pál Zsámboki.</p>
</li>
</ul>David EppsteinThe Higher Geometer gets grumpy over paywalls for back issues of The Duke Mathematical Journal. Some but not all of them can also be found on the Internet Archive. But everything before 1943 is out of copyright and should be free.Fast tracks for the theoretical CS conference-to-journal pipeline?2023-07-27T15:56:00+00:002023-07-27T15:56:00+00:00https://11011110.github.io/blog/2023/07/27/fast-tracks-theoretical<p>I recently received an email from Uri Feige and Mohammad T. Hajiaghayi promising a “fast-track” process “which decides submissions within 90 days of the submission date” for submissions to <em>Algorithmica</em> of papers previously accepted to ICALP. My initial reaction was negative, but maybe I’m missing something.</p>
<p>For context, theoretical computer science papers are typically published first in a preliminary form in peer-reviewed conferences. These conferences can be highly selective, and their reviews can find mistakes and request corrections, but they are primarily focused on whether the work is important and superficially appears correct. They do not provide the same level of rigor that one would expect from a journal review, and there is usually only one round of review, without any opportunity for checking whether revisions addressed reviewers’ concerns. The high workload expected of conference reviewers means that it might be reasonable to put in an hour of time on reviewing a paper, but not the day or days that it might take to do a journal-level review. After a paper has appeared in a conference, it is common (although not universal) for an expanded and more polished version to be sent to a journal, where it undergoes the normal journal review process. When a paper has both a conference and a journal version, the journal version is the final form of the paper, the version that can be trusted.</p>
<p>To me having a fast-track decision process raises all sorts of red flags. One cannot expect conference acceptance to mean that the paper has already been thoroughly reviewed at the level of rigor that would be expected for journal publication. And a 90 day deadline for a full decision is too fast to expect anything more from the reviewers than the same superficial checks, with no time for significant revisions and re-review if required. ICALP is a top-level conference (behind only STOC and FOCS in reputation) so one can expect all its papers to be significant enough for acceptance, but that doesn’t make them free of oversights or mistakes (repairable or otherwise). Further, what details are provided are not reassuring. The fast-track process entails uploading one’s conference reviews along with the journal submission. Does this mean that they are not even expecting to get another round of review done, but instead will rely on the single round of reviewing that the papers already had?</p>
<p>I previously thought of <em>Algorithmica</em> as respectable algorithms journal, not as selective as <em>SIAM J. Comput.</em> but still good, one that wouldn’t need to stoop to such stunts. I’ve published in it as recently as this year. I’m worried that this sort of thing comes from pressure from the publisher (Springer) to boost acceptances now that most papers in the journal are associated with significant open-access publication fees. Encouraging theory conference authors to make journal versions of their papers is a good thing, but not if the process destroys the value of making a journal version. If that value comes from the extra level of trust one can put in the journal version of a paper, what value is being provided here?</p>
<p>On the other hand, maybe I’m being overly cynical. Maybe the <em>Algorithmica</em> editors have reviewers lined up, willing to give thorough journal-quality reviews within a short timeframe. Maybe “decides submissions” allows for decisions that the submission needs at least one more full round of revision and review before a more final decision can be made. Maybe the conference reviews to be submitted with fast-track papers are there only to provide context, and not as a substitute for new journal reviews. Maybe the authors will be motivated to put in significant revisions and improvements themselves, without having to be told to do it by reviewers, so that the fast-track process ends up publishing versions of papers with significant value added without requiring a heavyweight reviewing process. Maybe. Until we see the results from this experiment, it will be difficult to tell.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/110788655989089519">Discuss on Mastodon</a>)</p>
<p><strong>Update, July 28:</strong> Mohammad has provided the responses below, and kindly given me permission to include them here:</p>
<ol>
<li>
<p>The idea of a 90-day fast track was my own, and Springer did not request or suggest it (As I believe that 90 days is considerably longer than the time a referee typically requires to review a journal paper.) Working with Springer as the EiC of <em>Algorithmica</em>, I have found them to be highly professional. It’s worth noting that it is Springer–Nature, which also publishes <em>Nature</em> and associated journals.</p>
</li>
<li>
<p>The 90-day timeframe mentioned is only for the initial response, and it is an approximate guideline. So far, no author has complained about a response taking 100 days instead of the suggested 90 days. In the future, we can clarify this timeframe further.</p>
</li>
<li>
<p>Authors are expected to send us all the reviews they received from the conference and explain how they addressed them.</p>
</li>
<li>
<p>We still aim for 2–3 independent reviews for each submission and some fast-track papers have been rejected based on our own reviews.</p>
</li>
<li>
<p>I personally oversee these fast track submissions and, if necessary, read them myself. In some cases, I have even emailed 2–3 authors to apologize when we invited more than 5–6 reviews, but still didn’t receive enough to make a decision.</p>
</li>
<li>
<p>Ultimately, it is the author’s responsibility to ensure the correctness of their paper, and we are here to provide assistance.</p>
</li>
<li>
<p>I have a great deal of respect for journals and always encourage their use in my papers, especially when working with students. During my Ph.D. thesis, I was particularly focused on correctness and included only papers that had already been accepted in journals, even though some had appeared in top conferences. I strive to apply the same high bar or even raise it for <em>Algorithmica</em>.</p>
</li>
<li>
<p>My primary objective in accepting this position is to elevate <em>Algorithmica</em> to the status of a premier journal of very high bar once more. <em>Algorithmica</em> holds significant personal value to me as I read and learned from it during my high-school years, making it a journal of great significance.</p>
</li>
</ol>David EppsteinI recently received an email from Uri Feige and Mohammad T. Hajiaghayi promising a “fast-track” process “which decides submissions within 90 days of the submission date” for submissions to Algorithmica of papers previously accepted to ICALP. My initial reaction was negative, but maybe I’m missing something.Well-spaced spring embeddings and well-spaced polyhedra2023-07-20T23:53:00+00:002023-07-20T23:53:00+00:00https://11011110.github.io/blog/2023/07/20/well-spaced-spring<p>I have a new preprint out, “Manipulating Weights
to Improve Stress-Graph Drawings of 3-Connected Planar Graphs”, with Alvin Chiu and Mike Goodrich, <a href="https://arxiv.org/abs/2307.10527">arXiv:2307.10527</a>, to appear at Graph Drawing. (<a href="/blog/2023/01/23/doubled-planar-drawings.html">I already wrote about my other Graph Drawing accept last January</a>.) It’s an experimental rather than theoretical paper, the main idea of which is to try different weights of springs in the <a href="https://en.wikipedia.org/wiki/Tutte_embedding">Tutte spring embedding</a> of planar graphs, in order to try to avoid the exponentially-close vertex spacing that typically results from this embedding.</p>
<p>It was known from past work of Chrobak, Goodrich, and Tamassia (SoCG 1996, <a href="https://doi.org/10.1145/237218.237401">doi:10.1145/237218.237401</a>) that, for graphs with a triangular outer face, you could construct a Tutte embedding with vertices that have approximately evenly-spaced \(x\)-coordinates, and in an appendix we extend this to exactly evenly-spaced \(x\)-coordinates, without the restriction on the outer face. This prevents vertices from being exponentially close: in an \(n\)-vertex graph, the ratio between the minimum and maximum distance is \(O(n)\), as good as you could hope for.
But doing this can still sometimes produce drawings where some parts of the graph are squished very close to a line, making them illegible. It’s this squishing effect that our experiments are intended to circumvent.</p>
<p>Instead of repeating its material in this post, I wanted to highlight a correction to some past literature related to this method, buried in a footnote of the new preprint. It involves the problem of finding the shapes of convex polyhedra given only a combinatorial description of the polyhedra, their graphs. The graph of vertices and edges of any convex polyhedron is a planar 3-vertex-connected graph. <a href="https://en.wikipedia.org/wiki/Steinitz%27s_theorem">Steinitz’s theorem</a> says that this is a complete description: every planar 3-vertex-connected graph can be realized as a convex polyhedron. One way to do this involves Tutte embeddings: for certain Tutte embeddings (including the ones with a triangular outer face) you can “lift” the embedding by adding a third \(z\)-coordinate to the \(x\)- and \(y\)-coordinates that you already have, turning it into a convex polyhedron.</p>
<p>Chrobak, Goodrich, and Tamassia used this idea to produce realizations of graphs as convex polyhedra with the property that the polyhedron vertices are well-separated from each other, with the same \(O(n)\) ratio between minimum and maximum distance. Only, they were a little sloppy in the wording of their result, stating it as a theorem for all polyhedral graphs, when really their method only works for polyhedra that have a triangular face.</p>
<p>The existence of a polyhedral realization with this vertex separation property, claimed but not fully proven by Chrobak et al., was finally resolved by André Schulz in his paper “Drawing 3-polytopes with good vertex resolution” (<em>JGAA</em> 2011, <a href="https://dx.doi.org/10.7155/jgaa.00216">doi:10.7155/jgaa.00216</a>). Schulz noticed the incorrectly-omitted assumption of a triangular face in the work of Chrobak et al., and described how to modify the Tutte embedding weights to make a similar method work when there is no triangular face.</p>
<p>The “squishing” problem remains in this three-dimensional version of the problem, though. One way to address it is to ask about the area of the faces of a Tutte embedding or polyhedral realization, instead of the separation of its vertices. Does every 3-connected planar graph have a weighted Tutte embedding in which every face has area that is at least a polynomial fraction of the area of the whole drawing? Does it have a polyhedral realization in which every face has area that is at least a polynomial fraction of the surface area of the polyhedron? There are methods known for finding planar drawings in which all faces have large area (for instance by drawing the graph with all vertices placed in a grid) but, unlike for Tutte embeddings, I don’t think any of these are known to lift to polyhedra.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/110750796532756806">Discuss on Mastodon</a>)</p>David EppsteinI have a new preprint out, “Manipulating Weights to Improve Stress-Graph Drawings of 3-Connected Planar Graphs”, with Alvin Chiu and Mike Goodrich, arXiv:2307.10527, to appear at Graph Drawing. (I already wrote about my other Graph Drawing accept last January.) It’s an experimental rather than theoretical paper, the main idea of which is to try different weights of springs in the Tutte spring embedding of planar graphs, in order to try to avoid the exponentially-close vertex spacing that typically results from this embedding.