Sie sind auf Seite 1von 20

Theoretische Informatik II

Einheit 5 Theorie der Berechenbarkeit

1. Turing-Berechenbarkeit 2. Rekursive Funktionen 3. Funktionale und logische Programme 4. Elementare Berechenbarkeitstheorie 5. Unl sbare Probleme o

Kernfragen zur Berechenbarkeit


Welche Berechnungsmethoden sind denkbar?
Es gibt weit mehr Modelle als nur die Standard PC Architektur Lisp Maschinen, Parallelrechner, Neuronale Netze, (Quantencomputer) Sind die Modelle miteinander vergleichbar?

a Welche allgemeingultigen Zusammenh nge gibt es?


Eigenschaften, die nicht vom Berechnungsmodell abh ngen? a Beweismethoden wie Abschlueigenschaften und Problemtransformation

Gibt es Grenzen fur den Einsatz von Computern?


Funktionen, die prinzipiell nicht berechenbar sind? Eigenschaften, die unentscheidbar sind? Sprachen, die nicht vollst ndig aufgez hlt werden k nnen? a a o Mit welchen Techniken kann man dies beweisen?
T HEORETISCHE I NFORMATIK II 5: 1 T HEORIE
DER

B ERECHENBARKEIT

Es gibt viele Modelle fur Berechenbarkeit ... schon lange vor den ersten Computern
Turingmaschine Nichtdeterministische Turingmaschine -rekursive Funktionen -Kalkul Logische Repr sentierbarkeit a
(Rechnen mit Papier und Bleistift) (Parallelismus/Quantenrechner) (Mathematisches Rechnen) (Funktionale Sprachen, LISP) (Logikprogrammierung, PROLOG) (Regelbasierte Sprachen)

Markov-Algorithmen (Typ-0 Grammatiken) Abakus JAVA-reduziert Registermaschine

(Das alteste mechanische Hilfsmittel) (Imperative hohere Sprachen) (Assembler-/Maschinenprogrammierung)

Viele Formalisierungen eines intuitiven Begriffes


T HEORETISCHE I NFORMATIK II 5: 2 T HEORIE
DER

B ERECHENBARKEIT

Theoretische Informatik II
Einheit 5.1 Turing-Berechenbarkeit

1. R ckblick: Turingmaschinen und Sprachen u 2. Turing-berechenbare Funktionen 3. Berechnen vs. Akzeptieren

Ruckblick: Turingmaschinen
DAS
EINFACHSTE IMPERATIVE

C OMPUTERMODELL

Interner Zustand

Endliche Steuerung
Zustandsuberfuhrung X Band
6 ?

Akzeptieren Ablehnen

Y D

.... B 1 1 0 c 1 B B B ....
Lese-Schreibkopf

Endlicher Automat + lineares Band


Endliche Steuerung liest Bandsymbol unter Lese-Schreibkopf Keine separate Eingabe: Eingabewort steht zu Anfang auf Band

Einfacher Verarbeitungsmechanismus
Bandsymbol X wird gelesen Interner Zustand q wird zu q ver ndert a Neues Symbol Y wird auf das Band geschrieben Kopf wird in eine Richtung D (rechts oder links) bewegt
T HEORETISCHE I NFORMATIK II 5.1: 1 T URING -B ERECHENBARKEIT

Ruckblick: Turingmaschinen mathematisch


Interner Zustand

Endliche Steuerung
Zustandsuberfuhrung

Akzeptieren Ablehnen

X6 YD Band

.... B 1 1 0 a 1 B B B ....
Lese-Schreibkopf

Deterministische Turingmaschine: 7-Tupel M = (Q, , , , q0, B, F ) Q nichtleere endliche Zustandsmenge endliches Eingabealphabet endliches Bandalphabet :Q Q{L, R} (partielle) Uberfuhrungsfunktion q 0 Q Startzustand B \ Leersymbol des Bands (blank) F Q Menge von akzeptierenden (End-)Zust nden a NTM analog mit mengenwertigem :Q Pe(Q{L, R})
T HEORETISCHE I NFORMATIK II 5.1: 2 T URING -B ERECHENBARKEIT

Ruckblick: Beschreibung von Turingmaschinen


Ubergangsdiagramme
0

Zust nde durch Knoten dargestellt a R 0 / a 1 / b - q q Start q0 markiert durch Start-Pfeil, Y a / a Endzust nde durch doppelte Kreise b / b ? B / B a - q q F r (q, X) = (p, Y, D) hat das u I X/Y D b / b Diagramm eine Kante q p und implizit durch Diagramm bestimmt, Leersymbol heit B
1 3 4

0 / 0 b / b

0 / 0 b / b q2
I

Ubergangstabellen
Funktionstabelle f r u heit nicht deniert Pfeil kennzeichnet q0 Stern * kennzeichnet F , und B implizit bestimmt

Q\ 0 1 a b B q0 (q1,a,R) (q3,b,R) q1 (q1,0,R)(q2,b,L) (q1,b,R) q2 (q2,0,L) (q0,a,R) (q2,b,L) q3 (q3,b,R)(q4 ,B,R) * q4

Konvention: (q,X) undeniert f r Endzust nde q F u a


Turingmaschine h lt an, wenn (q,X) undeniert ist a
T HEORETISCHE I NFORMATIK II 5.1: 3 T URING -B ERECHENBARKEIT

Ruckblick: Arbeitsweise von Turingmaschinen


Konguration = Zustand + Bandinhalt + Kopfposition
Formal dargestellt als Tripel K = (u,q,v) Q+ u, v: String links/rechts vom Kopf q Zustand Nur der bereits besuchte Teil des Bandes wird betrachtet Blanks am Anfang von u oder am Ende von v entfallen, wo m glich o

Kongurationsubergangsrelation
(uZ, q, Xv) (u, p, ZY v), (u, q, Xv) (uY , p, v),
Sonderf lle f r Verhalten am Bandende a u (, q, Xv) (, p, BY v), (uZ, q, X) (u, p, Z), (u, q, X) (uY , p, B), (, q, Xv) (, p, v),

Achtung: im Buch wird das Tripel als ein (!) String uqv geschrieben

falls (q, X) = (p, Y, L) falls (q, X) = (p, Y, R)


falls (q, X) = (p, Y, L) falls (q, X) = (p, B, L) falls (q, X) = (p, Y, R) falls (q, X) = (p, B, R)

K1 K2, falls K1=K2 oder es gibt ein K mit K1 K und K K2


Denition analog f r nichtdeterministische Maschinen u
T HEORETISCHE I NFORMATIK II 5.1: 4 T URING -B ERECHENBARKEIT

Ruckblick: Sprache einer Turingmaschine


Akzeptierte Sprache
Menge der Eingaben, f r die zu akzeptierendem Zustand f hrt u u L(M ) = {w

p F. u, v .

(, q0, w) (u, p, v)}

Bei Einhalten der Konvention h lt M im akzeptierenden Zustand an a Denition identisch f r nichtdeterministische Maschinen u DTMs akzeptieren dieselben Sprachen wie NTMs (exponentielle Simulation)

Semi-entscheidbare Sprache = Typ-0 Sprache


Sprache, die von einer Turingmaschine M akzeptiert wird Alternative Bezeichnung: (rekursiv) aufz hlbare Sprache a

Entscheidbare Sprache

(auch: rekursive Sprache)

Sprache, die von einer Turingmaschine M akzeptiert wird, die bei jeder Eingabe terminiert
T HEORETISCHE I NFORMATIK II 5.1: 5 T URING -B ERECHENBARKEIT

R UCKBLICK : P ROGRAMMIERTECHNIKEN F UR T URINGMASCHINEN

Datenregister speichern Werte aus Menge


Simulation durch erweiterte Zustandsmenge Q := Q k

Mehrspur-Maschinen mit k Datenspuren


Simulation durch erweitertes Bandalphabet := k

Mehrband-Maschinen mit k unabh ngigen B ndern a a


Simulation mit 2k+1 Spuren: Inhalt, Kopfmarker + Endmarker

Unterprogramme
Simulation wie bei Unterprogrammen in Assemblersprachen

a Beschr nkte Modelle fur Beweise


Halbseitig unendliches Band kann beidseitiges Band simulieren Bin res Bandalphabet = {1, B} kann jedes Alphabet codieren a o 2 Stacks k nnen jede Konguration einer Turingmaschine simulieren

Genauso leistungsf hig wie konventionelle Computer a


T HEORETISCHE I NFORMATIK II 5.1: 6 T URING -B ERECHENBARKEIT

Neu: Zeit- und Platzbedarf von Turingmaschinen


Rechenzeit tM (w)
Anzahl der Kongurations berg nge bis M bei Eingabe w anh lt u a a

Speicherbedarf sM (w)
Anzahl der Bandzellen, die M w hrend der Berechnung aufsucht a

a o Komplexit t: Bedarf relativ zur Gr e


TM (n) = max{tM (w) | |w|=n} Maximaler Bedarf relativ zur L nge a eines Eingabewortes (worst-case) SM (n) = max{sM (w) | |w|=n} Die Gr enordnung der Funktionen (linear, quadratisch, kubisch,...) o a Komplexitatstheorie (6) ist aussagekr ftiger als die genauen Werte Komplexit t der Turingmaschine fur {0n1n|n1} a Zeitaufwand f r Schleife q0, q1, q2, q0: 2n u Gesamter Zeitaufwand quadratisch (2n2) Platzbedarf nicht gr er als die Eingabe o Lineare Speicherplatzkomplexit t a
T HEORETISCHE I NFORMATIK II 5.1: 7

0 / 0 b / b
1 Start Y a / a b / b ? q3 B / B- q4

- q0

R 0 / a - q

0 / 0 b / b 1 / b - q 2

b / b
T URING -B ERECHENBARKEIT

Die berechnete Funktion einer Turingmaschine


Turingmaschinen berechnen Funktionen auf
Eingabe der Funktion wird aufs Band geschrieben Bandinhalt wird durch Abarbeitung des Programms ver ndert a Wenn Maschine anh lt, kann Bandinhalt ausgegeben werden a Akzeptierende Endzust nde werden irrelevant ( blicherweise F = ) a u Die urspr nglich vorgesehene Verwendung von Turingmaschinen u

Formale Beschreibung mittels Kongurationen (Gilt fur NTM und DTM)


Anfangskonguration: (w) := (,q0,w) Terminierung: M := u, v, q, X. = (u, q, Xv) Rechenzeit: tM (w) := max{j | (w) Ausgabefunktion: (u, q, v) := v|
j

(q, X) undeniert

M }
(langster Prax von v, der zu gehort)

Undeniert falls dieses Maximum nicht existiert, d.h. M halt nicht auf w Ausgabe beginnt unter dem Kopf bis ein Symbol nicht aus erreicht wird

Berechnete Funktion: fM (w) := {() | itM (w). (w)


F r DTMs ist fM (w) = () f r das eindeutig bestimmte mit (w) M u u Undeniert, wenn tM (w) undeniert, also wenn M auf w nicht halt
T HEORETISCHE I NFORMATIK II 5.1: 8 t (w)

M }

T URING -B ERECHENBARKEIT

Berechnung mit Turing-Maschinen am Beispiel


M1 = ({q0,q1,q2}, {1}, {1,B}, 1, q0, B, {}) mit
1 1 B q0 (q0,1,R) (q1,1,L) q1 (q1,1,L) (q2,B,R) q2

Abarbeitungsbeispiel: (,q0,111) (,q2,1111) F gt am Ende eines Wortes w {1} eine 1 an (Bierdeckelmaschine) u Mathematische Analyse: (1n) = (,q0 ,1n) Anfangskonguration:
Nachfolgekongurationen: Terminierung: Ergebnis: Ausgabefunktion:

(1 ) (1,q0,1 ) (1n,q0,B) n (1n1,q1,11) (,q1,B1n+1) (,q2,1n+1)


max{j | (w) (u, q, Xv)
j

n1

n1

(q, X) undeniert}

= 2n+2 2n+2 (1n ) (,q2 ,1n+1) (,q2 ,1n+1) = 1n+1

fM1 (1n) = 1n+1 f r alle n, Denitionsbereich {1} , Wertebereich {1}+ u


T HEORETISCHE I NFORMATIK II 5.1: 9 T URING -B ERECHENBARKEIT

Beispiele fur Turing-Maschinen


M2 = ({q0,q1}, {1}, {1,B}, 2, q0, B, {}) mit
2 1 B q0 (q0,B,R) (q1,B,L) q1

Abarbeitungsbeispiel: (,q0,111) (,q1,B)


4

L scht ein Wort vom Band: fM2 (w) = f r alle w {1} o u M3 = ({q0,q1,q2}, {1}, {1,B}, 3, q0, B, {}) mit
3 1 B q0 (q1,1,R) (q2,B,R) q1 (q0,1,R) (q1,B,R) q2

Abarbeitungsbeispiele: (,q0,1111) (1111B,q2,B) (,q0,111) (111BBB...BB,q1,B)


n 5

Testet, ob Anzahl der Einsen in w {1} gerade ist fM3 (1 ) =


n

falls n gerade, sonst


10

( steht fur undeniert)

T HEORETISCHE I NFORMATIK II 5.1:

T URING -B ERECHENBARKEIT

Beispiele fur Turing-Maschinen II

M4 = ({q0,q1,q2,q3,q4 }, {1}, {1,B}, 4 , q0, B, {}) mit


4 q0 q1 q2 q3 q4 1 (q0,1,R) (q2,B,R) (q2,1,R) (q3,1,L) B (q1,B,L) (q4 ,B,R) (q3,1,L) (q1,1,L)

Abarbeitungsbeispiel: (,q0,11) (,q4,1111)


14

Verdoppelt Anzahl der Einsen: fM4 (1n ) = 12n M5 = ({q0,q1,q2,q3}, {0,1}, {0,1,B}, 5 , q0, B, {3}) mit
5 0 1 B q0 (q0,0,R) (q0,1,R) (q1,B,L) q1 (q2,1,L) (q1,0,L) (q2,1,L) q2 (q2,0,L) (q2,1,L) (q3,B,R) q3

Abarbeitungsbeispiel: (,q0,10011) (,q3,10100)


12

Addiert 1 auf die Bin rdarstellung einer nat rlichen Zahl a u


T HEORETISCHE I NFORMATIK II 5.1: 11 T URING -B ERECHENBARKEIT

Turing-Berechenbare Funktionen
f : Turing-berechenbar
f =fM f r eine Turingmaschine M = (Q, , , , q0, B, F ) mit u

T : Menge der Turing-berechenbaren Funktionen Berechenbarkeit auf Zahlen: f :NN


= Berechenbarkeit der Funktion fr : mit fr (w) = r(f (r1(w))) wobei r:N injektive Repr sentation von Zahlen durch W rter a o a un re Darstellung ru:N{1} mit ru(n) = 1n bin re Codierung rb:N{0,1} (ohne f hrende Nullen) a u
f wird berechnet durch f (x) = r1 (fr (r(x)))

Berechenbarkeit auf anderen Mengen analog

T HEORETISCHE I NFORMATIK II 5.1:

12

T URING -B ERECHENBARKEIT

Berechenbarkeit arithmetischer Funktionen


Nachfolgerfunktion s:NN mit s(n) = n+1
Bei un rer Codierung: berechne su:{1}{1} mit su(1n) = 1n+1 a Turingmaschine mu eine 1 anh ngen: su = fM1 a Bei bin rer Codierung: sb = fM5 a M mu Ziffern von rechts beginnend umwandeln, ggf. mit Ubertrag

Division durch 2: div2:NN mit div2(n)=n/2


Bei un rer Codierung: M mu (analog zu M4) je zwei Einsen l schen a o und eine neue hinter dem Ende des Wortes schreiben Bei bin rer Codierung: M mu nur die letzte Ziffer l schen a o

Komplexere arithmetische Operationen ben tigen o Programmiertechniken fur Turingmaschinen


T HEORETISCHE I NFORMATIK II 5.1: 13 T URING -B ERECHENBARKEIT

Akzeptieren oder Berechnen?


Jede Funktion ist als Menge beschreibbar
graph(f ) = {(x, y) | f (x) = y} Akzeptierende Maschinen erkennen Graphen berechenbarer Funktionen f berechenbar graph(f ) semi-entscheidbar
n chste Folie a

Jede Menge ist als Funktion beschreibbar


L (w) = L (w) = 1 falls w L, 0 sonst 1 falls w L, sonst Charakteristische Funktion der Sprache L Partiell-charakteristische Funktion von L

Charakteristische Funktionen erkannter Sprachen sind berechenbar L semi-entscheidbar L berechenbar L entscheidbar L berechenbar
T HEORETISCHE I NFORMATIK II 5.1: 14

n chste Folie a

T URING -B ERECHENBARKEIT

Akzeptieren vs. Berechnen: Beweisideen


Simuliere Abarbeitung der jeweils anderen Maschine f berechenbar graph(f ) semi-entscheidbar
: Bei Eingabe (w, v) teste ob f (w) = v ergibt : Bei Eingabe w suche das erste Wort v mit (w, v)

graph(f )

Suche mu Werte f r w,v und Rechenzeitgrenze simultan durchlaufen !! u In der Literatur wird diese algorithmische Methode oft dovetailing genannt

Maschinen m ssen nicht bei jeder Eingabe anhalten u

L semi-entscheidbar L berechenbar
: Bei Eingabe w teste ob w akzeptiert wird und gebe ggf. 1 aus : Bei Eingabe w teste ob L (w) = 1 ergibt Maschinen m ssen nicht bei jeder Eingabe anhalten u

L entscheidbar L berechenbar
Wie oben, aber beide Maschinen m ssen bei jeder Eingabe anhalten u
T HEORETISCHE I NFORMATIK II 5.1: 15 T URING -B ERECHENBARKEIT

Turingmaschinen im Ruckblick
Allgemeinstes Automatenmodell
Deterministischer endlicher Automat mit unendlichem Speicherband Beliebiger Zugriff auf Speicherzellen o Erkennung von W rtern durch Endzustand Berechnen von Werten durch Ausgabe nach Terminierung Beide Modelle sind gleich m chtig a

Nichtdeterministische Variante ist gleich stark


Simulationsaufwand durch deterministische Maschine ist exponentiell NTM hilfreich f r Nachweis der Aquivalenz zu Typ-0 Grammatiken u

Aquivalent zu realen Computern


Register, mehrere B nder, Unterprogramme, etc. simulierbar a

Standardmodell fur Untersuchung von Berechenbarkeit


T HEORETISCHE I NFORMATIK II 5.1: 16 T URING -B ERECHENBARKEIT