Konfiguration von TM M bei Eingabe w und höchstens N Zellen/A

13.1.2016
Konfiguration von TM M bei Eingabe w und
höchstens N Zellen/A-Band
Inhalt
Eingabeband
Lesekopf
Position
Zustand
{w}
× {1,L,|w|} ×
Q
Inhalt der k
Arbeitsbänder
×
( ΓN )k
KGM(w,N) Konfigurationsgraph von TM M bei Eingabe w und
×
Sei γ : N → R beliebig langsam wachsend,
aber nicht-fallend und limn→∞γ(n) = ∞
höchstens N Zellen/A-Band
n=|w|
Positionen der k
Lese/Schreibköpfe
Knoten:
Kanten:
{1,L,N}k
z.B. γ(n) = log log log log log n
Konfigurationen
[C,C’ wenn M in einem Rechenschritt
von Konf. C zu Konfig. C’ kommt
Sei f(n) ≥ log2n
Satz A: (Verhältnis zwischen det. Zeit und Platz)
DTIME( f(n) ) ⊆ DSPACE( f(n) ) ⊆ DTIME( 2γ(n)f(n) )
KGM(w,N) Konfigurationsgraph von TM M bei Eingabe w und
höchstens N Zellen/A-Band
Knoten:
Kanten:
Anzahl der Knoten: Konfigurationen {1,L,|w|}× Q × ( ΓN )k ×{1,L,N}k
[C,C’ wenn M in einem Rechenschritt
von Konf. C zu Konfig. C’ kommt
Anzahl der Knoten: n·|Q|·|Γ|kN·Nk
Anzahl der Kanten: α·n·|Q|·|Γ|kN·Nk
n·|Q|·|Γ|kN·Nk
AN
(falls N≥ log2 n)
A eine von M
abh. Konstante
Eingrad und Ausgrad jedes Knoten α
α eine von M
abh. Konstante
n=|w|
α eine von M
abh. Konstante
13.1.2016
1
13.1.2016
Sei γ : N → R beliebig langsam wachsend,
aber nicht-fallend und limn→∞γ(n) = ∞
2
13.1.2016
Sei γ : N → R beliebig langsam wachsend,
aber nicht-fallend und limn→∞γ(n) = ∞
Sei f(n) ≥ log2n
Lemma A: (i) L ∈ DTIME( f(n) ) ⇒ L ∈ DSPACE( f(n) )
z.B. γ(n) = log log log log log n
z.B. γ(n) = log log log log log n
(ii) L ∈ DSPACE( f(n) ) ⇒ L ∈ DTIME( Af(n) )
Sei f(n) ≥ log2n
Sei f(n) ≥ log2n
für eine von L abh.
Konstante A
Satz A: (Verhältnis zwischen det. Zeit und Platz)
Lemma A: (i) L ∈ DTIME( f(n) ) ⇒ L ∈ DSPACE( f(n) )
(ii) L ∈ DSPACE( f(n) ) ⇒ L ∈ DTIME( Af(n) )
(und so, dass es mit O(f(n)) Platz berechnet werden kann)
Satz B: (Verhältnis zwischen deterministischer und nicht-det. Zeit)
DTIME( f(n) ) ⊆ DSPACE( f(n) ) ⊆ DTIME( 2γ(n)f(n) )
Bew: (i) trivial
(ii) M det. TM für L mit Platzverbrauch f(n)
w Eingabe für M
n=|w|, N=f(n)
3
DTIME( f(n) ) ⊆ NTIME( f(n) ) ⊆ DTIME( 2γ(n)f(n) )
( ≥ log2 n )
Berechnung von M entspricht Pfad durch KGM(w,N)
für eine von L abh.
Konstante A
KGM(w,N) hat höchstens AN Knoten
⇒ M macht auf Eingabe w höchstens AN viele Schritte (sonst Endlosloop ! )
⇒ M entscheidet L in Zeit Af(n) ⇒ L ∈ DTIME( Af(n) )
13.1.2016
4
13.1.2016
5
13.1.2016
6
1
13.1.2016
Sei f(n) ≥ log2n
Sei γ : N → R beliebig langsam wachsend,
aber nicht-fallend und limn→∞γ(n) = ∞
Sei f(n) ≥ log2n
Sei γ : N → R beliebig langsam wachsend,
aber nicht-fallend und limn→∞γ(n) = ∞
Lemma B: (i) L ∈ DTIME( f(n) ) ⇒ L ∈ NTIME( f(n) )
(ii) L ∈ NTIME( f(n) ) ⇒ L ∈ DTIME( Af(n) )
z.B. γ(n) = log log log log log n
z.B. γ(n) = log log log log log n
Sei f(n) ≥ log2n
für eine von L abh.
Konstante A
(und so, dass es mit O(f(n)) Platz berechnet werden kann)
(und so, dass es mit O(f(n)) Platz berechnet werden kann)
Satz C: (Verhältnis zwischen deterministischem und nicht-det. Platz) (Savitch)
Satz B: (Verhältnis zwischen deterministischer und nicht-det. Zeit)
Bew: (i) trivial
(ii) M nicht-det. TM für L mit Zeitverbrauch und daher Platzverbrauch f(n)
w Eingabe für M
n=|w|, N=f(n) ( ≥ log2 n )
DTIME( f(n) ) ⊆ NTIME( f(n) ) ⊆ DTIME( 2γ(n)f(n) )
Lemma B: (i) L ∈ DTIME( f(n) ) ⇒ L ∈ NTIME( f(n) )
DSPACE( f(n) ) ⊆ NSPACE( f(n) ) ⊆ DSPACE( f 2(n) )
Berechnung von M entspricht Pfad durch KGM(w,N)
von init(w) zu einer Endkonfiguration
(ii) L ∈ NTIME( f(n) ) ⇒ L ∈ DTIME( Af(n) )
KGM(w,N) hat höchstens AN Knoten und O(AN ) Kanten
für eine von L abh.
Konstante A
⇒ det. TM M’ macht Tiefensuche (DFS) in KGM(w,N) und testet, ob
eine Endkonfiguration von init(w) erreichbar; braucht Zeit O( # Kanten )
⇒ M’ entscheidet L in Zeit O(Af(n)) ⇒ L ∈ DTIME( Af(n) )
13.1.2016
7
13.1.2016
Lemma C: (i) L ∈ DSPACE( f(n) ) ⇒ L ∈ NSPACE( f(n) )
Sei γ : N → R beliebig langsam wachsend,
aber nicht-fallend und limn→∞γ(n) = ∞
(ii) L ∈ NSPACE( f(n) ) ⇒ L ∈ DSPACE( f(n)2 )
z.B. γ(n) = log log log log log n
Sei f(n) ≥ log2n
8
(und so, dass es mit O(f(n)) Platz berechnet werden kann)
Bew: (i) trivial
(ii) M nicht-det. TM für L mit daher Platzverbrauch f(n)
w Eingabe für M
n=|w|, N=f(n) ( ≥ log2 n
Satz C: (Verhältnis zwischen deterministischem und nicht-det. Platz) (Savitch)
DSPACE( f(n) ) ⊆ NSPACE( f(n) ) ⊆ DSPACE( f 2(n) )
13.1.2016
9
Lemma C:
L ∈ NSPACE( f(n) ) ⇒ L ∈ DSPACE( f(n)2 )
Lemma D:
L ∈ NSPACE( f(n) ) ⇒ L ∈ NSPACE( f(n) )
)
Berechnung von M entspricht Pfad durch KGM(w,N)
von init(w) zu einer Endkonfiguration
Lemma C: (i) L ∈ DSPACE( f(n) ) ⇒ L ∈ NSPACE( f(n) )
KGM(w,N) hat höchstens AN Knoten und O(AN ) Kanten (A konstant)
(ii) L ∈ NSPACE( f(n) ) ⇒ L ∈ DSPACE( f(n)2 )
Daher ist die Darstellungsgröße von Knoten O(log AN) = O(N·log A) = O(f(n))
⇒ Brauche det. TM M’ (deterministischen Algorithmus) zum Testen,
ob in KGM(w,N) eine Endkonfiguration von init(w) erreichbar ist;
Dieser Algorithmus soll wenig Platz brauchen !!
13.1.2016
10
13.1.2016
11
13.1.2016
12
2
13.1.2016
Lemma C:
Lemma D:
Abstraktes Problem:
L ∈ NSPACE( f(n) ) ⇒ L ∈ DSPACE( f(n)2 )
Für Beweis von Lemma C, deterministische Lösung mit
O(log2|V|) Platzverbrauch
Gerichteter Graph G = (V,E) ist implizit gegeben, d.h. man kann
(i) die Knoten in V aufzählen
(ii) für zwei Knoten u,v testen, ob u=v
(iii) für zwei Knoten u,v testen, ob [u,v ∈ E
und zwar jeweils mit Speicherverbrauch O(log |V|) (Knotendarstel-
L ∈ NSPACE( f(n) ) ⇒ L ∈ NSPACE( f(n) )
Der Beweis reduziert sich auf “Berechnen” von Erreichbarkeit in
einem sehr großen, implizit gegebenen Graphen. Es muss die Frage
beantwortet werden
erreichbar( s , v, λ ) = if λ =0 then return (s=v)
if λ =1 then return (s=v) or [s,v∈E
else
for each m∈V do
if
erreichbar( s , m , ⌊λ/2⌋ )
and erreichbar( m , v ,⌈λ /2⌉ )
then return true
endfor
return false
lungsgröße)
Berechne
∃ gerichteter Pfad von startw zu einer Endkonfiguration im
Konfigurationsgraphen KGM(w,N)
erreichbar( s , v, λ ) . . . gibt es in G einen gerichteten Pfad
von s nach v der Länge höchstens λ ?
n=|w| N=f(n)
Laufzeit: O((log λ)· Darstellungsgröße(v) ) = O (log2|V|) mit λ=|V|
13.1.2016
13
13.1.2016
14
13.1.2016
15
3