Zertifizierung von fp/flinspace/fpspace für imp

Transcription

Zertifizierung von fp/flinspace/fpspace für imp
TU Ilmenau, Fakultät IA
Institut Theoretische Informatik
FG Komplexitätstheorie und Effiziente Algorithmen
Priv.-Doz. Dr.rer.nat.habil. K.-H. Niggl
http://www.tu-ilmenau.de/iti/...
Zertifizierung von fp/flinspace/fpspace für imp. Programme
Übungsblatt, WS10/11
Aufgabe 1 (Monotonie-Eigenschaften der Ackermannschen Zweige)
Beweisen Sie jeweils durch Induktion nach n und Nebeninduktion nach y (wo vorhanden) im
Induktionsschritt die folgenden Monotonie-Eigenschaften der n-ten Ackermannschen Zweige:
1.
2.
3.
4.
5.
6.
7.
An (x, 1) = x für n ≥ 2, x ≥ 0.
An (1, y) = 1 für n ≥ 3, y ≥ 0.
An (x, y) ≥ 1 für n ≥ 3, x ≥ 1, y ≥ 0.
An (x, y) > y für n ≥ 3, x ≥ 2, y ≥ 0.
An (x, y + 1) > An (x, y) für n ≥ 0, x ≥ 2, y ≥ 0.
An (x + 1, y) ≥ An (x, y) für n ≥ 0, x ≥ 0, y ≥ 0.
An+1 (x, y) ≥ An (x, y) für n ≥ 2, x ≥ 2, y ≥ 0.
Hinweis. Beweisen Sie zunächst die Anfangsfälle (a) A1 (x, y) = x + y, (b) A2 (x, y) = x · y und (c)
A3 (x, y) = xy . Zu (6): Zeigen Sie zuächst An (0, y) ≤ 1 für n ≥ 2, y ≥ 0 und dann mittels (a), (b),
(2), (3) die Anfangsfälle An (1, y) ≥ An (0, y) und An (2, y) ≥ An (1, y) für n, y ≥ 0. Damit kann
man im I.S. der Nebeninduktion nach y annehmen, daß x ≥ 2 gilt.
Aufgabe 2 (Abschlußeigenschaften der Klassen En und Rel(En ))
Bezeichne Rel(En ) die Menge der Relationen R ⊆ Nk , k ∈ N, deren charakteristische Funktion
cR : Nk → N in En liegt, wobei cR (~x) := 1, falls R(~x) gilt, andernfalls cR (~x) := 0. Zeigen Sie:
.
(a) Die Funktionen P, −, sg, sg, sm, sm, sa, sa liegen in E0 , wobei
P (x) := max(0, x−1)
1 falls x ≥ 1
sg(x) :=
0 sonst
sm(x, y) := y · sg(x)
sa(x, y) := x + sg(y)
.
x − y := max(0, x−y)
1 falls x = 0
sg(x) :=
0 sonst
sm(x, y) := y · sg(x)
sa(x, y) := x + sg(y)
(b) Rel(En ), n ≥ 0, ist abgeschlossen unter Aussagenlogik und beschränkter Quantifikation, d.h.
• gehören R, Q ⊆ Nk zu Rel(En ), so auch ¬R, R ∧ Q, R ∨ Q,
• gehört R ⊆ Nk+1 zu Rel(En ), so auch ∀i ≤ x. R(i, ~y ) und ∃i ≤ x. R(i, ~y ).
(c) Für n ≥ 0 ist En abgeschlossen unter beschränktem µ-Operator, d.h. gehört R ⊆ Nk+1 zu
Rel(En ), so gehört µR : Nk+1 → N zu En , wobei
min{i < x | R(i, ~y )} falls {i < x | R(i, ~y )} =
6 ∅
µR (x, ~y ) := µ i < x [R(i, ~y )] :=
x
sonst.
(d) Aus f = R(g, h) mit g, h ∈ En folgt f ∈ Emax(2,n)+1 .
Hinweis: Für (c) definiere man 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. Für (d) verwende Lemma An -Abschätzung (vgl. Folien) für eine gemeinsame Abschätzung
von g, h in Am+1 , m := max(2, n). Daraus gewinnt man mittels Satz En -Wachstum (vgl. Folien)
eine Abschätzung von f in Em+1 .
2
Zertifizierung von fp/flinspace/fpspace für imp. Programme
Übungsblatt, WS10/11
Aufgabe 3 (Tupelkodierung)
P
Betrachten Sie die Paarkodierung π : N × N → N, π(x, y) := ( i≤x+y i) + y, aus der Vorlesung
(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)
...
.
..
zusammen mit den zugehörigen 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
Daraus definieren wir induktiv eine m-Tupel-Kodierung (m ≥ 1) π m : Nm → N und die zugehörigen
m : N → N wie folgt:
Dekodierungen π1m , . . . , πm
π 1 := id
π m+1 (x1 , . . . , xm+1 ) := π(π m (x1 , . . . , xm ), xm+1 )
π11 := id
πim (π0 (x))
πim+1 (x) :=
π1 (x)
falls i ≤ m
sonst
Zeigen Sie:
(a) π m ist eine Bijektion.
m (z)) = z und π m (π m (x , . . . , x )) = x für i = 1, . . . , m.
(b) Es gilt π m (π1m (z), . . . , πm
1
m
i
i
m
m
m
(c) π , π1 , . . . , πm ∈ E2
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 .
Aufgabe 4 (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) Jedes f ∈ flinspace besitzt ein Beschränkungspolynom pf , d.h. es gilt f (~x) ≤ pf (~x).
(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 sM (~x), stets
sM (~x) ≤ c · max k~xk für eine Konstante c > 0. Wir schreiben dafür M ∈ TM(f ; c).
Hinweis: (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 Mf ∈ 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.