157
Theoretische Informatik: Berechenbarkeit und Komplexit¨ at Prof. Dr. Sibylle Schwarz HTWK Leipzig, Fakult¨ at IMN Gustav-Freytag-Str. 42a, 04277 Leipzig Zimmer Z 411 (Zuse-Bau) https://informatik.htwk-leipzig.de/schwarz [email protected] Wintersemester 2018/19 1

Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

[email protected]

Wintersemester 2018/19

1

Page 2: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 3: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 4: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 5: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 6: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 7: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 8: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

Prufung

Prufungsvorleistungen:

§ ě 50% aller Punkte furAutotool-Pflichtaufgaben und

§ ě 3 Vorrechen-Punkte (Ubungen)

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

8

Page 9: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 10: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 11: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 12: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 13: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 14: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 15: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 16: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 17: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 18: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 19: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 20: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 21: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 22: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 23: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 24: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 25: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 26: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 27: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 28: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 29: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 30: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 31: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 32: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 33: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 34: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 35: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 36: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 37: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 38: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 39: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 40: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 41: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 42: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 43: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 44: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 45: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 46: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 47: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 48: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 49: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 50: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 51: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 52: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 53: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 54: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 55: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 56: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 57: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 58: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 59: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 60: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 61: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 62: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 63: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 64: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 65: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 66: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 67: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 68: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 69: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 70: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 71: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 72: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 73: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 74: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 75: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 76: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 77: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 78: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 79: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 80: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 81: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 82: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 83: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 84: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

µ-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

Page 85: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 86: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 87: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 88: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 89: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 90: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 91: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 92: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 93: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 94: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 95: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 96: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 97: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 98: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 99: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 100: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 101: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 102: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 103: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 104: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 105: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 106: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 107: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 108: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 109: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 110: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 111: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 112: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 113: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 114: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 115: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 116: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 117: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 118: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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)

Page 119: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 120: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 121: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 122: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 123: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 124: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 125: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 126: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 127: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 128: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 129: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 130: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 131: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 132: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 133: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 134: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 135: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 136: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 137: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 138: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 139: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 140: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 141: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 142: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 143: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 144: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 145: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 146: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 147: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 148: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 149: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 150: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 151: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 152: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 153: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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

Page 154: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

Partiell / primitiv rekursive Funktionen

§ Basisfunktionen:konstant 0, Nachfolger, Projektion

§ Operatoren (Verknupfungen):Substitution, Rekursion, µ

( Werte berechnen, definierte Funktion angeben,Beispiele angeben)

Beziehungen zu Maschinenmodellen

138

Page 155: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

Codierungen

§ von Wortern

§ Paaren

§ Tupeln

§ Listen

§ Termen (Baumen)

§ Mengen, TM, Programme

(Werte berechnen, Beispiele angeben)

mit Ressourcen . . . berechenbar?

139

Page 156: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

Aufzahlbare / entscheidbare Mengen

§ Aufgaben / Probleme als MengenInstanzen, Losungen

§ Aufzahlbarkeit / Entscheidbarkeit

§ Abschlusseigenschaften§ Unentscheidbare Probleme

§ Halteprobleme§ PCP

140

Page 157: Theoretische Informatik: Berechenbarkeit und Komplexitätschwarz/lehre/ws18/tim/tim18-all.pdf · Prinzipien der theoretischen Informatik altester Zweig der Informatik (lange vor dem

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