Unknotting problem

From Wikipedia, the free encyclopedia

Template:Short description Page Template:Unsolved/styles.css has no content.

Unsolved problem in mathematics
Can unknots be recognized in polynomial time?
Two simple diagrams of the unknot
A tricky unknot diagram by Morwen Thistlethwaite

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 class P.

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, Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. showed that the unknotting problem is in the complexity class NP. Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. claimed the weaker result that unknotting is in AM ∩ co-AM; however, later they retracted this claim.[1] In 2011, Greg Kuperberg proved that (assuming the generalized Riemann hypothesis) the unknotting problem is in co-NP,[2] and in 2016, Marc Lackenby provided an unconditional proof of co-NP membership.[3]

In 2021, Lackenby announced an unknot recognition algorithm which he claimed ran in quasi-polynomial time.[4] As of October 2025, the result has not been published in the peer-reviewed literature.

The unknotting problem has the same computational complexity as testing whether an embedding of an undirected graph in Euclidean space is linkless.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.

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 (if it exists) 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 Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. refined their analysis, showing that this algorithm can be useful (though not polynomial time), with its complexity being a low-order singly-exponential function of the number of crossings.
  • The algorithm of Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. uses braid foliations, a somewhat different type of structure than a normal surface. However to analyze its behavior they return to normal surface theory.

Other approaches include:

  • The number of Reidemeister moves needed to change an unknot diagram to the standard unknot diagram is at most polynomial in the number of crossings.Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found. Therefore, a brute force search for all sequences of Reidemeister moves can detect unknottedness in exponential time.
  • 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.[5] 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.[6]
  • Any arc-presentation of an unknot can be monotonically simplified to a minimal one using elementary moves.[7] 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 (which follows from geometrization of Haken manifolds) 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.
  • Knot Floer homology of the knot detects the genus of the knot, which is 0 if and only if the knot is an unknot. A combinatorial version of knot Floer homology allows it to be computed Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
  • Khovanov homology detects the unknot according to a result of Kronheimer and Mrowka.[8] 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 Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.. 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.

See also

Notes

Page Template:Reflist/styles.css has no content.

  1. ^ Mentioned as a "personal communication" in reference [15] of Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
  2. ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
  3. ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.
  4. ^ Page Module:Citation/CS1/styles.css has no content."Marc Lackenby announces a new unknot recognition algorithm that runs in quasi-polynomial time". Mathematical Institute of the University of Oxford. Retrieved 21 May 2024.
  5. ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
  6. ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
  7. ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found..
  8. ^ Lua error in package.lua at line 80: module 'Module:Footnotes/anchor_id_list' not found.

References

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.