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.