Grundlagen der Theoretischen Informatiksofronie/gti-ss-2015/slides/... · Wir geben eine totale,...

Post on 18-Sep-2018

218 views 0 download

Transcript of Grundlagen der Theoretischen Informatiksofronie/gti-ss-2015/slides/... · Wir geben eine totale,...

Grundlagen der Theoretischen Informatik

Turingmaschinen und rekursiv aufzahlbare Sprachen (V)

16.07.2015

Viorica Sofronie-Stokkermans

e-mail: sofronie@uni-koblenz.de

1

Ubersicht

1. Motivation

2. Terminologie

3. Endliche Automaten und regulare Sprachen

4. Kellerautomaten und kontextfreie Sprachen

5. Turingmaschinen und rekursiv aufzahlbare Sprachen

6. Berechenbarkeit, (Un-)Entscheidbarkeit

7. Komplexitatsklassen P und NP

2

Ubersicht

• Determinierte Turing-Maschinen (DTMs)

• Varianten von Turing-Maschinen

• Indeterminierte Turing-Maschinen (NTMs)

• Universelle determinierte Turing-Maschinen

• Entscheidbar/Aufzahlbar

• Determinierte Turing-Maschinen entsprechen Typ 0

• Unentscheidbarkeit

3

Ubersicht

Sprachen

Abzahlbar⊃

6= Rekursiv Aufzahlbar⊃

6= Entscheidbar

| |

Akzeptierbar

| |

Typ 0

• Das Komplement einer entscheidbaren Sprache ist entscheidbar.

• Eine Sprache L ist genau dann entscheidbar, wenn sie und ihr

Komplement akzeptierbar sind.

4

Ubersicht

• Determinierte Turing-Maschinen (DTMs)

• Varianten von Turing-Maschinen

• Indeterminierte Turing-Maschinen (NTMs)

• Universelle determinierte Turing-Maschinen

• Entscheidbar/Aufzahlbar

• Determinierte Turing-Maschinen entsprechen Typ 0

• Unentscheidbarkeit

5

Beispiel einer nicht berechenbaren Funktion

Definition (Busy Beaver Funktion)

Die Funktion BB : N → N sei wie folgt definiert

n 7→ BB(n) := die maximale Anzahl an Einsen, die eine haltende DTM

mit maximal n Zustanden auf einem leeren Band erzeu-

gen kann

6

Beispiel einer nicht berechenbaren Funktion

Definition (Busy Beaver Funktion)

Die Funktion BB : N → N sei wie folgt definiert

n 7→ BB(n) := die maximale Anzahl an Einsen, die eine haltende DTM

mit maximal n Zustanden auf einem leeren Band erzeu-

gen kann

BB wachst extrem schnell

Exakte Werte von BB(n) fur n ≥ 4 nicht bekannt.

• BB(4) ≥ 4098

• BB(5) ≥ 1, 29 ∗ 10865

7

Beispiel einer nicht berechenbaren Funktion

Theorem

BB wachst zu stark um berechenbar zu sein:

Es gibt keine DTM, die BB berechnet.

Beweis (erster Teil)

Man kann immer mindestens ein | mehr erzeugen, wenn man einen weiteren

Zustand zur Verfugung hat:

• man benennt den Haltezustand um in qneu und geht in den richtigen

Haltezustand h nur, wenn man in qneu ein Blank # gelesen hat.

Zusatzlich ersetzt man das Blank durch |).

• Wenn man ein | liest, geht man nach rechts und bleibt in qneu .

Damit haben wir bewiesen:

BB wachst streng monoton.

8

Beispiel einer nicht berechenbaren Funktion

Beweis (zweiter Teil)

Angenommen, es gabe eine DTM MBB , die BB berechnet.

Sie habe n0 Zustande.

Wir betrachten folgende zusammengesetzten Maschine:

• zuerst schreibt sie m Einsen auf das leere Band

• dann fuhrt sie MBB aus

Diese Maschine kommt mit n0 + ⌊m2⌋+ 10 Zustanden aus.

Sei nun m so groß, dass

m > n0 +⌊m

2

+ 10

Dann schreibt die neue Maschine BB(m) Einsen auf das Band und arbeitet

mit streng weniger als m Zustanden: Widerspruch. ✷

9

Godelisierung von DTMs

Definition (Godelnummern von DTMs)

DTMn werden als Godelzahlen kodiert:

• DTMs konnen als Godelworter dargestellt werden.

• Die Buchstaben der Godelworter konnen in Ziffern kodiert wrden,

um Godelnummern zu bekommen.

• Notation: g(M) fur die Godelnummer der DTM M.

10

Godelisierung von DTMs

Definition (Jede Zahl ist Godelnummer)

Jede naturliche Zahl n soll Godelnummer einer DTM Mn sein.

Wir definieren

Mn :=

M, falls g(M) = n

Mhalt falls 6E

M g(M) = n

Mhalt ist eine TM, die sofort anhalt und weiter nichts tut.

11

Halteproblem

Definition [Allgemeines Halteproblem]

Das allgemeine Halteproblem ist die Frage, ob die DTM mit Godelnum-

mer n bei Eingabe i halt.

Es entspricht der Sprache

Hallg := {〈n, i〉 | Mn halt bei Eingabe i}.

12

Halteproblem

Definition [Spezielles Halteproblem]

Das spezielle Halteproblem ist die Frage, ob die DTM mit Godelnummer

n bei Eingabe n halt.

Es entspricht der Sprache

H := {n | Mn halt bei Eingabe n}.

13

Halteproblem

Definition [Null-Halteproblem]

Das Null-Halteproblem ist die Frage, ob die DTM mit Godelnummer n

bei leerer Eingabe halt.

Es entspricht der Sprache

H0 := {n | Mn halt bei leerer Eingabe}

Manchmal auch:

“bei Eingabe 0” anstatt “bei leerer Eingabe”.

14

Leerheitsproblem

Definition [Leerheitsproblem]

Das Leerheitsproblem ist die Frage, ob die DTM mit Godelnummer n bei

keiner Eingabe aus Σ∗ halt.

Es entspricht der Sprache

E := {n | Mn halt bei keiner Eingabe aus Σ∗}.

15

Totalitatsproblem

Definition [Totalitatsproblem]

Das Totalitatsproblem ist die Frage, ob die DTM mit Godelnummer n

bei jeder Eingabe aus Σ∗ halt.

Es entspricht der Sprache

T := {n | Mn halt bei jeder Eingabe aus Σ∗}.

16

Gleichheitsproblem

Definition [Gleichheitsproblem]

Das Gleichheitsproblem ist die Frage, ob die DTM mit Godelnummer n

die gleiche Sprache uber Σ akzeptiert wie die DTM mit Godelnummer m.

Es entspricht der Sprache

Eq := {〈n,m〉 | Mn akzeptiert die gleiche

Sprache uber Σ wie Mm }.

17

Entscheidbarkeitsproblem

Definition [Entscheidbarkeitsproblem]

Das Entscheidbarkeitsproblem ist die Frage, ob die DTM mit Godelnum-

mer n eine entscheidbare Sprache uber Σ akzeptiert.

Es entspricht der Sprache

Ent := {n | Mn akzeptiert eine

entscheidbare Sprache uber Σ}.

18

Unentscheidbarkeit des Halteproblems

Theorem (Halteproblem ist unentscheidbar)

Das spezielle Halteproblem H := {n | Mn halt bei Eingabe n}

ist unentscheidbar.

19

Unentscheidbarkeit des Halteproblems

Theorem (Halteproblem ist unentscheidbar)

Das spezielle Halteproblem H := {n | Mn halt bei Eingabe n}

ist unentscheidbar.

Beweis (A. Turing)

Beweis durch Widerspruch mit einem Diagonalisierungsargument.

Angenommen, es gebe eine DTM MH,

die das spezielle Halteproblem H entscheidet.

Konstruiere eine neue Maschine M′ aus MH:

• Wenn MH ”Y“ antwortet,

geht M′ in eine Endlosschleife (terminiert nicht).

• Wenn MH ”N“ antwortet,

terminiert M′.

Die neue Maschine habe Godelnummer n (also: Mn = M′)

20

Unentscheidbarkeit des Halteproblems

Beweis (A. Turing), Forts.

Was macht Mn bei Eingabe n?

• Falls Mn bei Eingabe n terminiert,

dann antwortet MH auf Eingabe n mit”Y“,

dann terminiert Mn auf Eingabe von n nicht

Widerspruch!

• Falls Mn bei Eingabe n nicht terminiert,

dann antwortet MH auf Eingabe n mit”N“,

dann terminiert Mn auf Eingabe von n

Widerspruch!

21

Akzeptierbarkeit des Halteproblems

Theorem (Akzeptierbarkeit von H)

Das spezielle Halteproblem H ist aufzahlbar. D. h. die Sprache

H = {n | Mn halt bei Eingabe n }

ist akzeptierbar.

22

Akzeptierbarkeit des Halteproblems

Theorem (Akzeptierbarkeit von H)

Das spezielle Halteproblem H ist aufzahlbar. D. h. die Sprache

H = {n | Mn halt bei Eingabe n }

ist akzeptierbar.

Beweis:

Idee:

Akzeptieren durch Simulation von Mn mit Hilfe der universellen DTM.

23

Akzeptierbarkeit des Halteproblems

Theorem (Akzeptierbarkeit von H)

Das spezielle Halteproblem H ist aufzahlbar. D. h. die Sprache

H = {n | Mn halt bei Eingabe n }

ist akzeptierbar.

Beweis:

Sei Mprep die TM, die die Eingabe auf dem Arbeitsband in die Form bringt, die U

fordert.

Sei MH := MprepU

s, #n# ⊢∗

Mprepq, #n#wδ,Mn# U simuliert dann die Arbeit von Mn bei Input n.

MH := MprepU halt bei Input n genau dann, wenn Mn bei Input n halt

genau dann, wenn n ∈ H.

24

Halteproblem

Theorem (Halteproblem ist unentscheidbar)

Das spezielle Halteproblem H := {n | Mn halt bei Eingabe n}

ist unentscheidbar.

Theorem (Akzeptierbarkeit von H)

Das spezielle Halteproblem H ist aufzahlbar. D. h. die Sprache

H = {n | Mn halt bei Eingabe n }

ist akzeptierbar.

Korollar Das Komplement von H ist nicht aufzahlbar.

25

Reduktion von Problemen

Wie zeigt man, dass ein Problem unentscheidbar ist?

Reduktion (informell)

Wir geben eine totale, berechenbare Funktion f an, die

• eine Instanz p1 von P1

• in eine Instanz p2 von P2 umwandelt,

• und zwar so, dass die Antwort zu p1 ”ja“ ist gdw die Antwort zu p2

”ja“ ist.

Wenn P1 unentscheidbar ist, dann ist auch P2 unentscheidbar.

26

Reduktion von Problemen

Definition

Seien L1, L2 Sprachen uber N.

L1 wird auf L2 reduziert,

L1 � L2

gdw

es gibt eine TM-berechenbare Funktion f : N → N, so dass gilt:

A

n ∈ N(

n ∈ L1 gdw f (n) ∈ L2)

.

27

Reduktion von Problemen

Lemma

Ist L1 � L2, und ist L1 unentscheidbar, so ist auch L2 unentscheidbar.

28

Reduktion von Problemen

Lemma

Ist L1 � L2, und ist L1 unentscheidbar, so ist auch L2 unentscheidbar.

Beweis

• Angenommen, L2 ist entscheidbar.

• Sei M2 eine Turing-Maschine, die L2 entscheidet.

• Wegen L1 � L2 gibt es eine Funktion f :N→N ∈ TM mit n ∈ L1 gdw f (n) ∈ L2.

• Sei Mf eine DTM, die f berechnet.

• Dann kann man daraus die Maschine M1 := Mf M2 konstruieren, fur die gilt:

– M1, gestartet mit Input n, halt mit h, #Y#, falls f (n) ∈ L2, d.h. wenn

n ∈ L1 ist.

– M1, gestartet mit Input n, halt mit h, #N#, falls f (n) 6∈ L2, d.h. wenn

n 6∈ L1 ist.

• Die Maschine M1 entscheidet also L1, ein Widerspruch.

29

Unentscheidbarkeit

Theorem [Unentscheidbarkeit von H0].

Das Null-Halteproblem

H0 = {n | Mn halt bei Eingabe 0}

ist unentscheidbar.

30

Unentscheidbarkeit

Beweis: Gegeben eine TM Mn.

Kombiniere diese mit einer DTM, die n aufs Band schreibt.

f (n) sei definiert als die Godelnummer dieser neuen Maschine.

Mf (n) terminiert auf Eingabe von 0

gdw

Mn terminiert auf Eingabe von n

Damit:

Reduktion des speziellen Halteproblems auf das Null-Halteproblem.

(f ist total und berechenbar!)

Also:

Unentscheidbarkeit des Null-Halteproblems folgt aus

Unentscheidbarkeit des speziellen Halteproblems

31

Unentscheidbarkeit

Ahnlich kann man per Reduktion die Unentscheidbarkeit der folgenden

Probleme zeigen:

• E, das Leerheitsproblem.

E := {n | Mn halt bei keiner Eingabe aus Σ∗}

• T , das Totalitatsproblem.

T := {n | Mn halt bei jeder Eingabe aus Σ∗}.

• Eq, das Gleichheitsproblem.

Eq := {〈n,m〉 | Mn akzeptiert die gleiche Sprache uber Σ wie Mm }.

• Ent, das Entscheidbarkeitsproblem.

Ent := {n | Mn akzeptiert eine entscheidbare Sprache uber Σ}.

32

Ubersicht

• Determinierte Turing-Maschinen (DTMs)

• Varianten von Turing-Maschinen

• Indeterminierte Turing-Maschinen (NTMs)

• Universelle determinierte Turing-Maschinen

• Entscheidbar/Aufzahlbar

• Determinierte Turing-Maschinen entsprechen Typ 0

• Unentscheidbarkeit

33

Ubersicht

1. Motivation

2. Terminologie

3. Endliche Automaten und regulare Sprachen

4. Kellerautomaten und kontextfreie Sprachen

5. Turingmaschinen und rekursiv aufzahlbare Sprachen

6. Berechenbarkeit, (Un-)Entscheidbarkeit

7. Komplexitatsklassen P und NP

34

Ubersicht

1. Motivation

2. Terminologie

3. Endliche Automaten und regulare Sprachen

4. Kellerautomaten und kontextfreie Sprachen

5. Turingmaschinen und rekursiv aufzahlbare Sprachen

6. Berechenbarkeit, (Un-)Entscheidbarkeit

7. Komplexitatsklassen P und NP

35

Komplexitatstheorie

Inhalt

• Definition der beruhmten Klassen P und NP.

• Begriff der Reduktion: ein Problem (eine Sprache) wird auf eine zweite

reduziert. Das erste Problem ist dann hochstens so schwer wie das

zweite.

• Den Begriff eines NP-schweren Problems.

• Einige Probleme der Graphentheorie: sie sind NP-vollstandig.

• Die wichtigsten Komplexitatsklassen und ihre Struktur.

36

Komplexitatstheorie

• Die Struktur von PSPACE

• Vollstandige und harte Probleme

• Beispiele

37

Komplexitatstheorie: Motivation

1. Sortieralgorithmen: Bubble Sort, Quicksort, ...

2. Erfullbarkeitsproblem:

Gibt es eine erfullende Belegung fur die Variablen {x1, x2, . . . xn}?

3. Graphenprobleme:

Gibt es einen hamiltonschen Kreis in einem Graphen?

Sind zwei Knoten in einem Graphen voneinander erreichbar?

38

Komplexitatstheorie

Welche Arten von Komplexitat gibt es?

• Zeit

• Speicher

39