Upload
walter-walker
View
216
Download
1
Embed Size (px)
Citation preview
NL equals coNLNL equals coNL
Section 8.6
Giorgi Japaridze
Theory of Computability
Giorgi Japaridze
Theory of Computability
NL equals coNLNL equals coNL
Section 8.6
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: PATHcoNL, 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 AcoNL. 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,ANL. To summarize, as long as (*) is true, we have ANL iff AcoNL 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’.
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.
Computing the number c 8.6.c Giorgi Japaridze Theory of Computability
For each i=0,1,...,m, let Ai be the set of nodes at a distance i from s, and ci be the number of such nodes. Thus, c0=1 and cm=c. M calculates ci+1 from ci by going through all the nodes of G, determining whether each is a member of Ai+1, and counting the members.
To determine whether a node v is in Ai+1, M uses an inner loop to go through all the nodes of G and guesses whether each node is in Ai. Eachpositive guess is verified by a path of length i from s. For each node u verified to be in Ai, M tests whether (u,v) is an edge of G. If it is an edge,v is in Ai+1. Additionally, the number of nodes verified to be in Ai is counted. At the completion of the inner loop, if the total number of nodes verified to be in Ai is not ci, not all members of Ai have been found, so this computation branch rejects. If the count equals ci and v has not yetbeen shown to be in Ai+1, M concludes that it isn’t in Ai+1. Then M goes on to the next v in the outer loop.
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)