A Linear Time Algorithm for the Maximum Overlap of Two Convex Polygons Under Translation
Timothy M. Chan, Isaac M. Hair
TL;DR
This work addresses the maximum overlap problem for translating one convex polygon against another, achieving the first linear-time exact algorithm in 2D by a randomized approach. The authors introduce a novel block-structure prune-and-search framework that reduces oracle costs as the search space tightens, integrated with a configuration-space formulation, epsilon-cuttings, and area-prefix sums. By decomposing inputs into angle-based blocks and iteratively refining the search region, they obtain a geometric-series time bound and perform a multidimensional parametric search to reach $O(n+m)$ expected time. The result significantly improves the long-standing $O((n+m)\log(n+m))$ bound and provides a new methodological template for similar geometric optimization problems, with extensions and higher-dimensional considerations discussed in the remarks.
Abstract
Given two convex polygons $P$ and $Q$ with $n$ and $m$ edges, the maximum overlap problem is to find a translation of $P$ that maximizes the area of its intersection with $Q$. We give the first randomized algorithm for this problem with linear running time. Our result improves the previous two-and-a-half-decades-old algorithm by de Berg, Cheong, Devillers, van Kreveld, and Teillaud (1998), which ran in $O((n+m)\log(n+m))$ time, as well as multiple recent algorithms given for special cases of the problem.
