Jack Spalding-Jamieson, Anurag Murty Naredla
Jack Spalding-Jamieson
Part 1: Improved Upper and Lower Bounds (with Anurag Murty Naredla)
ESA 2025
Part 2: Subquadratic Approximation Algorithms (with Jayson Lynch)
Preprint
Input: Two points $s,t\in\mathbb{R}^2$ and obstacles $\mathcal{C}$
Output: Minimum-weight set in $\mathcal{C}$ whose union separates $s$ and $t$
Specific objects: Obstacles from a fixed family (e.g., disks, unit disks, line segments).
Arrangement model: Build arrangement $D$ of obstacles; reason on its vertices/edges.
Oracle model: Assume existence of oracle that says if two objects intersect, and also relates to $s$ and $t$.
Fix canonical points $x_{\gamma}$ for each obstacle $\gamma$, and a path $\pi$ from $s$ to $t$.
Input: $\gamma_1,\gamma_2$, value $b\in\{0,1\}$
Output: Path exists from $x_{\gamma_1}$ to $x_{\gamma_2}$ in $\gamma_1\cup\gamma_2$ crossing $\pi$ $b$ times, modulo $2$?
Model | Weights | Previous | Our Result | Lower Bounds |
---|---|---|---|---|
Oracle | Yes | $O(n^3)$ | $\widetilde{O}(n^{(3+\omega)/2})$ | $\Omega^*(n^2)$ |
Oracle | No | $O(n^3)$ | $O(n^\omega\log n)$ | $\Omega^*(n^{3/2})$ |
Arrangement | Yes | $O(km^2\lg k)$ | $O(km+k^2\lg k)$ | $\Omega^*(km)$ |
$\omega \approx 2.373$. $k$ = arrangement vertices; $m$ = obstacle–vertex incidences.
High-level method: Reduce to APSP in a special graph.
Object Type | Previous | Our Result | Lower Bounds |
---|---|---|---|
Segments | $O(n^3)$ | $O(n^{7/3}\log^{1/3}n)$ | $\Omega^*(n^{3/2})$ |
Axis-aligned segments | $O(n^3)$ | $O(n^2\log\log n)$ | None |
Disks | $O(n^3)$ | $O(n^2\log n)$ | None |
Unit disks | $O(n^2\log^3 n)$ | $O(n^2\log n)$ | None |
High-level method: Solve static intersection problems in the "homology cover space".
Object Type | Previous | Our Result | Lower Bounds |
---|---|---|---|
Segments | $O(n^3)$ | $\widetilde{O}(n^{7/3})$ | $\Omega^*(n^2)$ |
Axis-aligned segments | $O(n^3)$ | $\widetilde{O}(n^2)$ | None |
Rectilinear polylines | $O(n^3)$ | $\widetilde{O}(n^2)$ | $\Omega^*(n^2)$ |
High-level method: Biclique covers for sparse graph representation.
Geometric Intersection Graph:
Equivalent definition:
Ray crosses polygon odd # times ⟺ point inside
Segment crosses polygon odd # times ⟺ polygon separates endpoints
Path crosses polygon odd # times ⟺ polygon separates endpoints
Path crosses curve odd # times ⟺ curve separates endpoints
The plane
The plane (no \(s\) or \(t\))
The plane (no \(s\) or \(t\))
\( \mathbb{R}^2 \)
\( \mathbb{R}^2 \setminus \{s,t\} \)
Connectivity: Normal
The homology cover space
\(\left(\mathbb{R}^2 \setminus \{s,t\}\right) \times \{0,1\}\)
Connectivity: Normal, except at \( \pi \)
$\pi$ is a portal.
Obstacles connect through portals between the two copies
Each object in the plane induces 2 objects in the homology cover.
This is a new geometric intersection graph!
Call it $\overline{G}$.
Fix canonical points $x_{\gamma}$ for each obstacle $\gamma$, and a path $\pi$ from $s$ to $t$.
Input: $\gamma_1,\gamma_2$, value $b\in\{0,1\}$
Output: Path exists from $x_{\gamma_1}$ to $x_{\gamma_2}$ in $\gamma_1\cup\gamma_2$ crossing $\pi$ $b$ times, modulo $2$?
Equivalently, oracle model gives edges of $\overline{G}$.
Each vertex in $\overline{G}$ corresponds to some obstacle in the original point-separation problem.
Two such vertices exist for each obstacle.
For two vertices $v,v'\in\overline{G}$ corresponding to the same initial object $c$, let $d_c$ be their distance in $\overline{G}$.
Then the solution to the point-separation problem is exactly $\min_c d_c$.
Suffices to compute $n$ distances in $\overline{G}$.
$\implies$Suffices to solve APSP over $\overline{G}$.
Given two fixed sets $A,B$, report for each $a\in A$ whether it intersects any $b\in B$ (static inputs). Let $\text{SI}(n,m)$ be the total time ($|A|=n,|B|=m$).
For an unweighted geometric intersection graph $G$ induced by objects $\mathcal{C}$, APSP can be solved in $O(n\cdot\text{SI}(n,n))$ time.
Known results (in the plane):
Obstacle Class | $\text{SI}(n,n)$ |
---|---|
General Disks | $O(n \log n)$ |
Axis-Aligned Line Segments | $O(n \log \log n)$ |
Arbitrary Line Segments | $O(n^{4/3} \log^{1/3} n)$ |
We want to get the same results in the homology cover space.
General idea: Reduce to the planar case by splitting along $\overline{st}$.
Split line segments are still line segments ⟹ reduce to two planar cases.
Disks: More complicated. Reduce to four planar cases.
(projection of all objects into plane)
base set in blue, query set in red
look at only one copy of the "plane" at a time
split up top/bottom of that copy via line passing through $\overline{st}$
Take boundary of base set
Take boundary of base set
Use point-location for query responses
Total time: $\text{SI}(n,n) = O(n\log n)$.
Biclique
Size: $5+5=10$
Sparsified Biclique
Edges: biclique size $\times2$
A biclique cover is a set of biclique subgraphs whose union is $\overline{G}$.
Size = sum of biclique sizes.
Small biclique cover = sparse graph preserving vertex-weighted shortest-paths! Run Dijkstra.
Line segment intersection graph. Biclique cover size?
Biclique cover size? $9+4=13$
Obstacle Class | Biclique Cover |
---|---|
Axis-Aligned Line Segments | $O(n \text{ polylog } n)$ |
Arbitrary Line Segments | $O(n^{4/3} \text{ polylog } n)$ |
Unit Disks | $O(n^{4/3} \text{ polylog } n)$ |
General Disks | $O(n^{4/3} \text{ polylog } n)$ |
Obstacle Class | Biclique Cover |
---|---|
Axis-Aligned Line Segments | $O(n \text{ polylog } n)$ |
Arbitrary Line Segments | $O(n^{4/3} \text{ polylog } n)$ |
Unit Disks | Open |
General Disks | Open |
Point-separation time complexity: $O(\text{biclique cover size} \cdot n \log n)$
Open Problems:
Summary: Reduce to shortest-path problem in homology cover space
Questions?
Object Type | Running Time | Randomized? |
---|---|---|
Approximation Guarantee: OPT+1 | ||
Disk | $O(n^{3/2} (\log n)^2)$ | Monte Carlo (w.h.p.) |
Line segment | $\tilde{O}(n^{11/6})$ | Monte Carlo (w.h.p.) |
Rectilinear line segment | $O(n^{3/2} (\log n)^2)$ | Monte Carlo (w.h.p.) |
Approximation Guarantee: $(1+\varepsilon)$ OPT+1 | ||
Disk | $O\left( \frac{n (\log n)^3}{\varepsilon^2} \right)$ | Deterministic |
Line segment | $\tilde{O}\left( \frac{n^{4/3}}{\varepsilon^2} \right)$ | Deterministic |
Rectilinear line segment | $O\left( \frac{n (\log n)^3}{\varepsilon^2} \right)$ | Deterministic |
All runtimes are subquadratic!
Key Theorem (restated): The solution to point-separation is exactly $\min_c d_c$, where $d_c$ is the distance between two vertices in $\overline{G}$ corresponding to object $c$.
Recall: To get an optimum solution to point-separation, suffices to identify any object in an optimal solution.
Key Insight:
Monte Carlo Theorem
Each iteration takes $\text{SP}(n)$ time. If separating set $C$ exists, with high probability find $C'$ with $|C'| \leq |C|$ in $O\left(\frac{|C|}{n}\log n\right)$ iterations.
Useful for detecting if $|C| = O(\sqrt{n})$ exists within $O(\sqrt{n}\log n)$ iterations.
Inspiration: Reif's algorithm for planar min-cut
Time to find initial path: $O(1)$ SSSP computations in $\overline{G}$
Time to check path lengths: $O(\sqrt{n})$ SSSP computations in $\overline{G}$
Recurse into first short path: Perform $O(\text{length}) = O(\sqrt{n})$ SSSP computations
Total Time Complexity:
Object Type | Running Time |
---|---|
Approximation Guarantee: OPT+1 | |
Disk | $O(n^{3/2} (\log n)^2)$ |
Line segment | $\tilde{O}(n^{11/6})$ |
Rectilinear line segment | $O(n^{3/2} (\log n)^2)$ |
$(1+\varepsilon)$OPT+1 approximations: Recursive dividing path routine
Summary: Subquadratic approximation algorithms for point-separation via divide-and-conquer
Questions?