A fast branching algorithm for unknot recognition with experimental polynomial-time behaviour (1211.1079v3)
Abstract: It is a major unsolved problem as to whether unknot recognition - that is, testing whether a given closed loop in R3 can be untangled to form a plain circle - has a polynomial time algorithm. In practice, trivial knots (which can be untangled) are typically easy to identify using fast simplification techniques, whereas non-trivial knots (which cannot be untangled) are more resistant to being conclusively identified as such. Here we present the first unknot recognition algorithm which is always conclusive and, although exponential time in theory, exhibits a clear polynomial time behaviour under exhaustive experimentation even for non-trivial knots. The algorithm draws on techniques from both topology and integer / linear programming, and highlights the potential for new applications of techniques from mathematical programming to difficult problems in low-dimensional topology. The exhaustive experimentation covers all 2977 non-trivial prime knots with <= 12 crossings. We also adapt our techniques to the important topological problems of 3-sphere recognition and the prime decomposition of 3-manifolds.