Academia.eduAcademia.edu

The computational complexity of knot and link problems

1999, Journal of the ACM

We consider the problem of deciding whether a polygonal knot in 3-dimensional Euclidean space is unknotted, ie., capable of being continuously deformed without self-intersection so that it lies in a plane. We show that this problem, UNKNOTTING PROBLEM is in NP. We also consider the problem, SPLITTING PROBLEM of determining whether two or more such polygons can be split, or continuously deformed without self-intersection so that they occupy both sides of a plane without intersecting it. We show that it also is in NP. Finally, we show that the problem of determining the genus of a polygonal knot (a generalization of the problem of determining whether it is unknotted) is in PSPACE. We also give exponential worst-case running time bounds for deterministic algorithms to solve each of these problems. These algorithms are based on the use of normal surfaces and decision procedures due to W. Haken, with recent extensions by W. Jaco and J. L. Tollefson.

arXiv:math/9807016v1 [math.GT] 3 Jul 1998 The Computational Complexity of Knot and Link Problems Joel Hass ∗, Jeffrey C. Lagarias †and Nicholas Pippenger ‡. February 1, 2008 Abstract We consider the problem of deciding whether a polygonal knot in 3dimensional Euclidean space is unknotted, capable of being continuously deformed without self-intersection so that it lies in a plane. We show that this problem, unknotting problem is in NP. We also consider the problem, unknotting problem of determining whether two or more such polygons can be split, or continuously deformed without self-intersection so that they occupy both sides of a plane without intersecting it. We show that it also is in NP. Finally, we show that the problem of determining the genus of a polygonal knot (a generalization of the problem of determining whether it is unknotted) is in PSPACE. We also give exponential worstcase running time bounds for deterministic algorithms to solve each of these problems. These algorithms are based on the use of normal surfaces and decision procedures due to W. Haken, with recent extensions by W. Jaco and J. L. Tollefson. Keywords: knot theory, three-dimensional topology, computational complexity ∗ Supported in part by NSF grant DMS-9704286. done in part while the first two authors were visiting the Mathematical Sciences Research Institute in Berkeley 1996/7. Research at MSRI is supported in part by NSF grant DMS-9022140. ‡ Supported in part by NSERC research grant OGP 0041640. † Work 1 1 Introduction The problems dealt with in this paper might reasonably be called “computational topology”; that is, we study classical problems of topology (specifically, the topology of 1-dimensional curves in 3-dimensional space) with the objective of determining their computational complexity. One of the oldest and most fundamental of such problems is that of determining whether a closed curve embedded in space is unknotted (that is, whether it is capable of being continuously deformed without self-intersection so that it lies in a plane). Topologists study this problem at several levels, with varying meanings given to the terms “embedded” and “deformed”. The level that seems most appropriate for studying computational questions is that which topologists call piecewise-linear. At this level, a closed curve is embedded in space as a simple (non-self-intersecting) polygon with finitely many edges. Such an embedding is called a knot. (Operating at the piecewise-linear level excludes wild knots, such as those given by certain polygons with infinitely many edges which do not have nice neighborhoods or thickenings.) More generally, one may study links. A link is a finite collection of simple polygons disjointly embedded in 3-dimensional space. The individual polygons are called components of the link and a knot is a link with one component. A continuous deformation is required to be piecewise-linear; that is, it consists of a finite number of stages, during each of which every vertex of the polygon moves linearly with time. From stage to stage the number of edges in the polygon may increase (by subdivision of edges at the beginning of a stage) or decrease (when cyclically consecutive edges become collinear at the end of a stage). If the polygon remains simple throughout this process, the deformation is called an isotopy between the initial and final knots. Knot isotopy defines an equivalence relation, called equivalence of knots. It is easy to see that all knots that lie in a single plane are equivalent; knots in this equivalence class are said to be unknotted or trivial knots. We may remark at this point that while it is “intuitively clear” that there are non-trivial knots, it is not at all obvious how to prove this. Stillwell [37] traces the mathematical notion of knot back to a paper of A. T. Vandermonde in 1771; the first convincing proof of the non-triviality of a knot seems to be due to Max Dehn [8] in 1910. There are a great many alternative formulations of the notion of knot equivalence. Here are some. 1. One can consider sequences of elementary moves, which are very simple isotopies that move a single edge across a triangle to the opposite two sides, or vice versa. 2. One can consider ambient isotopies that move not only the knot, but also the space in which it is embedded, in a piecewise-linear way. 3. One can consider homeomorphisms (continuous bijections that have continuous inverses) that map the space to itself in a piecewise-linear way, 2 are orientation preserving, and send one knot to the other. One can also study knots or links by looking at their projections onto a generic plane. In this way, a knot or link may be represented by a planar graph, called a knot diagram or link diagram, in which all vertices (representing the crossings of edges of the polygon) have degree four, and for which an indication is given at each crossing of which edge goes “over” and which edge goes “under”. This gives an additional formulation of equivalence: 4. One may consider sequences of Reidemeister moves, which are simple transformations on the diagram of a knot that leave the equivalence class of the knot unchanged. For more details on piecewise-linear topology, the various formulations of knot and link equivalence, and many other aspects of knot theory, we recommend the books [1], [6], [30]. An introduction to the notions of complexity which we use can be found in [9],[41]. In order to study the computational complexity of knot and link problems, we must agree on a finite computational representation of a knot or link. There are two natural representations: a polygonal representation in 3-dimensional space, or a link diagram representing a 2-dimensional projection. A polygonal representation of a link L consists of a set of simple polygons in 3-dimensional space described by listing the vertices of each polygon in order; we assume that these vertices have rational coordinates. We can reduce to the case of integer lattice point vertices by replacing L by a scaled multiple mL for a suitable integer m. This does not change the equivalence class of L. A particularly simple kind of polygonal representation uses only integer lattice points as vertices and edges of unit length, so that the polygon is a closed self-avoiding walk on the integer lattice; a sequence of moves (up, down, north, south, east, west) that traverse the polygon, returning to the starting point without visiting any other point twice. (This formulation was used by Pippenger [27] and Sumners and Whittington [39] to show that “almost all” long self-avoiding polygons are non-trivially knotted.) The size of a polygonal representation L is the number of edges in L; its input length is the number of bits needed to describe its vertices, in binary. A link diagram D is a planar graph with some extra labeling for crossings that specifies a (general position) two-dimensional projection of a link. A precise definition is given in Section 3. The size of a link diagram is the number of vertices in D. These two representations are polynomial-time equivalent in the following sense. Given a polygonal representation L one can find in polynomial time in its input length a planar projection yielding a link diagram D; if L has n edges then the graph D has at most O(n2 ) vertices. Conversely given a link diagram D with n vertices and l components, one can compute in time polynomial in n + l a polygonal link L with O(n + l) edges that has integer vertices and input length O(n + l) and which projects in the z-direction onto the link diagram D; see Section 7. 3 In this paper we consider knots and links as represented by link diagrams and take the crossing number as the measure of input size. We can now formulate the computational problem of recognizing unknotted polygons as follows: Problem: UNKNOTTING PROBLEM Instance: A link diagram D. Question: Is D a knot diagram that represents the trivial knot? See Welsh [41]—[43] for more information on this problem. The main result of this paper is the following. Theorem 1.1 The unknotting problem is in NP. The unknotting problem was shown to be decidable by Haken [10]; the result was announced in 1954, and the proof published in 1961. From then until now, we know of no strengthening of Haken’s decision procedure to give an explicit complexity bound. We present such a bound in Theorem 8.1. We also study the splittability of links. A link is said to be splittable if it can be continuously deformed (by a piecewise-linear isotopy so that one or more curves of the link can be separated from one or more other curves by a plane that does not itself intersect any of the curves. We note that this notion remains unchanged if we replace “plane” by “sphere” in the definition. We formulate the computational problem of recognizing splittable links as follows. Problem: SPLITTING PROBLEM Instance: A link diagram D. Question: Is the link represented by D splittable? The splitting problem was shown to be decidable by Haken [10] in 1961, see also Schubert [34]. We establish the following result. Theorem 1.2 The splitting problem is in NP. Another generalization of the unknotting problem concerns the genus g(K) of a knot K. This is an integer assoicated to each knot, which is invariant under isotopy. It was defined by Seifert [36] in 1935; an informal account of the definition follows. Given a knot K, consider the class S(K) of all orientable spanning surfaces for K; that is, embedded orientable surfaces that have K as their boundary. Seifert showed that this class is non-empty for any knot K. We assume in this discussion that all surfaces are triangulated and embedded in a piecewise-linear way. Up to piecewise-linear homeomorphism, an orientable surface is characterized by the number of boundary curves and the number of “handles”, which is called the genus of the surface. The genus g(K) of the knot K is defined to be the minimum genus of any surface in S(K). Seifert showed that a trivial knot K is characterized by the condition g(K) = 0. Since an orientable surface with one boundary curve and no handles is homeomorphic to a disk, this means that a knot is trivial if and only if it has a spanning disk. 4 The notion of genus gives us a natural generalization of the problem of recognizing unknotted polygons; we formulate the problem of computing the genus as a language-recognition problem in the usual way. Problem: GENUS PROBLEM Instance: A link diagram D and a natural number k. Question: Does the link diagram D represent a knot K with g(K) ≤ k? Haken [10] also gave a decision procedure to determine the genus of a knot. We establish the following result. Theorem 1.3 The genus problem is in PSPACE. In 1961 Schubert [34] extended Haken’s methods to show the decidability of the genus problem on an arbitrary compact 3-manifold with boundary. (In this more general situation, it is necessary to first determine whether there exists any orientable surface which has the given embedded knot as boundary, and if so, determine the minimal genus.) Our analysis in principle extends to this case. We also obtain exponential worst case running time bounds for deterministic algorithms to solve the above three problems. The input size n is measured by the crossing measure of a link diagram. For the unknotting problem and the splitting problem these algorithms run in time O(2cn ) and space O(n log2 n) on a Turing machine. We show that the genus g(K) for a knot K presented 2 as a knot diagram K can be computed in time O(2cn ) and space O(n2 ), on a Turing machine. The results in this paper were announced in the Proceedings of the 38th Annual Symposium on Foundations of Computer Science in Miami Florida in October, 1997 [13]. 2 Historical Background Recognizing whether two knots are equivalent has been one of the motivating problems of knot theory. A great deal of effort has been devoted to a quest for algorithms for recognizing the unknot, beginning with the work of Dehn [8] in 1910. Dehn’s idea was to look at the fundamental group of the complement of the knot, for which a finite presentation in terms of generators and relations can easily be obtained from a standard presentation of the knot. Dehn claimed that a knot is trivial if and only if the corresponding group is infinite cyclic. The proof of what is still known as “Dehn’s Lemma” had a gap, which remained until filled by Papakyriakopoulos in 1957 [26]. A consequence is the criterion that a curve is knotted if and only if the fundamental group of its complement is nonabelian. Dehn also posed the question of deciding whether a finitely presented group is isomorphic to the infinite cyclic group. During the 1950’s it was shown that many such decision problems for finitely presented groups, not necessarily arising from knots, are undecidable (see Rabin [28], for example), thus blocking 5 this avenue of progress. The avenue has been traversed in the reverse direction, however: there are decision procedures for restricted classes of finitely presented groups arising from topology. In particular, computational results for properties of knots that are characterized by properties of the corresponding groups can be interpreted as computational results for knot groups. Abstracting somewhat from Dehn’s program, we might try to recognize knot triviality by finding an invariant of the knot that (1) can be computed easily and (2) assumes some particular value only for the trivial knot. (Here invariant means invariant under isotopy.) Thus Alexander [2] defined in 1928 an invariant AK (x) (a polynomial in the indeterminate x) of the knot K that can be computed in polynomial time. Unfortunately, it turns out that many nontrivial knots have Alexander polynomial AK (x) = 1, the same as the Alexander polynomial of the trivial knot. Another invariant that has been investigated with the same hope is the Jones polynomial JK (x) of a knot K, discovered by Jones [22] in 1985. In this case the complexity bound is less attractive: the Jones polynomial for links (a generalization of the Jones polynomial for knots) is #P-hard and in FP#P (see Jaeger, Vertigan and Welsh [21]). It is an open question whether trivial knots are characterized by their Jones polynomial. Even this prospect, however, has led Welsh [41] to observe that an affirmative answer to the last open question would yield an algorithm in P#P for recognizing trivial knots, and to add: “By the standards of the existing algorithms, this would be a major advance.” The revolution started by the Jones polynomial has led to the discovery of a great number of new knot and link invariants, including Vassiliev invariants and invariants associated to topological quantum field theories, see Birman [4] and Sawin [32]. The exact ability of these invariants to distinguish knot types has not been determined. A different approach to the problems of recognizing unknottedness and deciding knot equivalence eventually led to decision procedures. This approach is based on the study of normal surfaces in 3-manifolds (defined in Section 3), which was initiated by Kneser [23] in 1929. In the 1950’s Haken developed the theory of normal surfaces, and obtained a decision procedure for unknottedness in 1961. Haken considered compact orientable 3-manifolds. Schubert [34] extended Haken’s procedure to decide the knot genus problem and related problems on arbitrary compact 3-manifolds with boundary. Haken also outlined an approach via normal surfaces to decide the knot equivalence problem [40]: Problem: KNOT EQUIVALENCE PROBLEM Instance: Two link diagrams D1 and D2 . Question: Are D1 and D2 knot diagrams of equivalent knots? The final step in this program was completed by Hemion [14] in 1979. This program actually solves a more general decision problem, concerning a large class of 3-manifolds, now called Haken manifolds, which can be cut into “simpler” 6 pieces along certain surfaces (incompressible surfaces), eventually resulting in a collection of 3-balls. Knot complements are examples of Haken manifolds. It gives a procedure to decide if two Haken manifolds are homeomorphic [18]. Recent work of Jaco-Oertel [18] and Jaco-Tollefson [20] further simplified some of these algorithms. Apart from these decidability results, there appear to be no explicit complexity bounds, either upper or lower, for any of the three problems that we study. The work of Haken [10] and Schubert [34] predates the currently used framework of complexity classes and hierarchies. Their algorithms were originally presented in a framework (handlebody decompositions) that makes complexity analysis difficult, but it was recognized at the time that implementation of their algorithms would require at least exponential time in the best case. More recently Jaco and others reformulated normal surface theory using piecewise linear topology, but did not determine complexity bounds. Other approaches to knot and link algorithms include methods related to Thurston’s geometrization program for 3-manifolds (see [11] for a survey) and methods based on encoding knots as braids (see Birman-Hirsch [5]). These approaches currently have unknown complexity bounds. Our results are obtained using a version of normal surface theory as developed by Jaco-Rubinstein [19]. Among other things we show that Haken’s original approach yields an algorithm which determines if a knot diagram with n crossings is unknotted in time O(exp(cn2 )), and that the improved algorithm of Jaco-Tollefson runs in time O(exp(cn)), see Theorem 8.1. The complexity class inclusions that we prove require some additional observations. 3 Knots and Links A knot is an embedding f : S1 → R3 , although it is usually identified with its image K = f (S1 ); we are thus considering unoriented knots. A link with k components is a collection of k knots with disjoint images. An equivalent formulation regards a knot as an embedding in the one-point compactification S3 of R3 , and we will sometimes use this setting. Two knots K and K ′ are ambient isotopic if there exists a homotopy ht : 3 R → R3 for 0 ≤ t ≤ 1 such that h0 is the identity, each ht is a homeomorphism, and h1 (K) = K ′ . We shall also say in this case that K and K ′ are equivalent knots. Since we consider unoriented knots, we will also set two knots equivalent if they are equal after composing with a reflection of S 1 . Our results work equally well for oriented or unoriented knots. A knot or link is tame if it is ambient isotopic to a piecewise-linear knot or link, abbreviated as PL-knot or PL-link, and also called a polygonal knot or link. This paper considers PL-knots and links. Given this restriction, we can without further loss of generality restrict our attention to the piecewise-linear settings (see Moise [24]). A regular projection of a knot or link is an orthogonal projection into a plane (say z = 0) that contains only finitely many multiple points, each of which is a 7 double point with transverse crossing. Any regular projection of a link gives a link diagram D, which is an undirected labeled planar graph such that: 1. Connected components with no vertices are loops, simple closed curves disjoint from the rest of the diagram. 2. Each non-loop edge meets a vertex at each of its two ends (possibly the same vertex), and has a label at each end indicating an overcrossing or undercrossing at that end. 3. Each vertex has exactly four incident edges, two labeled as overcrossings and two labeled as undercrossings, and has a cyclic ordering of the incident edges that alternates overcrossings and undercrossings. Conversely, every labeled planar graph satisfying these conditions is a link diagram for some link. Given a link diagram, if we connect the edges across vertices according to the labeling, then the diagram separates into k edge-connected components, where k is the number of components in the link. A knot diagram is a link diagram having one component. A trivial knot diagram is a single loop with no vertices. It is straightforward to see that all knots with the same diagram are isotopic. We define the crossing measure of a link diagram D to be the number of vertices in the diagram, plus the number of connected components in the diagram, minus one. n = #(vertices of L) + #(connected components) − 1 . (1) For knot diagrams, the crossing measure is equal to the crossing number, which is the number of vertices in the diagram. A trivial knot diagram is the only link diagram with crossing measure zero. All other link diagrams have strictly positive crossing measure. A knot diagram is the unknot (or is unknotted) if there is a knot K having this diagram that is ambient isotopic to a knot K ′ having a trivial knot diagram. One can convert a knot diagram to any other diagram of an equivalent knot by a finite sequence of combinatorial transformations called Reidemeister moves. Reidemeister showed that a knot diagram K is unknotted if and only if there is a finite sequence of Reidemeister moves that convert it to the trivial knot diagram. In this sense the unknotting problem is a purely combinatorial problem, though with no obvious bound on the number of steps, see [12], [42]. 4 Unknottedness Criterion Our approach to solving the unknotting problem, based on that of Haken, relies on the following criterion for unknottedness: A PL-knot K embedded in R3 is unknotted if and only if there exists a piecewise-linear disk D embedded in R3 whose boundary ∂D is the knot K transversed once. We call such a disk D a spanning disk. We shall actually use a weaker unknottedness criterion, given in 8 Lemma 4.1 below. It does not deal with a spanning disk of K, but rather with a spanning disk of another knot K ′ which is ambient isotopic to K. Given a PL-knot K, let T be a finite triangulation of S3 containing K in its 1-skeleton, where the 3-sphere S3 is the one-point compactification of R3 , and the point “at infinity” is a vertex of the triangulation. Barycentrically subdivide T twice to obtain a triangulation T ′′ , and let MK = S3 −RK denote the compact triangulated 3-manifold with boundary obtained by deleting the open regular neighborhood RK of K. Here RK consists of all open simplices whose closure intersects K. The closure R̄K of RK is a solid torus neighborhood of K, a solid torus containing K as its central axis, and its boundary ∂RK = ∂MK is homeomorphic to a 2-torus. See [15] for details of this construction. Each of RK , MK and ∂RK = ∂MK are triangulated by simplices in T ′′ . We call the manifold MK a knot complement manifold. We call a triangulation of MK = S3 − RK constructed as above a good triangulation of MK . Similarly we define a good triangulation of a link complement manifold. For any good triangulation of MK , the homology group H1 (∂MK ; Z) ≈ Z ⊕ Z, since ∂MK is a 2-torus. The kernel of the homology homomorphism induced by the inclusion map of ∂MK into MK is infinite cyclic (see Theorem 3.1 of [6] for a proof.) We take as generator (1, 0) the homology class of a fixed closed oriented simple closed curve which is the boundary ∂B of an essential disk B in RK (a meridian) and as generator (0, 1) the homology class of a fixed closed oriented circle in ∂MK that has algebraic intersection 1 with the meridian and algebraic linking number 0 with K (a longitude). A simple closed curve in ∂RK whose homology class is trivial in the 3-manifold RK but not in the surface ∂RK is a meridian. A simple closed curve in ∂RK whose homology class is trivial in the 3-manifold MK but not in the surface ∂RK is a longitude. The homology classes of a meridian and a longitude are well-defined up to orientation. A compact surface S with boundary ∂S in a compact 3-manifold with boundary (M, ∂M ) is said to be properly embedded if it does not intersect itself and if S ∩ ∂M = ∂S. A surface S is essential in M if it is properly embedded in M , cannot be homotoped into ∂M while holding ∂S fixed, and its fundamental group π1 (S) injects into π1 (M ) (this last condition describes what topologists call an incompressible surface, see Hempel [15]). In particular, a disk S that is properly embedded in a 3-manifold (M, ∂M ) is essential when ∂S does not bound a disk in ∂M . In the case of a knot complement MK , a properly embedded disk is essential if and only if the homology class [∂S] 6= (0, 0), in ∂M , which happens if and only if removing [∂S] does not increase the number of connected components of ∂M . Lemma 4.1 Let K be a polygonal knot, and let MK be any good triangulation of S3 − K. (1) If K is knotted, then there exists no essential disk in MK . (2) If K is unknotted, then there exists an essential disk in MK . Furthermore any essential disk S has boundary ∂S representing the homology 9 class [∂S] = (0, ±1) in H1 (∂MK ; Z). Proof. (1) An essential disk can be used to give an ambient isotopy from K to the unknot. (2) For a knot projecting to give a trivial knot diagram, the existence of an essential disk in MK is clear. For an equivalent knot K, the ambient isotopy carrying a knot with trivial projection to K carries the above disk to an essential disk for K. The homotopy class [∂S] 6= (0, 0) since S is an essential disk. The boundary of S is a longitude, representing the two possible generators (0, ±1) of the kernel of the first homology of ∂MK under the inclusion map of ∂MK into MK .  The Haken algorithm provides a spanning disk for the boundary ∂S. The homology condition on [∂S] certifies that ∂S is an unoriented knot that is equivalent to K. The usefulness of the extra condition on [∂S] is that it can be detected by homology with Z/2Z-coefficients. Lemma 4.2 If K is a PL-knot and a good triangulation MK = S3 − RK contains a properly embedded PL-surface S that is homeomorphic to a disk whose boundary ∂S has homology class in H1 (∂MK ; Z/2Z) ≈ Z/2Z ⊕ Z/2Z that is not trivial, then K is unknotted. Conversely, for any unknotted K the manifold MK contains such a surface. Proof. This follows from Lemma 4.1, since Z/2Z-homology is obtained by reducing modulo 2.  For later use, we recall the simple fact that triangulated surfaces that are topological disks can be recognized by their Euler characteristic χ(S) = v−e+f , where v, e, f count vertices, edges and faces in the triangulation. Lemma 4.3 If S is a connected triangulated surface in R3 whose Euler characteristic χ(S) = 1 and ∂S 6= ∅, then S is homeomorphic to a disk. Proof. All connected surfaces have χ(S) ≤ 2. The only surface with χ(S) = 2 is the sphere, which has ∂S = ∅. The only surfaces with χ(S) = 1 are the disk and the projective plane. The projective plane has ∂S = ∅.  5 Normal Surfaces We work in the piecewise-linear category and let (M, ∂M ) be a compact triangulated 3-manifold with boundary. Haken’s algorithm solves the unknottedness problem by finding a finite list of properly embedded PL-surfaces in a good triangulation of MK = S3 − RK , such that, if K is the unknot, this list will include 10 an essential disk satisfying the conditions of Lemma 4.2. More generally, the list contains a minimal genus embedded surface bounding the knot. We will use a variation of Haken’s theory based on triangulations. A normal surface of M , with respect to a given triangulation, is a surface S ⊆ M such that (1) S is properly embedded in M . (2) The intersection of S with any simplex in the triangulation is transverse. The intersection of S with any tetrahedron is a finite disjoint union of disks, called elementary disks. Each elementary disk is a curvilinear triangle or quadrilateral, whose vertices are contained on different edges of the tetrahedron. A disk type is an equivalence class of elementary disks, where two are equivalent if they can be deformed to one another by an isotopy preserving each tetrahedron. We are taking all disks and simplices in the above to be closed. We allow a normal surface to have more than one connected component, and to be nonorientable1 . Individual connected components may be orientable or nonorientable surfaces. A normal surface has associated to it combinatorial data which specifies the number of each disk type that appear in the intersection of S with each tetrahedron in the triangulation of M . For a given tetrahedron, each elementary disk separates the 4 vertices into two nonempty sets; there are seven possibilities, consisting of 4 types of triangles which separate one vertex from the other three, and 3 types of quadrilaterals which separate two vertices from the other two. If there are t tetrahedra in the triangulation of M then there are 7t pieces of combinatorial data, which specify the number of each disk type in the t tetrahedra. We represent this combinatorial data as a nonnegative vector v = v(S) ∈ Z7t , (2) by choosing a fixed ordering of tetrahedra and of the disk types. We call v(S) the normal coordinates of S. When does a vector v ∈ Z7t give the normal coordinates for some normal surface S? We call such vectors admissible. There are some obvious constraints on such integer admissible vectors v ∈ Z7t . (i) Nonnegativity conditions. v = (v1 , . . . ,v7t ) has each vi ≥ 0. (ii) Matching conditions. Suppose two tetrahedra T1 , T2 in the triangulation have a common face F . Each disk type in T1 and T2 produces either zero or one edge in F which intersects a given two of the three sides of F . The number of edges induced between each side-pair of F coming from disk types in T1 must equal that coming from T2 . 1 Some authors require a normal surface to be connected. They call the concept we use a system of normal surfaces. 11 (iii) Quadrilateral conditions. In each tetrahedron in the triangulation at most one type of quadrilateral can occur. The quadrilateral conditions (iii) hold because any two quadrilaterals of different types placed in a tetrahedron must intersect, which violates the embeddedness property of normal surfaces. We note at this point that each admissible vector v = v(S) determines a normal surface S which is unique up to a normal isotopy, an isotopy leaving the triangulation of M invariant. We denote this normal surface by S(v). Uniqueness holds, up to normal isotopy, because there is only one combinatorial way to disjointly pack into a tetrahedron a given number (n1 , n2 , . . . ,n7 ) of disk types that satisfy the quadrilateral condition. The triangles of types 1, 2, 3 and 4 are stacked in parallel close to the vertex that they separate from the other three vertices, all the quadrilaterals of the one type that occur (5, 6 or 7) are arranged parallel to each other in the center of the tetrahedron. See Figure 1. Figure 1: Elementary disks in a normal surface. The necessary conditions given above for a vector v ∈ Z7t to be admissible are also sufficient. Theorem 5.1 (Haken’s Hauptsatz) Let M be a triangulated compact 3-manifold with boundary, which consists of t tetrahedra. Any integer vector v ∈ Z7t that satisfies the nonnegativity conditions, matching conditions and the quadrilateral conditions gives the normal coordinates v(S) of some normal surface S in M , which is unique up to ambient isotopy. Proof. This is Hauptsatz 2 of Haken [10]. It follows easily by noting that the matching conditions ensure that there is a unique way to match up the boundaries of the elementary disks specified in each tetrahedron to form a normal surface.  This result characterizes the set WM of all admissible vectors of normal surfaces as a certain set of integer points in a rational polyhedral cone in R7t . We define the Haken normal cone CM to be the polyhedral cone in R7t cut out by the nonnegativity conditions and matching conditions. The points in WM are then just the integer points in the Haken normal cone CM that satisfy the quadrilateral conditions. 12 Haken observed that the size of the integer vector v(S) measures the complexity of the normal surface. Define the weight wt(S) of the normal surface S to be the number of times it intersects the 1-skeleton of M . Lemma 5.2 Suppose that v1 , v2 , v3 ∈ Z7t lie in Haken’s normal cone CM and that v1 + v2 = v3 . (3) If v3 = v(S3 ) is admissible, then so are v1 and v2 , so that v1 = v(S1 ) and v2 = v(S2 ). The Euler characteristics of these surfaces satisfy χ(S) = χ(S1 ) + χ(S2 ) , (4) wt(S) = wt(S1 ) + wt(S2 ) . (5) and their weights satisfy Proof. The first fact follows from Theorem 5.1. For next two, Haken [10] showed that S is constructed from S1 and S2 by a “cutting and pasting” operation called regular exchange, which yields (4) and (5).  The “simplest” normal surfaces are thus those surfaces S such that v(S) 6= v(S1 ) + v(S2 ) for any other (nonempty) normal surfaces S1 and S2 . Haken calls these fundamental surfaces, and the corresponding vectors v(S) fundamental solutions. He proves that there are only finitely many fundamental surfaces; see Section 6. Lemma 5.3 If S is a fundamental surface for (M, ∂M ), then S is connected. Proof. If a normal surface S is disconnected, then S = S1 ∪ S2 where S1 and S2 are disjoint nonempty normal surfaces. Now v(S) = v(S1 ) + v(S2 ), contradicting S being a fundamental surface.  The basis of Haken’s unknotting algorithm and knot genus algorithm is the following result. Theorem 5.4 (Haken) Let (M, ∂M ) be a triangulated compact piecewise-linear 3-manifold M with nonempty boundary, which contains no embedded projective plane. If M contains an essential surface with non-empty boundary, then it contains such an essential surface of minimal genus, and this surface is a fundamental normal surface. Proof. See Chapter 5 of Haken [10] or Section 5 of Schubert [34] or [19],[18],[20].  This yields: Corollary 5.5 Let MK be a knot complement manifold. There exists a properly embedded orientable surface S in MK whose boundary is a longitude in ∂MK which is of minimal genus among all such surfaces, and which is a fundamental normal surface. 13 Proof. A knot complement manifold MK contains no embedded projective plane, since MK can be embedded in S3 . Furthermore a minimal genus surface with boundary a longitude in ∂MK is an essential surface in MK [15]. Theorem 5.4 now gives an essential surface of minimal genus which is a fundamental normal surface.  In the special case where K is unknotted, i.e. K is of genus zero, Jaco and Tollefson [20] improved Haken’s criterion given in Theorem 5.4. We call a normal surface S in M a vertex surface if v(S) lies on an extremal ray (1dimensional face) of the Haken normal cone CM . In this case we call v(S) a vertex solution of CM . The notion of a vertex surface was introduced by Jaco and Oertel [18], who imposed the addtional requirement that it be a connected orientable surface that is either a fundamental surface or twice a fundamental surface. The last case can occur when a surface S is the boundary of a regular neighborhood of another surface which is one-sided. However χ(S) is even in this case, so that this case cannot occure when the surface is a disk. Theorem 5.6 (Vertex Surface Theorem) If a triangulated compact 3-manifold M with nonempty boundary ∂M contains an essential disk, then it contains such a disk which is a vertex surface. Proof. This is an immediate consequence of Corollary 6.4 of Jaco and Tollefson [20].  The theory of normal surfaces can also be applied to determine the splittability of links. Theorem 5.7 (Splittability Criterion) A link L is splittable if and only if any link complement manifold ML contains a fundamental normal 2-sphere S that separates two components of ∂ML . Proof. This is established in Section 4 of Schubert [34], who attributes the result to Haken [10]. See also [19] [20]  This result was strengthened by Jaco and Tollefson [20]. Theorem 5.8 If a link complement manifold ML contains a normal 2-sphere S which separates two components of ∂ML , then it contains such a sphere that is a vertex surface. Proof. This follows from Theorem 5.2 [20].  To check that a sphere S separates two components of ∂ML it suffices to exhibit a path in the 1-skeleton of ML that connects two components of ∂ML and whose intersection number with S is odd. For the complexity analysis, we must give bounds for the number of vectors v in the exhausting set, and for the sizes ||v||1 of these vectors, where the size is 7t X vi . (6) ||v||1 := i=1 14 We address these questions in the next section. Then in Section 7 we deal with the problem of constructing the triangulated 3-manifold MK = S3 − RK from a knot diagram K. Sections 8–10 give the complexity analysis. 6 Bounds for Fundamental Solutions and Hilbert Bases We bound the number and size of fundamental solutions in the Haken normal cone CM of an arbitrary triangulated compact 3-manifold M with boundary ∂M that contains t tetrahedra. The system of linear inequalities defining Haken’s normal cone CM has the form: vi ≥ 0 (1 ≤ i ≤ 7t) , vk1 + vk2 = vk3 + vk4 (at most 6t equations) . (7) (8) The matching conditions (8) all involve exactly four variables as indicated, because only two of the seven disk types in a tetrahedron T have edges parallel to one specified edge on one face of T . There are at most 6t such equations because the t tetrahedra have between them 12t such edge pairs, and each equation matches two pairs that occur in no other equation. (There will be strictly less than 6t equations if M has nonempty boundary.) The cone CM is a pointed cone, (i.e. it contains no line) because it is contained in the positive orthant R7t + . It is not full-dimensional because it has equality constraints, but (8) implies t ≤ dimR (CM ) ≤ 7t . (9) It is a rational cone because it is cut out by rational equality and inequality constraints; equivalently, each of its extreme rays contains an integral vector. The concept of fundamental solutions of CM is closely related to that of a Hilbert basis for the rational cone CM . Given a (homogeneous) rational cone C in Rm , its set of integral points C(Z) := C ∩ Zm (10) forms a semigroup under addition. An (integral) Hilbert generating set G for C is any finite set of generators for C(Z). If C is a pointed rational cone, then C has a unique minimal generating set H, see Schrijver[33, Theorem 16.4]. It consists exactly of all elements v ∈ C(Z) which are minimal in the sense that v 6= v1 + v2 for any nonzero v1 , v2 ∈ C(Z) . (11) We call this set H = H(C) the minimal Hilbert basis of C. By definition, any fundamental solution of CM is in the minimal Hilbert basis H(CM ). There may, however, be elements in H(CM ) that are not fundamental solutions because they violate the quadrilateral conditions. A minimal vertex solution of a pointed homogeneous rational cone C in Rm is the smallest nonzero integral point on any extreme ray (1-dimensional face) 15 of the cone C. A minimal vertex solution is always in the minimal Hilbert basis H(C), because the only points in C that it can be a convex combination of are other points in the ray R+ v = {λv : λ ≥ 0}. By definition a fundamental vertex solution of the Haken cone CM is a minimal vertex solution of CM . Lemma 6.1 Let M be a triangulated compact 3-manifold, possibly with boundary, that contains t tetrahedra in the triangulation. (1) Any vertex minimal solution v ∈ Z7t of the Haken normal cone CM in R7t has max (vi ) ≤ 27t−1 . (12) 1≤i≤7t (2) Any minimal Hilbert basis element v ∈ Z7t of the Haken normal cone CM has max (vi ) ≤ t · 27t+2 . (13) 1≤i≤7t Proof. (1) Choose a maximal linearly independent subset of matching conditions (8). There will be 7t − d of them, where d = dimR (CM ). Any vertex ray is determined by adjoining to these equations d − 1 other binding inequality constraints {vik = 0 ; 1 ≤ k ≤ d − 1} , (14) with the proviso that the resulting system have rank 7t − 1. These conditions yield a (7t − 1) × 7t integer matrix M of rank 7t − 1, and the vertex ray elements z = (z1 , . . . ,z7t ) satisfy Mz = 0 . (15) In order to get a feasible vertex ray in CM all nonzero coordinates zi must have the same sign. At least one of the unit coordinate vectors e1 , e2 , . . . ,e7t must be linearly independent of the row space of M. Adjoin it as a first row to M and we obtain a full rank 7t × 7t integer matrix M̃ = [ ek ], M det(M̃) 6= 0 . Consider the adjoint matrix adj(M̃) = det(M̃)M̃−1 , which has integer entries wij := adj(M̃)ij = (−1)i+j det M̃[j|i] , (16) in which M̃[j|i] is the minor obtained by crossing out the j th row and ith column of M̃. Let w = [w11 , w21 , . . . ,w7t,1 ]t (17) 16 be the first column of adj(M̃). Since M̃adj(M̃) = det(M̃)M this yields M̃w = 0 , and w 6= 0 because hek , wi = det(M̃) 6= 0. We bound the entries of w using Hadamard’s inequality, which states for an m × m real matrix that det(N)2 ≤ m Y ||ni ||2 , i=1 in which ||ni ||2 is the Euclidean length of the ith row ni of N. We apply this to (15), and observe that each row of the (7t − 1) × (7t − 1) matrix M̃[j|i] has squared Euclidean length at most 4, because this is true for all row vectors in the system given by (8) and for ek . Applied to (15) this gives |wij |2 ≤ 47t−1 . However (15) shows that w ∈ Z7t , and a vertex minimal solution v in the extreme ray is obtained by dividing w by the greatest common divisor of its elements, hence max |vi | ≤ max |wi1 | ≤ 27t−1 . 1≤i≤7t 1≤i≤7t (2) A simplicial cone C in R7t is a d-dimensional pointed cone which has exactly d extreme rays. Let v(1) , . . . ,v(d) ∈ Z7t be the vertex minimal solutions for the extreme rays. Each point in C can be expressed as a nonnegative linear combination of the v(j) , as v= d X λj v(j) , each λj ≥ 0 . j=1 If v is in the minimal Hilbert basis H(C), then 0 ≤ λj ≤ 1, for otherwise one has v = (v − v(j) ) + v(j) , and both v − v(j) and v(j) are nonzero integer vectors in C, which is a contradiction. Thus, any minimal Hilbert basis element v = (v1 , . . . , v7t ) of a simplicial cone satisfies |vi | ≤ d X (j) |vi | for 1 ≤ i ≤ 7t . (18) j=1 The cone CM may not be simplicial, but we can partition it into a set of (k) simplicial cones {CM } each of whose extreme rays are extreme rays of CM itself. We have [ (k) H(CM ) ⊆ H(CM ) . k 17 Thus all Hilbert basis elements of H(CM ) satisfy by the bound in (18) for (j) (k) Hilbert basis elements of H(CM ). Using (12) to bound |vi | we obtain |vi | ≤ d27t−1 ≤ 7t 27t−1 ≤ t 27t+2 , as required.  Lemma 6.2 (1) The Haken normal cone CM has at most 27t vertex fundamental solutions. 2 (2) The Haken normal cone CM has at most t7t 249t imal Hilbert basis. +14t elements in its min- Proof. (1) There are 27t . 7t d−1  possible choices for the systems given in (14), and 7t d−1  ≤ (2) We wastefully count every integer vector v in the box 0 ≤ vi ≤ t27t+2 for 1 ≤ i ≤ 7t that is allowed by Lemma 6.1.  Remark. The bounds in Lemma 6.2 are very crude. However the functional 2 forms 2c1 t and 2c2 t of the bounds are best possible for general rational cones, apart from the values of c1 and c2 . 7 Triangulations Given a link diagram D with crossing measure n, we show how to construct a triangulated 3-manifold ML ∼ = S3 −RL , where RL is a regular neighborhood of a link L which has a regular projection that is the link diagram D. The construction takes time polynomial in the crossing measure of D, and the triangulations of each of ML and R̄L contain O(n) tetrahedra. Lemma 7.1 Given a link diagram D of crossing measure n, one can construct in time O(n log n) a triangulated convex polyhedron P in R3 such that: (i) The triangulation has at most 420n tetrahedra. (ii) Every vertex in the triangulation is a lattice point (x, y, z) ∈ Z3 , with 0 ≤ x ≤ 30n, 0 ≤ y ≤ 30n and −4 ≤ z ≤ 4. (iii) There is a link L embedded in the 1-skeleton of the triangulation which lies entirely in the interior of P , and whose orthogonal projection on the (x, y)-plane is regular and is a link diagram isomorphic to D. 18 Proof. We first add extra vertices to D. To each non-loop edge we add a new vertex of degree 2, which splits it into two edges. To each non-isolated loop we add two new vertices of degree 2, which split it into three edges. To each isolated loops we add three new vertices of degree 2, making it an isolated triangle. The resulting labelled graph G is still planar, has no loops or multiple edges, and has at most 5n vertices. (The worst case consists of several disjoint single crossing projections.) Let m denote the number of vertices of G, and call the m − n vertices added special vertices. Using the Hopcroft-Tarjan planarity testing algorithm [17] we can construct a planar embedding of G in time O(n log n). From this data we determine the planar faces of this embedding, and add extra edges to triangulate each face, thus obtaining a triangulated planar graph G ′ , in time O(n). The graph G ′ has m vertices and 2m − 5 bounded triangular faces, and the unbounded face is also a triangle. It was shown by de Frajsseix, Pach and Pollack [7] that there exists a planar embedding of G ′ whose vertices v(G ′ ) lie in the plane z = −1, in the grid {(x, y, −1) : 0 ≤ x, y ≤ 10n − 1 ; x, y ∈ Z} , (19) in which all edges of G ′ are straight line segments. They also show in [7, Section 4] that one can explicitly find such an embedding in time O(n log n). Next we make an identical copy G ′′ of G ′ on the plane z = 1 with G ′′ = G + (0, 0, 2), and vertex set V (G ′′ ) = V (G) + (0, 0, 2). We now consider the polyhedron P ′ which is the convex hull of V (G ′ ) and V (G ′′ ). It is a triangular prism, because the outside face of G ′ is a triangle. We add m1 vertical edges connecting each vertex v ∈ V (G ′ ) to its copy v + (0, 0, 1) ∈ V (G ′′ ). Let E denote these edges, together with all the edges in G ′ and G ′′ . Using these edges, the polyhedron P ′ decomposes into 2m− 5 triangular prisms {Qj : 1 ≤ j ≤ 2m− 5}, with top and bottom faces of each being congruent triangular faces of G ′ and G ′′ . We next triangulate P ′ by dissecting each of the 2m − 5 triangular prisms into 14 tetrahedra, as follows. We subdivide each vertical rectangular face into four triangles using its diagonals. Then we cone each rectangular face to the centroid of P ′ , and note that the centroid lies in the plane z = 0. We add 4 new vertices to each prism, one on each face and one in the center. The point of this subdivision is that the triangulations of adjacent prisms are compatible. 1 Note also that all new vertices added lie in the lattice Z2 . 6 Let E ′ denote all the edges in the union of these triangulated prisms. We identify the link diagram D with the graph G embedded in G ′ . We next observe that there is a polygonal link L imbedded in the edge set E ′ whose projection is the link diagram D. We insist that any edge in D that runs to an undercrossing have its undercrossing vertex lie in the plane z = −1, while any edge that runs to an overcrossing has its overcrossing vertex lie in the plane z = 1. Each such edge travels from one of the n original vertices of D to a special vertex. Edges that do not meet vertices labelled overcrossing or undercrossing are assigned to the z = −1 plane. The edge corresponding to an edge running from the 19 z = −1 to the z = 1 plane is contained in one of the diagonals added to a prism. The resulting embedding L in P ′ has a regular orthogonal projection onto the (x, y)-plane, since no edges are vertical and only transverse double points occur as singularities in the projection. The knot edges lie in the boundary of P ′ . To correct this we take two additional copies of P ′ and glue one to its top, along the plane z = 1, and one to its bottom, along the plane z = −1. The knot now lies in the interior of the resulting polyhedron P ′′ . All the vertices added in this construction lie in 1 3 Z , so a rescaling by a factor of 6 puts all vertices in Z3 . The total number of 6 tetrahedra used in triangulating P ′′ is 84m, which is at most 420n. Now P ′′ satisfies properties (i), (ii) and (iii).  We now construct a triangulated 3-manifold ML embedded in S3 from the triangulation of P in Lemma 5.2. This construction only uses the combinatorial triangulation of P , i.e. the adjacency relations of tetrahedra and of the set of edges of P that specify the link L, and does not use its given embedding in R3 . Lemma 7.2 Given a link diagram D of crossing measure n, one can construct in time O(n log n) a combinatorial triangulation of S3 using at most 253440(n+ 1) tetrahedra, which contains a good triangulation of ML ∼ = S3 − RL , with R̄L a regular neighborhood of a combinatorial link L with link diagram D, and ∂RL = ∂MK . Furthermore one can construct in time O(n2 log n) in the triangulation marked sets of edges in ∂ML for a meridian on each 2-torus component of ∂ML , and a set of marked paths of O(n) edges in ML \ ∂ML that connect pairs of components of ∂ML , which between them connect all components of ∂ML. Proof. We construct a combinatorial triangulation T of S3 by coning all the triangular outside faces of the triangulation of P to the “point at infinity” added in constructing S3 as the one point compactification of R3 . This adds 4m + 2 new tetrahedra, where m ≤ 5n, for a total of at most 440n + 2 tetrahedra. Barycentrically subdivide twice to obtain a triangulation T ′′ , and take ML to be S3 minus the interior of a regular neighborhood of L. Since barycentric subdivision splits a tetrahedron into 24 tetrahedra, we use at most 242 (440n + 2) tetrahedra. It is easy to determine a meridian on the 2-torus in ∂ML corresponding to each component of L, in time O(n). To construct a longitude we use the projection of the polyhedron P in R3 on the z-axis in Lemma 7.1 to construct a path with algebraic linking number zero with the core of the 2-torus. This can be done by suitably making a “twist” at each vertex. We can find a shortest path between each pair of components of ∂MK in time O(n log n) each. We retain a minimal set of such paths which contain no edge inside any component of ∂MK , whose union connects all components of ∂MK . If done carefully, this can be done in time O(n2 log n) and result in a list of at most O(n) paths involving O(n2 ) edges.  20 8 Certifying Unknottedness To show that the unknottedness problem is in NP, we must construct for any n-crossing knot diagram D a polynomial length certificate that proves it is unknotted. The certificate takes the following form. Unknottedness Certificate 1. Given a link diagram D with n crossings certify that D is a knot diagram. 2. Construct a piecewise-linear knot K in R3 which has regular projection D. From it construct a good triangulation MK ∼ = S3 − R̄K which contains t tetrahedra, with t = O(n), and with a meridian of ∂RK marked in ∂MK . 3. Guess a suitable fundamental solution v ∈ Z7t to the Haken normal equations for MK . Verify the Haken quadrilateral conditions. Let S denote the associated normal surface, so v = v(S). 4. Certify that S is an essential disk. (4a) Certify that S is connected. (4b) Certify that S is a disk. Check that ∂S 6= ∅ and that it has Euler characteristic χ(S) = 1. (4c) Certify that S is essential by checking that its homology class [∂S] 6= (0, 0) in H1 (∂MK ; Z/2Z). The approach of Haken to deciding unknottedness is based on an exhaustive search for a certificate of the above kind. Haken-type Unknottedness Algorithm Input: Link diagram D of crossing number n. Question: Is D a knot diagram of the unknot? 1. Test if D is a knot diagram. If so, denote it K. 2. Construct a finite combinatorial triangulation T of S3 which contains a polygonal knot K in its one-skeleton which has diagram K, and also contains a good compact triangulated 3-manifold MK ∼ = S3 − RK , where R̄K is a regular neighborhood of K. Let t denote the number of tetrahedra in MK . 3. Construct an exhausting list L of vectors L ⊆ Z7t that contains v(S) for some embedded compressing disk in MK , if one exists. 4. For each v ∈ L, test if v is admissible. If so let S denote the normal surface with v = v(S). Test if S is an essential disk for MK . 21 (4a) Is S connected? (4b) Is S a disk? Check that the Euler characteristic χ(S) = 1 and ∂S 6= ∅. (4c) Is S essential? Check that the homology class [∂S] ∈ H1 (∂M ; Z/2Z) is nontrivial by computing that its intersection number ( mod 2) with a meridian of the 2-torus TK is 1 (mod 2). If all tests are passed for S, answer “yes,” halt and output v(S). 5. If the complete list L is examined and no essential disk is found, answer, “no” and halt. For the Haken unknottedness algorithm we take for the Exhausting List LH := LH (MK ) the set LH := {v = (v1 , . . . ,v7t ) ∈ Z7t : 0 ≤ vi ≤ t27t+2 } . (20) For the Jaco-Tollefson unknottedness algorithm we take for the exhausting list LV = Lv (MK ) the set LV := {v = (v1 , . . . ,v7t ) ∈ Z7t : v a minimal vertex solution in CM } . (21) Theorem 8.1 (1) There is a constant c such that the Haken unknottedness algorithm decides for any n-crossing link diagram whether it is a knot diagram that represents the trivial knot using at most O(exp(cn2 )) time and O(n2 log n) space, on a Turing machine. (2) There is a constant c′ such that the Jaco-Tollefson unknottedness algorithm decides the same question in at most time O(exp(c′ n)) time and O(n2 log n) space, on a Turing machine. Proof. Assuming that the individual steps of the algorithms are proved correct, the two algorithms are correct by Lemmas 4.1 and 4.2, respectively. (1) For the Haken unknottedness algorithm, the list LH is exhausting by Theorem 5.4 with Lemma 4.1. Step (1) is done in polynomial time O(n log n) by tracing a path through the link diagram D and checking that it visits every edge of D. Step (2) is done in polynomial time O(n log n) by Lemmas 7.1 and 7.2. The triangulated manifold MK has at most 253440(n + 1) tetrahedra. 2 The list LH is a large cube containing t7t 249t +14t integer vectors, using integers containing at most 7t + log2 t + 2 binary digits. We now test each v ∈ LH , one at a time, to determine whether it is a fundamental solution that is an essential disk. To begin step (4), given v ∈ LH , we first test whether v corresponds to a normal surface by checking whether the quadrilateral conditions hold: for each 22 tetrahedron in MK at least two of the three quadrilateral variables vanish. This takes time O(t) and space O(t2 ). Now we have v = v(S) for some normal surface S. We can treat S as a triangulated surface by splitting quadrilaterals into four triangles by adding two diagonals to each quadrilateral. If S is connected, then we can check whether S is homeomorphic to a disk in polynomial time O(n2 log n). We use the criterion of Lemma 4.3. We check that ∂S 6= ∅ by checking that vi 6= 0 for some triangle or quadrilateral is that has an edge in ∂M . We can compute the Euler characteristic χ(S) in polynomial time directly from the data in v, since it encodes the necessary data on the vertices, edges and faces of the triangles and quadrilaterals in S. According to Jaco and Tollefson [20, p. 404] we have χ(S) = 1 S3 − σ(S) + wt(S) 2 (22) P in which S3 counts the total number of triangles in S, σ(S) = 7t i=1 vi , and wt(S) is defined below. For each edge j in the triangulation of MK , let tj count the number of tetrahedra that contain edge j, and set ǫji = 1 if edge ej meets a disk of type i. Then 7t X X ǫji vi wt(S) = . (23) tj i=1 j The weight counts the intersection of S with the 1-skeleton of the triangulation. Thus χ(S) is computed by (22) using O(n2 log n) bit operations, and we can check whether χ(S) = 1. If S is known to be a disk, then we can check whether ∂S is an essential curve in ∂M in polynomial time. Since S is a disk the boundary ∂S must have homology class (0, 0) or (0, ±1) in H1 (∂M ; Z), by Lemma 4.1. We distinguish these possibilities by determining if the class [∂S] ∈ H1 (∂M1 ; Z/2Z) is (0, 0) or (0, 1). To do this we compute the intersection number (mod 2) of ∂S with a fixed meridian in the 1-skeleton of the 2-torus ∂MK . Such a meridian γ can be determined in time O(n log n) in the process of constructing MK in step (2). This intersection number can be computed in time O(n log n) as nS := 1 X ( vi ) (mod 2) , 2 (24) in which the sum is taken over those disk types i that correspond to triangles and quadrilaterals with an edge on ∂MK and a vertex on that edge that is contained in some edge of γ. We count disk types i with multiplicity equal to the number of vertices of this type contained in the disk type. Then S is essential only if ns ≡ 1(mod 2), using Lemma 4.2. 2 Thus to test a given v ∈ LH requires O(t7t 249t +14t ) operations, and testing S for being a fundamental solution is the only step that requires exponential time. The total running time of the Haken algorithm is dominated by the test for being a fundamental solution and the size of the exhausting list LH . It is easy 23 to sequentially test elements of LH in lexicographic order, so that the space complexity does not materially increase over that for testing a single vector v. 2 Since t ≤ O(n) we obtain upper bounds of the form O(2cn ) for time complexity 2 and O(n log n) for the space complexity. (2). For the Jaco-Tollefson algorithm, the list LV is exhausting by the Vertex Surface Theorem 5.6 and Lemma 6.1. There are at most 27t elements in LV by Lemma 6.2. Furthermore these elements are easy to enumerate sequentially in time O(log n) each: First precompute a maximal linearly independent set of 7t − d matching condition constraints, where d = dimR (CM ). Then test all (d − 1)-duples {i1 , . . . ,id−1 } ⊆ {1, 2, . . . ,7t} to see if adjoining the constraints xij = 0 , 1≤j≤d gives an extremal ray of the Haken cone CM . If so, determine a minimal point v ∈ Z7t on this ray and run the rest of the algorithm. Given {i1 , . . . ,ij } one can compute v in polynomial time O(n2 log n) by first computing w in (16) and dividing it by g.c.d. (w1 , w2 , . . . ,w7t ) to get v. The testing time, for each v ∈ LV , for whether v = v(S) gives an essential disk S goes down to O(t27t ) time and to O(n2 log n) space, because the computationally intensive test whether S is connected is eliminated: S is connected because minimal vertex solutions are always Hilbert basis elements, so S is a fundamental surface and connected by Lemma 5.2. Since t = O(n) we obtain the time bound O(2cn ) and space bound at most O(n2 log n). We check whether S is fundamental by exhaustive search. For each w ∈ Z7t with 0 ≤ wi ≤ vi for 1 ≤ i ≤ 7t we set w′ = v − w and check if w, w′ ∈ CM . If this happens for some w then v = w + w′ is not fundamental. If this happens for no w then v is in the Hilbert basis, and is a fundamental surface 2 by Lemma 5.2. There are at most O(t7t 249t +14t ) values of w to check. We can check them sequentially, using space O(t2 ). If S is a fundamental surface, then it is guaranteed to be connected by Lemma 5.3.  We can now prove that the Unknottedness Certificate above can be checked in polynomial time. Proof of Theorem 1.1 If all the steps in the certificate are checked then D is unknotted by Lemma 4.2. It remains to show each step can be done in length polynomial in n. 1. This is trivially polynomial time in n, by tracing edges around the graph. 2. This is polynomial time by Lemma 7.2, upon observing that t = O(n). 3. This step is nondeterministic. According to Lemma 6.1, any fundamental solution is 7t X wt(v) ≤ vi ≤ 7t2 27t+2 , i=0 24 hence v can be guessed in nondeterministic time linear in t, which is O(n). At this point we do not have a proof that the solution is fundamental. Verifying the quadrilateral conditions takes time O(n2 ), since we have O(n) tetrahedra and have O(n)-bit integers in v to examine. (4a) According to the Vertex Surface Theorem (5.6), we may choose a vertex fundamental solution in (3) for which S is an essential disk. We may certify in polynomial time that v = v(S) is in the Hilbert basis, by guessing the correct linearly independent set of 7t − 1 constraints that are binding for v, and then verifying that v ∈ Z7t is primitive, i.e. g.c.d.(v1 , v2 , . . . ,v7t ) = 1 . This takes time O(n3 log n). We verify the 7t − 1 constraints are linearly independent by guessing which one of the unit coordinate vectors e1 , . . . ,e7t extends to a basis of R7t and verifying that the determinant of the resulting matrix is nonzero. (We also must check that all equality constraints are satisfied.) Since v is in the Hilbert basis and the quadrilateral conditions hold, S is connected by Lemma 5.3. (4b) and (4c) were shown to take polynomial time in the proof of Theorem 8.1.  Using Haken’s Theorem 5.4 instead of the Jaco-Tollefson result we still obtain the weaker result that the unknotting problem is in the polynomial hierarchy Σp2 [38]: One uses the same certificate as above, except for the proof that S is connected. For this step, we use a co-NP. oracle that answers the question: Is v in the Hilbert basis of CM ? This problem is in co-NP, because one can certify that v is not in the Hilbert basis by guessing v1 , v2 ∈ CM such that v = v1 + v2 . This puts the problem in the complexity class NPco-NP = NPNP = Σp2 . A stronger result than this cannot be expected, since it is known that the problem of testing whether a vector v is in the Hilbert basis of a pointed rational cone C is co-NP complete, see Sebö [35, Theorem 5.1]. 9 Certifying Splittability We treat the splitting problem with a modification of the method described above. We use the criterion for splittability of a link given in Theorem 5.7. The construction of the certificate, and its verification, take place in the following steps. Splitting Link Certificate. 1. Given a link diagram D, construct a piecewise-linear link L in R3 that has regular projection D. From it construct a good triangulation of ML ∼ = S3 − RL which contains t tetrahedra, with t = O(n), and with a meridian marked in each component of ∂ML . (Use Lemma 7.1.) 25 2. Guess a suitable vertex solution v ∈ Z7t to the Haken normal equations for ML . (This solution can be written in polynomial length by Lemma 6.1.) Verify the quadrilateral disjointness conditions. Let S denote the associated normal surface, so v = v(S). 3. Verify that S is a sphere that splits two components of ∂ML . (a) Verify that S is connected by verifying that v is a minimal vertex solution. (b) Verify that S is a sphere by verifying that χ(S) = 2. (c) Verify that S separates two components T and T ′ of ∂ML by verifying that the number of intersections of S with the marked arc joining T and T ′ is odd. We obtain an algorithm for testing a link diagram for splittability by exhaustive search for a certificate of the kind above. The Splitting Link Algorithm searches the list LV of minimal vertex solutions given by (21). Theorem 9.1 There is a constant c′′ such that the Splitting Link Algorithm decides for any n-crossing link diagram whether it represents a splittable link using at most O(exp(c′′ n)) time and O(n2 log n) space, on a Turing machine. Proof. The correctness of the algorithm follows from the list LV being exhausting by Theorem 5.8 and from the splittability criterion Theorem 5.7. The connectivity of S and χ(S) = 2 imply that ∂S = ∅ and that S is a sphere. Each part of step (3) can be verified in polynomial time using O(n2 log n) space, by the arguments in the proof of Theorem 8.1. For step (3c), exhaustively check marked arcs which between them connect every pair of components of the link. There are at most O(n2 ) such marked arcs, each containing at most O(n) edges in ML , and we compute the intersection number ( mod 2) of each arc with S, as in Theorem 8.1. If S certifies a splitting of the link, then at least one arc will have odd intersection number with S. The exponential running time bound follows from the cardinality of LV (ML ) in (1) of Lemma 6.2.  Proof of Theorem 1.2. The existence and correctness of the Splitting Link Certificate follows from Theorems 5.7 and 5.8. The polynomial-time verifiability follows from the proof of Theorem 9.1 above.  10 Determining the Genus The unknotting algorithm of Section 8 can easily be generalized to solve the genus problem in polynomial space. 26 Genus Algorithm 1. Given a link diagram D verify that it is a knot diagram K. 2. As before, construct a piecewise-linear knot K in R3 that has regular projection K, together with a good triangulation of MK ∼ = S3 − RK which contains t tetrahedra, with t = O(n), and with a meridian marked in ∂MK . 3. Construct an exhausting list LH ⊂ Z7t that includes all fundamental solutions v ∈ Z7t to the Haken normal equations for MK . This list is taken to be LH = {v = (v1 , v2 , . . . , v7t ) ∈ Z7t : 0 ≤ vi ≤ t27t+2 } . 4. For each v ∈ L test if v is admissible. If so, let S denote a normal surface with v = v(S). The following steps test if S is a two-sided connected surface and, if so, compute its genus g(S) = g(v). 5. (a) Verify that S is connected by verifying the connectedness of an undirected graph with nodes corresponding to triangles in the triangulation of S and edges joining matching triangles. Otherwise go to the next v. (b) Verify that S is orientable by verifying the non-connectedness of an undirected graph with nodes representing each of the two sides of triangles in the triangulation and edges joining matching sides of matching triangles. (Since the surface S is connected and is an embedded surface in an orientable manifold, S is orientable if and only if it is two-sided.) (c) Verify that ∂S is non-empty and connected (as an undirected graph), so that it is topologically S1 . Otherwise go to next v. (d) Verify that ∂S is a longitude in ∂MK by verifying that the homology class [∂S] = (0, ±1) in H1 (∂MK ; Z/2Z). Otherwise go to next v. (e) Compute the genus g(S) = 1 − χ(S) . 2 6. Output the minimal value of g(S) found in step (4). We obtain the following complexity bound for this algorithm. Theorem 10.1 There is a constant c′′′ such that for any n ≥ 1 the Genus Algorithm computes the genus g(K) of the knot K represented by a given n′′′ 2 crossing knot diagram K and runs in time at most O(2c n ) and uses space at most O(n2 ) on a Turing machine. 27 Proof. The correctness of the Genus Algorithm follows from Corollary 5.5. It remains to bound the time and space requirements of each step of the algorithm. In running through the list LH , we do not attempt to recognize which vectors v give fundamental solutions. We simply compute the genus for each of them, whenever it is possible. We go through the list LH in lexicographic order. The key point is to show each step requires polynomial space. In Steps (5a), (5b) and (5c), we use the fact that in an undirected graph in which nodes can be written down in polynomial length and in which adjacency of nodes can be tested in polynomial space, the connectedness of the graph can be determined in polynomial space (see Savitch [31]). In step (5d), we compute the intersection number of ∂S with a marked meridian and longitude in ∂S. We trace the curve S, assigning an orientation to each segment, and keep a running total of the intersection number. This can be done in polynomial space. All other steps can be computed in polynomial time, as in Theorem 8.1. 2 The resulting time bound is dominated by the number of elements O(2c1 t ) in 2 LH , given by the proof of Lemma 6.2. A bound of O(2c2 t ) also occurs in the connectivity algorithms in (5a) and (5b). The space bound is dominated by steps (5a) and (5b), and is O(n2 ).  Proof of Theorem 1.3. This is immediate from Theorem 10.1.  11 Conclusion We know of no non-trivial lower bounds or hardness results for any of the problems we have discussed; in particular, we cannot even refute the implausible hypothesis that they can all be solved in logarithmic space. There are also a great many other knot properties and invariants apart from those considered here, and for many of them it is a challenging open problem to find explicit complexity bounds. One interesting question is whether the unknotting problem is in co-NP. Thurston’s geometrization theorem for Haken manifolds can be used to show that knot groups are residually finite [16]. It follows that a non-trivial knot has a representation into a finite permutation group with non-cyclic image. Unfortunately no way is yet known to bound the size of this group; if the number of symbols in the smallest such permutation group were bounded by a polynomial in the number of crossings, then the unknotting problem would be in co-NP. In practice the order of such a group seems to be quite small. Perhaps the most important of the open problems is to determine the complexity of the knot equivalence problem As mentioned before, a decision procedure is known (see Waldhausen [40] and Hemion [14]). However at present it is not even clear whether the resulting algorithm is primitive recursive. Acknowledgments. The authors thank J. Birman, R. Pollack, P. Shor, J. Sullivan and G. M. Ziegler for helpful comments and references. The second 28 author thanks J. Birman for introducing him to this problem and to J. Hass during the MSRI special year on Low-Dimensional Topology. 29 References [1] C. C. Adams, The Knot Book. An elementary introduction to the mathematical theory of knots, W. H. Freeman, New York 1994. [2] J. W. Alexander, Topological Invariants of Knots and Links, Trans. AMS 30 (1928) 275–306. [3] J. Birman, Braids, Links and Mapping Class Groups, Annals of Math. Studies No. 82, Princeton University Press, Princeton, NJ, 1974. [4] J. Birman, New Points of View in Knot Theory, Bull. AMS, 28 (1993) 253–287. [5] J. Birman and M. D. Hirsch, Recognizing the unknot, preprint 1997. [6] G. Burde and H. Zieschang, Knots, de Gruyter 1985. [7] H. de Frajsseix, J. Pach and R. Pollack, How to draw a planar graph on a grid, Combinatorica 10 (1990), 41–51. [8] M. Dehn, Über die Topologie des dreidimensional Raumes Math. Annalen, 69 (1910), 137–168. [9] M.R. Garey and D.S. Johnson, Computers and intractability. A guide to the theory of NP-completeness, W. H. Freeman, San Francisco, CA, 1979. [10] W. Haken, Theorie der Normalflachen, ein Isotopiekriterium für den Kreisknoten, Acta Math., 105 (1961), 245–375. [11] J. Hass Algorithms for recognizing knots and 3-manifolds, to appear in Chaos, Solitons and Fractals. [12] J. Hass and J. C. Lagarias, The number of Reidemeister moves needed for unknotting, preprint. [13] J. Hass, J. C. Lagarias and N. Pippenger, The computational complexity of knot and link problems, preliminary report, Proc. 38th Annual Symposium on Foundations of Computer Science, (1997), 172–181. [14] G. Hemion, The Classification of Knots and 3-dimensional Spaces, Oxford University Press: Oxford 1992. [15] J. Hempel, 3-Manifolds, Princeton University Press 1976. [16] J. Hempel, Residual finiteness for 3-manifolds, in Combinatorial group theory and topology, Ann. of Math. Stud. 111, Princeton Univ. Press, Princeton, NJ, 1987, 379–396. [17] J. E. Hopcroft and R. E. Tarjan, Efficient planarity testing, J. Assoc. Comp. Mach. 21 (1974), 549–568. 30 [18] W. Jaco and U. Oertel, An algorithm to decide if a 3-manifold is a Haken manifold, Topology, 23 (1984), 195–209. [19] W. Jaco and H. Rubinstein, P L Equivariant Surgery and Invariant Decompositions of 3-Manifolds, Advances in Math., 73 (1989), 149–191. [20] W. Jaco and J. L. Tollefson, Algorithms for the complete decomposition of a closed 3-manifold, Ill. J. Math., 39 (1995), 358–406. [21] F. Jaeger, D. L. Vertigan and D. J. A. Welsh, On the Computational Complexity of the Jones and Tutte Polynomials, Math. Proc. Cambridge Phil. Soc. 108 (1990), 35–53. [22] V. F. R. Jones, A Polynomial Invariant of Knots via von Neumann Algebras, Bull. AMS, 12 (1985), 103–111. [23] H. Kneser, Geschlossene Flachen in dreidimensionalen Mannigfaltigkeiten, Jahresbericht Math. Verein., 28 (1929), 248–260. [24] E. E. Moise, Affine structures in 3-manifolds V : The triangulation theorem and Hauptvermutung, Ann. Math., 56 (1952), 96–114. [25] K. Murasugi, Knot Theory and Its Applications, Birkhauser, Boston, MA, 1996. [26] C. D. Papakyriakopoulos, On Dehn’s Lemma and the Asphericity of Knots, Ann. Math., 66 (1957), 1–26. [27] N. Pippenger, Knots in Random Walks, Discr. Appl. Math., 25 (1989), 273–278. [28] M. O. Rabin, Recursive Unsolvability of Group-Theoretic Problems, Ann. Math., 67 (1958), 172–194. [29] K. Reidemeister, Knotentheorie; Ergebn. Math. Grenzgeb., Bd., 1 SpringerVerlag, Berlin 1932. (English translation: L. Boron, C. Christenson, B. Smith, BCS Associates, Moscow, ID, 1983.) [30] D. Rolfsen, Knot and Links, Publish or Perish Inc., Berkeley, CA, 1976. [31] W. J. Savitch, Relationship between Nondeterministic and Deterministic Tape Classes, J. Computer and System Sciences, 4 (1970), 177–192. [32] S. Sawin, Links, quantum groups and TQFTs, Bull. AMS, 33 (1996), 413445. [33] A. Schrijver, Theory of Linear and Integer Programming, John Wiley and Sons, New York 1986. [34] H. Schubert, Bestimmung der Primfactor zerlegung von Verkettungen, Math. Z., 76 (1961), 116–148. 31 [35] A. Sebö, Hilbert bases, Caratheodory’s theorem and combinatorial optimization, in Integer Programming and Combinatorial Optimization, R. Kannan and W. R. Pulleybank, eds., U. Waterloo Press 1990, 431–455. [36] H. Seifert, Über das Geschlecht von Knoten, Math. Annalen, 110 (1935), 571–592. [37] J. Stillwell, Classical Topology and Combinatorial Group Theory, SpringerVerlag, 1980. [38] L. J. Stockmeyer, The Polynomial Hierarchy, Theoretical Computer Science, 3 (1976), 1-22. [39] D. W. Sumners and S. G. Whittington, Knots in Self-Avoiding Walks, J. Phys. A, 21 (1988), 1689–1694. [40] F. Waldhausen, Recent results on sufficiently large 3-manifolds, Proc. Symp. Pure Math. Vol. 32, AMS, 1978, 21–38. [41] D. J. A. Welsh, Complexity: Knots, Colourings and Counting, Cambridge University Press, Cambridge 1993. [42] D. J. A. Welsh, The complexity of knots, in Quo Vadis, Graph Theory? J. Gimbel, J. Kennedy and L. V. Quintoo eds., North-Holland, Amsterdam, 1993, 159–173. (Also: Annals Disc. Math., 55 (1993), 159–173.) [43] D. J. A. Welsh, Knots and braids: some algorithmic questions, in Graph Structure Theory (Seattle, WA 1991), Contemporary Math. Vol. 147, AMS, Providence 1993, 109–123. email: hass@math.ucdavis.edu jcl@research.att.com nicholas@cs.ubc.ca 32