Applications of fast triangulation simplification
  We describe a new algorithm to compute the geometric intersection number between two curves, given as edge vectors on an ideal triangulation. Most importantly, this algorithm runs in polynomial time in the bit-size of the two edge vectors.   In its simplest instances, this algorithm works by finding the minimal position of the two curves. We achieve this by phrasing the problem as a collection of linear programming problems. We describe how to reduce the more general case down to one of these simplest instances in polynomial time. This reduction relies on an algorithm by the first author to quickly switch to a new triangulation in which an edge vector is significantly smaller. 
Mark C. Bell, Richard C. H. Webb
math.GT cs.CG