J. ACM | 2019

Computing the Geometric Intersection Number of Curves

 
 

Abstract


The geometric intersection number of a curve on a surface is the minimal number of self-intersections of any homotopic curve, i.e., of any curve obtained by continuous deformation. Given a curve <i>c</i> represented by a closed walk of length at most ℓ on a combinatorial surface of complexity <i>n</i>, we describe simple algorithms to (1) compute the geometric intersection number of <i>c</i> in <i>O</i>(<i>n</i>+ ℓ<sup>2</sup>) time, (2) construct a curve homotopic to <i>c</i> that realizes this geometric intersection number in <i>O</i>(<i>n</i>+ℓ<sup>4</sup>) time, and (3) decide if the geometric intersection number of <i>c</i> is zero, i.e., if <i>c</i> is homotopic to a simple curve, in <i>O</i>(<i>n</i>+ℓ log ℓ) time. The algorithms for (2) and (3) are restricted to orientable surfaces, but the algorithm for (1) is also valid on non-orientable surfaces.\n To our knowledge, no exact complexity analysis had yet appeared on those problems. An optimistic analysis of the complexity of the published algorithms for problems (1) and (3) gives at best a <i>O</i>(<i>n</i>+<i>g</i><sup>2</sup>ℓ<sup>2</sup>) time complexity on a genus <i>g</i> surface without boundary. No polynomial time algorithm was known for problem (2) for surfaces without boundary. Interestingly, our solution to problem (3) provides a quasi-linear algorithm to a problem raised by Poincaré more than a century ago. Finally, we note that our algorithm for problem (1) extends to computing the geometric intersection number of two curves of length at most ℓ in <i>O</i>(<i>n</i>+ ℓ<sup>2</sup>) time.

Volume 66
Pages 45:1-45:49
DOI 10.1145/3363367
Language English
Journal J. ACM

Full Text