In mathematics, the unknotting problem is the problem of algorithmically recognizing the unknot, given some representation of a knot, e.g., a knot diagram. There are several types of unknotting algorithms. A major unresolved challenge is to determine if the problem admits a polynomial time algorithm; that is, whether the problem lies in the complexity classP.
Computational complexity
First steps toward determining the computational complexity were undertaken in proving that the problem is in larger complexity classes, which contain the class P. By using normal surfaces to describe the Seifert surfaces of a given knot, showed that the unknotting problem is in the complexity class NP. claimed the weaker result that unknotting is in AM ∩ co-AM; however, later they retracted this claim. In 2011, Greg Kuperberg proved that the unknotting problem is in co-NP, and in 2016, Marc Lackenby provided an unconditional proof of co-NP membership. The unknotting problem has the same computational complexity as testing whether an embedding of an undirected graph in Euclidean space is linkless. One of Ochiai's unknots featuring 139 vertices, for example, was originally unknotted by computer in 108 hours, but this time has been reduced in more recent research to 10 minutes.
Unknotting algorithms
Several algorithms solving the unknotting problem are based on Haken's theory of normal surfaces:
Haken's algorithm uses the theory of normal surfaces to find a disk whose boundary is the knot. Haken originally used this algorithm to show that unknotting is decidable, but did not analyze its complexity in more detail.
Hass, Lagarias, and Pippenger showed that the set of all normal surfaces may be represented by the integer points in a polyhedral cone and that a surface witnessing the unknottedness of a curve can always be found on one of the extreme rays of this cone. Therefore, vertex enumeration methods can be used to list all of the extreme rays and test whether any of them corresponds to a bounding disk of the knot. Hass, Lagarias, and Pippenger used this method to show that the unknottedness is in NP; later researchers such as refined their analysis, showing that this algorithm can be useful, with its complexity being a low-order singly-exponential function of the number of crossings.
The algorithm of uses braid foliations, a somewhat different type of structure than a normal surface. However to analyze its behavior they return to normal surface theory.
Similarly, any two triangulations of the same knot complement may be connected by a sequence of Pachner moves of length at most doubly exponential in the number of crossings. Therefore, it is possible to determine whether a knot is the unknot by testing all sequences of Pachner moves of this length, starting from the complement of the given knot, and determining whether any of them transforms the complement into a standard triangulation of a solid torus. The time for this method would be triply exponential; however, experimental evidence suggests that this bound is very pessimistic and that many fewer Pachner moves are needed.
Any arc-presentation of an unknot can be monotonically simplified to a minimal one using elementary moves. So a brute force search among all arc-presentations of not greater complexity gives a single-exponential algorithm for the unknotting problem.
Residual finiteness of the knot group gives an algorithm: check if the group has non-cyclic finite group quotient. This idea is used in Kuperberg's result that the unknotting problem is in co-NP.
Khovanov homology detects the unknot according to a result of Kronheimer and Mrowka. The complexity of Khovanov homology at least as high as the #P-hard problem of computing the Jones polynomial, but it may be calculated in practice using an algorithm and program of. Bar-Natan provides no rigorous analysis of his algorithm, but heuristically estimates it to be exponential in the pathwidth of a crossing diagram, which in turn is at most proportional to the square root of the number of crossings.
Understanding the complexity of these algorithms is an active field of study.