Discrete spirograph-like patterns from Gaussian periods and their analogues (\(\mathbb{M}\), via): see figures by Samantha Platt, based on her paper “Visual aspects of gaussian periods and analogues” which has many more. Here the Gaussian periods are certain sums of roots of unity.
On the unreliability of ChatGPT for mathematical proofs and even for finding references for proofs.
3d-hinged polygonal dissection in a cabinet door (\(\mathbb{M}\), via). It’s labeled as “Staatliche Meisterschule für Schreiner Gunzenhausen”, which led me to the school’s facebook page where it appears on May 3, unlabeled but sandwiched between other Meisterprüfungsprojekte, which I assume this is also. Anyone know where to find a better non-siloed link for this?
The shape that should be impossible (\(\mathbb{M}\)). StandUpMaths on Robin Houston’s discovery of a simplified Sydler polyhedron with one 45° angle and the rest all 90°. See also a response from a mechanical nuclear power engineer and a paperfolding net.
Places named after mathematicians starting with the Praça de Gomes Teixeira in Lisbon. My contribution: I live near a Hypatia Court and a Turing Street.
Sparse representations of binary matroids (\(\mathbb{M}\)). Rose McCarty has more questions than answers on the independence patterns that can be represented by sparse matrices.
One of many discussions on Adobe changing their terms to say “we can use any picture you make in Photoshop to train our AI” and why it’s such a bad idea for software one might want to use with confidential information. They’ve since tried to backtrack, I’m not sure very convincingly.
Curved surface folding in the wild (\(\mathbb{M}\)). How certain freshwater-pond microorganisms (about 0.1mm in size) can extend a “neck-like feeding apparatus” about ten times the length of their body using an origami-like curved crease structure.
Beyond the wall: Working with aperiodic tilings using finite-state transducers (\(\mathbb{M}\)). Simon Tatham on how to generate inflation-based tilings based on lazily-generated label sequences saying where you are at each level of inflation. Moving from tile to tile in the resulting tiling involves going up enough levels in the sequence to tell what’s on the other side of each edge. If higher-level labels are random, everything works, but deterministic choices may produce infinite loops. This misbehavior turns out to be connected to tilings with interesting (finite) symmetry patterns.
Computation is all around us, if you look for it (\(\mathbb{M}\)). Lance Fortnow in Quanta.
Professors ask: are we just grading robots? (\(\mathbb{M}\), archived). A timely article in the Chronicle of Higher Education for final exam week here. To avoid this issue, I am trying a grading strategy this quarter based only on in-class exams; I still assign weekly problem sets but don’t collect and grade them. But it would be worse in a writing-based discipline.
Do hares eat lynx? (\(\mathbb{M}\)) As professor and textbook author Nicole Rust tells us in the linked post, the textbook story of population cycle peaks for lynx trailing those of hares is reversed in the actual data. The explanation may involve another level of predation in the system: the fur trappers whose pelt counts were used as the data.
Analysis of the social networks of bees and the flowers they visit (\(\mathbb{M}\)). This seems to me an interesting example for the way it combines geographic factors (how near the flowers are to each other), combinatorial factors (multiple bee and flower species), and some amount of randomness. And the drawing of one of these networks on page 7 shows some interesting structure: a central core of dense and random-looking connectivity with a lot of smaller highly clustered subnetworks. But the fieldwork needed to record these networks sounds incredibly tedious. Maybe that part could be automated.
There’s a linear-time construction algorithm by Martin Farach-Colton (FOCS 1997) that works by divide and conquer: it recursively builds a suffix tree for half of the suffixes, uses it to build a second suffix tree for the other half, and then merges the two trees. I can get through the part about building the second tree, but merging the two trees is a mess and I’ve never been able to do more than convey a vague flavor of the algorithm. The students learn that there is an algorithm, and that it’s complicated, but not really more than that.
But this week, Mike Goodrich pointed me to a simplified construction for suffix arrays, a related but much simpler structure. In its most basic form, a suffix array is just a list of the positions at which each suffix starts (that is, the numbers from 0 up to the length of the given string), sorted alphabetically by the suffixes starting at those positions. The algorithm comes from “Linear work suffix array construction” by Kärkkäinen, Sanders, and Burkhardt (JACM 2006, based on a 2003 conference paper by two of the authors) and, although I didn’t see it in their paper, it turns out to work for suffix trees as well, much more simply than Farach-Colton’s algorithm.
Given an input string \(S\), of length \(n\), over an ordered alphabet \(\Sigma\), Kärkkäinen et al. start by forming a new alphabet \(\Sigma^3\) consisting of the triples of characters that appear consecutively in \(S\) (allowing padding at the ends of \(S\)). A linear time radix sort can be used to renumber the letters in \(\Sigma^3\) in an order-preserving way, preventing the alphabet size from blowing up as we recurse. Over this new alphabet, \(S\) has three representations \(S_0\), \(S_1\), and \(S_2\), each of length \(n/3\), depending on whether you break it up into triples starting at a position that is 0 mod 3, 1 mod 3, or 2 mod 3. The suffixes of \(S\) that start at a position that is \(i\) mod 3 will also be suffixes of \(S_i\), so this partitions the \(n\) suffixes that we are trying to sort into three subsets of \(n/3\) suffixes.
The suffix array construction algorithm of Kärkkäinen et al. is:
Construct alphabet \(\Sigma^3\) and the three strings \(S_0\), \(S_1\), and \(S_2\).
Recursively sort the suffixes of the combined string \(S_1S_2\), of length \(2n/3\). The concatenation does not affect the ordering (it just adds extra junk to the suffixes of \(S_1\), after the end-of-string character) so this gives us the combined ordering of \(2/3\) of the suffixes of \(S\). But we still need to order the remaining suffixes, from \(S_0\).
Each suffix of \(S_0\) can be represented as a pair \((c,s)\) where \(c\) is a single character of \(\Sigma\) and \(s\) is a suffix of \(S_1\). Since we now know the orderings of both the characters of \(\Sigma\) and (from the result of the recursion) the suffixes of \(S_1\), we can radix sort these pairs to sort the suffixes of \(S_0\).
Now we can merge the suffixes of \(S_1\) and \(S_2\) with the suffixes of \(S_0\), using a single pass of the merge subroutine from merge sort. This takes a linear number of comparisons between suffixes, but there’s a trick to make these comparisons take constant time. To compare suffixes of \(S_0\) and of \(S_1\), represent both of them as pairs \((c,s)\) where \(c\) is a single character and \(s\) is a suffix of \(S_1\) or of \(S_2\) respectively. To compare suffixes of \(S_0\) and of \(S_2\), represent both of them as triples \((c,c',s)\) where \(c\) and \(c'\) are single characters and \(s\) is a suffix of \(S_2\) or of \(S_1\) respectively. Just compare these pairs or triples lexicographically. We already know (and don’t really need) the comparisons between all other kinds of suffixes.
It takes linear time at the outer level of the recursion, with a single recursive call to a problem of size \(2n/3\), for total linear time. But now almost the same thing works for suffix trees:
Construct \(\Sigma^3\), \(S_0\), \(S_1\), and \(S_2\), in the same way.
Recursively construct the suffix tree of \(S_1S_2\), and preprocess it for lowest common ancestor queries.
Compute the sorted list of its leaves (the suffix array of \(S_1S_2\)), and merge with \(S_0\) as above to get a suffix array of \(S\).
Build the suffix tree by adding the leaves in sorted (left-to-right) order, maintaining at each step the compressed trie of the leaves added so far. To add each leaf, walk up the tree from its predecessor in the sorted order until finding the point where the tree should add a new branch. Each node is internal to only one of these walks, so the total number of steps in these walks is linear.
In order to tell when to stop walking, what we need to know is the length of the longest common prefix between each suffix and its predecessor in the sorted order. The same comparison trick used in the merge works again here. If both suffixes come from \(S_1\) or \(S_2\), you can find their longest common prefix by a single lowest common ancestor query (and then a constant number of comparisons as cleanup to go from \(\Sigma^3\) back to \(\Sigma\)). Otherwise, you can break both prefixes into pairs \((c,s)\) or both into triples \((c,c',s)\) with suffixes from \(S_1\) or \(S_2\), for which you can again find longest common prefixes using at most one lowest common ancestor query.
That’s all there is to it! Of course you need to know about lowest common ancestors in trees but at this point in my data structures course we’ve already covered that. The rest is simple enough that I could cover it all (including the definition and uses of suffix arrays and suffix trees as well as their construction) in a single 80-minute lecture.
]]>Hadi came to UCI from Sharif University in Iran. By now he has many strong publications, mostly on spanners, the topic of his dissertation. Much of this has been self-directed, with my contributions often limited to vague direction setting or (in one case where I am not a coauthor) not even as much as that. Spanners are sparse graphs, defined using points in a metric space as their vertices, and having graph distances that approximate the distance in the space. The spanner ones (so far), with links to some previous posts here with more detail, are:
“On the edge crossings of the greedy spanner”, (SoCG 2021), shows that a greedy construction produces spanners with few crossings and small separators.
“Online spanners in metric spaces” (ESA 2022), constructs spanners online, as points are added one by one to the input. The total weight of the spanner is nevertheless small, although there remains a gap between this weight and lower bounds from the same paper on how small it can be.
“Distributed construction of lightweight spanners for unit ball graphs” (DISC 2022, and announced at SPAA 2022), concerns spanners in generalizations of Euclidean spaces to doubling metrics, spaces where every ball can be covered by a bounded number of half-radius balls. The resulting spanners have bounded vertex degree, small total weight, and can be constructed efficiently by a distributed algorithm, even when restricted to use only short edges (and to approximate the best distance possible for restricted paths of this type).
“Maintaining light spanners via minimal updates” (CCCG 2024, to appear; until then, see arXiv:2403.03290) is on spanners in both Euclidean and doubling spaces, for points subject to insertion and deletion. You would like to handle these operations quickly. We don’t do that. But instead, we show that these operations can be handled without much change to the spanner, again for a spanner that maintains high quality in other respects.
His other papers include works on healthcare monitoring, route monitoring in road networks, and networked applications of invertible Bloom filters. His next step is to go to Google in Sunnyvale, for work unlikely to concern spanners.
Congratulations, Hadi!
]]>Lots of flat foldable structures with arbitrary cross-sections. Images from a talk whose slide titles appear to be related to “Generalizing rigid-foldable tubular structures of T-hedral type”, a 2023 preprint by Sharifmoghaddam, Maleczek, and Nawratil.
My university went online for a day, after an anti-Israel protest encampment was shut down by and cleared by police, resulting in 50 arrests (\(\mathbb{M}\)). Negotiations between the protesters and the university administration broke down a week earlier, with some protesting students getting suspended and banned from campus, after what our chancellor and the rumor mill tell us were impossible demands from the protest negotiators calling on the campus to forbid all researchers from contact with Israelis, censor its faculty and students from expressing opinions out of line with the protesters, shut down support groups for Jewish students and Jewish studies, and close the campus police department (something that would predictably lead to less-friendly policing from less-local departments, as in fact happened when the shutdown brought in many police from nearby towns). Despite all that, the administration had been prepared to let them continue their protest indefinitely as long as it remained peaceful and did not impede other university activities. The trigger to the police action was the protesters taking over and barricading one of the main campus lecture halls.
Wikidata to split as sheer volume of information overloads infrastructure (\(\mathbb{M}\)). The proposed split is between scholarly citations (maybe 1/3 of wikidata content) and everything else. It’s not clear to me what the actual workload balance is, though. Scholia (https://scholia.toolforge.org/), a front end for the citation database, is pretty UI-intensive, but I think most of that is served up by toolforge rather than wikidata itself. On the other hand, every time you look at a Wikipedia article, it involves one or more wikidata searches, for instance to look up the links to articles in other languages, or the “authority control” data linking articles to various national databases.
Columbae House, the co-op I lived in and belonged to in college, is threatened with losing its identity and becoming just another student residence (\(\mathbb{M}\)). After student protests, the threat was lifted.
Inside Higher Education on the phenomenon of professors with established positions going on the job market to get a counteroffer to stay at their old position with improved conditions (\(\mathbb{M}\), archived). I think it is well known that this benefits men more than women because of societal pressures that make women less likely than men to try playing this game. But the linked article reports on a different way that this system increases bias: “women and faculty of color who receive outside job offers are far less likely than their white, male peers to receive a counteroffer to stay at their current institution”.
Bell numbers count the partitions of a set. But as John Baez describes, they also give the moments of a Poisson distribution: the \(n\)th Bell number is the expected value of the \(n\)th power of the number of Poisson-distributed events. This is known as Dobiński’s formula.
Online historical mathematics textbooks (\(\mathbb{M}\)), focusing on English-language algebra and arithmetic texts from the 16th to 19th centuries.
Recent salary increases for graduate-student teaching assistants at the University of California have left lecturers behind, causing situations where the Ph.D.-holding instructor of a course gets less pay than the master’s student hired to be their assistant, leading to hurt feelings and badwill (\(\mathbb{M}\), archived). Both the graduate students and the lecturers are represented by unions, but these inversions happened after the students struck for a new contract, while the current lecturer contract extends until 2026. It doesn’t look like local administrators can do much to work around the problem, and a higher-level university spokesperson issued only a bland statement saying essentially that they think they pay lecturers well already (obviously not) and that this would be on the table the next time negotiations roll around.
xkcd on a “one-bit Bloom filter” (\(\mathbb{M}\)). But isn’t this really a zero-bit filter?
Accepted papers from the Canadian Conference on Computational Geometry, CCCG 2024 (\(\mathbb{M}\)), to be held in mid-July at Brock University.
The perils of living at a house with a fractional address (\(\mathbb{M}\), archived). I recently covered the list-labeling problem in my graduate data structures course; it’s an online problem where one must assign ordered numbers to the elements of a dynamic totally ordered set, not unlike the building numbers along a street, but where (unlike building numbers) occasional renumberings are allowed. It’s amusing from afar to see what happens when you get it wrong and are forced into using fractional numbers, but it would be less amusing to live at one of those addresses that online businesses will not deliver to.
Vesa Timonen finds a four-piece miter to square dissection. The miter is a non-convex pentagon formed by slicing a square diagonally into quarters and removing one of the quarters. Sam Loyd thought he had a four-piece dissection, but he was wrong, and Dudeney conjectured that five pieces was the minimum. It turns out he was also wrong. The new dissection is very different from Loyd’s.
On announcements of mathematical results before a full proof is available. David Wood argues that after a two-year grace period with no complete version written (and preferably made public) the announcement should be considered retracted and its problem unsolved. The link and linked discussion includes multiple examples.
Celtix (\(\mathbb{M}\)). Andrew Taylor prototypes a puzzle of linking specified points by celtic-inspired knotwork.
Small-volume bodies of constant width (\(\mathbb{M}\), via). Answering a question of Oded Schramm, this new preprint by Arman, Bondarenko, Nazarov, Prymak, and Radchenko shows that the volume of a body of constant width can be exponentially small in the dimension, relative to the volume of a ball of the same width.
His dissertation concerns experimental algorithms, road networks, and noisy sorting, combining research from four of his papers:
Efficient exact learning algorithms for road networks and other graphs with bounded clustering degrees (SEA 2022, with Goodrich) is on using unweighted shortest path queries to infer an unknown graph on known vertices, using a method based on randomized incremental graph Voronoi diagrams. They analyze their algorithm’s complexity as \(O(d_{\max}^2n\log n)\), where \(d_{\max}\) is the maximum number of neighbors of a Voronoi cell in their construction. It follows from some old work of mine that for random geometric points one can expect \(d_{\max}\) to be \(O\bigl(\tfrac{\log n}{\log\log n}\bigr)\) and they provide empirical evidence that when applied to road networks they get a similar logarithmic behavior for this parameter.
Modeling the small-world phenomenon with road networks (SIGSPATIAL 2022, best paper runner-up, with Goodrich) experiments with three different social network models that overlay random long-distance connections onto a road network, inspired by Kleinberg’s work on overlays of grid graphs. One overlays a Barabasi–Albert network, a second overlays random long-distance connections using the same model as Kleinberg, and a third combines both ideas by building a network incrementally with a fixed number of neighbors per new vertex chosen with probabilities combining the neighbors’ degrees and distances. In a model of greedy routing incorporating a fixed drop-out rate per hop, the third model comes close to replicating Milgram’s results of most successfully found paths having only six or seven steps, far smaller than the constant from Kleinberg’s work. Evrim, Mike, and another of Mike’s students, Ofek Gila, have a follow-up paper (not in the thesis) that won the best-paper award at COCOA 2023.
Noisy sorting without searching: data oblivious sorting with comparison errors (SEA 2023, with Afshar, Dillencourt, and Goodrich). Here, noisy sorting means that some comparisons can produce the incorrect result, and stay incorrect if you try them again. It was known through work of Geissmann, Leucci, Liu, and Penna that with \(O(n\log n)\) comparisons you can get all items within distance \(O(\log n)\) and average distance \(O(1)\), of their correct sorted position, both optimal for this model. Evrim’s paper comes close to that in the more restrictive data oblivious model of sorting, where the sequence of comparisons that are made cannot depend on the results of earlier comparisons (true for instance for sorting networks but not for many sorting algorithms).
External-memory sorting with comparison errors (WADS 2023, with Goodrich). This uses the same noisy sorting model, but looking at it from the point of view of external memory algorithms, where the goal is to minimize the number of blocks of memory transferred into and out of the CPU and its cache. In this case, Evrim’s paper provides an algorithm whose total amount of memory I/O is optimal, with again near-optimal bounds on how close each item is to its correct sorted position.
At the defense, Evrim gave a very impressive talk in which he managed to cover all of these many results, smoothly, clearly and in detail, within the one-hour time and despite being interrupted quite a few times by questions from the audience (ok, mostly me). His next step is to go to LinkedIn as a data scientist, after previously interning for them.
Congratulations, Evrim!
]]>How fascination with a knight’s tour puzzle eventually led June Huh to a Fields Medal (\(\mathbb{M}\)).
Why natural logarithms are abbreviated ln and not nl (\(\mathbb{M}\)). I found an early example of this notation in an 1813 book by Mauricius de Prasse, predating the 1893 examples of Cajory and the MacTutor History of Mathematics Archive, but I suspect it may be even older.
Timothy Chow on the NF consistency proof and Lean (\(\mathbb{M}\)), relating to the recent verification in Lean of a proof by Randall Holmes that NF is consistent (assuming “some fragment of ZFC”). Chow argues out that one use of proof assistants seen here, to break a logjam where a claimed proof cannot be published because no willing referees can be found, “convincingly demonstrates the value of proof assistants in the process of producing new mathematical knowledge”.
Fulkerson 100: A Workshop in Celebration of Ray Fulkerson’s 100th birthday, July 17–19 at the University of Waterloo (\(\mathbb{M}\)). And if that conflicts with something else (as it does with 8OSME for me and with CCCG for the Canadian computational geometers), there’s an alternative: The D.R. Fulkerson Centennial Celebration, September 20–21 at Cornell University.
Hexagonal Tiling Honeycomb (\(\mathbb{M}\)). A covering of hyperbolic space by horoballs, intersecting in a pattern that forms a hexagonal tiling of each horoball, and its number-theoretic description as a subset of Minkowski space-time.
Japan’s “Wasan” Mathematical Tradition: Surprising Discoveries in an Age of Seclusion (\(\mathbb{M}\)). Includes a description of the discovery by Seki Takakazu of determinants, predating their discovery by Leibniz, and of Bernoulli numbers, predating their discovery by Bernoulli.
My PhD advisor, Zvi Galil, is featured by the Association for Computing Machinery in its “people of ACM” column (\(\mathbb{M}\)).
When faced with the question of “Do you feel this article is of broad interest to mathematicians from diverse fields?”, often used to excuse bias against combinatorics papers, David Wood has a good answer: “at least the same level as all the papers in press at the journal website”.
After seeing several recent student presentations on quantum algorithms (\(\mathbb{M}\)), it occurs to me (as I’m sure it has occurred to others) that we desperately need some way of communicating these concepts at a higher and more intuitive level than slide after slide of tensor algebra equations. If we tried to describe classical algorithms but our language was limited to circuit diagrams, how far would we get?
Gasarch on what counts as “closed form” and what does not (\(\mathbb{M}\)), using the Ordered Bell numbers as an example. He asks, in the form of a Platonic dialogue: is \(\tbinom{n}{i}\) or \(\tfrac{n!}{i!(n-i)!}\) closed form? What, if anything, makes that sort of formula different from the formula \(H(n)\), denoting the \(n\)th ordered Bell number?
Packings of smoothed polygons (\(\mathbb{M}\)). Tom Hales and Koundinya Vajjha prove Mahler’s first conjecture, on the centrally symmetric shape with the lowest possible packing density. This shape is conjectured to be the smoothed octagon, formed by rounding the corners of a regular octagon, but the first conjecture is simply that it is piecewise linear and hyperbolic, like the smoothed octagon, with finitely many pieces.
Reviewer 2 is a LLM (\(\mathbb{M}\)). AI/ML researcher Cynthia Rudin writes from her personal experience that the pervasive use of low-quality reviewers in AI/ML conference peer review has become worse, with some reviewers pawning off their work to the machines, no appeal against rejection caused by a bad review (as has long been usual for conference reviewing), and the possibility that one’s work, supposedly confidential while under review, has gone into the machine’s training set. The use of LLMs by reviewers is forbidden but largely consequence-free.
Graph theorist Reinhard Diestel has a new book (\(\mathbb{M}\), see also): Tangles, A structural approach to artificial intelligence in the empirical sciences. If I understand it correctly, his setup involves a population (of people, states of a physical system, data points in a machine learning data set) and a collection of binary questions that each might answer (opinion poll answers, experiments, classifiers). The “tangles” of the title can be thought of as hypothetical members of the population whose answers to triples of questions are consistent, in a certain sense (Why triples? It’s technical.) Consistent might mean, for instance, that there is a real population member with the same answers to that triple (but not to all the other questions). From this setup one can find a small number of questions that distinguish all tangles from each other (they will answer differently to at least one of the questions) or, if there are no tangles, an explanation for why not in the form of a small number of triples of questions that cannot all be consistently answered. This analysis can then be used both to cluster the population and to provide structure in the system of questions. This is all a broad generalization of methods originally used in a highly technical way as part of the theory of graph minors and their extensions to matroid minors. The task Diestel has set himself is an ambitious one: describe all this readably in a book aimed at non-mathematicians. I’m not really the right reader to tell whether he is successful in this goal, but it’s an interesting attempt.
A prototypical example is the Steinhaus–Johnson–Trotter algorithm, which can list all the \(n!\) permutations of \(n\) things, in constant time per permutation, with two permutations differing only be a swap of adjacent elements. If, instead, one looks at the inverses of the permutations, then each two permutations in the sequence differ by adding one to one of the numbers in the permutation and subtracting one from another. This again causes a swap, but of elements with adjacent values rather than adjacent positions.
Permutations describe linear orderings of items, and the best-known thing counted by the ordered Bell numbers are weak orderings, linear orderings with ties. But unlike permutations its somewhat non-obvious how to represent these things in a format that can be output by an enumeration algorithm that makes only a small change from thing to thing. One could plausibly represent a weak ordering by the set of its dichotomies (partitions into two subsets that are consistently ordered relative to each other) and interpret a small change as meaning adding or removing a single dichotomy; I’ll get back to that towards the end of this post.
Less well known, but more like permutations, are “unit interval parking functions”. To describe these, let’s start with parking functions. A parking function is just a list of \(n\) numbers from \(1\) to \(n\) (like a permutation), with the property that, when sorted, the \(i\)th number is at most \(i\). There are exactly \((n+1)^{n-1}\) of these things, and they form a nice connected state space under even simpler operations than permutations: just add or subtract one from one of the numbers in the list. Here, for instance, are the \(16\) parking functions for \(n=3\):
I’ve colored these yellow when the sum of the list is odd, and blue when the sum of the list is even. Each step from one parking function to another changes the parity, so this is a bipartite graph. The number of vertices is odd when \(n\) is even, making impossible a cyclic Gray code (a Hamiltonian cycle in this graph). Worse, in the case \(n=3\) shown, there are nine blue vertices and only seven yellow vertices, making impossible a Gray code even if a cyclic sequence is not required: any Gray code would have to alternate between blue and yellow, only possible when their numbers are within one of each other. The imbalance gets worse with larger \(n\): \(60\) and \(65\) vertices on each side for \(n=4\), and \(640\) and \(656\) for \(n=5\).
These are called parking functions because of the following thought experiment. Imagine that \(n\) cars travel along a one-way street with \(n\) parking spaces, each looking for a space to park. The \(i\)th car has a favorite parking spot, and will try to park in its spot, moving on to the next later spot if that is occupied. The parking functions describe exactly the systems of favorites that allow every car to park! If the preference of the \(i\)th car is given by the value in position \(i\) of a parking function, then enough cars will have early-enough preferences to fill all of the spots; otherwise, one of the early spots will go unfilled and one of the cars with a later preference will not be able to find an open spot. In the image below, it looks like spots 1 and 3 are still free, but if you have a later preference you may fail to find a spot.
With this intuition in mind, a unit interval parking function is a parking function for which every car gets either its favorite spot or the next spot after it. These things correspond to weak orderings, with the cars that get their favorite spot ordered by their position along the street and the other cars tied with the ones before them. For this reason, the unit interval parking functions are counted by the ordered Bell numbers. For \(n=3\), the only parking functions that are not unit interval parking functions are the ones where the last car wants the first parking spot but has to move along to the third:
Here, again, the odd number means that a Hamiltonian path rather than a Hamiltonian cycle is necessary, and in this case it is possible. Is it possible for all \(n\)? I don’t know! After checking up to \(n=8\) that the even and odd unit interval parking functions are within one of having the same number, I was able to prove that this remains true for all \(n\), leaving hope for a Hamiltonian path. So here’s my proof.
For the representation of weak orders by sets of dichotomies, we again get a bipartite graph (split into odd and even by the parity of the number of dichotomies). The weak orders come from all the members of the face lattice of a permutohedron except for one face lattice member, the empty set, and adding or removing a dichotomy corresponds to moving up or down one step in this lattice. If the empty set were included, the even-dimensional and odd-dimensional faces would be equinumerous; this is just Euler’s polyhedral formula, applied to the permutohedron. Without the empty set, there is one more even-dimensional face, because the empty set is odd-dimensional (dimension \(-1\)). So the numbers of dichotomies coming from the faces of different parities are off by one.
Now back to parking. When a car changes its preference by one but doesn’t change its parking spot, this corresponds to splitting a tied set of cars into two subsets, or merging two consecutive tied sets of cars into one. When a car changes its preference by one and moves earlier, it must get its preferred spot in both parking assignments. The car that it displaces can only move one spot later, creating a new tie between these two previously un-tied cars. If these two cars trade spots in this way, nobody else can move or change whether it is part of a tie. So this is also a change of one dichotomy. A change of preference that moves a car later can only be the reverse of this kind of change, the removal of a tie between two cars. So the state space of unit distance parking functions is a subgraph of the state space of dichotomies (it has the same vertices but fewer edges), so it has the same numbers of vertices on each side of its bipartition. Below is the same state space of unit interval parking functions showing in red the missing edges that would be included in the state space of dichotomies. The central vertex, 112, is the weak order in which everyone is tied, and its neighbors are the weak orders with exactly one dichotomy.
Because of this subgraph relation, if we found a Gray code for unit interval parking functions, it would also be a Gray code for weak orders under dichotomies, but not necessarily vice versa. I don’t know whether either kind of Gray code exists for all \(n\). These sorts of problems can be quite difficult; witness the 30 years between the formulation of the middle levels conjecture (about Gray codes for bisections of a set of odd size) and its 2014 solution by Torsten Mütze. So I don’t feel bad about throwing these questions out there, without a solution or a proof:
Does the state space of unit interval parking functions always have a Hamiltonian path?
Does the state space of weak orders under moves that add or remove a dichotomy always have a Hamiltonian path?
I should mention, by the way, that this is not the only notion of adjacency one can use for weak orderings. Another is a notation in which one specifies, for each element, its position in the total ordering of tied equivalence classes of elements (its height), using moves from one height vector to another that all arbitrary changes of the heights of a small number of elements. These height vectors are also called Cayley permutations. For this notation, Gray codes that change only one height at a time are impossible, but Gray codes that change up to two heights are known; see Baril, “Gray code for Cayley permutations”, and Jacques, Wong, and Woo, “Generating Gray codes for weak orders in constant amortized time”, doi:10.1016/j.disc.2020.111992. But adding or removing dichotomies can change many heights, and changing one height can add or remove many dichotomies, so these are not the same.
]]>For \(\min\{p,1-p\}=o(\tfrac1n)\), the resulting graph is perfect with high probability. This means that the probability of perfection goes to one in the limit as \(n\) gets large.
For \(\min\{p,1-p\}=\tfrac{c}{n}\pm o(\tfrac1n)\) with \(0<c<1\), the resulting graph is perfect or imperfect with probability bounded away from both \(0\) and \(1\). The probability of getting an imperfect graph varies monotonically and continuously from \(o(1)\) in the limit as \(c\to 0\) to \(1-o(1)\) in the limit as \(c\to 1\).
For \(\min\{p,1-p\}=\tfrac{c}{n}\pm o(\tfrac1n)\) with \(c\ge 1\), and for \(\min\{p,1-p\}=\omega(\tfrac1n)\), the resulting graph is imperfect with high probability.
Some parts of this are easy, others less so. Or at least, I didn’t know enough probability theory to make them easy.
The symmetry between \(p\) and \(1-p\) follows immediately from the facts that perfect graphs are closed under complementation, and \(G(n,p)\) becomes \(G(n,1-p)\) under complementation. So we only need to look carefully at one of the two phase transitions, the one around \(p=\tfrac1n\).
The cases with \(c<1\) are well-studied and well-understood. Random graphs in this regime are used, for instance, to model the basic form of cuckoo hashing. When \(c=0\) the result is a forest with high probability (and therefore perfect). See, for instance, Introduction to Random Graphs (Frieze and Karonski), Section 2.1: “Sub-critical phase”.
When \(0<c<1\) the result is with high probability a pseudoforest with at most one cycle per connected component, exactly the condition under which cuckoo hashing works. With probability bounded away from zero it’s not just a pseudoforest, but a forest, and therefore perfect. To show that with probability bounded away from zero it’s imperfect, let’s look at the 5-vertex induced cycles (5-holes). The expected number of these turns out to be roughly \(\tfrac{c^5}{10}\), a constant depending on \(c\) but not on \(n\) (see below for a more careful calculation of the number of holes of all sizes) and a similar calculation finds that the expected number of pairs of 5-holes is again roughly constant. By the second moment method, the probability of seeing at least one 5-hole (and therefore being imperfect) is bounded away from zero.
When \(p=\omega(n)\) one can partition the vertices into \(\omega(n)\) subsets within which there is a bounded probability of the subset inducing an imperfect graph. With high probability, one of them does, and the whole graph is imperfect. And when \(p=\tfrac{c}{n}\) with \(c>1\) one can choose arbitrarily a subset of \(1/p\) vertices, whose induced subgraph follows the \(c=1\) case, which we will handle next. This same sampling trick also shows that for \(0<c< 1\), the probability of getting an imperfect graph varies monotonically and continuously with \(c\), but we still need the \(c=1\) case to know that this probability approaches one as \(c\to 1\).
That leaves the case of \(c=1\) and \(p\approx\tfrac1n\), which I claim is imperfect with high probability. This is going to be a long sequence of steps so this might be a good time to introduce some notation. Let \(\mathcal{G}=G(n,p)\) be the distribution we’re drawing from, and let \(\mathsf{imperfect}\) be the event that a graph is not perfect. We want to find a lower bound showing that
\[P_\mathcal{G}[\mathsf{imperfect}]=1-o(1),\]where \(P_\mathcal{G}\) is the probability of this event under distribution \(\mathcal{G}\). We will do this by looking at odd induced cycles, up to some fixed length threshold \(t\); let \(\mathsf{hole}\) be the event that one of these short odd induced cycles exists. Then our first step is an easy one:
\[P_\mathcal{G}[\mathsf{imperfect}]\ge P_\mathcal{G}[\mathsf{hole}],\]because a hole causes a graph to be imperfect, but it might be imperfect for other reasons (longer induced odd cycles, or their complements). Unfortunately, \(P_\mathcal{G}[\mathsf{hole}]\) is difficult to calculate, but a related quantity, \(E_\mathcal{G}[\#\mathsf{holes}],\) turns out to be much easier. Here, \(E_\mathcal{G}\) means to take the expected value of a random variable \(\#\mathsf{holes}\) that counts the number of odd induced cycles, again up to the same threshold \(t\), for a graph drawn from \(\mathcal{G}\).
By linearity of expectation, we can analyze separately the holes of each size and then sum their expected values. For a cycle of length \(k\), this is \(\tfrac{1}{2k}\), up to multiplicative error \(1\pm o(1)\), because there are roughly \(n^k\) linearly ordered \(k\)-tuples of vertices, each cyclic ordering (up to reversal) comes from \(2k\) linear orders, and a cyclically ordered \(k\)-tuple has roughly \(n^{-k}\) probability of appearing as a cycle. All of those “roughly”s, and the omitted calculation of the probability that when a cycle appears it is induced, are where the \(o(1)\) error term comes from. The biggest contribution to this error term is that we are not assuming the edge probability is \(\frac1n\), but only that it is within \(o(1)\) of this. This contribution blows up proportionally to the lengths of the cycles, preventing us from allowing \(t\) to vary with \(n\).
If we count the expected number of induced 5-cycles, 7-cycles, 9-cycles, etc., all the cycle lengths that could prevent our graph from being perfect, we get (up to the same error)
\[\frac{1}{10}+\frac{1}{14}+\frac{1}{18}+\cdots+\frac{1}{2t}.\]If this series were continued infinitely it would diverge, like the harmonic series (but with one term for every four of the harmonic series). Instead, when truncated at \(2t\) in this way it has logarithmic growth, again like the harmonic series. This dominates the error term in our calculations so far, which we can summarize as:
\[E_\mathcal{G}[\#\mathsf{holes}]=\frac14\log t-O(1),\]where log is the natural logarithm and the \(O(1)\) term does not depend on \(t\). Thus, with our choice of the hole length threshold \(t\), we can make the expected number of holes arbitrarily large.
If the events that odd cycles appear were independent of each other, we would almost be done. A very easy union bound in probability states that, for independent events whose expected number is \(\mu\), the probability of getting at least one event is \(\ge 1-e^{-\mu}\). Thus, for a “fake graph process” \(\mathcal{F}\), a choice of an independent random event for each potential hole that has the same probability and same expected number as in \(\mathcal{G}\), we would have
\[P_{\mathcal{F}}[\mathsf{hole}]\ge 1-\kappa t^{-1/4},\]for some fixed constant \(\kappa\). (I am deliberately avoiding \(O\)-notation here because we need to preserve the dependence on \(t\), which would be lost as merely a constant if we used \(O\)-notation with \(n\) as the variable.) This probability can be made arbitrarily close to one by making \(t\) larger, almost what we want to prove, but for the wrong probability distribution, \(\mathcal{F}\) instead of \(\mathcal{G}\). In \(\mathcal{G}\), most pairs of potential induced cycles are edge-disjoint and produce independent events. But when cycles overlap, they produce events that might be positively correlated (if they share an edge) or that might be disjoint (if both cycles cannot be simultaneously induced). All the rest of the work will be in showing that these dependences are small enough that they don’t affect the probabilities of holes very much, and therefore that \(\mathcal{G}\) also has a probability of holes that can be made arbitrarily close to one.
Two potential holes (cyclically ordered subsets of up to \(t\) vertices that might induce an odd cycle) define independent events if they share at most one vertex. If two holes that are not independent appear in a random graph, they form a subgraph with at most \(2t-2\) vertices and with fewer edges than vertices. The expected number of such subgraphs, and by Markov’s inequality the probability of seeing even one of them, is \(O(\tfrac1n)\). So we will not give up much by considering only random graphs in which the holes that appear are independent.
If we draw a graph that has a hole, but does not have two non-independent holes, then it has a unique non-empty maximal independent set of holes. And when something is unique, the probability that it exists is the same as its expected number. That is,
\[\begin{aligned} P_{\mathcal{G}}[\mathsf{imperfect}] &\ge P_{\mathcal{G}}[\mathsf{hole}]\\ &\ge P_{\mathcal{G}}[\mathsf{MIS} \wedge \mathsf{no~overlap}]\\ &= E_{\mathcal{G}}[\#\mathsf{MIS} \cdot \mathsf{no~overlap}]. \end{aligned}\]Here, multiplying by an event in the expected value means to multiply by \(1\) or \(0\) depending on whether or not the event happens. The formulas above are not quite the same as using conditional probability or conditional expectation, because we’re still drawing a graph from the full distribution \(\mathcal{G}\) rather than restricting the distribution to the graphs with no overlap, but that doesn’t make much difference.
But maximal independent sets are a little tricky to count. Independent sets, without maximality, are easier. We can convert one into the other using some tricks with binomial coefficients. If there is one maximal independent set of size \(j\), there are \(\tbinom{j}{i}\) independent sets of size \(i\). The alternating sum of binomial coefficients with fixed \(j\) and variable \(i\) is zero; this is just the binomial expansion of \((1-x)^j\). If we leave out the \(i=0\) term, we get one instead. Therefore, letting \(\#\mathsf{IS}_i\) be the number of independent sets of exactly \(i>0\) holes, we have:
\[\begin{aligned} P_{\mathcal{G}}[\mathsf{imperfect}] &\ge E_{\mathcal{G}}[\#\mathsf{MIS} \cdot \mathsf{no~overlap}]\\ &=\sum_{i>0} (-1)^{i+1} E_{\mathcal{G}}[\#\mathsf{IS}_i \cdot \mathsf{no~overlap}]. \end{aligned}\]The partial sums of the alternating sum of binomial coefficients are just the binomial coefficients \(\tbinom{j-1}{i}\), again with alternating signs. Leaving out the \(i=0\) term doesn’t affect the sign except on the last term. So if we truncate the alternating sum above to an odd number of terms, we will get an overestimate for the probability, and if we truncate to an even number of terms, we will get an underestimate. (This observation is, more or less, what the Bonferroni inequalities say.) We want an underestimate, so introducing a parameter \(s\) for (half) the number of terms to keep, we have:
\[P_{\mathcal{G}}[\mathsf{imperfect}] \ge \sum_{i=1}^{2s} (-1)^{i+1} E_{\mathcal{G}}[\#\mathsf{IS}_i \cdot \mathsf{no~overlap}].\]The reason to truncate in this way is to limit the size of the independent sets, enabling the elimination of that pesky \(\mathsf{no~overlap}\) term. If we see an independent set of \(i\) holes in a graph from \(\mathcal{G}\), it has \(O(it)\) edges, each of which is part of another (overlapping) hole with probability \(O(\tfrac1n)\). And as before the probability of an unrelated overlap is also \(O(\tfrac1n)\). So by the union bound the probability that this independent set (conditioned on when it appears) is part of a graph with overlap is \(O(\tfrac{st}{n})\). Eliminating the no overlap term only changes this independent set’s contribution to the expectation by a multiplicative factor of \(1\pm O(\tfrac{st}{n})\). All terms in the sum have multiplicative factors of the same form, so we can pull this factor out of the sum, giving:
\[P_{\mathcal{G}}[\mathsf{imperfect}] \ge \bigl(1- O(\tfrac{st}{n})\bigr)\, \sum_{i=1}^{2s} (-1)^{i+1} E_{\mathcal{G}}[\#\mathsf{IS}_i].\]The fake graph process \(\mathcal{F}\) does not describe actual graphs. Its states are sets of holes (chosen with the same individual probabilities as in \(\mathcal{G}\)) that are not guaranteed to be consistent with each other as part of a graph. And even if they are consistent, the process does not tell us enough to specify the rest of the graph, the part that is not in the chosen holes. Nevertheless it is a lot like \(\mathcal{G}\) in some ways, including having a low probability of overlapping holes. It is also alike in its independent sets of holes having the same probabilities of existence, and therefore the same expected numbers. So when we have a formula using these expected numbers, we can substitute one process for another:
\[P_{\mathcal{G}}[\mathsf{imperfect}] \ge \bigl(1- O(\tfrac{st}{n})\bigr)\, \sum_{i=1}^{2s} (-1)^{i+1} E_{\mathcal{F}}[\#\mathsf{IS}_i].\]Now all we have to do is reverse the steps by which we got from the probability of a hole to this alternating sum of expected values, to reach the probability of a hole in \(\mathcal{F}\), which we already know is close to one. But before we do, now (while we haven’t imposed any conditions and everything is independent) is a good time to invoke Chernoff bounds. We need to change the truncated alternating sum from being an underestimate into an (eventual) overestimate, so that in the reversed steps the inequalities will still tend in the correct direction. We can do this by truncating to one more or one fewer step (it doesn’t matter which); the difficulty is bounding how much this change in truncation can change the sum. Recall that the expected number of holes in \(\mathcal{F}\) (allowing overlaps) is \(\tfrac14\log t-O(1)\). By the multiplicative form of the Chernoff bound, the probability of seeing some large number \(j\) of holes, larger than this expectation, is less than
\[\left(\frac{e\cdot\tfrac14\log t-O(1)}{j}\right)^j.\]When there are exactly \(j\) holes, there can be at most \(\tbinom{j}{i}\) independent sets of size \(i\). Multiplying this by the bound on the probability of seeing that many holes, and summing over all large \(j\), gives us a bound on the top term in the alternating sum:
\[E_{\mathcal{F}}[\#\mathsf{IS}_{2s}]\le \sum_{j\ge 2s}\binom{j}{2s}\left(\frac{e\cdot\tfrac14\log t-O(1)}{j}\right)^j.\]For large enough values of \(s\) (at least proportional to \(\log t\)), the exponential growth in the binomial coefficients is cancelled by the superexponential shrinkage in the probability bound, and this formula is dominated by its initial \(j=2s\) term. For even larger values of \(s\) (near-logarithmic in \(n\)), this formula becomes \(o(\tfrac1n)\). This additive error term will be smaller than the multiplicative error term that we already have. So, by setting \(s\) to be this big, we can drop the top term from the alternating sum, expand out the factor of \(s\) appearing outside the sum, and achieve
\[P_{\mathcal{G}}[\mathsf{imperfect}] \ge \bigl(1- O(\tfrac{\log n}{n})\bigr)\, \sum_{i=1}^{2s-1} (-1)^{i+1} E_{\mathcal{F}}[\#\mathsf{IS}_i].\]As in \(\mathcal{G}\), for each independent set contributing to this alternating sum, the probability that it is part of a system of holes with an overlap is \(O(st/n)\), so if we impose the condition of no overlap we will only change its contribution to the alternating sum by another factor of the same magnitude as the error term we already have:
\[P_{\mathcal{G}}[\mathsf{imperfect}] \ge \bigl(1- O(\tfrac{\log n}{n})\bigr)\, \sum_{i=1}^{2s-1} (-1)^{i+1} E_{\mathcal{F}}[\#\mathsf{IS}_i\cdot\mathsf{no~overlap}].\]Because we now have an odd number of terms, this alternating sum is an upper bound on the untruncated alternating sum:
\[\begin{aligned} P_{\mathcal{G}}[\mathsf{imperfect}] &\ge \bigl(1- O(\tfrac{\log n}{n})\bigr)\, \sum_{i>0} (-1)^{i+1} E_{\mathcal{F}}[\#\mathsf{IS}_i\cdot\mathsf{no~overlap}]\\ &=\bigl(1- O(\tfrac{\log n}{n})\bigr)E_{\mathcal{F}}[\#\mathsf{MIS}\cdot\mathsf{no~overlap}]\\ &=\bigl(1- O(\tfrac{\log n}{n})\bigr)P_{\mathcal{F}}[\mathsf{MIS}\wedge\mathsf{no~overlap}]. \end{aligned}\]The events of an MIS with no overlap and of an overlap are disjoint, and together cover all draws from \(\mathcal{F}\) that have holes. But the probability of an overlap is small, \(O(\tfrac1n)\), and we have already bounded the probability of a hole.
\[\begin{aligned} P_{\mathcal{F}}[\mathsf{MIS}\wedge\mathsf{no~overlap}] &=P_{\mathcal{F}}[\mathsf{hole}]-P_{\mathcal{F}}[\mathsf{overlap}]\\ &\ge 1-\kappa t^{-1/4}-O\left(\frac1n\right).\\ \end{aligned}\]Plugging this into our inequalities and simplifying, we have:
\[P_{\mathcal{G}}[\mathsf{imperfect}]\ge 1-\kappa t^{-1/4}-o(1).\]We can make this arbitrarily close to \(1\) by fixing an appropriate choice of \(t\) and letting \(n\) be sufficiently large. Therefore, the probability of being imperfect, for a random graph with edge probability \(\approx\tfrac1n\), is \(1-o(1)\).
This situation, where we have a system of events in which each event is dependent with a low expected weight of other events, and we get an outcome similar to one where the events are entirely independent, reminds me a little of the Lovász local lemma. I wonder whether there’s a more general result about union lower bounds for nearly-independent distributions hiding here, or more likely whether someone has already published the more general result that I would need and I just don’t know about it yet.
]]>A weak ordering (\(\mathbb{M}\)) is just a linear order with ties. On \(n\) items, there are obviously at least \(n!\) of them (don’t use ties); here’s a simple combinatorial proof that there are at most \((n+1)^{n-1}\), also provable using parking functions (below). In the complete graph \(K_{n+1}\), choose one vertex as root. By Cayley’s formula, it has exactly \((n+1)^{n-1}\) spanning trees. Each spanning tree can be used to weak order the non-root vertices by their distance from the root. Each weak order on non-root vertices arises from a rooted spanning tree in this way by setting the parent of each non-root vertex to be any of its immediate predecessors, or the root if it has none. Anyone happen to know whether this proof has been published anywhere?
The bitter lesson (\(\mathbb{M}\)): domain knowledge initially helps in machine learning but then just gets in the way.
Is it just me or has Google Scholar’s coverage become spottier recently (\(\mathbb{M}\))? I used to think of Google Scholar as the one-stop shop for full-text queries of the scientific literature: enter a double-quoted phrase and it would find everything there was to be found (except maybe when there was so much to find that you could not go through it all). But lately more and more I’ve been noticing instances where Google Scholar was unable to find publications that it should have been able to find, and that could be found elsewhere.
A case in point: in a recent post, @divbyzero asked about the origin of a limerick about Klein bottles, supposedly attributed to Leo Moser, and citing a 1963 Gardner “Mathematical Games” column. Searching Google Scholar for the first line of the limerick, restricted to pre-1980 publications, found nothing of interest. Curious what Gardner had said about it, and knowing his columns were available on JSTOR, I searched for the same line on JSTOR. It found not only his 1963 column, but two other relevant references, another one from Scientific American in 1950 and one from the American Mathematical Monthly in 1973, that had been nowhere to be seen when I searched Google Scholar.
Has this been happening all along and I’m only now starting to notice the problem? Or is this sort of omission (as my impression suggests) a recent deterioration of Google Scholar, within the last few years?
The dumbest election recount ever Chris Staecker, Youtube, \(\mathbb{M}\)), or, why instant runoff voting makes it very hard to test whether an election result was so close that a recount is worthwhile. (But not in this real-world instance, where it definitely was not worthwhile.)
Today in git tips & tricks (\(\mathbb{M}\)): how to make your Mac-using collaborators unable to use your git repository. Just make it contain two files with names that differ only in their capitalization! For extra confusion, have them be different files with different uses rather than merely being different versions of the same file.
Every two triangulations of the same polygon have a common stellar subdivision (\(\mathbb{M}\)). Blog post by Igor Pak and preprint by Pak and Karim Adiprasito. Here triangulations are allowed to have vertices interior to the polygon. A stellar subdivision is what you get by repeatedly performing two subdivision operations that split triangles into three triangles or pairs of triangles into four triangles. The actual new result is much more general, applying to analogous subdivisions of simplicial complexes in \(\mathbb{R}^d\). It has an application to common blowups of toric varieties (“Oda’s conjecture”); see the preprint for details. Igor’s blog post also discusses another new preprint, “Monotone parameters on Cayley graphs of finitely generated groups”, with Martin Kassabov.
Robin Houston packs quarter-circles into a square, or, if you like, oatcakes into a tin.
New Wikipedia article: parking function (\(\mathbb{M}\)). These are sequences of \(n\) numbers from 1 to \(n\) (like a permutation), but allowing repetitions and omissions. A sequence is a parking function if, after sorting it, the \(i\)th number in the sorted sequence is at most \(i\). (Thus, one can quickly recognize parking functions using bucket sorting.)
You might think that I discovered this gap in Wikipedia when covering linear probing hash tables recently in my data structures course. Parking functions describe the hash functions that pack \(n\) keys into a hash table with \(n\) cells, using linear probing without wraparound, and can help analyze the behavior of smaller blocks of cells in linear probing. But actually the genesis of the new article was the post above using Cayley’s spanning tree formula to show a simple upper bound of \((n+1)^{n-1}\) on weak orderings. Searching for references to include this bound in Wikipedia, I found arXiv:2305.15554, which credits the following observation to Williams College undergraduate Kimberly P. Hadaway: the number of “unit interval” parking functions for which (when used for hashing in the same way) each key is mapped either to its assigned hash value or to the next cell in the hash table is exactly the number of weak orderings. (The number of unrestricted parking functions is exactly \((n+1)^{n-1}\).) The equivalence between unit interval parking functions and weak orderings has a simple bijective proof: order the keys that are mapped to their own hash value by their position, and make each remaining key be tied with its predecessor in the hash table.
The new article is very incomplete. Much expansion is possible.
Martin Bullinger on Vijay Vazirani’s four-decade quest to fully prove correctness of the Micali-Vazirani matching algorithm (\(\mathbb{M}\)).
An alphabet of heptagons (\(\mathbb{M}\), via), many Reuleaux heptagon coins from different nations, and a few other seven-sided ones that are not Reuleaux.
I wouldn’t have expected to see the idea of gliders in cellular automata inspiring research on the Hamiltonicity of symmetric graphs (\(\mathbb{M}\)), but: Gil Kalai reports on a STOC 2023 paper by Merino, Mütze, and Namrata proving that all Kneser graphs except the Petersen graph are Hamiltonian.
Open problems on twin-width (\(\mathbb{M}\)). Twin-width is a graph parameter related to treewidth Edouard Bonnet and others at ENS Lyon have been leading the research effort on this topic, and Bonnet has put together both links above. I’m not sure how up-to-date this is but as far as I know at least the first two problems (FPT approximation and an explicit construction of bounded-degree graphs with unbounded twin-width) are both still open and important to this topic.
El País on the questionable self-citation habits of AI/cybersecurity researcher Juan Manuel Corchado (\(\mathbb{M}\), via, see also), the sole candidate for rector at the University of Salamanca.
Dan Piker finds a possibly-new triply periodic minimal surface based on the hexastix packing of four parallel families of hexagonal prisms in space.
ChatGPT runs into European regulations that all companies that maintain personal information on EU citizens give full access to the data when requested and provide redress for incorrect data (\(\mathbb{M}\)).
Michael Mitzenmacher is making an unusual request for publicity for his NON-participation in a conference (\(\mathbb{M}\)). It calls itself ICAIM, the International Conference on Artificial Intelligence and Mathematics, to be held in Nanjing in September, and it falsely lists Mitzenmacher as a conference chair, Mike Goodrich as program chair, and Jelani Nelson as a program committee member, among others. None of Michael, Mike, and Jelani have agreed to allow their names to be used in this way. The conference contact email goes to a known spam/phishing site. It appears to be a scam. Be aware!
Here’s an example of why it’s important to base Wikipedia’s mathematics content on published sources rather than going by your intuition (\(\mathbb{M}\)). Wikipedia has an article on the classification of manifolds, topological spaces that look “locally” like Euclidean spaces, in the sense that each point has a neighborhood within which the topology is the same as a Euclidean space. From 2007 until very recently this article has said that there are only two connected 1-dimensional manifolds: the circle and the line. You can draw other curves, of course, but they will be topologically equivalent to one or the other of these two spaces. But this is wrong (for the naive definition above; often manifolds are restricted to have a countable open cover, to avoid this sort of example)! There are two more possibilities, the long line obtained by gluing together an uncountable number of copies of a unit interval, and a line-like space obtained by gluing together an ordinary real ray and a long ray. See Frolík (1962), “On the classification of 1-dimensional manifolds”. You might think that just as there is more than one line, there might be more than one long line, obtained by gluing together sets of intervals of different cardinalities. But no, it stops here: apparently only the smallest uncountable ordinal works as a gluing pattern. Anything else would have a limit point where more than countably many unit intervals appear in every neighborhood, and that limit point is not locally Euclidean.
If you were using Google Chart to render LaTeX formulas in web pages, it’s long past time to change to something else (\(\mathbb{M}\)). That’s been deprecated so long ago that the deprecation expired in 2015, and it seems it finally stopped working.
West Virginia University, the main public university in its state, shuts down pure mathematics as a research topic (\(\mathbb{M}\)). See also Inside Higher Education, “A Flagship Research University… Without Language Degrees or Math Ph.D.s?” (archive) and The New Yorker, “An ‘academic transformation’ takes on the math department”. I’m not in a mathematics department, but I completely agree with the sentiment of an operations researcher quoted by Peter Cameron in the comments of his post: “I could not hold up my head if I were in a university with no mathematics department”.
A very easy union bound in probability (\(\mathbb{M}\)) states that, for a collection of independent events whose expected number (the sum of the probabilities of the events) is \(\mu\), the probability \(p\) of the union (that is, the probability of getting at least one event) obeys \(p\ge 1-e^{-\mu}\). When you expect to see many events, even if each one is individually unlikely, the probability of seeing at least one is high. This is a lower bound, unlike the more famous “union bound” \(p\le\mu\) (which doesn’t assume independence), and makes sense even when \(\mu\) is large. See e.g. this stackexchange post asking how to prove it. I have a different question: what is this lower bound on the union called? I looked through the probability inequalities listed by Wikipedia and didn’t see it, but perhaps I missed something obvious.
Edited view of the Salvator Dali Museum spiral makes it even trippier.
Quanta on integer distances (\(\mathbb{M}\)). The linked article highlights new research of Rachel Greenfeld, Sarah Peluse, and Marina Iliopoulou (arXiv:2401.10821), on sets of planar points with integer distances. A paper of Solymosi shows that any such set has size at most linear in the diameter, achieved by evenly spaced points on the line. There also exist arbitrarily large cocircular integer-distance sets. The new preprint shows that everything else must be small: if you remove the largest point or circle from an integer-distance set, the number of points remaining is polylogarithmic in the diameter. Don’t be confused (as I initially was) by the restriction that the points lie in \([-N,N]^2\): they can have any real coordinate in that range, not just integers. The range limit \(N\) is just a stand-in for the diameter.
This is all motivated by the Erdős-Anning theorem: if an integer-distance set does not lie entirely on one line, it must be finite. See also my own recent work extending the Erdős-Anning theorem and Solymosi’s diameter bounds in a different direction to various non-Euclidean but two-dimensional spaces, arXiv:2401.06328. A paragraph of the Greenfeld-Peluse-Iliopoulou preprint at the end of section 1.1, claiming that all prior work uses low degree algebraic geometry and because of that could not improve on Solymosi’s work, is somewhat inaccurate. My preprint is prior to theirs, does move beyond Solymosi (in a different direction), and explicitly avoids any algebraic geometry in favor of a topological analysis of Voronoi diagrams that works in other spaces.
Fast and simple sorting using partial information (arXiv:2404.04552) (\(\mathbb{M}\)), Bernhard Haeupler, Richard Hladík, John Iacono, Vaclav Rozhon, Robert Tarjan, and Jakub Tětek. Tarjan gave a distinguished seminar on this at my department recently. The result is that if you are given the outcomes of some comparisons on a totally ordered set, as a directed acyclic graph with \(n\) vertices, \(m\) edges, and \(T\) topological orders (linear extensions), you can do more comparisons to complete the sorting proces in time \(O(n+m+\log T)\) using \(O(\log T)\) comparisons. The main ideas include:
Combining a greedy topological ordering algorithm with a priority queue on available items to pick out the smallest available item at each step.
Using a priority queue with the “working set property”: the time to insert or delete an element \(x\) is logarithmic in the maximum number of other elements that were inserted after \(x\) and active at the same time as each other and \(x\).
Proving the working set property for pairing heaps, a simple priority queue.
Using a clique decomposition of an interval graph, formed from the lifetimes of elements in the priority queue, to show that the working set bound on the priority queue almost matches the claimed bound on comparisons in terms of \(T\).
Some special case handling of input DAGs with long paths to fix up the cases where the two bounds don’t quite match
Formal verification of the empty hexagon number (arXiv:2403.17370) (\(\mathbb{M}\)), Bernardo Subercaseaux, Wojciech Nawrocki, James Gallicchio, Cayden Codel, Mario Carneiro, and Marijn J. H. Heule. Heule and Scheucher proved earlier using a SAT solver that sets of 30 or more points in the plane in general position always have an empty hexagon; this is tight as sets of 29 points with no empty hexagon are also known. This new preprint uses Lean to prove the “by hand” part, but the authors write that more needs to be done to connect formal provers to the automatic parts of SAT solver results.
Avi Wigderson is this year’s Turing Award winner (\(\mathbb{M}\), see also).
Two more newly-promoted Good Articles on Wikipedia (\(\mathbb{M}\)):
Random binary tree – not just binary search trees produced through random insertion orders (although those are a central topic) but also uniformly random trees, trees produced through stochastic branching processes, and digital search trees for random binary numbers. These different distributions give different properties: for instance, random-insertion trees have logarithmic depth but for uniformly random trees it is proportional to the square root. For certain branching processes, even the expected number of nodes is unbounded.
Earth–Moon problem – how many colors would you need to color a political map in a future in which each Earth nation has a contiguous Moon colony? Unlike the situation with the four-color theorem, the answer remains unknown. Beyond sci-fi cartography, there are some applications in printed-circuit board testing.
The Italian court system continues its attack on the public domain (\(\mathbb{M}\), via, see also), ruling that the Florence gallery that owns Michelangelo’s David also owns “image rights” to the statue, can require licensing fees for any image depicting it, and can impose additional fines for presenting it in a distorted way. It is perhaps important to note that the statue, created in 1504, was on outdoor exhibit in a public square in Florence until 1873, and a replica is still visible there.
Somehow I ended up with the following two images adjacent in my Mastodon favorites list (\(\mathbb{M}\)): the ceiling of a museum in Uzbekistan, intricately decorated by two sizes of 60°-90°-120°-90° kites, and a tiling by approximate 60°-120° diamonds, distorted to reduce in size as they approach a central limit. Both remind me of my old work on diamond-kite meshes, which combine these two shapes to allow the mesh to vary in scale without distortion. See also another image inspired by this post.
US government holds back new grants to an entire university (\(\mathbb{M}\), archived), the University of California, San Diego, because some guy retired in 2022 without finishing his final grant reports. The story says he’s doing them now, but what would have happened if he got hit by a bus?