Lecture 3:
Immermann-Szelepcsenyi (1987)
got the Gödel Prize in 1995! ⟶ solved many problems in the aftermath
Th: Immermann-Szelepcsenyi:
for
Reminder: GAP is a.k.a REACH
First step:
is there NO path between
We will guess the set of reachable states, but we can’t remember them (too large: doesn’t fit in Logspace) ⟶ instead, one remembers their number
d = 0; N = 1
repeat
pN = N # previous value of N
N = 0
for all nodes n in G:
new = false # is it a new one ?
cpt = 0
for all nodes n' in G:
guess if s ⟶_≤d n' # the NL algo for GAP
if yes:
cpt += 1
if n' ⟶_≤1 n:
-> if n == t: reject
N += 1
new = true
if cpt < pN:
reject # the machine has forgotten some paths s ⟶_≤d n'
d = d+1 # N is the new value
until N = pN
-> now accept
The run which always guesses right gives the correct computation.
What about
Now when it comes to our
Let
⟹ there exists a non-deterministic TM
Given
⟹ Now the graph is the configurations of
But one has to add those instructions:
(at the beginning)
size seen so far = size of |x|
(after the initial repeat)
configuration of size ≤ size seen so far + O(1)
# to go from one node to another, without testing all the possible configurations (it would require that f is computable)
NB:
Corollary: for
:
And as
And __
Conjecture:
QBF: Quantified Boolean Formulae
Ex:
Recursive algorithm:
eval(φ):
if φ = ∃x. ψ:
eval(ψ[x←true]) or eval(ψ[x←false])
if φ = ∀x. ψ:
eval(ψ[x←true]) and eval(ψ[x←false])
if φ = ψ ∨ χ:
eval(ψ) or eval(χ)
if φ = ψ ∧ χ:
eval(ψ) and eval(χ)
if φ = true:
return true
else:
return false
Stack of size
is -complete
Proof: we will reuse the same ideas than when we showed that
We will assume, wlog, that the machine writes on the input tape, in space
As the space is now in
The problem is that the formulas “going from
Leave a comment