Graph Threading
Erik D. Demaine, Yael Kirkpatrick, Rebecca Lin
TL;DR
This work formalizes the graph threading problem as finding a minimum-length closed walk $T$ that induces connected junction graphs at every vertex and avoids U-turns. It introduces a local threading formulation with edge counts $x_{uv}$ under four constraints, proves the equivalence to global threadings, and derives tight bounds on total length and per-edge visits. The main contribution is a polynomial-time algorithm that reduces optimal threading to minimum-weight perfect matching by constructing auxiliary graphs $H$ and $ ilde{H}$, enabling both perfect-threading existence checks and general optimization (including weighted graphs). The paper also provides efficient solutions for special cases, notably cubic graphs and the Double Threading variant, and discusses potential extensions to friction-aware models relevant to deployable structures.
Abstract
Inspired by artistic practices such as beadwork and himmeli, we study the problem of threading a single string through a set of tubes, so that pulling the string forms a desired graph. More precisely, given a connected graph (where edges represent tubes and vertices represent junctions where they meet), we give a polynomial-time algorithm to find a minimum-length closed walk (representing a threading of string) that induces a connected graph of string at every junction. The algorithm is based on a surprising reduction to minimum-weight perfect matching. Along the way, we give tight worst-case bounds on the length of the optimal threading and on the maximum number of times this threading can visit a single edge. We also give more efficient solutions to two special cases: cubic graphs and the case when each edge can be visited at most twice.
