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.