Download presentation
Presentation is loading. Please wait.
Published byWalter Walker Modified over 9 years ago
2
NL equals coNL Section 8.6 Giorgi Japaridze Theory of Computability
3
Giorgi Japaridze Theory of Computability NL equals coNL Section 8.6
4
The statement of the theorem and the main lemma (*) 8.6.a Giorgi Japaridze Theory of Computability Theorem 8.27 NL = coNL. Proof Idea. It is sufficient to prove the following: PATH coNL, i.e. PATH’ NL (*) coNL is defined as {A | the complement A’ of A is in NL}. Indeed, assuming that (*) holds, consider any language A in NL. Since PATH is NL-complete, there is a log space reduction f of A to PATH. The same f, of course, is also a log space reduction of A’ to PATH’. By (*), however, PATH’ NL. Hence A’ NL and thus A coNL. For the opposite direction, consider any language A in coNL, so that A’ NL. Then there is a log space reduction f of A’ to PATH. Hence f is also a reduction of A to PATH’. By (*), however, PATH’ NL. So, A NL. To summarize, as long as (*) is true, we have A NL iff A coNL for all A, meaning that NL=coNL. It remains to understand why (*) holds. This will be done through constructing an NL algorithm M for PATH’.
5
Solving PATH’ when c is known 8.6.b Giorgi Japaridze Theory of Computability Let c be the number of nodes in graph G that are reachable from the start node s, and assume c is already known. Let m be the number of all nodes. One by one, M goes through all nodes of G and nondeterministically guesses whether each node is reachable from s. Whenever a node u is guessed to be reachable, M verifies this guess by additionally guessing a path (of length m) from s to u, and rejects if the guessed path does not hit u. In addition, if the target node t is ever guessed to be reachable, M rejects. M counts the number of nodes (successfully) guessed to be reachable and, once this number hits c, M accepts. That is because M knows that the remaining nodes, including t, are not reachable, so there is no path from s to t. It now remains to see how M can compute c in logarithmic space.
6
Computing the number c 8.6.c Giorgi Japaridze Theory of Computability For each i=0,1,...,m, let A i be the set of nodes at a distance i from s, and c i be the number of such nodes. Thus, c 0 =1 and c m =c. M calculates c i+1 from c i by going through all the nodes of G, determining whether each is a member of A i+1, and counting the members. To determine whether a node v is in A i+1, M uses an inner loop to go through all the nodes of G and guesses whether each node is in A i. Each positive guess is verified by a path of length i from s. For each node u verified to be in A i, M tests whether (u,v) is an edge of G. If it is an edge, v is in A i+1. Additionally, the number of nodes verified to be in A i is counted. At the completion of the inner loop, if the total number of nodes verified to be in A i is not c i, not all members of A i have been found, so this computation branch rejects. If the count equals c i and v has not yet been shown to be in A i+1, M concludes that it isn’t in A i+1. Then M goes on to the next v in the outer loop.
7
L, NL and coNL versus P and PSPACE 8.6.d Giorgi Japaridze Theory of Computability This is what we know: 1. L NL = coNL P PSPACE 2. L, NL, coNL PSPACE Open problems: 1. L = NL, coNL? 2. NL, coNL = P? 3. P = PSPACE? At least one of these two equalities does not hold; but which one we do not know (probably both)
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.