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
Zertifizierung von fp/flinspace/fpspace für imp. Programme
Ergänzung zu Aufgabe 3 des Übungsblattes (SS13)
Betrachten Sie erneut die Paarcodierung π : N × N → N, definiert durch
X π(x, y) :=
i + y.
i≤x+y
Die Paare (x, y) ∈ N2 erhalten danach eine (eindeutige) Nummer π(x, y) in der Reichenfolge wie
sie im folgenden Bild dargestellt ist:
(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)
...
.
..
Um dies besser zu verstehen, bezeichne
Dn := {(x, y) ∈ N | n = x + y}
die n-te Diagoale in obigem Bild.
Nun zeigt man durch vollständige Induktion nach n ≥ 0 die Surjektivität von π:
∀n ∈ N ∃ x, y ∈ N : n = π(x, y)
n = 0 Klar, da 0 = π(0, 0). n → n+1 Gelte die I.V. n = π(x, y) für gewisse x, y ∈ N.
1. Fall: x ≥ 1, d.h. (x, y) ist innerer Punkt der Diagonale Dx+y .
Es folgt: n+1 ist die Nummer des nächsten Punktes in Dx+y , d.h.
n+1 = π(x−1, y+1).
2. Fall: x ≥ 0, d.h. (x, y) ist Endpunkt der Diagonale Dx+y .
Nun gilt: n+1 ist die Nummer des esten Punktes der nächsten Diagonale Dy+1+0 , d.h.
n+1 = π(y+1, 0).
Wendet man dieses Verfahren auf die im Bild gezeigten Anfangsfälle an, so erhalten die Paare
(x, y) ∈ N2 tatsächlich eine Nummer π(x, y) in der Reichenfolge wie im Bild dargestellt.
Für die Eindeutigkeit der π-Nummern (Injektivität von π) zeigt man separat folgende Aussage:
∀x1 , x2 , y1 , y2 ∈ N : (x1 , y1 ) 6= (x2 , y2 ) =⇒ π(x1 , y1 ) 6= π(x2 , y2 )