33
EINF ¨ UHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2016 9. UNVERSELLE MASCHINEN UND UNIVERSELLE FUNKTIONEN Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 1 / 33

einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

  • Upload
    lycong

  • View
    215

  • Download
    3

Embed Size (px)

Citation preview

Page 1: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

EINFUHRUNG IN DIE THEORETISCHEINFORMATIK

Prof. Dr. Klaus Ambos-Spies

Sommersemester 2016

9. UNVERSELLE MASCHINEN UNDUNIVERSELLE FUNKTIONEN

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 1 / 33

Page 2: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

In diesem Abschnitt zeigen wir die Existenz universeller Turing-maschinen U. Solch eine Maschine U simuliert (interpretiert) alleTuringmaschinen (genauer: alle geeignet normierten TM zurBerechnung eines gegebenen Typs von Funktionen).

Dies ist die theoretische Grundlage fur die Konstruktion vonUniversalrechnern (Computern).

Aus der Existenz universeller TMs folgt: Alle n-st. partiell rekursivenFunktionen lassen sich als Zweige einer einzigen (n + 1)-st. partiellrekursiven Funktion ϕ zusammenfassen.

Mit Hilfe der Existenz universeller Turingmaschinen bzw. universellerpartiell rekursiver Funktionen werden wir im nachsten Kapitel dieNichtrekursivitat (d.h. Unentscheidbarkeit) des Terminierungsproblems(=Halteproblem) zeigen.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 2 / 33

Page 3: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

9.1 Universelle partiell rekursive Funktionenund universelle Turingmaschinen

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 3 / 33

Page 4: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Universelle Funktionen

DEFINITION. Sei F eine Klasse von (partiellen) Funktionen uber N. Eine(partielle) Funktion ϕ(n+1) ist n-universell fur F, wenn folgendes gilt:

(i) ϕ ∈ F

(ii) Zu jeder n-stelligen (partiellen) Funktion ψ(n) ∈ F gibt es eine Zahl e ∈ N,sodass ψ(~x) = ϕ(e,~x) fur alle~x ∈ Nn.

Eine Zahl e wie in (ii) heißt ein Index von ψ bzgl. ϕ.

Wir schreiben auch ϕe(~x) statt ϕ(e,~x) und nennen ϕe den e-ten Zweig von ϕ.

NB. Eine n + 1-stellige (partielle) Funktion ϕ ∈ F ist also genau dannn-universell fur eine gegen explizite Definitionen abgeschlosseneFunktionenklasse F, wenn ihre Zweige gerade alle n-st. (partiellen)Funktionen in F sind (wobei verschiedene Zweige nicht notwendigerweiseverschiedene Funktionen sein mussen): F(n) = {ϕe : e ≥ 0}.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 4 / 33

Page 5: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Universelle partiell berechenbare Funktionen (1)

Eine n-universelle Funktion ϕ fur die Klasse der partiell berechenbarenFunktionen konnen wir mit Hilfe der Church-Turing-These wie folgt erhalten.

Wir benutzen zunachst die bereits im Beweis des Aquivalenzsatzesverwendete Idee der Godelisierung: Wir ordnen einer (wie im letzten Kapitelnormierten) Turing-Maschine M eine Zahl pMq (= die Godelnummer von M)so zu, dass sich aus pMq die Maschine M effektiv rekonstruieren lasst undman effektiv feststellen kann, ob eine Zahl Godelnummer einer Maschine Mist. Z.B. konnen wir der normierten Maschine

M = ({0},n,{0},{0, . . . ,p},{0, . . . ,q},0,δ)

die Godelnummer pMq = 〈p,q,pδq〉 zuordnen (die anderen Parameter sindfest vorgegeben!), wobei pδq = 〈pI0q, . . . ,pImq〉fur die ProgrammzeilenI0, . . . , Im von δ ist, und eine Programmzeile I = (z,a,a′,B,z ′) durch die ZahlpIq = 〈z,a,a′, B,z ′〉 (mit L = 0, S = 1, R = 2) kodiert wird.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 5 / 33

Page 6: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Universelle partiell berechenbare Funktionen (2)Mit Hilfe der Godelisierung der normierten Turingmaschinen definieren wirdann die universelle Funktion ϕ durch

ϕ(e,~x) =

{ϕM(~x) falls e = pMq

0 sonst.

Berechnungsverfahren fur ϕ (Idee):

Bei Eingabe (e,~x) ∈ Nn+1 verfahre wie folgt:

Prufe, ob e die Godelnummer pMq einer TM M (vom richtigen Typ) ist.Falls nein, gebe ϕ(e,~x) = 0 aus. Falls ja, bestimme die Maschine M undsimuliere M bei Eingabe~x . Liefert diese Simulation das Ergebnis y , sogebe ϕ(e,~x) = y aus. (Terminiert M nicht, so terminiert die Simulationnaturlich ebenfalls nicht und das Ergebnis ist undefiniert: ϕ(e,~x) ↑).

Nach der Church-Turing-These (und dem Aquivalenzsatz) folgt hieraus dieExistenz universeller partiell rekursiver Funktionen. Wegen der Bedeutungdieses Ergebnisses wollen wir dies jedoch ohne Ruckgriff auf die Church-Turing-These zeigen, indem wir obiges Argument formalisieren und so eineuniverselle Turingmaschine konstruieren.Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 6 / 33

Page 7: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Universelle partiell rekursive Funktionen

SATZ UBER DIE EXISTENZ UNIVERSELLER PART. REK.FUNKTIONEN. Sei n ≥ 1. Es gibt eine partiell rekursive Funktion

ϕ : Nn+1→ N,

deren Zweige gerade die n-stelligen partiell rekursiven Funktionensind. D.h. ϕ ist n-universell fur F(REC).

Wir beweisen den Satz, indem wir die Existenz universellerTuringmaschinen nachweisen. Dabei beschranken wir uns nicht aufden benotigten Typ von Turingmaschinen zur Berechnungzahlentheoretischer Funktionen sondern betrachten beliebige TMs.(Wir werden dieses allgemeinere Ergebnis im Vorlesungsteil uber dieKomplexitatstheorie benotigen; aus diesem Grund werden wir imFolgenden auch die Komplexitat der univ. Maschine betrachten.)

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 7 / 33

Page 8: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Universelle Turingmaschinen

SATZ UBER DIE EXISTENZ UNIVERSELLER TURINGMASCHINEN. Zujedem Alphabet Σ und zu jeder Stelligkeit n ≥ 1 gibt es eine Turingmaschine

U = UΣ,n = (Σ,n + 1,Σ,Σ∪{b,0,1},Z ,z0,δ)

mit folgender Eigenschaft:

Zu jeder partiell Turing-berechenbaren Funktion ψ : (Σ∗)n→ Σ∗ gibt es einWort w ∈ Σ∗ mit ψ = (ϕU)w , d.h.,

∀~x ∈ (Σ∗)n(ψ(~x) = ϕU(w ,~x)).

Da die Turingberechenbarkeit von zahlentheoretischen Funktionen uber dieTuringberechenbarkeit der entsprechenden auf den Unardarstellungenoperierenden Wortfunktionen uber Σ = {0} definiert ist, folgt hieraus mit demAquivalenzsatz direkt der Satz uber die Existenz universeller part. rek.Funktionen: die von U = U{0},n berechnete zahlentheoretische Funktion ϕUist n-universell fur F(REK).

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 8 / 33

Page 9: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Beweisidee

Zum Beweis des Satzes uber die Existenz universeller TMs gehen wir wiefolgt vor.

Gegeben seien das Ein- und Ausgabealphabet Σ⊇ {0,1} und dieStelligkeit n ≥ 1. Die wesentlichen Schritte sind:

(1) Geeignete Normierung von TMs uber dem Alphabet Σ.

(2) Kodierung normierter TMs M durch Binarworter pMq.

(3) Konstruktion einer 3-Band-TM U = UΣ,n, die bei Eingabe (pMq,~x)die normierte Maschine M bei Eingabe~x ∈ (Σ∗)n simuliert.

Fur Σ mit {0,1} ⊆ Σ hat dann eine nach dem Bandreduktionssatzexistierende zu UΣ,n aquivalente 1-Band-TM UΣ,n die gewunschtenEigenschaften.

Im Folgenden skizzieren wir die oben aufgefuhrten Beweisschritte, bevor wiram Ende des Beweises die zusatzlich erforderlichen Schritte im Falle desunaren Alphabets Σ = Σ1 = {0} erlautern.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 9 / 33

Page 10: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(1) Normierung von TuringmaschinenEine Turingmaschine M = (Σ,n,Σ,Γ,Z ,z0,δ) zur Berechnung einer n-stelligenpartiellen Funktion ψ : (Σ∗)n→ Σ∗ ist normiert, falls

Γ = Σ∪{b,0,1} (wobei b 6∈ Σ)

Z = {0,1, . . . ,p} (fur p ≥ 1 geeignet)

z0 = 0

1 ist ausgezeichneter Stoppzustand, d.h. δ(z,a) ↑ ⇔ z = 1.

Die erste Forderung besagt gerade, dass M Bandalphabet-normiert ist (vgl.Kapitel 4). Die anderen Forderungen entsprechen gerade den im Beweis desAquivalenzsatzes (s. Kapitel 8) vorgenommenen Normierungen.

Aus den an den entsprechenden Stellen gemachten Beobachtungen folgtdaher, dass man jeder TM M effektiv eine aquivalente normierte TM M ′

zuordnen kann, wobei sich Rechenzeit und Platzbedarf von M ′ wie folgtabschatzen lassen:

timeM ′(~x)≤O(timeM(~x)) & spaceM ′(~x)≤O(spaceM(~x))

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 10 / 33

Page 11: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(2) Kodierung normierter Turingmaschinen

Fur gegebenes Eingabealphabet Σ und gegebene Stelligkeit n ≥ 1unterscheiden sich normierte TMs

M = (Σ,n,Σ,Σ∪{b,0,1},{0, . . . ,p},0,δ)

zur Berechnung von n-stelligen partiellen Funktionen vom Typ ψ : (Σ∗)n→ Σ∗

nur in der Anzahl der Zustande und der Programmfunktion δ.

Da sich die Zustande aus dem Programm ergeben, genugt es daher zurKodierung von M das Programm δ zu kodieren:

Hierzu kodieren wir zunachst Buchstaben des Bandalphabets, Zustande undBewegungen unar (Γ = {a0 = b,a1 = 0,a2 = 1,a3, . . . ,am}, m ≥ 2):

paiq := 0i+1 pzq := 0z+1 pLq := 0 pSq := 02 pRq := 03.

(Alle Zeichen werden also durch nichtleere endliche Nullfolgen kodiert! Dabeierhalten Zeichen verschiedenen Typs moglicherweise denselben Code. ZurDekodierung muss daher der Typ des Zeichens aus dem Kontext erkennbarsein.)

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 11 / 33

Page 12: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(2) Kodierung normierter Turingmaschinen (Forts.)

Jeder Instruktion I = (z,ai ,aj ,B,z ′) - d.h. Programmzeile δ(z,ai ) = (aj ,B,z ′) -ordnen wir dann folgendes Binarwort zu:

pIq = pzq1paiq1pajq1pBq1pz ′q

(Die Codes der einzelnen Zeichen werden also durch isolierte Einsengetrennt.)

Durch Auflisten der Programmzeilen δ = {I1, . . . , Ik} erhalten wir dann dieBinarkodierung von δ und damit von M:

pMq := pδq := 11pI1q11pI2q11 . . .pIkq

(Die Codes der einzelnen Instruktionen werden also durch Doppeleinsengetrennt.)

Hiermit lassen sich die Anforderungen an die (Σ,n)-universelle 3-Band-TMU = UΣ,n beschreiben:

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 12 / 33

Page 13: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(3) Die 3-Band-TM U = UΣ,n (Teil 1: Eigenschaften)

EXISTENZLEMMA. Sei Σ ein Alphabet und n ≥ 1. Es gibt eine3-Band-Turingmaschine U = UΣ,n, die bei Eingabe

(pMq,~x) ∈ {0,1}∗× (Σ∗)n,

wobeiM = (Σ,n,Σ,Σ∪{b,0,1},{0, . . . ,p},0,δ)

eine normierte TM zur Berechnung einer n-stelligen partiellen Funktion vomTyp (Σ∗)n→ Σ∗ ist, die Maschine M fur Eingabe~x simuliert, d.h. den Wert

ϕU(pMq,~x) = ϕM(~x)

liefert. Weiter gilt, dass

timeU(pMq,~x) ∈O(|pMq| ·max(timeM(~x), |x1|, . . . , |xn|))

spaceU(pMq,~x) ∈O(|pMq|+ spaceM(~x)).

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 13 / 33

Page 14: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(3) Die 3-Band-TM U = UΣ,n (Teil 2: Konstruktion)

Wir verzichten auf eine formale Spezifikation von U und begnugen uns miteiner informellen Beschreibung der Arbeitsweise von U bei Eingabe (pMq,~x).

Die Bander von U haben folgende Funktion:

Band 1: U verhalt sich auf Band 1 wie die simulierte (1-Band-) MaschineM bei Eingabe~x .

Band 2: Hier wird das kodierte Programm pδq von M abgespeichert.

Band 3: Hier wird die Kodierung pzq des aktuellen M-Zustandes zgespeichert.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 14 / 33

Page 15: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(3) Die 3-Band-TM U = UΣ,n (Teil 2: Konstruktion)

Die Rechnung von U besteht aus drei Phasen, der Initialisierungsphase, derSimulationsphase und der Ausgabephase.

In der Initialisierungsphase wird unter Loschen pMq (= pδq) von Band 1auf Band 2 kopiert und auf Band 3 der kodierte Startzustand p0qgeschrieben.

In der Ausgabephase wird nach Abschluss der Simulation die Ausgabevon Band 1 auf (das Ausgabe-)Band 3 kopiert.

In der Simulationsphase wird jeder Schritt von M durch eine Folge vonRechenschritten mit Hilfe des folgenden Simulationszyklus simuliert.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 15 / 33

Page 16: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(3) Die 3-Band-TM U = UΣ,n (Teil 2: Konstruktion)

Simulationszyklus von U zur Simulation eines M-Schrittes:

1 Lese (und merke im Zustand) den Buchstaben a auf dem Arbeitsfeld vonBand 1.

2 Durch Mustervergleich finde das erste Vorkommen der Folge11pzq1paq1 auf Band 2, wobei pzq die aktuelle Inschrift von Band 3 ist.Dort befindet sich dann die Kodierung der auszufuhrenden M-InstruktionpIq = pzq1paq1pa′q1pBq1pz ′q. (Findet U das gesuchte Muster nicht, sohat M den Stoppzustand erreicht, und die Simulationsphase wirdbeendet.)

3 Simuliere diese Instruktion: (i) fuhre den angegebenen Druckbefehl (a′)und Bewegungsbefehl (B) auf Band 1 aus und (ii) schreibe dieKodierung pz ′q des neuen Zustands auf Band 3.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 16 / 33

Page 17: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(3) Die 3-Band-TM U = UΣ,n (Teil 3: Korrektheit)

Damit ist die Beschreibung von U = UΣ,n abgeschlossen.

Die behaupteten Platz- und Zeitschranken lassen sich leicht nachprufen. Furdie Zeit hat man nur zu beachten, dass die Simulation eines M-SchrittesO(|pMq|) Schritte erfordert.

Dies beendet den Beweis des Existenzlemmas.

Fur n-ares Alphabet Σ mit n≥ 2 ergibt sich hieraus - wie bereits bemerkt - derExistenzsatz fur universelle Maschinen.

Im folgenden beschreiben wir noch die zusatzlich erforderlichen Schritte imFalle des unaren Alphabets Σ = Σ1 = {0} als Eingabealphabet.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 17 / 33

Page 18: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(4) Zusatzliche Schritte im Falle von Σ = {0}

Fur das unare Alphabet Σ = Σ1 = {0} erhalt man UΣ,n wie folgt:

Man definiert eine 3-Band-TM, die aus zwei “Teilmaschinen” besteht:Man wandelt zunachst mit Hilfe eines Binarzahlers BIN die erste unareEingabe 0m+1 in das (m + 1)-te Binarwort wm um, und setzt dann dieMaschine UΣ2,n (die das binare Alphabet Σ2 = {0,1} als Eingabe-alphabet hat) auf die derart modifizierte Eingabe an (wobei UΣ2,n danndie erste Eingabe wm als Code pMq einer TM M auffasst).

Die Maschine UΣ,n ist dann eine zu der gerade beschriebenen3-Band-TM aquivalente 1-Band-TM.

Im Folgenden skizzieren wir zum Abschluss des Beweises noch dieArbeitweise des Binarzahlers.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 18 / 33

Page 19: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

(4) Der Binarzahler BIN

Eine TM BIN, die bei Eingabe 0n+1 das n + 1-te Binarwort wn auf das 2. Bandschreibt, arbeitet wie folgt:

Initialisierung: BIN liest die erste 0 und schreibt [λ] (= [w0]) auf Band 2.

Iterationsphase: Fur jede weitere 0, die BIN auf Band 1 findet, ersetztBIN das aktuelle geklammerte Binarwort [wi ] auf Band 2 durch das Wort[wi+1].

Hierzu durchlauft BIN das Wort [wi ] von rechts nach links bis zur ersten0 und ersetzt dabei alle bis dahin durchlaufenen Einsen durch Nullenund die erste gefundene 0 durch eine 1. Findet BIN keine 0, so ersetztBIN alle Einsen durch Nullen und fugt links eine weitere 0 an, d.h.ersetzt [ durch [0.

Schlussphase: Am Ende streicht BIN noch die eckigen Klammern umwn.

KOMPLEXITATSANALYSE: Aus |wn| ∈O(log(n)) folgt leicht, dass BINO(n · log(n))-zeitbeschrankt (und n + O(0)-platzbeschrankt) ist.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 19 / 33

Page 20: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

9.2 Godelnummerierungen der partiell rekursiven Funktionenund das Normalformtheorem von Kleene

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 20 / 33

Page 21: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Godelnummerierungen von F(REK)

Die Existenz universeller partiell rekursiver Funktionen lasst sich noch mitHilfe der folgenden Definition verscharfen.

DEFINITION. Eine n-universelle partielle Funktion ϕ fur F(REK) ist eineStandardaufzahlung oder Godelnummerierung der n-stelligen partiellrekursiven Funktionen, wenn es zu jeder (n + 1)-st. partiell rekursivenFunktion ϕ(n+1) eine total rekursive Funktion h gibt, so dass

(∗) ϕ(e,~x) = ϕ(h(e),~x)

fur alle e ∈ N und~x ∈ Nn gilt.

Die rekursive Funktion h in (∗) heißt Ubersetzungsfunktion von ϕ nach ϕ.

NB: Fur jede n-universelle partielle Funktion ϕ fur F(REK) gibt es eineFunktion h, die (∗) erfullt. Im Allgemeinen muss diese Funktion aber nichtrekursiv sein!

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 21 / 33

Page 22: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Die Bedeutung von Godelnummerierungen

Godelisieren wir statt der Turingmaschinen die Registermaschinen (oder diepartiell rekursiven Funktionen), um zu diesem Konzept wiederum einenInterpreter zu konstruieren, so liefert das eine alternative n-universelle partiellrekursive Funktion ϕ.

Da wir (im Rahmen des Beweis des Aquivalenzsatzes) gezeigt haben, dassman zu jeder Registermaschine M effektiv eine aquivalente TuringmaschineM ′ angeben kann, folgt aus der Effektivitat der Godelisierungen, dass es eineberechenbare - also nach der Church-Turing-These - rekursive Funktion hgibt, die die Godelnummer von M auf die Godelnummer von M ′ abbildet, alsoϕ nach ϕ ubersetzt.

Da wir zeigen werden, dass die auf der Interpretation von TMs basierendeuniverselle Funktion ϕ eine Godelnummerierung ist, gilt diese Beobachtungganz allgemein. Fur jede effektive Darstellungsweise von n-st. partiellrekursiven Funktionen (die sich durch geeignete Godelisierung mit Hilfe einern + 1-st. partiell rekursiven Funktion ϕ beschreiben lasst) kann man - mit Hilfeder Ubersetzungsfunktion von ϕ nach ϕ - zu einer gegebenen Darstellungeffektiv eine aquivalente Turingmaschine angeben.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 22 / 33

Page 23: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Das Normalformtheorem von Kleene

SATZ: Fur jede Zahl n ≥ 1 gibt es eine primitiv rekursive Funktion U(1)

und ein primitiv rekursives Pradikat T (n+2), so dass es zu jedern-stelligen partiell rekursiven Funktion ψ(n) eine Zahl e ∈ N gibt mit

∀~x ∈ Nn(ψ(~x) = U(µyT (e,~x ,y))).

Weiter ist die durch

ϕ(e,~x) = U(µyT (e,~x ,y))

definierte partielle Funktion ϕ(n+1) eine Godelnummerierung dern-stelligen partiell rekursiven Funktionen. Daruberhinaus konnen dieUbersetzungsfunktionen nach ϕ primitiv rekursiv und injektiv gewahltwerden.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 23 / 33

Page 24: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Beweisidee fur das Normalformtheorem

Fur gegebenes n ≥ 1 sei U = UΣ1,n die universelle Turingmaschine zurBerechnung n-stelliger partieller Funktionen uber dem unaren Alphabet Σ1und sei ϕ := ϕUΣ1 ,n

die von U berechnete Zahlfunktion, von der wir bereits

festgestellt haben, dass sie n-universell fur F(REK) ist.

Wenden wir die (im Beweis des Aquivalenzsatzes eingefuhrte) Godelisierungvon TMs auf U an, so erhalten wir (wie dort) das primitiv rekursive Pradikat

RECHNUNG(n+3)

U,

fur dasϕ(e,~x) = (µy(RECHNUNGU(e,~x ,(y)1,(y)2)))2

fur alle e ∈ N und~x ∈ Nn gilt. Setzen wir also

T (e,~x ,y) :⇔ RECHNUNGU(e,~x ,(y)1,(y)2)

und U(y) := (y)2, so ergibt sich hieraus der erste Teil desNormalformsatzes.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 24 / 33

Page 25: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Beweisidee fur das Normalformtheorem (Forts.)

Zu zeigen bleibt die Existenz injektiver, primitiv rekursiver Uber-setzungsfunktionen nach ϕ:

Gegeben: ϕ(n+1) ∈ F(REK).

Gesucht: h ∈ F(PRIM) injektiv mit ϕe = ϕh(e) fur alle e ∈ N.

Idee zur Definition von h:

1. Wahle eine normierte TM M mit Programm δ, die ϕ berechnet.

2. Fur jedes e gewinne aus M eine normierte TM Me mit Programm δe,die bei Eingabe~x ∈ Nn die Ausgabe ϕ(e,~x) wie folgt berechnet: Meerganzt die Eingabe~x um den Parameter e und simuliert dann M aufder erweiterten Eingabe (e,~x).

3. Zeige, dass sich die Godelnummer h(e) von Me (d.h. pδeq = wh(e))primitiv rekursiv berechnen lasst.

Es folgt ϕ(e,~x) = U(µy(T (h(e),~x ,y))) = ϕ(h(e),~x), weshalb h die gesuchteUbersetzungsfunktion von ϕ nach ϕ ist. q.e.d.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 25 / 33

Page 26: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Notation: IndizesFur die Standardaufzahlung ϕ(n+1) der n-stelligen partiell rekursivenFunktionen benutzen wir auch folgende Schreibweise:

{e}(n)(~x) := ϕe(~x)

Sprechweise: {e}(n) ist die e-te n-st. partiell rekursive Funktion

Gilt ψ = {e}, so heisst e (part. rek.) Index von ψ.

W (n)e := Db(ϕe) = Db({e}) = {~x : (e,~x) ∈W (n+1)} wobei

W (n+1) := Db(ϕ)

Sprechweise: W (n)e ist die e-te n-st. rekursiv aufzahlbare Menge

Gilt A = We, so heisst e (r.a.) Index von A.

Konvention: Im Folgenden bezeichnet ϕ stets (wenn nicht explizit anderesvereinbart) obige mit Hilfe der universellen Turingmaschinen definierteStandardaufzahlung ϕ(n+1) der n-stelligen partiell rekursiven Funktionen. DieStelligkeit n von ϕ ergibt sich aus dem Kontext; im Zweifelsfall gilt n = 1.Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 26 / 33

Page 27: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Universelle rekursiv aufzahlbare Mengen

Universelle Mengen definiert man entsprechend zu universellen Funktionen:

DEFINITION. Eine Menge U ⊆ Nn+1 ist n-universell fur eine Klasse C von(mehrdimensionalen) Mengen uber N, falls U ∈ C und die ZweigeUe = {~x : (e,~x) ∈ U} von U gerade die n-dimensionalen Mengen in C sind,d.h.

C(n) := C∩{A : A⊆ Nn}= {Ue : e ≥ 0}.

SATZ. Fur jede n-universelle partiell rekursive Funktion ϕ ist derDefinitionsbereich W = Db(ϕ) n-universell fur die Klasse der rekursivaufzahlbaren Mengen. Insbesondere gibt es also n-universelle rekursivaufzahlbare Mengen.

BEWEIS. Der 1. Teil des Satzes ist trivial. Der 2. Teil folgt aus dem 1. Teil undder Existenz universeller part. rek. Funktionen.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 27 / 33

Page 28: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

9.3 Negative Ergebnisse uber universelle Funktionen furTeilklassen der partiell rekursiven Funktionen

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 28 / 33

Page 29: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Zum Abschluss dieses Abschnitts wollen wir noch zeigen, dass es - imGegensatz zu den partiell rekursiven Funktionen - keine universellentotal rekursiven bzw. primitiv rekursiven Funktionen gibt.

Da die Klassen Ftot (REK) und F(PRIM) den Nachfolger und dieProjektionen enthalten und gegen simultane Substitutionabgeschlossen sind, folgt dies aus folgender allgemeinerenBeobachtung:

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 29 / 33

Page 30: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Funktionsklassen ohne universelle Funktionen

SATZ. Sei F eine Klasse totaler Funktionen uber N, die dieNachfolgerfunktion S sowie die Projektionen Un

i enthalt und die gegendie simultane Substitution abgeschlossen ist. Dann besitzt F keinen-universelle Funktion (fur jedes n ≥ 1).

KOROLLAR. Die Klassen Ftot (REK) und F(PRIM) der total rekursivenund primitiv rekursiven Funktionen besitzen keine n-universellenFunktionen (fur alle n ≥ 1).

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 30 / 33

Page 31: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Beweis des Satzes

Wir fuhren den Beweis durch DIAGONALISIERUNG. Wir beschranken unshierbei auf den Fall n = 1 (Den allgemeinen Fall zeigt man analog.):

Widerspruchsannahme: f (2) ∈ F sei 1-universell fur F.

Definiere die Funktion g durch

g(x) = f (x ,x) + 1 = S(f (U11 (x),U1

1 (x))) = S(f (U11 ,U

11 ))(x)

Nach Wahl von F gilt dann g ∈ F.

Die Funktion g ist aber so gewahlt, dass diese sich fur jede Zahl e vom e-tenZweig von f an der Stelle e unterscheidet:

g(e) = f (e,e) + 1 = fe(e) + 1 > fe(e)

Es gilt daher g 6∈ {fe : e ≥ 0}. Wegen g ∈ F widerspricht dies aber der1-Universalitat von f !

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 31 / 33

Page 32: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Anmerkungen zum Beweis: totale vs. partielleFunktionen

Das benutzte Diagonalargument versagt bei partiellen Funktionen, dafur undefiniertes ϕ(x ,x) der Wert von ϕ(x ,x) + 1 ebenfalls undefiniertist und daher ϕ(x ,x) = ϕ(x ,x) + 1 gilt!

Man konnte jedoch gegen die 1-universelle Funktion ϕ fur F(REK) mitfolgender Fallunterscheidung diagonalisieren:

g(x) =

{ϕ(x ,x) + 1 falls ϕ(x ,x) ↓0 falls ϕ(x ,x) ↑.

Dann gilt g 6= ϕe fur alle e. Wegen der Universalitat von ϕ folgt daher: gist nicht rekursiv.

Wegen der Abschlusseigenschaften von F(REK) konnen wir hierausfolgern, dass die Menge {x : ϕ(x ,x) ↓} nicht rekursiv ist (→ Algo-rithmische Unlosbarkeit des Halteproblems; s. Kapitel 10).

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 32 / 33

Page 33: einf ¨uhrung in die theoretische informatik 9. unverselle maschinen

Nichtrekursive rekursiv aufzahlbare Mengen

Die Beobachtung, dass die Klassen der primitiv rekursiven und totalrekursiven Funktionen keine universellen Mengen besitzen, lasst sich leichtauf die Klassen der primitiv rekursiven und rekursiven Mengen ubertragen (s.Ubungen):

SATZ. Die Klassen der primitiv rekursiven Mengen und der rekursivenMengen besitzen keine n-universellen Mengen (fur alle n ≥ 1).

Wegen der Existenz universeller rekursiv aufzahlbarer Mengen folgt hieraus:

KOROLLAR. Es gibt rekursiv aufzahlbare Mengen, die nicht rekursiv sind.

Die schon auf der vorhergehenden Folie als nicht rekursiv nachgewieseneMenge A = {x : ϕ(x ,x) ↓} ist rekursiv aufzahlbar, da A der Definitionsbereichder partiell rekursiven Funktion ψ(x) = ϕ(x ,x) ist. Diese Menge ist also einkonkretes Beispiel fur eine nicht-rekursive r.a. Menge.

Im nachsten Abschnitt werden wir das Thema der nichtrekursiven Mengensystematisch und ausfuhrlicher behandeln. Wir werden dort die zuletzterzielten Unentscheidbarkeitsergebnisse nochmals direkt herleiten.

Theoretische Informatik (SoSe 2016) 9. Universelle Funktionen und Maschinen 33 / 33