Zertifizierung von fp/flinspace/fpspace für imp

Transcription

Zertifizierung von fp/flinspace/fpspace für imp
TU Ilmenau, Fakultät IA
Institut TI, FG Komplexitätstheorie und Effiziente Algorithmen
PD Dr.rer.nat.habil. K.-H. Niggl
http://www.tu-ilmenau.de/fakia/akkt.html
Zertifizierung von fp/flinspace/fpspace für imp. Programme
Übungsblatt 1, WS05
Aufgabe 1 (Abschlußeigenschaften der Klassen E 2 und Rel(E2 ))
Bezeichne Rel(E2 ) die Menge der Relationen R ⊆ Nk , deren charakteristische Funktion c R : Nk → N
in E2 liegt, wobei cR (~x) := 1, falls R(~x) gilt, andernfalls c R (~x) := 0. Zeigen Sie:
.
(a) Die Funktionen P, −, +, max, sg, sg und cases liegen in E 2 , wobei
P (x) := max(x
− 1, 0)
1 falls x ≥ 1
sg(x) :=
0 sonst
y falls x = 0
cases(x, y, z) :=
z sonst.
.
x − y := max(x
− y, 0)
1 falls x = 0
sg(x) :=
0 sonst
(b) Rel(E2 ) ist abgeschlossen unter Aussagenlogik und beschränkter Quantifikation, d.h.
• gehören R, Q ⊆ Nk zu Rel(E2 ), so auch ¬R, R ∧ Q und R ∨ Q
• gehört R ⊆ Nk+1 zu Rel(E2 ), so auch ∀i ≤ x : R(i, ~y ) und ∃i ≤ x : R(i, ~y ).
(c) E2 ist abgeschlossen unter beschränktem µ-Operator, d.h. gehört R ⊆ Nk+1 zu Rel(E2 ), so
auch µR : Nk+1 → N, wobei
min{i < x | R(i, ~y )} falls {i < x | R(i, ~y )} 6= ∅
µR (x, ~y ) := µ i < x [R(i, ~y )] :=
x sonst.
Hinweis zu (c): Definiere h ∈ E2 mit h(i, ~y ) = Anzahl der j ≤ i mit R(j, ~y ). Damit gilt sg(h(i, ~y )) =
1 ⇔ ∀j ≤ i. ¬R(j, ~y ). Nun summiert man diese Information geeignet zu µ R (x, ~y ) auf.
Aufgabe 2 (Tupelkodierung und simultane beschränkte Rekursion)
P
Betrachten Sie die Paarkodierung π : N×N → N, π(x, y) := ( i≤x+y i)+y, die alle Paare (x, y) ∈ N2
in folgender Weise numeriert:
(0, 0)
(0, 1)
(0, 2)
(0, 3)
...
(1, 0)
(1, 1)
(1, 2)
(1, 3)
...
(2, 0)
(2, 1)
(2, 2)
(2, 3)
...
(3, 0)
(3, 1)
(3, 2)
(3, 3)
...
..
.
Mit Hilfe der folgenden Dekodierungsfunktionen π 0 , π1 : N → N
π0 (z) := µ x ≤ z [∃y ≤ z : π(x, y) = z]
Projektion auf x
π1 (z) := µ y ≤ z [∃x ≤ z : π(x, y) = z]
Projektion auf y
kann man jede Zahl n in seine Komponenten π 0 (n), π1 (n) zerlegen, d.h. es gilt n = π(π0 (n), π1 (n)).
2
Zertifizierung von fp/flinspace/fpspace für imp. Programme
Übungsblatt 1, WS05
Mittels Paarkodierung und Projektionen kann man die m-Tupel-Kodierung (m ≥ 1) π m : Nm → N
m : N → N wie folgt induktiv definieren:
und die zugehörigen Dekodierungen π1m , . . . , πm
π 1 := id
π m+1 (x1 , . . . , xm+1 ) := π(π m (x1 , . . . , xm ), xm+1 )
π11 := id
m
πi (π0 (x))
m+1
πi (x) :=
π1 (x)
falls i ≤ m
sonst
Zeigen Sie:
(a) π m ist bijektiv.
(b) Für z, x1 , . . . , xm ∈ N gilt:
m (z)) = z
• π m (π1m (z), . . . , πm
• πim (π m (x1 , . . . , xm )) = xi für i = 1, . . . , m
m ∈E
(c) π m , π1m , . . . , πm
2
(d) E2 ist abgeschlossen unter simulater beschränkter Rekursion, d.h. sind g1 , . . . , gm : Nk → N
und h1 , . . . , hm : Nk+1+m → N sowie b1 , . . . , bm : Nk+1 → N Funktionen in E2 , so auch die
Funktionen f1 , . . . , fm : Nk+1 → N, die die folgenden Rekursionsgleichungen erfüllen
fi (~x, 0) = gi (~x)
fi (~x, y + 1) = hi (~x, y, f1 (~x, y), . . . , fm (~x, y))
(für i = 1, . . . , m) sowie die punktweise Beschränkung f1 ≤ b1 , . . . , fm ≤ bm .
Hinweis: Es genügt, (a), (b) für m = 2 zu zeigen, d.h. für π, π0 , π1 . Die Surjektivität von π zeigt
man durch Induktion nach n. Für die Injektivität von π, also (x1 , y1 ) 6= (x2 , y2 ) ⇒ π(x1 , y1 ) 6=
π(x2 , y2 ), unterscheidet man die Fälle x1 + y1 = x2 + y2 und x1 + y1 6= x2 + y2 . Die Abschlußeigenschaft in (d) führt man mittels Kodierung und Dekodierung auf den Abschluß von E 2 unter
beschränkter primitiver Rekursion zuück.
Aufgabe 3 (flinspace enthält E2 )
Bezeichne α q β die Konfiguration einer Turingmaschine, in der der Lese-/Schreibkopf im Zustand
q auf dem ersten Symbol von β steht, falls β 6= , und andernfalls auf dem Blanksymbol B. Ferner
bezeichne bin(~x) für ~x := x1 , . . . , xk ∈ N das Wort bin(x1 )# . . . #bin(xk ). Zeigen Sie:
(a) Zu jedem f ∈ flinspace gibt es ein Polynom p f , so daß stets f (~x) ≤ pf (~x) gilt.
(b) Zu jedem f : Nk → N in E2 findet man eine 1-Band-TM M mit Bandalphabet Γ ⊇ {0, 1, #},
Startzustand qstart und Haltezustand qstop , so daß für alle α ∈ Γ∗ und ~x := x1 , . . . , xk gilt:
αB qstart bin(~x) `∗M αB bin(~x)# qstop bin(f (~x))
Ferner gilt für den Speicherplatzbedarf von M auf Eingabe bin(~x), in Zeichen s M (~x), stets
sM (~x) ≤ c · max k~xk für eine Konstante c > 0. Wir schreiben dafür M ∈ TM(f ; c).
Hinweis: Teil (b) ergibt sich durch Induktion über den Aufbau von f ∈ E2 , wobei man im Fall f =
BR(g, h, b) aus Mg ∈ TM(g; c) und Mh ∈ TM(h; d) eine iterative Turingmaschine M f ∈ TM(f, cf )
konstruiert, die mit den schrittweise sich aufbauenden Vorgängerwerten sehr sparsam umgeht. Die
Konstante cf ergibt sich durch Abschätzung der Größe der so auftretenden Zwischenergebnisse.