Finding a Shortest Curve that Separates Few Objects from Many
Therese Biedl, Éric Colin de Verdière, Fabrizio Frati, Anna Lubiw, Günter Rote
TL;DR
The paper introduces Enclosure-with-Penalties, an FPT framework for finding a shortest curve that encloses a subset of objects while paying penalties for enclosing others, in both geometric and graph settings. It develops a dynamic-programming approach on free-space edges, plus an uncrossing step to produce a valid weakly simple cycle, with a Dijkstra-style optimization that achieves a runtime of $O(3^k n^3)$ and space $O(2^k n^2)$. The method hinges on winding numbers to certify containment and on transforming graph instances to a geometric embedding, enabling a unified treatment and enabling reductions to geometric knapsack and related problems. Exponential-time lower bounds under ETH show the parameter dependence on $k$ is essentially tight. The work also discusses inverted formulations, negative penalties, and broad extensions, offering a versatile toolkit for geometric and graph enclosure problems with penalties.
Abstract
We present a fixed-parameter tractable (FPT) algorithm to find a shortest curve that encloses a set of k required objects in the plane while paying a penalty for enclosing unwanted objects. The input is a set of interior-disjoint simple polygons in the plane, where k of the polygons are required to be enclosed and the remaining optional polygons have non-negative penalties. The goal is to find a closed curve that is disjoint from the polygon interiors and encloses the k required polygons, while minimizing the length of the curve plus the penalties of the enclosed optional polygons. If the penalties are high, the output is a shortest curve that separates the required polygons from the others. The problem is NP-hard if k is not fixed, even in very special cases. The runtime of our algorithm is $O(3^kn^3)$, where n is the number of vertices of the input polygons. We extend the result to a graph version of the problem where the input is a connected plane graph with positive edge weights. There are k required faces; the remaining faces are optional and have non-negative penalties. The goal is to find a closed walk in the graph that encloses the k required faces, while minimizing the weight of the walk plus the penalties of the enclosed optional faces. We also consider an inverted version of the problem where the required objects must lie outside the curve. Our algorithms solve some other well-studied problems, such as geometric knapsack.
