Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf ·...

Post on 01-May-2020

2 views 0 download

Transcript of Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf ·...

Theoretische Informatik:Berechenbarkeit und Komplexitat

Prof. Dr. Sibylle SchwarzHTWK Leipzig, Fakultat IMN

Gustav-Freytag-Str. 42a, 04277 LeipzigZimmer Z 411 (Zuse-Bau)

https://informatik.htwk-leipzig.de/schwarz

sibylle.schwarz@htwk-leipzig.de

Wintersemester 2018/19

1

Einordnung der Theoretischen Informatik

Informatik Lehre von der Darstellung und Verarbeitung vonInformation durch Algorithmen

Teilgebiete der Informatik:

theoretisch § Sprachen zur Formulierung von Information undAlgorithmen,

§ Moglichkeiten und Grenzender maschinellen Berechenbarkeit,

§ Grundlagen fur technische und praktische(und angewandte) Informatik

technisch § maschinelle Darstellung von Information§ Mittel zur Ausfuhrung von Algorithmen

(Rechnerarchitektur, Hardware-Entwurf, Netzwerk, . . . )

praktisch Entwurf und Implementierung von Algorithmen(Betriebssysteme, Compilerbau, SE, . . . )

angewandt Anwendung von Algorithmen(Text- und Bildverarbeitung, Datenbanken, KI, Medizin-,Bio-, Wirtschafts-, Medieninformatik, . . . )

2

Teilgebiete der theoretischen InformatikFormale Sprachen (im Bachelor-Modul)

§ Reprasentation von Informationen und Aufgaben inmaschinenlesbarer Form (Mensch-Maschine-Kommunikation)

§ Ausdrucksstarke und Flexibilitat von Programmiersprachen

§ Ubersetzung von Programmiersprachen (z.B. in ausfuhrbaren Code)

Maschinenmodelle (Automaten) (im Bachelor-Modul)

§ Moglichkeiten und Grenzen verschiedener Modelle zur(maschinellen) Ausfuhrung von Algorithmen

Berechenbarkeitstheorie

§ Welche Aufgaben sind uberhaupt algorithmisch(mit Hilfe verschiedener Maschinenmodelle) losbar?Auch negative Antworten sind sehr hilfreich(sparen Aufwand fur ungeeignete Losungsansatze)

Komplexitatstheorie

§ Welche Aufgaben sind mit beschrankten Ressourcen(z.B. Zeit, Speicherplatz) losbar?

§ Fur welche Aufgaben konnen schnelle Algorithmen existieren?3

Prinzipien der theoretischen Informatikaltester Zweig der Informatik (lange vor dem ersten Computer)

Mathematische Prinzipien:§ Abstraktion

§ ermoglicht verallgemeinerte Aussagen und breit einsetzbareVerfahren,

§ Ergebnisse und Verfahren oft nicht sofort praktisch anwendbar,mussen auf spezielle Situationen angepasst werden.

§ Beweisbarkeit§ erfordert prazise Modellierung der Aufgabe§ Nachweis der Korrektheit von Hard- und Software

(Tests konnen dies nicht !)

Wissen aus der theoretischen Informatik

§ veraltet uber viele Jahre kaum

§ Grundlage fur Verstandnis von (schnelllebigem) Spezialwissen,z.B. konkrete Programmiersprachen, Domain-spezifischeSprachen, Transformationen verschiedener Darstellungen

4

Aus der Modulbeschreibung3020 Theoretische Informatik: Berechenbarkeit und Komplexitat

Arbeitsaufwand: Prasenzzeit 56 h (“ 2 h V ` 2 h U je Woche)Vor- und Nachbereitungszeit 124 h (« 9 h je Woche)

Voraussetzungen: anwendungsbereite Kenntnisse auf den GebietenModellierung, Logik, Formale Sprachen,Maschinenmodelle, Algorithmen und Datenstrukturen,Aufwandsabschatzungen

Lernziele: Nach erfolgreichem Abschluss des Moduls sind dieStudierenden in der Lage, fundiert die prinzipiellenMoglichkeiten und Grenzen der verschiedenenBerechenbarkeitsmodelle einzuschatzen.

Ebenso konnen sie Abwendungsprobleme hinsichtlich ihrerSchwere einschatzen. So konnen sie treffsicher adaquateMittel fur zu losende algorithmische Aufgaben auswahlenund einsetzen.

Ferner konnen sie unlosbare oder schwer handhabbareProbleme als solche erkennen und ggf. z.B. auf Methodenfur handhabbare Spezialfalle, Naherungslosungenausweichen. 5

Inhalt der Lehrveranstaltung

§ Berechenbarkeit

§ Entscheidbarkeit

§ Unentscheidbare Probleme

§ Algorithmenmodelle und ihre Rolle bei der Untersuchung vonGrenzen der Berechenbarkeit

§ Zusammenhang zwischen Ausdrucksstarke derAlgorithmenmodelle und Komplexitat der Probleme

§ Komplexitatsmaße

§ Komplexitatsklassen (P, NP, PSPACE, . . . )

jeweils mit vielen Beispielen und praktischen Folgerungen

6

Lehrveranstaltungen

Folien, Ubungsserien, aktuelle Informationen unterhttps:

//informatik.htwk-leipzig.de/schwarz/lehre/ws18/tim

Vorlesung (2 h / Woche)

Selbststudium (Hausaufgaben): (9 h / Woche)

schriftliche Ubungsserien (ca. zu jeder Vorlesung)Besprechung in der folgenden Ubung

Autotool jeweils nach der Vorlesung(ca. eine Woche Bearbeitungszeit)

Ubung (eine Gruppe) (2 h / Woche)alle Folien, Aufgaben, Losungen mitbringen !

§ Besprechung der Ubungsserien (Vorrechnen),§ Fragen zum aktuellen Vorlesungsinhalt

7

Prufung

Prufungsvorleistungen:

§ ě 50% aller Punkte furAutotool-Pflichtaufgaben und

§ ě 3 Vorrechen-Punkte (Ubungen)

Prufung: Klausur 120 minAufgabentypen ahnlich Ubungsaufgaben(Hilfsmittel: beidseitig handbeschriebenes A4-Blatt)

8

Inhalt und Ziel der Vorlesung

§ grundlegende Begriffe, Prinzipien und Methoden aus derAlgorithmentheorie und der Komplexitatstheorie

§ . . . zu einem tieferen Verstandnis praktischerProblemstellungen.

(Quelle: Modulbeschreibung)

§ was sind Algorithmen?

§ wie hangen verschiedene Alg.-Definitionen zusammen?

§ welche Probleme sind algorithmisch losbar?

§ . . . mit welchem Ressourcenverbrauch?

9

Eigenschaften von Grammatiken

§ E3: Sprach-Aquivalenz von Typ-3-Grammatiken

§ E2: Sprach-Aquivalenz von Typ-2-Grammatiken

gesucht ist jeweils Algorithmus mit dieser Eigenschaft:Eingabe ist Paar pG1,G2q von Grammatiken,Ausgabe ist 1, falls LpG1q “ LpG2q, sonst 0

praktische Motivation: Test bzw. Verkleinerung von regularenAusdrucken, von Grammatiken (automatische Bewertung vonUbungsgaufgaben zu formalen Sprachen)

§ E3 ist entscheidbar, siehe Modul Automaten und formaleSprachen

§ E2 nicht entscheidbar (Nachweis spater im Semester)

Methode:Reduktion: wenn E2 entscheidbar, dann auch . . .

10

Sind verschiedene Aufgaben gleich schwer?

(eine typische Frage der Komplexitatstheorie)

§ Def. Eine k-Knoten-Farbung eines Graphen G “ pV ,E q

ist Funktion f : V Ñ t1, 2, . . . , ku mit @uv P E : f puq ‰ f pvq.

§ kCOL “ die Menge der Graphen,die eine k-Knoten-Farbung besitzen.

§ Aufgaben:

§ gegeben G , entscheide G P 2COL§ gegeben G , entscheide G P 3COL

§ beide Aufgaben sind entscheidbar (warum?)

§ fur 2COL ist ein effizienter Algorithmus bekannt, fur 3COLnicht.

Methode:Reduktion: wenn man 3COL effizient losen konnte, dann auch . . .

11

Praktische Problemstellungen

Berechenbarkeitsmodell “ Programmierparadigma

§ Registermaschine: imperatives Programmieren

§ Loop- und While-Programme: strukturiertes (imperat.) P.

§ primitiv/allgemein-rekursive Funktionen: funktionales P.

§ (uniforme) Schaltkreise: paralleles Programmieren

§ nichtdeterministische Maschinen: Suchverfahren

fur jede dieser Definitionen:

§ exakte Beschreibung (Spezifikation)von (abstrakter) Syntax und Semantik “ Interpreter-Bau

zwischen diesen Definitionen:

§ semantik-erhaltende Ubersetzung “ Compiler-Bau

12

Geschichte des Algorithmenbegriffs

Suche nach Losungsverfahren fur mathematische Aufgaben(symbolische Differentiation, Integration, Gleichungssysteme)

§ Wahrheit einer pradikatenlogischen Formel

§ das 10. Hilbertsche Problem (1900):Losbarkeit von Polynomgleichungen in ganzen Zahlen

. . . bzw. nach Beweisen fur deren Nicht-Existenz

§ Godel, Church, Turing (1936,. . . ):. . . ist nicht entscheidbar

§ Matiasevich (1970):. . . ist nicht entscheidbar.

13

Bedeutung des Algorithmenbegriffs

(nach K. Wagner: Theoretische Informatik, Springer 2003)

§ Die Bedeutung des Algorithmenbegriffs fur Mathematik undInformatik entspricht der Bedeutung des Begriffes dernaturlichen Zahlen.

§ Die mathematische Prazisierung des Algorithmenbegriffs unddie Erkenntnis der Grenzen des algorithmisch Machbarengehoren zu den wichtigsten intellektuellen Leistungen des 20.Jahrhunderts.

14

Literatur

§ Juraj Hromkovic: Algorithmische Konzepte der InformatikTeubner 2001

§ Klaus Wagner: Theoretische Informatik Springer 2003

§ Ingo Wegener: Theoretische Informatik Teubner 1992

§ Uwe Schoning: Theoretische Informatik – kurzgefasstSpektrum 2001

§ John E. Hopcroft, Jeffrey D. Ullman Einfuhrung in dieAutomatentheorie, Formale Sprachen und KomplexitatstheorieAddison-Wesley 1990

§ Hartley Rogers Jr.: Theory of Recursive Functions andEffective Computability, 1987

§ Michael Garey, David S. Johnson: Computers andIntractability Freeman 1979

15

WH: Turing-Maschine – IdeeDefinition (endliche Beschreibung) durch

§ Steuereinheit: Lese/Schreib-Kopf

§ interner Speicher:

1. endliche Menge von Zustanden (Lesen / Schreiben)2. beidseitig unendliches Arbeitsband aus Zellen

§ Typ des Speicherinhaltes:endliches Wort uber endlichem Alphabet (Arbeitsalphabet)

§ Zugriffsmethode: Lesen / SchreibenBewegung des Lese/Schreib-Kopfes auf ein Nachbarfeld

§ externer Speicher:

3. beidseitig unendliches Eingabeband aus Zellen§ Typ des Speicherinhaltes:

endliches Wort uber endlichem Alphabet (Eingabealphabet)§ Zugriffsmethode: Lesen

Bewegung des Lese-Kopfes auf ein Nachbarfeld

ubliche Vereinfachung der Struktur:

Zusammenfassen der Bander im internen und externen Speicher zu einem

Eingabe- und Arbeitsband (2,3) mit Lese/Schreib-Zugriff16

WH: Turing-Maschine – Definition

Turing-Maschine (TM) M “ pX ,Q, Γ, δ, q0,2q mit

X endliches Eingabealphabet

Q endliche Menge von Zustanden

Γ Ą X endliches Arbeitsalphabet

δ Ď pΓˆ Q ˆ Γˆ Q ˆ tL,R,NuqUbergangsrelation

q0 Startzustand

2 P ΓzX Leere-Zelle-Symbol

TM M heißt deterministisch (DTM) gdw.fur jedes a P Γ und jedes q P Q gilt

| tpa, q, b, p, xq | p P Q, b P Γ, x P tL,R,Nuu X δ| ď 1

17

Beispiele fur Turing-Maschinen

§ TM M1 “ pta, bu, tq0, f u, ta, b,2u, δ, q0,2q mit

δ “ tpa, q0, a, q0, Lq, pb, q0, b, q0, Lq, p2, q0,2, f ,Rqu

§ TM M2 “ pta, bu, tq0, qa, qb, f u, ta, b,2u, δ, q0,2q mit

δ “

$

&

%

pa, q0,2, qa,Rq, pb, q0,2, qb,Rq,pa, qa, a, qa,Rq, pb, qa, b, qa,Rq,pa, qb, a, qb,Rq, pb, qb, b, qb,Rq,p2, q0,2, f ,Rq, p2, qa, a, f ,Rq, p2, qb, b, f ,Rq

,

/

/

.

/

/

-

§ TM M3 “ pt1u, tq0, q1, q2, q3, q4, f u, t1, x ,2u, δ, q0,2q mit

δ “ tp1, q0, 1, q1,Rq, p1, q1, x , q2,Rq, p1, q2, 1, q3,Rqu

Y tp1, q3, x , q2,Rq, p1, q4, 1, q4, Lq, px , q1, x , q1,Rqu

Y tpx , q2, x , q2,Rq, px , q3, x , q3,Rq, px , q4, x , q4, Lqu

Y tp2, q1,2, f , Lq, p2, q2,2, q4, Lq, p2, q4,2, q0,Rqu

18

Konfigurationen von TM

TM M “ pX ,Q, Γ, δ, q0,2q

Konfiguration uqv P pΓ˚ ˆ q ˆ Γ˚q mit

§ aktuellem Bandinhalt w “ uv

§ aktuellem Zustand der TM q

§ Schreib-/Lesekopf der TM zeigt auf erstes Symbol von v(Leere-Zelle-Symbol, falls v “ ε)

Startkonfigurationen q0w mit w P X ˚

Konfigurationsubergange von upv mit u “ u1a und v “ bv 1:fur pb, p, c, q,Rq P δ : upv $ ucqv 1

fur pb, p, c, q, Lq P δ : upv $ u1qacv 1

fur pb, p, c , q,Nq P δ : upv $ uqcv 1

19

Berechnung durch TM

TM M “ pX ,Q, Γ, δ, q0,2q

Eine Folge k0, k1, . . . von Konfigurationen ki P Γ˚ ˆ Q ˆ Γ˚

heißt Berechnung durch M fur das Wort w P X ˚ gdw.

1. k0 “ q0w ist die Startkonfiguration mit Eingabe w .

2. Fur jedes i ist ki $ ki`1 ein Konfigurationsubergang von M.

Ende von Berechnungen der TM M fur ein Eingabewort w :

1. Berechnung durch M endet in ki (M halt) gdw.aus einem ki kein Konfigurationsubergang von M moglich ist.Berechnung von M endet in ki .

2. Berechnung durch M endet nicht (unendliche Berechnung)gdw.fur jedes i P N der Konfigurationsubergang ki $ ki`1 existiert.

20

Beispiel

DTM M “ pta, b, cu, tq0, q1, q2, q3, f u, ta, b, x ,2u, δ, q0,2q mit

δ “

$

&

%

p2, q0,2, f ,Nqp2, q3,2, q0,Rqpa, q0, x , q1,Rqpa, q1, a, q1,Rqpa, q3, a, q3, Lqpb, q1, x , q2,Rqpb, q2, b, q2,Rqpb, q3, b, q3, Lqpc , q2, x , q3, Lqpx , q0, x , q0,Rqpx , q1, x , q1,Rqpx , q2, x , q2,Rqpx , q3, x , q3, Lq

,

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

.

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

/

-

21

Nichtdeterministische TM

TM M “ pt0, 1u, tq0, q1, f u, t0, 1,2u, δ, q0,2q mit

δ “ t p0, q0, 1, q0,Rq

p1, q0, 1, q0,Rq

p1, q0, 1, q1,Rq

p1, q1, 1, q1,Rq

p2, q1,2, f , Lqu

endet bei Eingabe des Wortes 11011 mit (u.A.) folgenderBerechnung

q011011 $ 1q01011 $ 11q0011 $ 111q011 $ 1111q11

$ 11111q12 $ 1111f 1

22

Simulation nichtdeterministischer TM

SatzZu jeder nichtdeterministischen TM M existiert einedeterministische TM M 1 mit LpMq “ LpM 1q.

Beweisidee:Menge aller moglichen Berechnungen von M bei Eingabe von wbilden einen Baum (evtl. mit unendlich langen Pfaden)

Knoten: KonfigurationenWurzel: Startkonfiguration (Startzustand, Eingabewort)Blatter: Halt-Konfigurationen (ohne Folgekonfigurationen)Kanten: zulassige Konfigurationsubergange in M

M 1 fuhrt Breitensuche in diesem Baum durch(simuliert parallele Berechnung aller Moglichkeiten, dovetailing),Bandinhalt von M 1 sind Konfigurationen aus MM 1 halt, sobald eine Halt-Konfiguration von M auf demArbeitsband steht.

23

DTM zur Berechnung von Funktionen

Beobachtung (der Nebenwirkung) der Berechnung von DTM:

Jede deterministische TM M berechnet eine FunktionfM : X ˚ Ñ Γ˚

Eingabe w P X ˚: Inhalt des Arbeitsbandes bei Start derBerechnung (Eingabewort)

Ausgabe v P Γ˚: Inhalt des Arbeitsbandes nach Halt der TM

Falls M bei Eingabe von w nicht halt, ist fMpwq nicht definiert.

TM M berechnet i.A. eine partielle Funktion

fM : X ˚ Ñ Γ˚

da fM nur fur die Worter w P X ˚ definiert ist,bei deren Eingabe M halt.

24

Turing-berechenbare FunktionenJede deterministische TM M definiert die (partielle) FunktionfM : X ˚ Ñ Γ˚, wobei @w P X ˚

fMpwq “

#

v falls Bandinhalt v , nachdem M halt

nicht definiert falls M nicht halt

Beispiel: M “ pta, bu, tq0, q1, q2, q3u, ta, b,2u, δ, q0,2q mit

δ “ tpa, q0,2, q1,Rq, pb, q0,2, q2,Rq, p2, q0,2, q0,Nqu

Ytpa, q1, a, q1,Rq, pb, q1, b, q1,Rq, p2, q1, a, q3,Nqu

Ytpa, q2, a, q2,Rq, pb, q2, b, q2,Rq, p2, q2, b, q3,Nqu

definiert die Funktion

fMpwq “

#

vx falls w “ xv mit x P ta, bu und v P ta, bu˚

nicht definiert falls w “ ε

Eine Funktion f : X ˚ Ñ X ˚ heißt Turing-berechenbargdw. eine deterministische TM M mit f “ fM existiert.

25

Beispiele

§ g : t1u˚ Ñ t1u˚ mit gpwq fur alle w P t1u˚ undefiniertist berechenbar durch die TM M “ pt1u, tq0u, t1,2u, δ, q0,2qmit δ “ tpq0, 1, q0, 1,Nq, pq0,2, q0,2,Nqu

§ f : ta, bu˚ Ñ ta, bu˚ mitfur alle w P ta, bu˚ gilt

f pwq “

#

am`n falls w “ amban

nicht definiert sonst

ist berechenbar durch die TMM “ pta, bu, tq0, q1, q2, f u, ta, b,2u, δ, q0,2q mit

δ “ tpa, q0, a, q0,Rq, pb, q0, a, q1,Rq, p2, q0,2, q0,Nqu

Ytpa, q1, a, q1,Rq, pb, q1, b, q1,Nq, p2, q1,2, q2, Lqu

Ytpa, q2,2, f ,Nqu

26

Was bisher geschah

Wiederholung Berechnungsmodell DTM(deterministische Turing-Maschine)

§ Definition M “ pX ,Q, Γ, δ, q0,2q§ Konfigurationen

§ Konfigurationenfolgen (Berechnungen)

§ Halt

§ Beispiele

Jede DTM M berechnet eine (partielle) Funktion fM : X ˚ Ñ X ˚

Zahlen, Tupel von Zahlen,. . . codiert als Worter in X ˚,z.B. X “ t|u (unar) oder X “ t0, 1u (binar)

Funktion f : X ˚ Ñ X ˚ heißt (Turing-)berechenbar gdw.D DTM M: fM “ f

27

Codierung von TM (Godelnummer)

(Kurt Godel 1906 - 1978)

Darstellung jeder TM M “ pX ,Q, Γ, δ, q0,2q als (endliches) Wortuber dem endlichen AlphabetX 1 “ X Y ΓY Q Y tL,R,NuY Klammern Y Trennzeichen moglichMenge aller Codierungen von TM ist Sprache uber X 1

Codierung als t0, 1u-Folge:

§ Alphabet, Zustande, Richtungen in Unarcodierung (aus 1˚)

§ Trennzeichen als Folgen aus 0˚

Godelnummer einer TM M:Darstellung von M als Binarwort

Die Menge aller t0, 1u-Folgen, die korrekten Codierungen von TMsind, ist regular

28

Beispiel: Godelnummer einer TMCodierung einer TM als Wort aus t0, 1u˚

Beispiel: TM M “ pX ,Q, Γ, δ, q1,2q in t0, 1u˚ mit§ X “ t1,2u mit cp1q “ 1, cp2q “ 11§ Q “ tq0, q1u mit Startzustand q0:cpq0q “ 1, cpq1q “ 11

§ B “ tL,R,Nu mit cpLq “ 1, cpRq “ 11, cpNq “ 111§ δ “ tpq0,2, q1, 1,Rq, pq1,2, q0, 1, Lq, pq0, 1, q1, 1, Lqu

fur jeden Ubergang u “ pp, a, q, b, rq P δ:

Codierung : cpuq “ cppq0cpaq0cpqq0cpbq0cprq

cpq0,2, q1, 1,Rq “ 101101101011

cpq1,2, q0, 1, Lq “ 11011010101

cpq0, 1, q1, 1, Lq “ 1010110101

Codierung der TM M:

cpMq “ 000cpq0,2, q1, 1,Rq00cpq1,2, q0, 1, Lq00cpq0, 1, q1, 1, Lq000

29

Existenz nicht Turing-berechenbarer Funktionen

Ist jede Funktion f : X˚ Ñ X˚

(f : X˚ Ñ Y ˚, f : NÑ N, f : Nn Ñ N) Turing-berechenbar?

Nein

Begrundung: (Aussage fur X “ t0, 1u zu zeigen, genugt)

1. Wieviele Turing-Maschinen uber einem endlichen Alphabet gibt es?abzahlbar viele(Menge A abzahlbar gdw. Df : NÑ A surjektiv)TM konnen endlich codiert undquasi-lexikographisch angeordnet werden

2. Wieviele Funktionen f : X˚ Ñ X˚ gibt es?

uberabzahlbar viele

(zweites Diagonalverfahren von Cantor)

Damit existieren sogar sehr viel mehr (uberabzahlbar viele) Funktionenf : X˚ Ñ X˚ (f : X˚ Ñ Y ˚, f : NÑ N, f : Nn Ñ N),

die nicht von TM berechnet werden konnen.

30

Beispiel DTM

DTM M “ pt1, ‚u, tq0, q1, q2, f u, t1, ‚,2u, δ, q0,2q mit

δ “ t p1, q0, 1, q0,Rq

p‚, q0, 1, q1,Rq

p1, q1, 1, q1,Rq

p2, q1,2, q2, Lq

p1, q2,2, f , Lqu

akzeptiert jedes Eingabewort aus 1˚ ‚ 1˚,verschiebt dabei den Teil nach dem ‚ um eine Zelle nach links

Nebenwirkung:Transformation des Bandinhaltes von Beginn bis Halt der TMals Berechnung mit Unardarstellungen naturlicher Zahlen: Addition

31

Mehrband-Turingmaschinen

Idee:

§ mehrere beidseitig unendliche Arbeitsbander

§ je ein Schreib-/Lesekopf je Bandarbeiten unabhangig voneinander

k-Band-Turing-Maschine M “ pX ,Q, Γ, δ, q0,2q mit

X endliches Eingabealphabet

Q endliche Menge von Zustanden

Γ Ą X endliches Arbeitsalphabet

δ Ď pΓk ˆ Q ˆ Γk ˆ Q ˆ tL,R,NukqUbergangsrelation

q0 Startzustand

2 P ΓzX Leere-Zelle-Symbol

32

Beispiel fur Mehrband-TM

2-Band-Turing-Maschine M “ pX ,Q, Γ, δ, q0,2q mit

X “ t0, 1u

Q “ tq0, p, f u

Γ “ t0, 1,2u

δ “

$

&

%

p0,2, q0, 0, 0, q0,R,Rq,p1,2, q0, 1, 1, q0,R,Rq,p2,2, q0,2,2, p, L, Lq,p0, 0, p, 0, 0, p, L, Lq,p1, 1, p, 1, 1, p, L, Lq,p2,2, p,2,2, f ,R,Rq

,

/

/

/

/

/

/

.

/

/

/

/

/

/

-

kopiert Inhalt des Bandes 1 auf (leeres) Band 2

33

Simulation von Mehrband-TM

SatzZu jeder k-Band-TM M existiert eine TM N (mit einem Band) mitfM “ fN .

Beweisidee:N simuliert einen Schritt von M durch eine Hin- undRuckbewegung uber alle Bander.

§ betrachte Bander als Spuren auf einem Banderweitertes (endliches) Alphabet pΓˆ t2, ˚uqk

mit zusatzlichen Spuren fur Kopfpositionen ˚§ in jedem Schritt

§ Kopfbewegung vom linken zum letzten ˚ und Speichern dergelesenen Symbole an den Kopfpositionen im Zustand

§ Kopfbewegung zum linken Ende:Ausfuhrung der Ubergangsrelation δ auf allen Bandern

34

Kombination von TM

Idee:Kombination verschiedener Einband-TM Mi zu einerMehrband-TM M

Einband-TM zur Berechnung von (binarcodiert)

§ Mi ,0 “ pt0, 1u, tq0, pu, t0, 1,2u, δ, q0,2q mitδ “ tp0, q0,2, q0,Rq, p1, q0,2, q0,Rq, p2, q0, 0, p,Nquschreibt Konstante 0 auf Band i

§ Nachfolger vom Inhalt des Bandes i auf Band iMi ,`1 “ . . .

§ Vorganger vom Inhalt des Bandes i auf Band iMi ,´1 “ . . .

§ Kopie des Inhalts des Bandes i auf Band j

35

Komposition von TM

Fur TM M1 “ pX ,Q1, Γ1, δ1, q1,2q undM2 “ pX ,Q2, Γ2, δ2, q2,2q mit Q1 X Q2 “ H

berechnet M “ pX ,Q1 Y Q2, Γ1 Y Γ2, δ, q1,2q mitδ “ δ1 Y δ2 Y tpx , q, x , q2,Nq | x P Γ1 ^ q P Q1 ^ pq, x , ¨, ¨, ¨q R δ1u

die Nacheinanderausfuhrung von fM1 und fM2

z.B. Addition einer gegebenen Zahl durch mehrmaligeNacheinanderausfuhrung von M`1

36

Beispiel

Ein-Band-TM M“0 “ pX ,Q, Γ, δ, q0,2q mit

X “ t0, 1u

Q “ tq0, p, f0, f1u

Γ “ t0, 1,2u

δ “

$

&

%

p1, q0, 1, f0,Nq, p2, q0,2, f0,Nq,p0, q0, 0, p,Rq, p1, p, 1, f0, Lq,p0, p, 0, f0, Lq, p2, p,2, f1, Lq,

,

.

-

halt in Konfiguration f10 fur Eingabe 0 und f0w fur jede andereEingabe w

M“0 testet, ob Bandinhalt “ 0

37

Fallunterscheidung

Fur TM M“0 “ pX ,Q“0, Γ“0, δ“0, q0,2q,M1 “ pX ,Q1, Γ1, δ1, q1,2q und M2 “ pX ,Q2, Γ2, δ2, q2,2q mit Qi

paarweise disjunkt

berechnet M “ pX ,Q“0 Y Q1 Y Q2, Γ“0 Y Γ1 Y Γ2, δ, q1,2q mitδ “ δ“0 Y δ1 Y δ2 Y

Ť

xPΓ1tpx , f1, x , q1,Nq, px , f2, x , q2,Nqu

fM1 , falls 0 auf dem Eingabeband steht, sonst fM2

38

Was bisher geschah

(deterministische) Turing-Maschine pX ,Q, Γ, δ, q0,2q§ Konfigurationen Γ˚ ˆ Q ˆ Γ˚

§ Berechnung = Folge von Konfigurationen

§ TM andert i.A. wahrend der Berechnung den Inhalt (w P Γ˚)des Arbeitsbandes (Nebenwirkung)

§ berechnet (partielle) Funktion fM : X ˚ Ñ Γ˚

§ berechenbare Funktionen

§ TM fur Basisfunktionen:Konstanten, Nachfolger, Vorganger, Test auf Bandinhalt “ 0

§ Verknupfung berechenbarer Funktionen durchTM-OperationenVerkettung, Verzweigung

§ Mehr-Band-TMSimulation durch Ein-Band-TM

38

Strukturierte Programmierung

Formalisierung des imperativen Programmierens

§ Programm: Folge von Befehlen

§ Programmausfuhrung: Folge von Zustandsanderungen

§ Zustand: Speicherbelegung und Befehlsnummer

Eigenschaften dieses Modells:

§ ist einfach in Hardware realisierbar(seit Jahrzehten werden Rechner so gebaut)

§ ist softwaretechnisch unzweckmaßig(der Beweis fur die Korrektheit eines Programms sieht ganzanders aus als das Programm selbst)

39

Semantik: Speicher

§ Speicher der Maschine besteht aus Registern (Zellen),

§ Registerinhalte P N§ Register sind numeriert durch N§ es werden nur endlich viele Register benutzt

§ die Menge der moglichen Speicherbelegungen istS :“ ts | s P pNÑ Nq, tx | spxq ‰ 0u ist endlichu.

§ Bsp. sp0q “ 42, sp1q “ 10,@x : x ě 2 ñ spxq “ 0.

§ Notation fur Speicher-Anderungen: srx :“ y sist die Funktion z ÞÑ pif z “ x then y else spzqq.

§ Bsp: sr1 :“ 8sp1q “ . . . , sr1 :“ 8sp2q “ . . .

§ U: gilt sra :“ bsrc :“ ds “ src :“ dsra :“ bs ?

40

Syntax: Befehle und Programme

Menge B der Befehle:§ arithmetische Befehle:

§ Inc pNq§ Dec N

§ Sprungbefehle:§ Goto pNq§ GotoZ pNˆ Nq

§ Stop

Menge P der goto-Programme “ B˚ (Folgen von Befehlen)

Beispiel fur ein goto-Programm:

[GotoZ 1 5,Dec 1,Inc 0,Inc 0,Goto 0,Stop]

41

Semantik: Befehle

Menge der Konfigurationen C Ă Nˆ S mit

§ Befehlszahler l P N(enthalt die Nr. des nachsten auszufuhrenden Befehls)

§ Speicherbelegung s P S

Ubergangsrelation des goto-Programms p:stepp Ď C ˆ C mitppl , sq, pl 1, s 1qq P stepp, falls l ă |p| und . . .

§ wenn pl “ Incpiq, dann l 1 “ l ` 1, s 1 “ sri :“ spiq ` 1s

§ wenn pl “ Decpiq, dann . . .

§ wenn pl “ Gotopkq, dann . . .

§ wenn pl “ GotoZpi , kq, dann:wenn spiq “ 0, dann . . . sonst . . .

Satz: Die Relation stepp ist eine partielle Funktion.

42

Semantik: Programme

§ initiale Konfiguration I pxq mit Eingabe x “ px1, . . . , xnq P Nn:p0, sq mit sp1q “ x1, . . . , spnq “ xn, spiq “ 0 sonst

§ finale Konfiguration pl , sq, wobei l ă |p| und pl “ Stop

§ die Ausgabe Opl , sq einer Konfiguration ist sp0q

Jedes goto-Programm p berechnet eine partielle Funktionfp : Nn Ñ N mitpx , yq P fp gdw.

§ pI pxq,F q P step˚p und F ist final und y “ OpF q

Partielle Funktion f : Nn Ñ N heißt Goto-berechenbar gdw.ein goto-Programm p mit f “ fp existiert.

GOTO : Menge aller goto-berechenbaren Funktionen

Beispiel: ein p, das die Funktion fppx1q “ 5 berechnet?

Semantik des leeren Programms (mit |p| “ 0) ?

43

Goto-Programm fur x ÞÑ 2x

p = [GotoZ 1 5,Dec 1,Inc 0,Inc 0,Goto 0,Stop]

Nachweis fur @x P N : fPpxq “ 2x in zwei Teilen

§ das Goto-Programm halt fur jede Eingabe (vgl. Def. step˚p)

§ die Ausgabe ist korrekt

jeder Konfiguration pl , sq wird zugeordnet:

Invariante sp0q ` 2 ¨ sp1q

Schranke sp1q

und gezeigt (fur die Teilfolge aller Konfigurationen mit l “ 0):§ die Invariante ist

1. anfangs wahr,2. invariant

§ die Schranke nimmt ab (um wieviel?) und bleibt ě 0.

44

Elementare goto-berechenbare Funktionen

goto-berechenbar sind z.B. die folgenden Funktionen:

§ jede konstante Funktion

§ identische Funktion

§ jede Projektion px1, . . . , xnq ÞÑ xk§ Addition

§ schwache Subtraktion px1, x2q ÞÑ maxp0, x1 ´ x2q,Notation: x1 ´ x2

45

Abschluss-Eigenschaften

Nacheinanderausfuhrung Sind f : NÑ N und g : NÑ Ngoto-berechenbar,dann ist auch x ÞÑ f pgpxqq goto-berechenbar.Beweis:Programm fur g ; sp1q :“ sp0q; sp0q :“ 0; Prog. fur f .Warum sp0q :“ 0?

Einsetzen Sind f : N2 Ñ N, g1, g2 : NÑ N goto-berechenbar,dann auch x ÞÑ f pg1pxq, g2pxqq.einfach Programm fur g1, Programm fur g2, . . . ?Nein.

46

Zusammenfassung GOTO (bis jetzt)

§ formalisiert maschinennahe imperative Programmierung(Programmausfuhrung als Folge vonSpeicherzustandsanderungen)

§ der Befehlssatz ist klein, die Ausdruckskraft scheint gering,aber

§ einfache Basis-Funktionen sind in GOTO(Konstanten, Verschieben von Registerinhalten,arithmetische Operationen)

§ GOTO ist abgeschlossen bzgl. gewisser Operatoren(Nacheinanderausfuhrung, Einsetzen)

47

Was bisher geschah – WH: TM

(deterministische) TM pX ,Q, Γ, δ, q0,2q§ Konfigurationen Γ˚ ˆ Q ˆ Γ˚

§ Berechnung = Folge von Konfigurationen

§ Start-, Finalkonfigurationen

§ TM berechnet (partielle) Funktion fM : X ˚ Ñ Γ˚,oft interpretiert als fM : N˚ Ñ N

§ TM fur Basisfunktionen:Konstanten, Nachfolger, Vorganger, Test auf Bandinhalt “ 0

§ Verknupfung berechenbarer Funktionen durchTM-Operationen: Verkettung, Verzweigung

§ Mehr-Band-TMSimulation durch Ein-Band-TM

Turing =Menge aller durch eine (det.) TM berechenbaren Funktionen

46

Was bisher geschah – goto-Programme

§ Syntax:§ Befehle B: Inc i, Dec i, Goto k, GotoZ i k, Stop§ goto-Programm p P B˚ (endliche Folge von Befehlen)

§ Semantik:§ Konfigurationen C Ă Nˆ S

(Befehlszahler, Speicherbelegung)§ Ubergangsrelation stepp Ď C ˆ C§ Start-, Finalkonfigurationen

goto-Programm p berechnet partielle Funktion fp : Nn Ñ N§ goto-Programme fur Basisfunktionen:

Konstanten, Projektionen, Nachfolger, Vorganger,Test auf Speicherinhalt spiq “ 0

§ Verknupfung goto-berechenbarer Funktionen durchOperationen: Verkettung, Verzweigung

GOTO =Menge aller durch ein goto-Programm berechenbaren Funktionen

45

Goto Ď TuringSatz: f : Nk Ñ N ist goto-berechnbar ñ f ist Turing-berechenbar.

Beweis (Idee):Ausfuhrung des goto-Programmes zur Berechnung von f auf einerMehrband-TM

§ k Register ÞÑ k Arbeits-Bander

§ Register i mit Inhalt x ÞÑ Arbeits-Band i hat Inhalt 1x

§ Ausfuhrung von Inc i, Dec i durch TM auf Band i(Unterprogramme)

§ Programmablaufsteuerung:Befehlsnummer (PC) wird im Zustand der TM verwaltet

§ fur jede Programmzeile eine Zustandsmenge zur Ausfuhrungdes entsprechenden Unterprogrammes der TM

§ Realisierung der Sprungbefehle durch Zustandsubergange

UA: Erganzung der Details zur Herstellung der Initialkonfiguration,Ablesen des Resultates aus Finalkonfiguration

46

Turing Ď Goto

Satz: f : Nk Ñ N ist TM-berechenbar ñ f ist Goto-berechenbar.

Beweis (Idee):

§ Jedes Band der k-Band-TM wird simuliertdurch zwei Register pl , rq P N2

§ Jede Zahl n P N ist Wort zur Basis b “ 1` |X |.

§ l enthalt den Bandinhalt links vom Kopf,r enthalt den Bandinhalt rechts vom Kopf (gespiegelt).(Kopfposition = letzte Stelle in r)

§ Zeichen am Kopf lesen: r mod b.

§ Zeichen x schreiben und Kopf nach rechts bewegen:l 1 :“ b ¨ l ` x ; r 1 “ tr{buUA: fur Kopf nach links, keine Kopfbewegung

§ diese Rechnungen werden in einem zusatzlichen Registerausgefuhrtinsgesamt: k Bander ÞÑ 2k ` 1 Register

47

Strukturierte Programme – Motivation

Goto-Programme sind flach (Listen von Befehlen),haben keine sichtbare Struktur.Das ist gut fur die Hardware, schlecht fur den Programmierer.

Struktur “ Hierarchie “ Baum

Programme sind ab jetzt Baume. (entspricht etwa dem Schritt vonAssembler/Fortran zu Algol, « 1960)

NB: Das ist immer noch imperative Programmierung,deswegen immer noch schlecht fur den Programmierer(weil die Semantikdefinition einen Maschinenzustand benutzt,den man im Programm nicht sieht).

Ausweg: funktionale Programmierung (kein Zustand).

48

Syntax

Menge der While-Programme P:

§ elementare: IncN, DecN, leeres Programm: Skip§ zusammengesetzte:

§ Nacheinander: SeqpP ˆ Pq§ Verzweigung: IfZpNˆ P ˆ Pq§ Schleife: WhilepNˆ Pq

§ (kein Stop, kein Goto)

Beispiel:

§ Whilep1,SeqpDecp1q, Incp0qqq.

§ autotool-Syntax: While 1 (Seq (Dec 1) (Inc 0))

49

Semantik (Prinzip)

Semantik eines Programms p P Pist eine Relation (genauer: partielle Funktion)semp Ď S ˆ S auf Speicherbelegungen.

big step semantics (ein Schritt!)

beachte:es gibt keinen program counter, diese Rolle ubernimmt der Index p.

50

Semantik von While-Programmen

elementare Programme:

semSkip “ tps, sq | s P N˚usemIncpiq “ tps, sri :“ spiq ` 1sq | s P N˚u

semDecpiq “ tps, sri :“ maxp0, spiq ´ 1sq | s P N˚u

zusammengesetzte Programme:

semSeqpp,qq “ semp ˝ semq

“ `

s1, s2q | Ds2 : ps1, s

1q P semp1 ^ps1, s2q P semp2

(

semIfZpi ,p1,p2q“

s1, s2q |ps1piq “ 0^ ps1, s2q P semp1q

_ps1piq ą 0^ ps1, s2q P semp2q

*

semWhilepi ,qq “

s1, s2q |ps1piq “ 0^ ps1 “ s2qq

_ps1piq ą 0^ ps1, s2q P semSeqpq,pqps1, s2qq

*

51

Aquivalenz von Programmen

Programme p und q sind aquivalent (p ” q) gdw. semp “ semq.

Beispiele:

§ SeqpSkip, pq ” p ” Seqpp, Skipq

§ SeqpSeqpp, qq, rq ” Seqpp, Seqpq, rqq

§ Whilepi , pq ” IfZpi , Skip,Seqpp,Whilepi , pqqq

UA: IfZ wird nicht benotigt, lasst sich simulieren

52

While-berechenbare Funktionen

§ initiale Speicherbelegung I pxq fur Eingabe x P Nn:spiq “ wenn 1 ď i ď n, dann xi , sonst 0.

§ Programm p berechnet partielle Funktion f : Nn Ñ N :@x P Nn : f pxq “ y ðñ Ds : semppI pxq, sq ^ y “ sp0q.

§ jede so berechenbare partielle Fkt. heißt While-berechenbar.

WHILE : Menge aller While-berechenbaren Funktionen

Ubungsaufgaben:

§ die ublichen elementaren Funktionen sind P WHILE

§ WHILE ist abgeschlossen unter SubstitutionBsp: f , g P WHILE ñ px ÞÑ f pgpxqq P WHILE

53

Was bisher geschahTuring = Menge aller durch eine (det.) TM berechenbaren Fkt.

GOTO = Menge aller durch ein Goto-Programm berechenbaren Fkt.

§ Syntax: Goto-Program = Liste von Befehlen ausB “ tInc i ,Dec i ,Goto k ,GotoZ i k,Stopu

§ Semantik: small stepKonfigurationen pl , sq mit l P N, s P N˚ (PC, Speicherbelegung)Konfigurationsubergange stepp fur Befehl, step˚p fur Programm

Satz: Turing = GOTO

WHILE = Menge aller durch ein While-Programm berechenbaren Fkt.

§ Syntax: While-Program = Baum mitBlattern aus tInc i ,Dec i ,Skipuinneren Knoten While i p, Seq p q, IfZ i p q

§ Semantik: big stepKonfigurationen s P N˚ (Speicherbelegung)Konfigurationsubergange semp Ď N˚ ˆ N˚ fur Programm

52

Beziehungen zwischen Goto- und While-Berechenbarkeit

Satz (Ziel): fur jede partielle Fkt. f gilt:f ist While-berechenbar ðñ f ist Goto-berechenbar.(aquivalent, kurzer: WHILE “ GOTO)

praktisches Argument fur”ñ“:

das tut jeder Compiler(etwa von C nach Assembler/Maschinensprache)

(siehe Modul”Compilerbau“)

53

WHILE Ď GOTO (Prinzip)

Ubersetzer:compile : NˆWHILE Ñ Nˆ GOTOwobei compilepa, pq “ pe, qq bedeutet:

§ das While-Programm p wird ubersetzt

§ in ein aquivalentes Goto-Programm q,

§ das auf Adresse a beginnt

§ und auf e ´ 1 endet (d.h. e “ a` |q|)

dabei bedeutet”Aquivalenz“:

@p@a P N mit pe, qq “ compilepa, pq:@s1, s2 : sempps1, s2q ðñ step˚qppa, s1q, pe, s2qq

54

WHILE Ď GOTO (elementar, Seq)

einfache Programme:

§ compilepa, Skipq “ pa, rsq

§ compilepa, Incpiqq “ pa` 1, rIncpiqsq.

§ compilepa,Decpiqq “ pa` 1, rDecpiqsq.

zusammengesetzte Programme:

§ compilepa, Seqpp, qqq “ pe, p1 ˝ q1q, wobeipm, p1q “ compilepa, pq und pe, q1q “ compilepm, qq

55

WHILE Ď GOTO (While, IfZ)

IfZ

compile (_, IfZ i p1 p2) =>

A: GotoZ i M

compile (_, p2) ;

Goto E ;

M: compile (_, p1);

E: ...

While

compile (_, While i p) =>

A: GotoZ i E

compile (A+1, p) ;

Goto A ;

E: ...

56

WHILE Ď GOTO (insgesamt)

Satz: Fur jedes While-Programm p existiert ein Goto-Programm q,welches dieselbe partielle Funktion berechnet wie p.

Beweis(-plan):

§ q “ compilep0, pq ˝ rStops

§ Aussage folgt aus Korrektheit bzgl. der Spezifikation@p P WHILE, a P N : sei pe, qq “ compilepa, pq,dann @s1, s2 : sempps1, s2q ðñ step˚qppa, s1q, pe, s2qq (UA)

57

GOTO Ď WHILE

das scheint schwieriger:

§ goto-Programm “ Spaghetti-Code,

§ while-Programm “ strukturierter Code.

Es ist aber moglich und das erzeugte While-Programm hat einebesondere (einfache) Struktur, die spater noch ausgenutzt wird(Kleene-Normalform-Theorem)

58

GOTO Ď WHILE (Ansatz)

Eingabe: goto-Programm p,Ausgabe: aquivalentes While-program q

PC c “ erstes in p nicht benutzte Register,

Das nachste Register h verwenden wir zum Anhalten.

Struktur von q ist:

Inc h;

While (h) {

if (c == 0) { ... } else {

if (c == 1) { ... } else {

if (c == 2) { ... } else {

.. else Skip

}

59

GOTO Ď WHILE (Einzelheiten)

fur Befehl pi erzeuge: if (c==i) q_i else mit qi “

§ wenn pi P tInc r ,Dec ru, dann rpi , Inc cs

§ wenn pi “ Stop, dann rDec hs

§ wenn pi “ Gotoplq, dann rc :“ ls,

§ wenn pi “ GotoZpr , lq, dann IfZ r (c := l) (Inc c)

UA: zeige: p erreicht Stop ðñ q halt.beachte dabei auch den Fall Goto l mit l ě |p|

UA: hier wird if(c==i) und c :“ l benutzt,das kann man jeweils mit While implementieren (Wie?)hier geht das aber auch ohne Schleife, warum?

60

Normalform-Theorem fur While

Vorige Konstruktion zeigt den Satz:

§ Zu jedem Goto-Programm existiert ein aquivalentesWhile-programm (GOTO Ď WHILE)

§ mit genau einem While.

zusammen mit WHILE Ď GOTO folgt

§ WHILE “ GOTO

§ Zu jedem While-Programm gibt es ein aquivalentesWhile-Programm mit genau einem While.

”aquivalent““ berechnet dieselbe partielle Funktion.

61

Loop-Programme – Motivation

§ Whilepi , qq bedeutet: solange spiq ą 0 ist, q ausfuhren

§ es gibt While-Programme, die nicht fur jede Eingabeterminieren (es gibt f P WHILE mit f nicht total)

§ Looppi , qq bedeutet: q genau spiq mal ausfuhren(der Wert von i vor Beginn der Schleife)

§ Loop-Programme terminieren (jede f P LOOP ist total)das ist softwaretechnisch nutzlich

§ aber auch eine Einschrankung:es gibt f P pWHILEXTOTALqz LOOP

62

Loop-Programme

Syntax und Semantik wie While-Programme, außer:

Syntax Looppi , qq statt Whilepi , qq,

Semantik wenn p “ Looppi , qq,

dann sempps, s1q “ sem

spiqq ps, s 1q

Befehl q wird genau spiq mal ausgefuhrt(der Wert von i , wenn die Schleife zu erstenmalbetreten wird — egal, was spater mit i passiert)

Beispiel: SeqpLoopp1, Inc 0q, Loopp2, Inc 0qq

Jede so berechenbare Funktion heißt Loop-berechenbar.

LOOP = Menge aller Loop-berechenbaren Funktionen

Beispiele: Addition, Subtraktion, Multiplikation, Potenz,n ÞÑ n ist gerade, n ÞÑ n ist Quadratzahl, n ÞÑ n ist prim,. . .

63

Was bisher geschah

§ Goto-Programme§ Syntax: = Liste von Befehlen ausB “ tInc i ,Dec i ,Goto k ,GotoZ i k,Stopu

§ Semantik: small stepKonfigurationen pl , sq mit l P N, s P N˚ (PC,Speicherbelegung)Konfigurationsubergange stepp fur Befehl, step˚p fur Programm

§ While/Loop-Programme§ Syntax: Baum mit Blattern aus tInc i ,Dec i ,Skipu

inneren Knoten While i p (Loop i p) , Seq p q, IfZ i p q§ Semantik: big step

Konfigurationen s P N˚ (Speicherbelegung)Konfigurationsubergange semp Ď N˚ ˆ N˚ fur Programm

Turing = Menge aller durch eine (det.) TM berechenbaren Fkt.GOTO = Menge aller durch ein Goto-Programm berechenbaren Fkt.WHILE = Menge aller durch ein While-Programm berechenbaren Fkt.LOOP = Menge aller durch ein Loop-Programm berechenbaren Fkt.

Satz: Turing = GOTO = WHILE63

LOOP Ď WHILE

Looppi , pq ÞÑ q “ SeqpSeqp Whilepi ,SeqpSeqpInc j , Inc j ` 1q,Dec iqq,

Whilepj ` 1,SeqpInc i ,Dec j ` 1qqqq,

Whilepj ,Seqpp,Dec jqqqq

mit in p nicht verwendeten Registern j , j ` 1

semq “ semWhilepi,SeqpSeqpInc j,Inc j`1q,Dec iqq

˝ semWhilepj`1,SeqpInc i,Dec j`1qq ˝ semWhilepj,Seqpp,Dec jqq

“ tps, srj :“ spiq, j ` 1 :“ spiq, i :“ 0sq | s P Nt0,...,j`1uu

˝tps 1, s 1ri :“ spj ` 1q, j ` 1 :“ 0sq | s 1 P Nt0,...,j`1uu

˝ semWhilepj,Seqpp,Dec jqq

“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ semWhilepj,Seqpp,Dec jqq

“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ semspjq

Seqpp,Dec jq

“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ psemp ˝ semDec jq

spjq

“ tps, srj :“ spiqsq | s P Nt0,...,j`1uu ˝ semspiq

p

˝tps 1, s 1rj :“ 0sq | s P Nt0,...,j`1uu

“ semspiqp “ semLooppi,pq

64

LOOP und WHILE

LOOP Ď WHILEXTOTAL

WHILEXTOTAL Ę LOOPBeweis: Diagonalisierung

§ L0, L1, . . . quasi-lexikografische Aufzahlung allerLOOP-Programme, die einstellige Funktionen berechnen,f0, f1, . . .

§ fur d : x ÞÑ fxpxq ` 1 gilt: d P WHILEXTOTALBegrundung: Interpreter fur LOOP-Programme

§ dieses d hat keinen L-Index (also d R LOOP)Begrundung: Annahme d “ fi fuhrt zu Widerspruch bei dpiq.

65

Die Ackermann-Funktion

A : N2 Ñ N mit @px , yq P N2 :

Ap0, yq “ y ` 1

Apx ` 1, 0q “ Apx , 1q

Apx ` 1, y ` 1q “ Apx ,Apx ` 1, yqq

§ bestimme Ap2, 4q,Ap3, 3q,Ap4, 2q (UA)

66

Eigenschaften der Ackermann-Funktion

1. @x , y P N : Apx , yq ą yBeweis durch Induktion nach x , innen Induktion nach y

2. @x , y P N : Apx , y ` 1q ą Apx , yqBeweis durch Induktion nach x

3. @x , y P N : Apx ` 1, yq ě Apx , y ` 1qBeweis durch Induktion nach y

4. @x , y P N : Apx ` 1, yq ą Apx , yq (UA)

5. @x , x 1, y , y 1 P N : ppx ď x 1 ^ y ď y 1q Ñ pApx , yq ď Apx 1, y 1qqq

67

Was bisher geschah

§ Goto-Programme

§ Syntax: = Liste von Befehlen ausB “ tInc i ,Dec i ,Goto k ,GotoZ i k,Stopu

§ Semantik: small stepKonfigurationen pl , sq mit l P N, s P N˚ (PC,Speicherbelegung)Konfigurationsubergange stepp fur Befehl, step˚p fur Programm

§ While/Loop-Programme

§ Syntax: Baum mit Blattern aus tInc i ,Dec i ,Skipuinneren Knoten While i p (Loop i p) , Seq p q, IfZ i p q

§ Semantik: big stepKonfigurationen s P N˚ (Speicherbelegung)Konfigurationsubergange semp Ď N˚ ˆ N˚ fur Programm

§ Ackermann-Funktion

LOOP Ă WHILE = Turing = GOTO

WH: Ackermann-Funktion

A : N2 Ñ N mit @px , yq P N2 :

Apx , yq “

$

&

%

y ` 1 falls x “ 0Apx , 1q falls y “ 0Apx ,Apx ` 1, yqq sonst

Eigenschaften:

1. @x , y P N : Apx , yq ą y

2. @x , y P N : Apx , y ` 1q ą Apx , yq

3. @x , y P N : Apx ` 1, yq ě Apx , y ` 1q

4. @x , y P N : Apx ` 1, yq ą Apx , yq

5. @x , x 1, y , y 1 P N : ppx ď x 1 ^ y ď y 1q Ñ pApx , yq ď Apx 1, y 1qqq

Wachstum von Funktionen in LOOP

Loop-Programm pMenge aller in p vorkommenden Variablen: varppq

@x P varppq:

§ xa Wert der Variable x zu Beginn der Ausfuhrung von p

§ xe Wert der Variable x nach Ende der Ausfuhrung von p(Warum ist xe immer definiert?)

Jedes Loop-Programm p definiert eine Funktion fp : NÑ N durch

@n P N : fppnq “ max

$

&

%

ÿ

xPvarppq

xe

ˇ

ˇ

ˇ

ˇ

ˇ

ˇ

ÿ

xPvarppq

xa ď n

,

.

-

68

Ackermann-Funktion R LOOP

Satz: @p P Loop Dk P N @n P N : fppnq ă Apk , nq

Beweis durch Induktion uber Struktur von p:

§ IA: Skip, Inc, Dec

§ IS: Seq, Loop

Satz: A P WHILE z LOOP

Beweis:

§ A R LOOP (indirekt) Ann: A P LOOPDann auch dpnq “ Apn, nq P LOOP, also D Loop-Programm p mitdpnq ď fppnq und nach Satz oben gilt Dk@n P N : fppnq ă Apk, nqWiderspruch bei n “ k : dpkq ď fppkq ă Apk , kq “ dpkq

§ A P WHILE

69

Rekursive Funktionen

(induktive) Definition der Menge aller rekursiven Funktionen:

IA: elementare Funktionen

§ Konstante 0: Zeron “ px1, . . . , xnq ÞÑ 0§ Nachfolger: Succ “ px1q ÞÑ 1` x1

§ Projektionen : Projnk “ px1, . . . , xnq ÞÑ xk

IS: Operatoren

§ Substitution (Sub)§ primitive Rekursion (PR)§ unbeschrankte Rekursion (MIN, µ)

70

Operator: Substitution

Typ:Subn

k : pNk Ñ Nq ˆ pNn Ñ Nqk Ñ pNn Ñ Nq

Argumente: eine k-stellige Funktion und k n-stellige Funktionen(evtl. partiell)Resultat: eine n-stellige Funktion

Wert:wenn f “ Subn

kpg , h1, . . . , hkq,dann f pxq “ gph1pxq, . . . , hkpxqq

Beispiele:

§ Sub01pSucc,Zero0q “ SuccpZero0q “ Succp0q “ 1

§ Sub01pSucc,Sub0

1pSucc,Zero0qq “

Sub01pSucc, pSuccpZero0qqq “ Sub0

1pSucc, 1q “ Succp1q “ 2

§ Sub21pSucc,Proj22q

f px1, x2q “ SuccpProj22px1, x2qq “ Succpx2q “ x2 ` 1

71

Primitive Rekursion

Typ (fur n ą 0):

PRn : pNn´1 Ñ Nq ˆ pNn`1 Ñ Nq Ñ pNn Ñ Nq

Wert:wenn f “ PRnpg , hq, dannf px1, . . . , xn´1, 0q “ gpx1, . . . , xn´1q

f px1, . . . , xn´1, 1` yq “ hpx1, . . . , xn´1, y , f px1, . . . , xn´1, yqq

Beispiele:

§ fur f “ PR2pProj11, Sub31pSucc,Proj33qq:

f p2, 0q, f p0, 1q, f p2, 3q

§ fur f “ PR1pZero1,Proj21q: f p0q, f p1q, f p5q

§ fur f “ PR1pZero1,Sub11pSucc,Zero1qq: f p0q, f p1q, f p5q

72

Primitive Rekursion (Beispiele)

Durch Zero,Proj, Sub,PR lassen sich u.A. darstellen:

§ Addition, Multiplikation, Potenzieren, Wurzelziehen

§ Vorganger, Subtraktion, Division

§ x ÞÑ wenn x ist prim, dann 1, sonst 0;

§ x ÞÑ die x-te Primzahl

Beachte: das sind die Funktionen, die fur Codierung(Godelisierungen) von Paaren, Listen, Baumen verwendet wurden.

73

µ-Operator

Typ (fur n ě 0):µn : pNn`1 Ñ Nq Ñ pNn Ñ Nq

Wert:wenn f “ µnpgq, dann f px1, . . . , xnq “ z fallsgpx1, . . . , xn, zq “ 0 und @y ă z : gpx1, . . . , xn, yq P Nzt0u(sonst nicht definiert)das kleinste letzte Argument, fur das der Wert 0 ist,aber nur, falls alle vorigen Werte definiert (und ‰ 0) sind.

Beispiele:

§ fur f “ µpgq mit gpx1, yq “ x1 ´ p2y ` 1q ist f p3q “ . . .

§ fur f “ µpgq mit gpx1, x2, yq “ x1 ´ x2 ¨ y , sindf p12, 5q, f p3, 0q

74

Klassen rekursiver Funktionen

§ Def: die Menge Prim der primitiv rekursiven Funktionenist die kleinste Menge M, die Zeron,Succ,Projnk enthaltund abgeschlossen ist unter Sub und PRg P M ^ f1 P M ^ . . .^ fk P M ñ Subn

kpf , g1, . . . , fkq P M

§ Def: die Menge Part der partiell rekursiven Funktionenist die kleinste Menge M, die Zeron,Succ,Projnk enthaltund abgeschlossen ist unter Sub,PR und µ

§ Def: die Menge Allg der allgemein rekursiven Funktionen isttf | f P Part^f ist totalu

Trivial (nach Definition) ist Prim Ď Allg

Nichttrivial: Prim Ă Allg (die Inklusion ist echt)z.B. A P Allg zPrim

75

Klassen rekursiver Funktionen

§ die Def. von Prim und Part sind syntaktischf P Part ðñ es gibt einen Ausdruck (ein Programm) fur fmit bestimmten Basisfunktionen und Operatoren

§ die Def. von Allg ist zusatzlich semantischf P Allg ðñ f P Part^f ist total

§ . . . diese semantische Bedingung (”ist total“) lasst sich nicht

durch eine syntaktische Bedingung ersetzenFolgt (spater) aus:

§ es ist nicht entscheidbar, ob ein While-Programm eine totaleFunktion berechnet

§ und Part “ WHILE

76

Zusammenhange zwischen BerechnungsmodellenSatz: Prim “ LOOPBeweis durch LOOP Ď Prim und Prim Ď LOOP:

§ LOOP Ď Prim:Beweis durch Induktion uber Struktur von Loop-Programmen p

§ IA: Inc i ,Dec i ,Skip§ IS: Seqpp, qq, Looppi , pq

§ Prim Ď LOOP:Beweis durch Induktion uber Struktur des Funktionstermes

§ IA: Zeron,Succ,Projnk§ IS: Subn

kpg , h1, . . . , hkq, PRnpg , hq

Satz: Part “ WHILEBeweis:

§ Part Ď WHILE:zusatzlich Ubersetzung fur µpgq

§ WHILE Ď Part:zusatzlich Ubersetzung fur Whilepi , pq

77

These von Church und Turing

gezeigt: Prim “ LOOP Ď WHILE “ GOTO “ Turing “ Part

und fur verschiedene weitere Berechnungsmodelle M,z.B. λ-Kalkul, SRS, Markov-Algorithmen,. . .lasst sich M “ Turing (oder aquivalente Klasse) zeigen.

These von Church und Turing:

”Alle intuitiv vernunftigen Berechenbarkeitsmodelle definieren die

gleiche Klasse von partiellen Funktionen.“

(Diese Aussage ist sinnvoll, aber wegen des Bezugs auf denungenauen Begriff

”intuitiv“ nicht beweisbar.)

Die These von Church und Turing kann man auffassen alsempirische Aussage oder als Definition(M ist vernunftig ðñ es gibt beide Compiler M Ø WHILE)

78

Was bisher geschah

Berechnungsmodelle

§ Goto-Programme

§ While-Programme

§ Loop-Programme

§ Primitiv rekursive Funktionen Prim

§ µ-rekursive Funktionen Part

WHILE = GOTO = Turing = Part(Hauptsatz der Algorithmentheorie)

These von Church

Prim = LOOP Ă WHILEAckermann-Funktion P WHILE z LOOP

Codierungen von Paaren, Listen, Baumen, Programmen(Godelisierung, Godelnummern), Ubersetzung X ˚ Ñ N

Universelle FunktionJede TM M definiert die Funktion fM : NÑ N mit

@x P N : fMpxq “

$

&

%

y Ber. von M bei Eingabe x terminiert

und Inhalt des Ausgabebeandes “ y

K falls Ber. von M bei Eingabe x nicht terminiert

Codierung von TM (Programmen) definiert eine Ordnung auf der Mengealler TM durch M ď N gdw. C pMq ď C pNq.und damit eine Aufzahlung: M0,M1, . . . ,Die partielle Funktion φ : N2 Ñ N mit

@x , y P N : φpx , yq “ φxpyq “

#

fMpyq falls x “ C pMq fur die TM M

K sonst

ist berechenbar. (Beweis: dovetailing)Jede TM (Programm), die φ berechnet, heißt universelleinfache Modifikation zu φ1 : N2 Ñ N mit festem Wert z P N

@x , y P N : φ1xpyq “

#

fMpxq falls x “ C pMq fur die TM M

z sonst

79

Universelle Turing-Maschinen (Programme)

Codierung von

§ TM M “ pX ,Q, Γ, δ, q0,F ,2q und

§ Berechnungen von TM(Folgen von Konfigurationen entsprechend der zulassigenKonfigurationsubergange)

ermoglicht die Simulation (Interpretation) von TM-Berechnungendurch TM

Es existieren universelle (programmierbare) TM, die

§ Codierungen von TM interpretieren und damit

§ die Berechnungen jeder TM simulieren (den durch die TMdefinierten Algorithmus ausfuhren) kann

Codierung einer TM ist Programm zur Berechnung einer Funktion(durch eine universelle TM)

analog universelle Goto-, While- Programme,

80

Entscheidbarkeit von Mengencharakteristische Funktion einer Menge L Ď N (Sprache L Ď X˚):

χL : NÑ t0, 1u,wobei @n P N : χLpnq “

#

1 falls n P L

0 sonst

Menge L Ď N heißt entscheidbar (rekursiv entscheidbar, rekursiv)gdw. die (totale) charakteristische Funktion χL berechenbar ist.

Menge L Ď N heißt semi-entscheidbar (rekursiv aufzahlbar, aufzahlbar)gdw. die

”halbe“ charakteristische Funktion χ1L : NÑ t0, 1u

berechenbar ist:

@n P N : χ1Lpnq “

#

1 falls n P L

nicht definiert sonst

Achtung: Aus Abzahlbarkeit folgt nicht Aufzahlbarkeit.

FaktEine Menge L ist genau dann semi-entscheidbar, wenn sieTuring-akzeptierbar ist.

81

Beispiele entscheidbarer Mengen

§ jede endliche Menge L “ tk1, . . . , knu(fur jedes i nacheinander Test, ob Eingabe “ ki )

§ t2n | n P Nu,§ jede regulare , kontextfreie, kontextsensitive Sprache,

§ Menge aller Primzahlen,

§ Menge aller Primzahlzwillinge, d.h.Paare pp, p ` 2q mit Primzahlen p und p ` 2

§ Menge aller Codierungen (bei gegebener Codierungsfunktion)von TM, Goto-Programmen, . . .

82

Abschlusseigenschaften

SatzEine Sprache (Menge) L ist genau dann entscheidbar, wenn L und LTuring-akzeptierbar sind.

Idee:”parallele“ Ausfuhrung der Maschinen

M mit LpMq “ L und N mit LpNq “ L auf Eingabe w ,M halt, falls w P L, sonst halt N

Die Menge aller entscheidbaren Sprachen ist abgeschlossen unter

Vereinigung wegenχLYL1pwq “ maxpχLpwq, χL1pwqq berechenbar

Schnitt wegenχLXL1pwq “ minpχLpwq, χL1pwqq berechenbar

Komplement wegenχLpwq “ 1´ χLpwq berechenbar

Achtung (Unterschied zu TM-akzeptierbaren Sprachen):Aus der TM-Akzeptierbarkeit von L folgt i.A. nicht dieTM-Akzeptierbarkeit von L.

83

Was bisher geschahBerechenbare Funktionen

§ Berechnungsmodelle

§ Goto-, While-, Loop-Programme§ Primitiv, µ-rekursive Funktionen

§ WHILE = GOTO = Turing = Part(Hauptsatz der Algorithmentheorie)

§ These von Church

§ Prim = LOOP Ă WHILEAckermann-Funktion P WHILE z LOOP

§ Codierungen von Paaren, Listen, Baumen, Programmen(Godelisierung, Godelnummern), Ubersetzung X˚ Ñ N

Entscheidbare Mengen REC (von recursive = entscheidbar)

§ L Ď X˚ (L Ď N) entscheidbargdw. charakteristische Funktion χL berechenbargdw. sowohl L als auch L TM-akzeptierbar

§ abgeschlossen unter Y,X, , z, ˝, ˚, R

Aufzahlbare MengenL Ď N heißt (rekursiv) aufzahlbar gdw.L “ H oder eine totale berechenbare Funktionf : NÑ N mit L “ f pNq existiert.( L “ H oder L “ tf p0q, f p1q, f p2q, . . .u)

§ jedes Element von L kommt wenigstens einmal vor,

§ f ist nicht notwendig injektiv (wiederholungsfrei),

§ f ist nicht notwendig monoton.

RE: Menge aller aufzahlbaren MengenFolgende Aussagen sind fur L Ď X ˚ aquivalent:

§ L ist aufzahlbar.

§ L TM-akzeptierbar.

§ L semi-entscheidbar.d.h. halbe charakteristische Funktion χ1L berechenbar

@x P N : χ1Lpxq “

"

1 falls x P LKsonst

84

Abschlußeigenschaften von RE

Falls A,B P RE, dann gilt auch

§ pAY Bq P RE.Beweis: f aufzahlende Funktion fur A, g die fur B.Dann wird AY B aufgezahlt vonhp2nq “ f pnq, hp2n ` 1q “ gpnq

§ pAX Bq P RE.Beweis: dovetailing, 2-dim. unendliche Tabelle,In Zeile x , Spalte y steht Zahlenpaar pf pxq, gpyqq.Wenn . . . , gibt . . . aus.

§ pA ˝ Bq P RE.

§ A˚ P RE.

85

Aufgaben (Probleme) als Mengen (Sprachen)

Entscheidungsproblem (Aufgabe) =Menge der Codierungen aller korrekten Instanzen

z.B. Wortproblem fur Typ-3-GrammatikenWortproblem WPG3 “ tpG ,wq | w P LpG qu

Parameter (Eingaben fur Losungsverfahren) : pG ,wq,

§ Typ-3-Grammatik G “ pN,T ,P,Sq und§ w P T ˚

Frage: Gilt w P LpG q ?

Antwort (mogliche Ausgaben des Losungsverfahrens):

§ ja (1), falls w P LpG q§ nein (0), falls w R LpG q

Instanzen z.B. mit G “ ptSu, ta, bu, tS Ñ aS |bu,Sq:

§ pG , aabq P WPG3 (korrekte Instanz),§ pG , abaq R WPG3

86

Aufgaben und Instanzen

Aufgabe (Problem): Sprache P Ď X˚ (Menge P Ď N)(Codierungen einer Klasse von verwandten Aufgaben)

Instanz eines Problems: Wort w P X˚ (w P N)(Codierung einer speziellen Aufgabe aus dieser Klasse)

Losungsverfahren fur das Problem P:Entscheidungsverfahren fur P, d.h. Verfahren, welches furjede Instanz (Wort) w P X˚ bestimmt, ob w P P

Beispiel: Wortproblem fur regulare Sprachen

Problem: WP-REG “ tpcpLq,wq | w P Lu mitendlicher Darstellung cpLq der Sprache Lz.B. cpLq “ A fur einen NFA A mit L “ LpAq

Instanz: pcpAq, abaq mit A “ pta, bu, tp, qu, δ, tpu, tp, quq undδpaq “ tpp, pqu, δpbq “ tpp, qq, pq, qquFrage: Gilt pA, abaq P WP-REG?wahr gdw. aba P LpAq

Losungsungsverfahren (Entscheidungsverfahren),z.B. Pfadsuche im Automatengraphen

87

Aufgaben und Instanzen – Beispiele

§ Enthaltensein in einer Folge (von Elementen des Typs E)

Aufgabe: F “ tppx1, . . . , xnq, yq P E˚ ˆ E |

Dk P t1, . . . , nu : xk “ yuMenge aller Paare ppx1, . . . , xnq, yq mity P tx1, . . . , xnu

Instanz: pp1, 3, 4, 6q, 4q (Gilt pp1, 3, 4, 6q, 4q P F? )Ja, pp1, 3, 4, 6q, 4q P F , weil 4 P t1, 3, 4, 6u

Losungsverfahren (Entscheidungsverfahren):(beliebiges) Suchverfahren in Folgen

§ SAT (Erfullbarkeitsproblem der Aussagenlogik)

Aufgabe: SAT “ tϕ P AL | Modpϕq ‰ HuMenge aller erfullbaren aussagenlogischen Formeln

Instanz: a^ pa_ b _ cq ^ c ^ b(Gilt p a^ pa_ b _ cq ^ c ^ bq P SAT ?)Nein, weil Modpϕq “ H

Losungsverfahren (Entscheidungsverfahren):§ semantisch: Wahrheitswerttabellen§ syntaktisch: Kalkule, z.B. Resolution,

aquivalente Umformungen88

Aufgaben und Entscheidungsverfahren

Problem (Menge) P ist

unentscheidbar gdw. kein Entscheidungsverfahren (TM, Programm,. . . )fur P existiert,

entscheidbar gdw. wenigstens ein Entscheidungsverfahren fur P existiert(i.A. existieren mehrere)z.B. SAT, Suche in Folgen, Sortieren von Folgendurch verschiedene Such- und Sortierverfahren

Entscheidbarkeit eines Problems (Sprache) P wird i.A. durch Angabeeines Entscheidungsverfahrens fur P gezeigt.

Unentscheidbarkeit eines Problems P wird oft durch Reduktion bekannterunentscheidbarer Probleme (oft HP) auf P gezeigt.

89

Spezielles Halteproblem fur TM

C pMq P N: endliche Codierung der (Beschreibung der) TM M

Mn “

"

M falls n “ C pMqM 1 sonst

mit fester TM M 1

Das spezielle Halteproblem ist die Menge

S “ tn | Mn halt bei Eingabe nu Ď N

SatzDie Menge (Sprache) S ist Turing-akzeptierbar. (UA)

Frage: Ist die Menge S entscheidbar?

90

Unentscheidbarkeit des speziellen Halteproblems

SatzEs existiert keine TM, welche das spezielle Halteproblem (die Menge S)entscheidet, d.h. die folgende Funktion berechnet:

@n P N : χSpnq “

"

1 falls TM Mn bei Eingabe von n halt0 sonst

indirekter Beweis: (analog Barbier-Problem)Annahme: N ist TM mit fN “ χS

Konstruktion einer TM N 1, so dass fur jede TM M gilt:

fN1pnq “

#

nicht definiert falls Mn bei Eingabe von n halt

1 falls Mn bei Eingabe von n nicht halt

Ist fN1pC pN 1qq definiert?

Widerspruch, eine solche TM N kann also nicht existieren.

91

Komplement des speziellen HalteproblemsSpezielles HP:

S “ tC pMq | Mn halt bei Eingabe nu

Komplement des speziellen HP:

S “ tn | Mn halt bei Eingabe n nichtu

FolgerungDie Sprache S ist nicht Turing-akzeptierbar.

Beweisidee (indirekt):

§ bekannt:

1. S ist TM-akzeptierbar.2. S ist nicht entscheidbar.3. S TM-akzeptierbar ^ S TM-akzeptierbar Ñ S entscheidbar

§ Annahme: S ist TM-akzeptierbar.dann ist S entscheidbar wegen 1. und 3.Widerspruch zu 2., also Annahme falsch,also S nicht TM-akzeptierbar.

92

Reduktion ďm

Zum Vergleich der algorithmischen Schwierigkeit von Problemendefiniert man fur P Ď N,Q Ď N:

P ďm Q (”P ist reduzierbar auf Q“) durch:

es existiert eine berechenbare totale Funktionf : NÑ N mit @x P N : x P P ðñ f pxq P Q.

§ beachte die Richtung: P ist hochstens so schwierig wie Q

§”reduzieren“ bedeutet: ein Entscheidungsverfahren fur P auf

ein Verfahren fur Q zuruckfuhren.

§ Index m kommt von”many-one“-Reduktion

Satz: @P,Q Ď N : ppP ďm Q ^ Q P RECq Ñ P P RECq.

Beweis: gegeben χQ , Reduktion f : NÑ NχP definiert durch @x P N : χPpxq “ χQpf pxqq

Satz: ďm ist transitiv (UA)

93

Folgerungen aus der Unentscheidbarkeit von S(Anwendungen der Reduktion)Keine der folgenden Probleme (Sprachen) ist entscheidbar:

A “ tn ‚m | Mn halt bei Eingabe mu

allgemeines Halteproblem

Beweis durch Reduktion S ďm A mit f “ n ÞÑ n ‚ n

Hε “ tn | Mn halt bei leerer Eingabeu

Halteproblem auf leerem Band

Beweis durch Reduktion A ďm Hε

T “ tn | Mn halt fur jede beliebige Eingabeu

Totalitatsproblem

I “ tn | Mn halt fur irgendeine Eingabeu

N “ tn | Mn halt fur keine Eingabeu “ I

94

Was bisher geschahBerechenbare Funktionen

§ Berechnungsmodelle

§ WHILE = GOTO = Turing = Part

§ Codierungen von Paaren, Listen, Baumen, Programmen(Godelisierung, Godelnummern), Ubersetzung X˚ Ñ N

§ Universelle Funktion (TM, Programm) partiell, berechenbarφ : N2 Ñ N mit φxpyq “ fMx pyq fur TM Mx “ C´1pxq

aufzahlbare Mengen RE (von recursively enumerable)

§ L Ď N (L Ď X˚) aufzahlbargdw. L “ H oder Df : NÑ N total berechenbar mit L “ f pNqgdw.

”halbe“ charakteristische Funktion χ1L berechenbar

gdw. L TM-akzeptierbar

§ abgeschlossen unter Y,X, ˝, ˚, R , aber nicht unter

entscheidbare Mengen REC (von recursive = entscheidbar)

§ L Ď N (L Ď X˚) entscheidbargdw. charakteristische Funktion χL berechenbargdw. sowohl L als auch L TM-akzeptierbar

§ abgeschlossen unter Y,X, , z, ˝, ˚, R

Wiederholung: Reduktion ďm

Zum Vergleich der algorithmischen Schwierigkeit von Problemendefiniert man fur P Ď N,Q Ď N:

P ďm Q (”P ist reduzierbar auf Q“) durch:

es existiert eine berechenbare totale Funktionf : NÑ N mit @x P N : x P P ðñ f pxq P Q.

§ beachte die Richtung: P ist hochstens so schwierig wie Q

§”reduzieren“ bedeutet: ein Entscheidungsverfahren fur P auf

ein Verfahren fur Q zuruckfuhren.

§ Index m kommt von”many-one“-Reduktion

Satz: @P,Q Ď N : ppP ďm Q ^ Q P RECq Ñ P P RECq.

Satz: ďm ist transitiv (UA)

95

Wiederholung: Halteprobleme

Keine der folgenden Probleme (Sprachen) ist entscheidbar:

S “ tn | Mn halt bei Eingabe nu

spezielles Halteproblem

A “ tC pn,mq | Mn halt bei Eingabe mu

allgemeines Halteproblem

Hε “ tn | Mn halt bei leerer Eingabeu

Halteproblem auf leerem Band

T “ tn | Mn halt fur jede beliebige Eingabeu

Totalitatsproblem

I “ tn | Mn halt fur irgendeine Eingabeu

N “ tn | Mn halt fur keine Eingabeu “ I

96

Satz von RiceSatzJede nichttriviale semantische Eigenschaft von Programmen istunentscheidbar.

§ Eigenschaft: Menge E Ď N von Godelnummern(codierten TM oder Programmen)

§ nichttrivial: E ‰ H^ E ‰ N§ semantisch: @x , y : pφx “ φy q ñ px P E ðñ y P E q

(Es gibt keinen Algorithmus, der bei Eingabe eines Programms pentscheidet, ob die von p berechnete partielle Funktion fp zur Menge Egehort.)Beispiele (semantisch oder nicht?)

§ das Programm berechnet eine totale Funktion

§ die Lange des Programmtextes ist gerade

§ das Programm halt bei Eingabe 0

§ zwei Programme berechnen dieselbe Funktion

§ die Godelnummer ist gerade (2N)

§ die berechnete Funktion ist konstant97

Das Postsche Korrespondenzproblem

Emil Post (1897 – 1954)

einfach zu definierendes kombinatorisches Problem(Eigenschaft einer Folge von Paaren von Wortern)(”leicht“ heißt: Def. PCP ist kurzer als Def. TM)

das trotzdem schwierig ist. (”schwierig“ heißt: PCP R REC)

ist Hilfsmittel fur Beweise der Unentscheidbarkeit vonEigenschaften formale Sprachen, logischer Formeln, usw.(”Hilfsmittel“ heißt: wir verwenden ďm)

98

PCP – DefinitionInstanz des Postschen Korrespondenzproblems P Ă 2ppX

˚q2q

endliche Menge tpx1, y1q, . . . , pxk , ykqu von Paaren endlicherWorter uber einem endlichen Alphabet X (X “ t0, 1u genugt)

Beispiel: P “ tp1, 101q, p10, 00q, p011, 11qu

Wort w P t1, . . . , ku˚ heißt Losung der Instanz, wenn

xw1 ˝ ¨ ¨ ¨ ˝ xw|w | “ yw1 ˝ ¨ ¨ ¨ ˝ yw|w |

Beispiel: 1323 ist Losung von P, weil

x1 ˝ x3 ˝ x2 ˝ x3 “ 101110011 “ y1 ˝ y3 ˝ y2 ˝ y3

PCP ist die Menge aller losbaren PCP-Instanzen

Beispiel: kurzeste Losung des PCPP “ tp001, 0q, p01, 011q, p01, 101q, p10, 001qu hat Lange 66

Satz: PCP ist TM-akzeptierbar (semi-entscheidbar, aufzahlbar)Beweis: dovetailing uber qlex. Aufzahlung und Schrittnummer

99

Modifiziertes PCPSpezialfall MPCP

§ Instanzen: endliche Liste rpx1, y1q, . . . , pxk , ykqs von Paaren endlicherWorter uber einem endlichen Alphabet X

§ Losung des MPCP:Losung des PCP tpx1, y1q, . . . , pxk , ykqu mit w1 “ 1

Satz: MPCP ďm PCPBeweis: X 1 “ X Y t$,#uReduktion f “ ppx1, y1q, px2, y2q, . . . , pxk , ykqq ÞÑ

$

&

%

`

#x11#x12# ¨ ¨ ¨#x1|x1|#, #y11#y12# ¨ ¨ ¨#y1|y1|

˘

,`

x11#x12# ¨ ¨ ¨#x1|x1|#, #y11#y12# ¨ ¨ ¨#y1|y1|

˘

,`

x21#x22# ¨ ¨ ¨#x2|x2|#, #y21#y22# ¨ ¨ ¨#y2|y2|

˘

,...xk1#xk2# ¨ ¨ ¨#xk|xk |#, #yn1#yk2# ¨ ¨ ¨#yk|yk |

˘

, p$,#$q

,

/

/

/

/

/

.

/

/

/

/

/

-

f ist berechenbar und totalMPCP P hat eine Losung gdw. PCP f pPq eine Losung hatBeweis: ri1, . . . , ims Losung fur P “ tpx1, y1q, . . . , pxk , ykqu

gdw. r1, i2 ` 1, . . . , im ` 1, k ` 2s Losung fur f pPq100

Unentscheidbarkeit des MPCPSatz: A ďm MPCPBeweis:Ziel: Konstruktion eines MPCP P “ rpx1, y1q, . . . , pxn, ynqs aus A-InstanzC pu, vq mitP hat Losung gdw. Mu “ pX ,Q, Γ,∆, q0,F ,2q bei Eingabe von v halt(P simuliert die Konfigurationenfolgen von Mu)

§ px1, y1q “ p#,#q0v#q

§ Kopierregeln @a P ΓY t#u : pa, aq

§ Uberfuhrungsregeln zur Simulation von δ, z.B.pp, a, q, b,Rq P δ ÞÑ ppa, bqq, pp,2, q, b,Rq P δ ÞÑ pp#, bq#q,pp, a, q, b, Lq P δ ÞÑ tpxpa, qxbq | x P Γu Y t#pa,#q2bu

§ Loschregeln @a P Γ @f P F : paf , f q

§ Abschlussregeln @f P F : pf ##,#q

Mu halt auf vgdw. D zulassige Konfigurationenfolge pk0, . . . , ktq fur Mu

mit k0 “ q0v und Endkonfiguration ktgdw. #k0#k1# ¨ ¨ ¨#kt# ¨ ¨ ¨#f ## (nach kt loschen) ist Losung fur P

101

Unentscheidbarkeit des PCP

Wir haben gezeigt: A ďm MPCP ďm PCP

aus A R REC folgt also PCP R REC

Damit lasst sich die Unentscheidbarkeit weiterer Probleme zeigen,z.B. aus den Bereichen

§ formale Grammatiken

§ Logik

102

Unentscheidbarkeit der Pradikatenlogik

FOLpΣ,Xq: Menge aller pradikatenlogischen Formeln mit

§ Signatur Σ “ pΣF ,ΣRq (Funktions- und Relationssymbolen)

§ Variablenmenge X

Satz:

FOL “ tϕ P FOLpΣ,Xq | ϕ allgemeingultig u R REC

Beweis: Reduktion des PCP auf FOLIdee: Zuordnung von ϕP zu PCP-Instanzen P mitϕP allgemeingultig gdw. P hat LosungΣF “ tpc , 0q, pf0, 1q, pf1, 1qu, ΣR “ tpG , 2quJedes Wort w P t0, 1u˚ wird reprasentiert durch den Termtw “ tw1¨¨¨w|w | “ fw|w |p¨ ¨ ¨ fw1pcq ¨ ¨ ¨ q P TermpΣF ,Hq

103

Unentscheidbarkeit der Pradikatenlogik

Fur PCP P “ tpx1, y1q, px2, y2q, . . . , pxn, ynqu

ϕP “ pϕ^ ψq Ñ Dx G px , xq

mit

ϕ “ľ

iPt1,...,nu

G ptxi pcq, tyi pcqq

ψ “ @u@v

¨

˝G pu, vq Ñľ

iPt1,...,nu

G ptxi puq, tyi pvqq

˛

Satz: ϕP allgemeingultig gdw. P hat Losung

104

Was bisher geschahEigenschaften von Funktionen:

berechenbar verschiedene BerechnungsmodelleAquivalenz von Berechnungsmodellen

Eigenschaften von Mengen:

entscheidbar gdw. χM berechenbargdw. M und M semi-entscheibarabgeschlossen unter Y,X, , z, ˝, ˚, R

semi-entscheibar gdw. χ1M berechenbargdw. Turing-akzeptierbargdw. (rekursiv) aufzahlbarabgeschlossen unter Y,X, ˝, ˚, R , aber nicht unter

Codierungen von Paaren, Listen, Baumen, ProgrammenSprachen und Aufgaben (Probleme) als MengenUnentscheidbare Probleme:

§ Halteprobleme fur TM

§ PCP

§ FOL

§ verschiedene Fragen zu Grammatiken (UA)

Motivation Komplexitatstheorie

§ bis jetzt: Berechenbarkeit als qualitativer Begriff

(eine Funktion ist berechenbar oder nicht,eine Menge ist entscheidbar oder nicht)

§ ab jetzt: quantitative Untersuchung:

fur berechenbare Funktionen/entscheidbare Mengen:

mit welchem Aufwand lasst sich Rechnung durchfuhren?

§ Komplexitat sowohl fur deterministische als auch furnichtdeterministische Berechnungsmodelle (Suchprobleme)

§ verwendet Methoden der Berechenbarkeitstheorie(insbesondere Reduktion, Vollstandigkeit)

105

Definition

Ressourcen:z.B. Rechenzeit, Speicherplatz, Kommunikationsaufwand

Komplexitat von

Algorithmen (Programmen, Maschinen):Ressourcenverbrauch als Funktion der EingabegroßeBsp.: die Komplexitat von Bubblesort ist quadratisch.

Problemen (Aufgaben):Komplexitat fur

”besten“ Algorithmus,

der das Problem lost.Bsp: die Komplexitat des Sortierens istP Θpn ÞÑ n ¨ log nq

Komplexitatstheorie ist die Lehre von der Schwierigkeit vonProblemen.

106

Eigenschaften von Zahlen

§ Zahlen sind hier: ganz, nichtnegativ und binarkodiert

§ zusammengesetzte ZahlenCOMP “ tx | Dy , z ě 2 : x “ y ¨ zu

§ PrimzahlenPRIMES “ tx | x ě 2uzCOMP

§ QuadratzahlenSQUARES “ tx | Dy : x “ y2u

§ Motivation: u.a. KryptographieRSA-Schlussel P COMP, aber die Ursache (die Faktoren) sollgeheim bleiben

107

Das Erfullbarkeitsproblem

§ AL “ die Menge der aussagenlogischen Formeln

§ b |ù ϕ: die Belegung b erfullt die Formel ϕ

§ SAT “ tϕ | ϕ P AL^ Db : b |ù ϕu

§ Bsp. ppx Ñ yq ^ px Ø yqq P SAT, px ^ xq R SAT§ Spezialfalle (durch syntaktische Einschrankungen)

§ CNF-SAT:wie oben und ϕ ist in konjunktiver Normalform

§ k-CNF-SAT:. . . mit ď k Literalen je Klausel

§ Motivation:Entwurf und Uberprufung von digitalen Schaltungen

108

Boolesche Schaltkreise

§ Schaltkreis ist DAG mit:§ Startknoten (keine Vorganger): Eingaben§ andere Knoten: markiert mit Boolescher Op. (^,_, )§ Endknoten (keine Nachfolger): Ausgaben

§ jeder Knoten realisiert Boolesche Funktion der Eingabe

§ Schaltkreis-Erfullbarkeit (mit einer Ausgabe)CIRCSAT “ tC | C ist unarer Schaltkreis ^

D Eingabe e mit e |ù Cu(Notation: e |ù C gdw. Ausgabe C peq “ 1)

109

Das Farbungsproblem

§ eine k-Farbung eines Graphen G “ pV ,E q ist eine Abbildungf : V Ñ t1, 2, . . . , ku

§ die Farbung f von G “ pV ,E q ist konfliktfrei,wenn @xy P E : f pxq ‰ f pyq

§ kCOL :“ tG | Df : f ist konfliktfreie k-Farbung von G u

§ Bsp: K3 R 2COL, C5 R 2COL,UA: finde G mit: G enthalt keinen K3 und G R 3COLUA: jeder Knoten von G hat ă k Nachbarn ñ G P kCOL.

§ Motivation: Ressourcenzuordnungsprobleme,z.B. Frequenzbereiche zu Funkzellen

110

Bemerkung zur Genauigkeit

bisher:

§ wegen These von Church und Turing war dasBerechnungsmodell beliebig

§ wegen Codierungen (Godelisierung) war die Art der Eingabe(Zahlen, Worter usw.) beliebig

jetzt:

§ wegen exakter Ressourcenmessung muss ein Modell fixiertwerden (Turingmaschine)

§ wegen Komplexitat als Funktion der Eingabegroße

muss”Große“ exakt definiert werden

(Lange des Wortes auf dem Eingabeband,Lange der Binarkodierung einer Zahl)

111

Deterministische Zeit – P

§ fur f : NÑ N bezeichnet DTIMEAlgpf q

die Menge aller TM M mit@x P LpMq : M akzeptiert x nach ď f p|x |q Schritten.

§ fur f : NÑ N bezeichnet DTIMEProbpf q

die Menge aller Sprachen (Probleme) L mitDM P DTIMEAlgpf q : L “ LpMq.

§ Abkurzung DTIME “ DTIMEProb

§ fur Menge F von Funktionen: DTIMEpF q “ď

f PF

DTIMEpf q

§ Abkurzung: P “ PTIME “ DTIMEpMenge aller Polynomeq

§ tw | w P t0, 1u˚ ^ w “ wRu P P, 2COL P P, 2SAT P P

112

Was bisher geschahBerechenbarkeitstheorie:

§ berechenbare Funktionen

§ entscheidbare Mengen RECabgeschlossen unter Y,X, , z, ˝, ˚, R

§ semi-entscheidbare Mengen RETuring-akzeptierbar, (rekursiv) aufzahlbarabgeschlossen unter Y,X, ˝, ˚, R , aber nicht unter

§ Reduktion ďm: @L, L1 Ď N:L ďm L1 gdw. Dpf : NÑ Nq@x P N : px P LØ f pxq P L1q(mit f berechenbar und total)

§ Einordnung verschiedener Probleme,z.B. Halteprobleme fur TM, PCP, FOL (allgemeingultige Formeln)

Komplexitatstheorie:

§ Probleme: SQUARES, PRIMES, SAT, kSAT, k-COL

§ DTIME(f), P=DTIME(Menge aller Polynome)

§ 2-Col, 2SAT P P

Nichtdeterminismus und Orakel

§ bisher: deterministische Rechnungen

§ Rechnung ist Pfad§ ist erfolgreich, falls finaler Zustand erreicht wird

§ jetzt: Such-Aufgaben (nichtdeterministische Rechnungen)

§ Rechnung ist Baum (evtl. mehrfach verzweigt)Knoten: Konfiguationen

§ erfolgreich, falls ein finales Blatt existiert(akzeptierende Konfiguration, Halt)

§ alternative Sichtweise: Orakel-Berechnung

§ ein Orakel beschreibt den Weg zum finalen Blatt,§ deterministische Maschine verifiziert diesen Weg

113

Orakel-Maschinen

Definition:Orakel-TM A = TM mit Eingabeband (Alphabet X ),Orakelband (Alphabet Γ) und evtl. Arbeitsbandern

Definition:von A akzeptierte Sprache LpAq Ď Σ˚:Menge aller Eingabeworter x , fur die ein Orakelwort y existiert,so dass die Rechnung Mpx , yq erfolgreich halt.

nach dieser Definition:

1. Orakel sieht x und schreibt y ,

2. danach rechnet (verifiziert) A (deterministisch)

alternative Sichtweise:y ist unbekannt, bei jedem Lesen eines unbekannten Zeichens vony verzweigt die Rechnung: A ist nichtdeterministische TM

die Rechnung Apxq ist ein Baum T ,Eingabe wird akzeptiert, wenn T ein erfolgreiches Blatt enthalt

114

Nichtdeterministische Zeit – NP§ fur f : NÑ N bezeichnet NTIMEAlgpf q

die Menge der Orakel-TM M mit@x : x P LpMq ðñ es gibt ein Orakelwort y mit:M akzeptiert px , yq in ď f p|x |q Schritten.

(dabei werden ď f p|x |q Zeichen von y gelesen)

§ entsprechend NTIMEProbpf q,NTIMEpf q,NTIMEpF q

§ Abkurzung NP “ NPTIME “ NTIMEpPolynomeq

§ Bsp.: COMP P NP, SAT P NP, @k : kCOL P NP

§ Satz: A P NP^ B P NP ñ pAY Bq P NP

§ Satz: P Ď NP

§ Frage: P “ NP ?

(schwierig: 106 $, http://www.claymath.org/millennium-problems/p-vs-np-problem)

§ fur Sprachklasse C : coC “ tL | L P Cu, z.B. coNP, coRE115

Vergleich: Berechenbarkeit/Komplexitat

bis jetzt:§ es gibt Analogien zwischen:

§ Berechenbarkeit: REC,RE, coRE§ Komplexitat: P,NP, coNP

§ der Unterschied ist, dass man REC ‰ RE, RE ‰ coRE undREX coRE “ REC beweisen kann,die entsprechenden Komplexitatsaussagen bisher nicht

116

NP-vollstandige Probleme

nach bisherigen Definitionen/Beispielen:

§ P: Klasse der (auf sequentiellen Maschinen)effizient losbaren Probleme

§ NP: enthalt haufig vorkommende Suchprobleme

Frage fur (neues) Problem L: L P P oder L R P?

§ bis heute ist kein L P NPzP bekannt

§ Bekannt ist jedoch eine Charakterisierung der schwerstenProbleme in NP:

die Klasse NPc der NP-vollstandigen Probleme

117

Polynomialzeit-Reduktion ďP

§ Def: FTIMEpf q “ die in Zeit ď f p|x |q auf DTMberechenbaren Funktionen, FP “ FTIMEppolyq.

§ Def: A ďP B gdw. Df P FP : @x P X ˚ : x P A ðñ f pxq P B.

§ Bsp: DHC ďP HC.HC “ tG | G ist ungerichteter Graph und G enthalt Kreisdurch alle Knoten u (Hamiltonian Circuit)DHC “ tG | G ist gerichteter Graph und G enthaltgerichteten Kreis durch alle Knoten u (Directed HC)Beweis: f pV ,E q “ pV ˆ t1, 2, 3u,E 1q mitE 1 “ ttpv , 1q, pv , 2qu | v P V u Y ttpv , 2q, pv , 3qu | v P V u

Yttpu, 3q, pv , 1qu | pu, vq P Eu.zu zeigen sind fur f : Korrektheit, Laufzeit

§ Satz: ďP ist transitiv

118

Abschluß-Eigenschaften von ďP

Satz: A ďP B ^ B P P ñ A P P

Beweis: wegen Abschluss von FP bzg. Komposition fur

§ Reduktionsfunktion f von A nach B

§ charakteristische Fkt. χB von B

Satz: A ďP B ^ B P NP ñ A P NP

Beweis: sei f die Reduktionsfunktion von A nach B,χB wird Orakel-berechnet M : px , yq ÞÑ t0, 1u.Dann wird χA Orakel-berechnet durch px , yq ÞÑ Mpf pxq, yqzu betrachten sind: Korrektheit, Laufzeit, Orakelgroße.

vgl. A ďm B ^ B P REC ñ A P REC,A ďm B ^ B P RE ñ A P RE.

119

NPc und Satz von Cook

Def: B heißt NP-schwer, gdw. @A P NP : A ďP B.

Def: B NP-vollstandig, gdw. B NP-schwer und B P NP

NPc :“ tB | B ist NP-vollstandigu

Satz (Steven Cook, 1971): SAT P NPc

Beweis: (Teil 1) SAT P NP: Eingabe ϕ P AL auf Band (codiert)Orakelmaschine M

1. liest ϕ und stellt Variablenmenge varpϕq “ tx1, . . . , xnu fest

2. Orakel rat Belegung β P t0, 1un (aus 2n Moglichkeiten)

3. berechnet Wert von ϕ unter β,

4. akzeptiert gdw. βpϕq “ 1

Korrektheit: ϕ P SAT gdw. M akzeptiert ϕLaufzeit polynomiell

noch zu zeigen: SAT ist NP-schwer

120

SAT P NPc

Satz (Steven Cook, 1971): SAT P NPc

Beweis: (Teil 2) SAT ist NP-schwer

§ Wahle L P NP beliebig

§ Dann existieren nichtdet. TM M “ pX ,Q, Γ, δ, q0,2q mitLpMq “ L und Polynom p,so dass Laufzeit von M auf x durch pp|x |q beschrankt

§ Idee: Konstruktion einer Formel ψx P AL zu Eingabewort x ,welche die Konfigurationenfolge einer erfolgreichen Rechnungvon M mit ď pp|x |q Schritten bei Eingabe x beschreibt.(x P L gdw. ψx erfullbar)

121

Satz von Cook (Einzelheiten)Formel ψx mit freien Variablen, die Konfigurationsfolge einererfolgreichen Rechnung von M mit ď pp|x |q Schritten bei Eingabe x ,Orakelwort y beschreibt. (sei T :“ pp|x |q)

§ Variablen (mit t P t´T , . . . ,T u, j P X Y Γ, k P Q)

§ bt,i,j ðñ zur Zeit t steht in Zelle i das Zeichen j§ pt,i ðñ zur Zeit t steht Kopf an Position i§ zt,k ðñ zur Zeit t ist Maschine in Zustand k

§ ψx ist Konjunktion von Teilformeln zur Beschreibungder Konfigurationen der TM M “ pX ,Q, Γ, δ, q0,2q

ψb : in jeder Zelle genau ein Symbol aus X Y Γ,ψk : Kopf immer an genau einer Position,ψz : Maschine immer in genau einem Zustand

Berechnung (Konfigurationsfolge) von M auf x :

ψs : Anfang in Startkonfiguration mit Eingabe xψe : Ende in einer akzeptierenden Konfigurationψt : nur zulassige Konfigurationenubergange

122

Satz von Cook (Einzelheiten)Abkurzung:exactlyonepx1, . . . , xnq wahr gdw. xi fur genau ein i wahr (UA)

ψk “ľ

tPt0,Tu

exactlyoneppt,´T , . . . , pt,T q

ψs “ z0,0 ^ p0,q0 ^ľ

iPt1,...,|w |u

b0,i´1,wi ^ľ

iPt´T ,...,´1uYt|w |,...,Tu

b0,i,2

ψ1t “ľ

tPt0,...,TukPQ

iPt´T ,...,TuaPXYΣ

¨

˝

pzt,k ^ pt,i ^ bt,i,aq

Ñł

pa,k,b,k 1,mqPδ

pzt`1,k 1 ^ pt`1,i`m ^ bt`1,i,bq

˛

UA: ψb, ψz , ψe und vollstandiges ψt “ ψ1t ^ . . .Es gilt:

1. ψx erfullbar gdw. akzeptierende Berechnung von M auf x existiert

2. ψx aus x polynomiell berechenbar

Beobachtung: alle ψ˚ in CNF, also ψx in CNF

Diese Reduktion ist also zugleich eine Reduktion auf CNFSAT 123

Ubungsaufgaben NP, SAT§ Es gilt: zu jeder Formel F gibt es eine aquivalente Formel G in

disjunktiver Normalform. Es gilt auch: DNFSATP P. Warumfolgt daraus nicht SAT P P?Bem: SAT P P ist damit nicht ausgeschlossen, es geht nurdarum, dass es so jedenfalls nicht folgt.

§ gib eine CNF an fur”genau eine von px1, . . . , xnq ist wahr“.

(z.B. n “ 4, n “ 8) ( (§ Def. A ”P B gdw. A ďP B und B ďP A.

Seien A,B P P. Wann gilt und gilt nicht A ”P B?§ Zeige A P NPc^ B P NPc ñ A ”P B§ Fur A,B Ď Σ˚ gilt A ďP B ðñ pΣ˚zAq ďP pΣ

˚zBq.§ Es gilt 3COL ďP SAT (warum? erfordert keine Rechnung,

sondern nur die Kombination von zwei bereits bekanntenAussagen). Gib explizit eine Reduktionsfunktion an, die inP-Zeit aus einem Graphen G eine Formel F berechnet mitF P 3COL ðñ G P SAT.Hinweis: fur jeden Knoten 3 Variablen.

124

Was bisher geschahBerechenbarkeitstheorie:

§ Funktionen: total, berechenbar

§ Mengen: entscheidbar, aufzahlbar

§ Reduktion ďm: @L, L1 Ď N:L ďm L1 gdw. Dpf : NÑ Nq@x P N : px P LØ f pxq P L1qwobei f total und berechenbar

§ Einordnung verschiedener Probleme,z.B. Halteprobleme fur TM, PCP, FOL (allgemeingultige Formeln)

Komplexitatstheorie:

§ Funktionen: mit Ressourcen . . . berechenbar

§ Mengen: mit Ressourcen . . . entscheidbar

§ Reduktion ďP : @L, L1 Ď N:L ďP L1 gdw. Dpf : NÑ Nq@x P N : px P LØ f pxq P L1qwobei f P FTIME(Menge aller Polynome)

§ Probleme: SQUARES, PRIMES, SAT, kSAT, k-COL

§ DTIME(f), P=DTIME(Menge aller Polynome), 2-Col, 2SAT P P

§ NP, NP-vollstandige Problemez.B. SAT, CNFSAT, 3SAT, Clique, Independent Set, 3COL P NP

Deterministischer Platz

§ wir messen den Platz nur auf dem Arbeitsband(nicht Eingabe-, nicht Ausgabeband)

§ fur f : NÑ N bezeichnet DSPACEAlgpf q die Menge der DTMM mit @x Pp Mq ðñ M akzeptiert x mit Arbeitsband derBreite ď f p|x |q

§ fur f : NÑ N bezeichnet DSPACEProbpf q die Menge derSprachen L mit DM P DSPACEAlgpf q : L “p Mq

§ Abkurzung DSPACE “ DSPACEProb

§ fur Menge F von Funkt.: DSPACEpF q “Ť

f PF DSPACEpf q

§ Abkurzung PSPACE “ DSPACEppolyq

125

Beispiele fur DSPACE: DSPACE(0)

§ (nach unserer Definition der TM) Eingabe ist read-only,Ausgabe ist write-only,

§ Arbeitsband darf nicht benutzt werden (Breite 0)einzige Speichermoglichkeit ist Zustand

§ das sind endliche Automaten mit Ein- und Ausgabe

§ andere Namen dafur: finite (rational) transducer

§ Bsp: Berechnung des Nachfolgers in Binardarstellung

126

Beispiele fur DSPACE: QBF P PSPACE§ QBF “ Menge aller wahren aussagenlogischen Formeln

mit Quantoren ohne freie Variablen§ Syntax: t|f|p| ϕ|ϕ ˚ ψ|Qpϕ

mit Aussagenvariablen p, ˚ zweistelliger Junktor, Q P t@, DuBsp: ϕ1 “ @xDyppx _ yq ^ p x _ yqqq,ϕ2 “ Dx@yppx _ yq ^ p x _ yqqq

§ Semantik: Auswertung der Formel rekursiv:evalp@xϕq “ evalpϕrx :“ 0sq ^ evalpϕrx :“ 1sqevalpDxϕq “ evalpϕrx :“ 0sq _ evalpϕrx :“ 1sqBsp: evalpϕ1q “ . . .

Satz: QBF P PSPACEBeweis:

§ Auswertung mit linearem Platzbedarf moglich§ benutze Keller (auf Arbeitsband) fur die Verwaltung der

UP-Aufrufe (eval), die Kellertiefe ist ď |ϕ|§ die Ressource Platz kann man nachnutzen

. . . und dabei sehr viel mehr Zeit verbrauchen127

Beispiele: Spiele in PSPACE

§ QBF fur Formeln der Gestalt@x1Dy1@x2Dy2 ¨ ¨ ¨ @xnDyn : Ppx1, y1, x2, y2, . . . , xn, ynqals Zweipersonenspiel: fur den ersten Zug von x gibt es einenAntwortzug fur y , so dass fur jeden . . .und Pp¨ ¨ ¨ q beschreibt die Gewinnbedingung

§ viele andere Zweipersonenspiele P PSPACEgenauer, das Entscheidungsproblemts | Position s ist sicherer Gewinn fur Spieler 2uwenn die Lange des Spiels polynomiell beschrankt ist

Beispiele:

§ Stefan Reisch: HEX ist PSPACE-vollstandig,Acta Inf. 15(2)1981, 167–191

§ Othello / Reversi: S. Iwata and T. Kasai:The Othello game on an n*n board is PSPACE-complete,Theor. Comp. Sci. 123 (1994) 329-340.

128

Beziehungen zwischen Platz und Zeit

Satz: DTIMEpf q Ď DSPACEpf q. (Warum?)

Satz: DSPACEpf q Ď DTIMEp2Opf qq(dabei 2Opf q :“

Ť

cą0pn ÞÑ 2c¨f pnq)

Beweis: sei M P DSPACEAlgpf q (mit Alphabet t0, 1u).Wenn Mpxq mit f p|x |q Platz akzeptiert,dann sind alle Konfigurationen verschieden (Warum?)Es gibt ď 2f p|x |q Konfigurationen,also hochstens so viele Schritte.

Folgerung: f berechenbar ñ DSPACEpf q Ď RECBeweis: DSPACEpf q Ď DTIMEp2Opf qq Ď REC

129

Reduktion, Vollstandigkeit

§ Def. ďP wie bisher

§ Satz: PSPACE ist abgeschlossen bzgl. ďP:@L1, L2 : L1 ďP L2 ^ L2 P PSPACE ñ L1 P PSPACEBeweis: Reduktionsfunktion f ist in polynomieller Zeit, also inpolynomiellem Platz berechenbar.

§ Def: L ist PSPACE-vollstandig, gdw.L P PSPACE^ @L1 P PSPACE : L1 ďP L

130

QBF ist ein”schwerstes“ Problem in PSPACE

Satz: QBF ist PSPACE-vollstandig.Beweis:

1. QBF P PSPACE schon gezeigt

2. QBF ist PSPACE-schwer, d.h. @L P PSPACE : L ďP QBFIdee: Reduktionsfunktion f transformiert PSPACE-DTM Min QBF-Formel ϕ, so dass ϕ wahr gdw. M halt bei Eingabe x ,d.h. D Berechnung (Konf.-Folge) von Start- zu einer akz. Konf.(enthalt ď 2|x| Konfigurationen)ϕ “ rpcs , caq wahr gdw. akz. Konf. ca aus Start cs erreichbarIdee: r|x|pc , c

1q fur Erreichbarkeit in ď 2|x| Schritten rekursiv:ri`1pc , c

1q “

Dci@di@d1i pppd “ c ^ d 1 “ ci q _ pdi “ ci ^ d 1i “ c 1qq Ñ ri pdi , d

1i qq

r0pc , c1q reprasentiert M, insbes. δ (analog Satz von Cook)

in jedem der |x | Schritte (poly): zusatzliche Variablen ci , di , d1i ,

|ri pc , c1q| ď |ri´1pc , c

1q| ` Op|x |q . . ., also |r|x|pc , c1q| ď Op|x |2q

(Warum nicht einfach Dc0Dc1 ¨ ¨ ¨ Dckpδpcs , c1q ^ ¨ ¨ ¨ ^ δpck , caqq?)

131

Nichtdeterministischer Platz

§ Def: NSPACEpf q : Probleme losbar durchnichtdeterministische TM mit Arbeitsband ď f p|Eingabe|q

§ Satz DSPACEpf q Ď NSPACEpf q. (Warum ?)

§ Satz (Savitch) NSPACEpf q Ď DSPACEpf 2q.

§ Folgerung: DSPACEppolyq “ NSPACEppolyq “ PSPACE

132

PSPACE-vollstandige Einpersonenspiele

§ M P PSPACE akzeptiert xðñ es gibt eine passende Konfigurationsfolge.

§ Platz fur jede Konf. ď f p|x |q mit f P poly, Lange ď 2Opf q

§ Konfiguration kann auch die Anordnung von Spielsteinen aufeinem (beschrankten) Brett sein

§ Ubergang “ Spielzug “ (z.B.) Verschieben von Steinen

§ Joseph C. Culberson: Sokoban is PSPACE-complete, 1997 ,http://citeseerx.ist.psu.edu/viewdoc/summary?doi=

10.1.1.52.41

§ Rush Hour ist PSPACE-vollstandig. Lunar Lockout auch?

133

Aus der Modulbeschreibung3020 Theoretische Informatik: Berechenbarkeit und Komplexitat

Arbeitsaufwand: Prasenzzeit 56 h (“ 2 h V ` 2 h U je Woche)Vor- und Nachbereitungszeit 124 h (« 9 h je Woche)

Voraussetzungen: anwendungsbereite Kenntnisse auf den GebietenModellierung, Logik, Formale Sprachen,Maschinenmodelle, Algorithmen und Datenstrukturen,Aufwandsabschatzungen

Lernziele: Nach erfolgreichem Abschluss des Moduls sind dieStudierenden in der Lage, fundiert die prinzipiellenMoglichkeiten und Grenzen der verschiedenenBerechenbarkeitsmodelle einzuschatzen.

Ebenso konnen sie Anwendungsprobleme hinsichtlich ihrerSchwere einschatzen. So konnen sie treffsicher adaquateMittel fur zu losende algorithmische Aufgaben auswahlenund einsetzen.

Ferner konnen sie unlosbare oder schwer handhabbareProbleme als solche erkennen und ggf. z.B. auf Methodenfur handhabbare Spezialfalle, Naherungslosungenausweichen. 134

Organisatorisches

Studierendenbefragung

Autotool-Highscore

Prufungsvorleistungen :

§ ě 50% aller Punkte furAutotool-Pflichtaufgaben und

§ ě 2 Vorrechen-Punkte (Ubungen)

Zulassungen: Liste

Prufung: 20. Februar 2019, 9:00 Uhr in Li415(Klausur 120 min)Aufgabentypen ahnlich UbungsaufgabenHilfsmittel: keine

135

Inhalt der Lehrveranstaltung

§ Berechnungsmodelle:TM, Goto, While, Loopkonkrete und abstrakte Syntax, Semantik (Interpreter),Aquivalenzen (Compiler)

§ berechenbare von Funktionen

§ partiell / primitiv rekursive Funktionen

§ Entscheidbarkeit von Mengen / SprachenREC, Diagonalisierung, RE, ďm

Unentscheidbare Probleme: Halteprobleme, PCP

§ KomplexitatNichtdeterminismus, Zeit, Platz, ďp

Komplexitatsklassen P, NP, PSPACE, NPSPACEEinordnung von SAT, COL, Clique, Independet Set, QBF

136

Berechnungsmodelle

§ TM M: von M berechnete Funktion, akzeptierte /entschiedene Menge

§ Goto-Programme: Syntax, Semantik (small-step),berechnete Funktion

§ Loop / While-Programme: Syntax, Semantik (big-step),berechnete Funktion

§ Ubersetzungen, Unterschiede

zu big-step / small-step-Semantik z.B.http://concrete-semantics.org/slides-semantics.pdf

137

Partiell / primitiv rekursive Funktionen

§ Basisfunktionen:konstant 0, Nachfolger, Projektion

§ Operatoren (Verknupfungen):Substitution, Rekursion, µ

( Werte berechnen, definierte Funktion angeben,Beispiele angeben)

Beziehungen zu Maschinenmodellen

138

Codierungen

§ von Wortern

§ Paaren

§ Tupeln

§ Listen

§ Termen (Baumen)

§ Mengen, TM, Programme

(Werte berechnen, Beispiele angeben)

mit Ressourcen . . . berechenbar?

139

Aufzahlbare / entscheidbare Mengen

§ Aufgaben / Probleme als MengenInstanzen, Losungen

§ Aufzahlbarkeit / Entscheidbarkeit

§ Abschlusseigenschaften§ Unentscheidbare Probleme

§ Halteprobleme§ PCP

140

Komplexitat

§ Ressourcen: Zeit, Platz

§ Nichtdeterminismus, Orakel

§ Reduktion ďp

§ Komplexitatsklassen P, NP, PSPACE, NPSPACE

§ Vollstandigkeit

§ Einordnung vonSAT (allgemein, CNF, DNF),COL (2,3,allgemein), Clique, Independet Set, QBF

theory.cs.princeton.edu/complexity/book.pdf

Inklusion: https://www.math.ucdavis.edu/~greg/zoology/diagram.xml

141