Near-Linear Time Computation of Welzl Orders on Graphs with Linear Neighborhood Complexity
Jan Dreier, Clemens Kuske
TL;DR
The paper presents a randomized near-linear-time algorithm for computing Welzl orders in set systems with linear primal and dual shatter functions, achieving a crossing number bound of $O(\log^2 |U|)$ with high probability. By exploiting twin and near-twin partitions and a carefully designed sampling/reconstruction scheme, the method contracts the problem size in each iteration and attains a near-linear runtime in the input size $\|S\| = |U| + \sum|X|$. It also extends to higher VC-dimension via adjustments, yielding $O(|A|^{1-1/d^2}\log^2 |A|)$ crossing numbers while maintaining $O(\|S\|\log \|S\|)$ time. The approach has concrete graph-theoretic consequences, enabling near-linear construction of compact neighborhood covers and significant improvements in first-order model checking for certain graph classes, notably monadically stable ones. Overall, the work delivers fast, probabilistic guarantees for Welzl orders in structurally well-behaved set systems, with broad applicability in computational geometry and graph theory.
Abstract
Orders with low crossing number, introduced by Welzl, are a fundamental tool in range searching and computational geometry. Recently, they have found important applications in structural graph theory: set systems with linear shatter functions correspond to graph classes with linear neighborhood complexity. For such systems, Welzl's theorem guarantees the existence of orders with only $\mathcal{O}(\log^2 n)$ crossings. A series of works has progressively improved the runtime for computing such orders, from Chazelle and Welzl's original $\mathcal{O}(|U|^3 |\mathcal{F}|)$ bound, through Har-Peled's $\mathcal{O}(|U|^2|\mathcal{F}|)$, to the recent sampling-based methods of Csikós and Mustafa. We present a randomized algorithm that computes Welzl orders for set systems with linear primal and dual shatter functions in time $\mathcal{O}(\|S\| \log \|S\|)$, where $\|S\| = |U| + \sum_{X \in \mathcal{F}} |X|$ is the size of the canonical input representation. As an application, we compute compact neighborhood covers in graph classes with (near-)linear neighborhood complexity in time \(\mathcal{O}(n \log n)\) and improve the runtime of first-order model checking on monadically stable graph classes from $\mathcal{O}(n^{5+\varepsilon})$ to $\mathcal{O}(n^{3+\varepsilon})$.
