informatik d: einführung in die theoretische...

333
Informatik D : Einführung in die Theoretische Informatik Prof. Dr. Markus Chimani Theoretische Informatik, Uni Osnabrück Sommersemester 2016

Upload: leminh

Post on 18-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Informatik D:

Einführung in die

Theoretische Informatik

Prof. Dr. Markus Chimani

Theoretische Informatik, Uni Osnabrück

Sommersemester 2016

Page 2: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung

Page 3: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

EinleitungOrganisatorisches

Page 4: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Organisatorisches 4

Vorlesung

2x pro Woche:

I Donnerstags, 14:15 – 15:45 @ 32/102

I Freitags, 10:15 – 11:45 @ 32/102

Unterlagen:

I Diese Folien, online→ Stud.IP

I Empfehlung: eines der folgenden Bücher:

I Uwe Schöning.„Theoretische Informatik – kurz gefasst“Spektrum Akad. Verlag, 5. Aufl., 190 Seiten, 20€.

I J. E. Hopcroft, R. Motwani, J. Ullman.„Einführung in Automatentheorie, Formale Sprachenund Berechenbarkeit“Pearson Studium. 3. Aufl., 592 Seiten, 49.90€.

Page 5: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Organisatorisches 5

Vorlesungsprüfung

Zulassung zur Prüfung

I Erfolgreiches Bestehen der Übung (siehe nächste Folie)

I Ausnahme: Wiederholtes Antreten(d.h. schon in einem der vergangenen Jahren die Übungbestanden und/oder schon einmal vorher an Klausurteilgenommen)

Prüfungsmodus:

I Schriftliche Klausur am Montag, 11. Juli, 13:00–16:00

I Nachklausur am Ende der vorlesungsfreien Zeit

I Dauer: 120min

I Fragestellungen:

I Definitionen, Zusammenhänge, Beweisideen, undI Aufgabenstellungen ähnlich der Übung

Page 6: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Organisatorisches 6

ÜbungI wöchentlich, vier versch. Termine (=Übungsgruppen).

I Übungsgruppenleiter: Ivo Hedtke, Tilo Wiedera

I Anmeldung und Gruppeneinteilung: Präferenzen inStud.IP eintragen→ verpflichtend bis Sonntag Nacht!

I Übungsblatt: immer 1 Woche vorab online (→ Stud.IP)

I „Kreuzerl-Übung“: Ankreuzen, welche Aufgaben gelöst(kreuzerl.cs.uos.de, Stud.IP-Login).Gruppenleiter wählt per Pseudozufall jemanden zumVorrechnen an der Tafel aus.

I Voraussetzung für das Bestehen der Übung:I mindestens 70% der Übungsaufgaben angekreuztI Bei zu unrecht angekreuzter Aufgabe:

1. Vergehen: Keine Bewertung des Übungsblatts.2. Vergehen: Kein Bestehen der Übung.

Page 7: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

EinleitungThema der Vorlesung

Page 8: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Thema der Vorlesung 8

Fragestellungen

I Beobachtung: In der Praxis gibt es viele verschiedeneComputermodelle... und doch, von Gimmicks wieGraphikleistung abgesehen, tun sie alle das selbe: sierechnen irgendetwas

I Was ist eine „einfache“ Beschreibung eines Computersder (prinzipiell) alles kann, was ein Supercomputer,traditioneller PC, Notebook, Tablet/Pad, Smartphonekann?

I Was kann ein Computer alles theoretisch berechnen?Was kann kein Computer berechnen??

I Was kann ein Computer effizient berechnen?Was bedeutet Effizienz?

. . . dazu müssen wir leider ein bisschen ausholen. . .

Page 9: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Thema der Vorlesung 9

Themenübersicht

I Formale Sprachen und AutomatenWie kann ich zu lösende Probleme überhaupt definieren?Wie kann ich Lösungsmethoden bzw. Berechnungendefinieren?

I BerechenbarkeitstheorieWas kann ein Computer prinzipiell (nie) berechnen?

I KomplexitätstheorieWas bedeutet Effizienz?Was kann ein Computer prinzipiell (nie) effizientberechnen?

Page 10: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

EinleitungFormale Grundlagen

Page 11: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 11

Griechische Buchstaben

A α AlphaB β BetaΓ γ Gamma∆ δ DeltaE ε EpsilonZ ζ ZetaH η EtaΘ θ ϑ ThetaI ι IotaK κ KappaΛ λ LambdaM µ My (Mü)

N ν Ny (Nü)Ξ ξ XiO o OmikronΠ π $ PiP ρ % RhoΣ σ ς SigmaT τ TauΥ υ YpsilonΦ φ ϕ PhiX χ ChiΨ ψ PsiΩ ω Omega

Page 12: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 12

Mengen

N = 0,1,2,3, . . . natürliche Zahlen, inklusive 0N+,Ng,Nu positive, gerade und

ungerade natürliche Zahlen

A = a,b, c;B = c,d;C = a,b, c, . . . , z;D1, . . . ,Dk

endliche Mengen

∅ leere Menge

A ⊆ C, A ⊂ C, A 6⊆ B A ist (echte/keine) TeilmengeC ⊇ A C ist Übermengea ∈ A, a 6∈ B a ist Element von A, nicht von B

A ∪ B = a,b, c,d,⋃

1≤i≤k Di Vereinigung

A ∩ B = c,⋂

1≤i≤k Di Schnittmenge

C \ A = d, . . . , z,A \ B = a,b „C ohne A“, „A ohne B“

A4B = a,b,d Symmetrische Differenz

Page 13: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 13

Logiktrue, (T, >) Symbol für „wahr“false, (F, ⊥) Symbol für „falsch“

x, y, x1, x2, x3, . . . Boolsche Variablen,nehmen den Wert true oder false an

x→ y Implikation.Falls x = true, dann y = true; sonst y beliebig

x↔ y Äquivalenz, „x = y“.Falls x = true, dann y = true; sonst y = false

¬x Negation.false falls x = true und umgekehrt

x ∧ y,∧

1≤i≤k xi Konjunktion („logisches Und“).true nur falls x und y true

x ∨ y,∨

1≤i≤k xi Disjunktion („logisches Oder“).true nur falls mindestens x oder y true

x⊕ y Exklusive Disjunktion („exklusives Oder“).true nur falls genau eines von x und y true

Page 14: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 14

Logik (Fortsetzung)

Belegung einer Variablen: Zuweisung eines festen Werts(true oder false) zu einer Variablen.

Variable x: kann true oder false sein.Belegung x′ von x ist (beispielsweise) true (=„Einsetzen“).

FormelnA := x1 ∨ (x2 ∧ x3)

B(x) := (¬x→ true)

∀x : B(x) Allquantor.Für alle mögl. Belegungen x′ von x gilt B(x′)

∃x : B(x) Existenzquantor.Es gibt mindestens eine Belegung x′ von x,sodass B(x′) gilt

C ` D Deduktion. „Aus Formel C folgt Formel D“B(x) ` true

Page 15: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 15

Arten von Aussagen

I Aussage.Besteht aus Voraussetzungen (Grundannahmen,Hypothesen) und der Konklusion (Folgerung,Resultat,. . . ).

Beispiel: Sei n ≥ 8 eine Primzahl (Voraussetzung),dann ist n ungerade (Konklusion).

I Theorem (=Satz). Wichtige Aussage.

I Lemma. „Kleine“ Aussage, wird i. d. R. als Hilfsmittelbenutzt, um ein Theorem beweisen zu können.

I Beobachtung. Sehr einfache Aussage.

I Korollar (=Folgerung). Aussage, die sich direkt auseiner anderen bewiesenen Aussage (Theorem, Lemma,etc.) ergibt.

Page 16: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 16

Arten von Beweisen

Direkter Beweis (= deduktiver Beweis).Kette von logischen Folgerungen, die von denVoraussetzungen bis zur Konklusion gelangt.

Aussage. Sei n ∈ Ng, n ≥ 2. Es gilt∑n

i=1 i = n(n+1)2 .

Beweis. Betrachte die kleinste und die größte Zahl; derenSumme ist 1 + n. Allgemein ist die Summe aus der k-kleinstenund der k-größten Zahl immer k + (n− k + 1) = n + 1.Wegen n ∈ Ng ist die n

2 -kleinste Zahl der direkte Vorgängerder n

2 -größten Zahl. Es gibt also genau n2 viele Paare von

k-kleinster/k-größter Zahl.⇒ n

2 -mal die Paar-Summe n + 1 aufaddieren: n2(n + 1).

Page 17: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 17

Arten von Beweisen

Indirekter Beweis (= Beweis durch Widerspruch).Nehmen Sie an, dass die Konklusion nicht gelten würde.Zeigen Sie, dass dies im Widerspruch zu den Voraussetzungensteht.

Aussage. Sei n ≥ 8 eine Primzahl, dann ist n ungerade.

Beweis. Angenommen n sei gerade. Dann ist n durch 2teilbar. Um eine Primzahl zu sein, müsste also n = 2 gelten.Widerspruch zu n ≥ 8.

Page 18: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 18

Arten von Beweisen

Beweis durch Induktion.Für Aussagen bzgl. einer Zahl, einer Menge,... (allgemein:Halbordnung).

Induktionsanfang (IA): Zeigen Sie, dass die Aussage fürkleine Basisfälle (z. B. Zahl=1, einelementige Menge,...) gilt.Induktionsschritt (IS): Betrachten Sie eine beliebige Zahl(Mengengröße) X. Zeigen Sie, dass die Aussage für X gilt, fallsdie Aussage für alle kleineren Zahlen (Mengen) gilt(Induktionshypothese (IH)).

Begründungslogik: Angenommen, es gibt Zahlen (Mengen) fürdie die Aussage nicht stimmt. Wähle X als die kleinste dieserZahlen (Mengen). Für alle kleineren Zahlen (Mengen) gilt dieAussage also, also die IH. Der IS beweist dann die Gültigkeitfür X→ Widerspruch.

Page 19: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 19

Arten von Beweisen

Beweis durch Induktion.

Aussage. Sei n ∈ N+. Es gilt∑n

i=1 i = n(n+1)2 .

Beweis.Induktionsanfang:

Die Aussage gilt für n = 1 XInduktionshypothese:

Angenommen, die Aussage gilt für jedes n′ < n.Induktionsschritt:

n∑i=1

i =n−1∑i=1

i + nIH=

(n− 1)n

2+ n =

= n ·(n− 1

2+ 1

)= n · n− 1 + 2

2= n

(n + 1)

2.

Page 20: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 20

Arten von Beweisen

Beweis durch Autorität.Dem Vortragenden vorbehalten.In Lösungen der Übungsaufgaben nicht zulässig.

Aussage. Sei z eine reelle oder komplexe Zahl. Es gilt:

limn→∞

(1 +

z

n

)n= ez.

Beweis. Das gilt. Glauben Sie mir. Der Beweis wäre jetzt zulang, kompliziert und irrelevant.

Page 21: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 21

Arten von Beweisen

Beweis durch Einschüchterung.

Bildquelle: xkcd.com/982

Page 22: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 22

Landau-Symbole: O-Notation

Laufzeiten: O(n), O(n logn), O(n2m + m1.5),...

Definition (Groß-O-Notation). Sei f(n) : Nk → R eineFunktion. Parameter n ist dabei ein k-stelliger Vektor.

O(f) := g : Nk → R | ∃c > 0, ∃n0 ∈ Nk, ∀n ≥ n0 : g(n) ≤ c·f(n)

= Menge aller Funktionen die asymptotisch maximal soschnell wachsen wie f .→ Wert f(n) ist eine asymptotischeobere Schranke für g(n) für alle g ∈ O(f).

Dies ist gleichbedeutend mit:

g ∈ O(f)⇐⇒ ∃c > 0,∃n0 ∈ Nk, sodass ∀n ≥ n0 : g(n) ≤ c · f(n)

In der Informatik schreiben wir (wenn auch formal fragwürdig)i.d.R. g = O(f) statt g ∈ O(f).

Page 23: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 23

Landau-Symbole: Untere Schranken

O-Notation gibt eine asymptotische obere Schranke für eineFunktion an.

„Algorithmus XY hat eine Laufzeit O(n2).“→ Er benötigt maximal quadratisch viel Zeit in derEingabegröße.

Analog können wir definieren:

I Asymptotische untere Schranke Ω (griech. Omega)„Algorithmus XY hat eine Laufzeit Ω(n2).“→ Er benötigt mindestens quadratisch viel Zeit.

I Asymptotisch scharfe Schranke Θ (griech. Theta)„Algorithmus XY hat eine Laufzeit Θ(n2).“→ Er benötigt immer quadratisch viel Zeit.D.h. Θ(f) = O(f) ∩ Ω(f); g = Θ(f)⇔ g = O(f) ∧ g = Ω(f)

Page 24: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 24

Landau-Symbole: Beispiel

Laufzeitschranken beim Sortieren von n Elementen.

I InsertionSort: Ω(n), O(n2)

I SelectionSort: Ω(n2), O(n2) ⇒ Θ(n2)

I MergeSort: Ω(n logn), O(n logn) ⇒ Θ(n logn)

I QuickSort: Ω(n logn), O(n2)

I HeapSort: Ω(n), O(n logn)

(heterogene Daten) Ω(n logn), O(n logn) ⇒ Θ(n logn)

I BubbleSort: Ω(n), O(n2) pfui...

Page 25: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Einleitung Formale Grundlagen 25

Ausblick auf morgen...

I Noam ChomskyLinguistik

I Formale Sprachen &Grammatiken→ Chomsky-Hierarchie

I Reguläre Sprachen

Page 26: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen &Chomsky-Hierarchie

Page 27: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen &Chomsky-Hierarchie

Linguistik

Page 28: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Linguistik 28

Noam Chomsky

Avram Noam ChomskyGeboren: 7. Dezember 1928

in Philadelphia, USAProfessor für Linguistik am MIT

I Linguist mit Ausstrahlung in die Kognitionswissenschaftenund Informatik

I linker Politik-Kritiker, Free-Speech-Advokat

I „Erfinder“ der generativen Transformationsgrammatik

„Jede natürliche Sprache ist rekursiv aufgebaut“(oops... Pirahã)

Page 29: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Linguistik 29

Sprache und Grammatik

Grammatik umfasst in der Linguistik

I MorphologieFormenlehre der Worte (gehen, ging, gegangen)

I SyntaxSatzbau (die Syntax, nicht der Syntax)

I PhonologieLautlehre

I Semantik, falls sie sich auf Aufbau-Regeln beziehtBedeutungslehre

Page 30: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Linguistik 30

Satzbau

Grammatik/Syntax (Beispiel):

〈Satz〉 → 〈Subjekt〉 〈Prädikat〉 〈Objekt〉〈Subjekt〉 → 〈Artikel〉 〈Attribut〉 〈Substantiv〉〈Artikel〉 → der | die | das〈Attribut〉 → ε | 〈Adjektiv〉 〈Attribut〉〈Adjektiv〉 → kleine | schwierige | undurchsichtige

〈Substantiv〉 → Zauberer | Professor | Theorem | Glaskugel〈Prädikat〉 → befragt | beweist〈Objekt〉 → 〈Artikel〉 〈Attribut〉 〈Substantiv〉

Mögliche Ableitungen:

„der Zauberer befragt die kleine undurchsichtige Glaskugel“„der undurchsichtige Professor beweist das schwierige Theorem“„die Theorem befragt der kleine schwierige kleine Theorem“

Page 31: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen &Chomsky-Hierarchie

Formale Sprachen

Page 32: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Formale Sprachen 32

Wörter (in der Informatik)

I Statt von „Sätzen“ sprechen wir von Wörtern.I Ein Wort besteht aus Symbolen.

Spezialfall: Leerwort ε besteht aus 0 Symbolen.I Die möglichen Symbole bilden das (endliche!) Alphabet.

Übliche Bezeichner

I Alphabet: ΣI Symbole: a,b, c, . . .I Wörter: u, v,w, x, y, z

Bau von WörternI w := ab ⇒ Wort aus den Symbolen a und b.I u := wcw ⇒ Wort abcabI v := a3 ⇒ Wort aaaI x := an+2bc3bn(de)2 ⇒ Wort a . . . a︸ ︷︷ ︸

n

aabccc b . . .b︸ ︷︷ ︸n

dede

Page 33: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Formale Sprachen 33

Sprachen (in der Informatik)

I Gegeben ein (endliches, nicht-leeres) Alphabet Σ.

I Σ∗ = Menge aller möglichen Wörter (inkl. Leerwort ε)die aus Symbolen aus Σ gebildet werden können.→ „Kleene-Stern“

I Eine Teilmenge L ⊆ Σ∗ ist eine Sprache. (Language)

Beispiele und weitere Notation

I L1 := anbn | n ∈ N+ ⇒ ab, aabb, aaabbb, . . .I L2 := Σ7 = Σ2ΣΣ4 ⇒ Alle Wörter der Länge 7

I L3 := Σ∗ \ ε = Σ+ ⇒ Alle Wörter mit mind. 1 Symbol

I L4 := w ∈ Σ+ | |w| mod 2 = 0 =⋃

n∈N+Σ2n

⇒ Alle Wörter mit gerader Länge

I L5 := w ∈ Σ∗ | w enthält mindestens 3x das Symbol a

Page 34: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Formale Sprachen 34

Operationen auf Sprachen

Sprachen sind Mengen! (Achtung: in unserer Notation könnteΣ auch eine Sprache mit ein-symboligen Wörtern sein!)

⇒ Wir definieren vorige Operationen für Mengen, nicht nurfür Alphabete. Seien L und L′ zwei Sprachen/Mengen.

I Verkettung LL′ := xy | x ∈ L, y ∈ L′Wörter die entstehen, wenn man ein Wort aus L und einesaus L′ aneinander schreibt.

I Potenz Li := x1x2 . . . xi | x1, x2, . . . , xi ∈ Li viele Wörter aus L aneinander geschrieben.

I Kleene-Stern L∗ :=⋃

i≥0 Li

Beliebig viele (auch 0!) Wörter aus L aneinandergeschrieben. Analog: L+ :=

⋃i≥1 L

i.

Beispiel. la, lu∗da,dum2 =

dada, dumdum, . . . , la la lu la lu da dum, . . .

Page 35: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Formale Sprachen 35

Sprachen (in der Informatik)

I Gegeben ein Alphabet Σ.

I Σ∗ = Menge aller möglichen Wörter (inkl. Leerwort ε)die aus Symbolen aus Σ gebildet werden können.→ „Kleene-Stern“

I Eine Teilmenge L ⊆ Σ∗ ist eine Sprache. (Language)

Beispiele und weitere Notation

I L1 := anbn | n ∈ N ⇒ ab, aabb, aaabbb, . . .I L2 := Σ7 = Σ2ΣΣ4 ⇒ Alle Wörter der Länge 7

I L3 := Σ∗ \ ε = Σ+ ⇒ Alle Wörter mit mind. 1 Symbol

I L4 := w ∈ Σ+ | |w| ≡ 0 mod 2 =⋃

n∈N+Σ2n

⇒ Alle Wörter mit gerader Länge

I L5 := w ∈ Σ∗ | w enthält mindestens 3x das Symbol a ...sehr informell. Sprachen formaler beschreiben?

Page 36: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen &Chomsky-Hierarchie

Grammatiken

Page 37: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Grammatiken 37

Grammatik (in der Informatik)

Eine Grammatik G besteht aus:

I Alphabet Σ = Menge von Symbolenüblicherweise a,b, c, . . .

I Variablen Vüblicherweise A,B,C, . . .

I Startvariableeine der Variablen, üblicherweise S.Falls in Beispielen kein S vorkommt, dann Variable derersten Regel, meist A

I Regeln(= Produktionsregeln, Ableitungsregeln)Jede Regel hat die Gestalt (V ∪Σ)∗V(V ∪Σ)∗ → (V ∪Σ)∗

Page 38: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Grammatiken 38

Beispiel & Backus-Naur

Kurzschreibweise:Ausführlich Backus-Naur-Form (BNF)

AAAA

→ AB→ CA→ a→ ε

A → AB | CA | a | ε

BB→ b→ Bb

B → b | Bb

CCC

→ A→ cA→ cc

C → A | cA | cc

AaA → d

AaA → d

Egal wie man es schreibt: Es sind 10 Regeln!

Page 39: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Grammatiken 39

Ableitungen

Grammatik G

A(A1)→ AB A

(A2)→ CA A(A3)→ a A

(A4)→ ε AaA(AaA)→ d

B(B1)→ b B

(B2)→ Bb C(C1)→ A C

(C2)→ cA C(C3)→ cc

Ableitungen

I Satzform x ∈ (V ∪Σ)∗:Kette von Symbolen und Variablen

I Produktion xyz⇒ xy′z:x, y, z sind Satzformen und es gibt eine Regel y→ y′

I Ableitung S⇒∗ y („y ist ableitbar in G“):S ist die Startvariable, y eine Satzform, und es gibt eineFolge von Produktionen, sodass S⇒ x1 ⇒ x2 ⇒ . . .⇒ y.

I Sprache L(G):Menge aller Wörter, die in G ableitbar sind.

Page 40: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Grammatiken 40

Ableitungen, Beispiele

Grammatik G

A(A1)→ AB A

(A2)→ CA A(A3)→ a A

(A4)→ ε AaA(AaA)→ d

B(B1)→ b B

(B2)→ Bb C(C1)→ A C

(C2)→ cA C(C3)→ cc

Ableitungen

I A(A2)⇒ CA

(C3)⇒ ccA(A3)⇒ cca

Also: A⇒∗ cca, cca ∈ L(G)

I Ein Wort kann i.A. unterschiedlich abgeleitet werden:

A(A2)⇒ CA

(A4)⇒ C(C2)⇒ cA

(A2)⇒ cCA(A4)⇒ cC

(C2)⇒ ccA(A3)⇒ cca

I A(A1)⇒ AB

(A4)⇒ B(B2)⇒ Bb

(B2)⇒ Bbb(B2)⇒ . . .

(B2)⇒ Bb . . .b(B1)⇒ bb . . .b

I A(A2)⇒CA

(C1)⇒ AA(A2)⇒ CAA

(C1)⇒ AAA(A1)⇒ AAAB

(A3)⇒ AaAB(AaA)⇒ dB

(B1)⇒ db

Page 41: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen &Chomsky-Hierarchie

Probleme & Chomsky-Hierarchie

Page 42: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 42

Problem auf Sprachen

Grammatik G

A(A1)→ AB A

(A2)→ CA A(A3)→ a A

(A4)→ ε AaA(AaA)→ d

B(B1)→ b B

(B2)→ Bb C(C1)→ A C

(C2)→ cA C(C3)→ cc

Wortproblem: Gegeben ein Wort w. Gilt w ∈ L(G)?

I Falls „ja“: Finde Ableitung als Beweis.

I Falls „nein“: Wie zeigt man, dass gar keineAbleitung zu w existieren kann?

Weitere Probleme

I Leerheitsproblem. Gilt L(G) = ∅? Oder kann in Gmindestens ein Wort abgeleitet werden?

I Endlichkeitsproblem. Ist L(G) endlich? Oder erlaubt Gunendlich viele Wörter?

Die Schwierigkeit dieser Probleme ist abhängig davon, wie„kompliziert“ ( 6= groß) die Grammatik ist!

Page 43: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 43

Chomsky-Hierarchie (für formale Sprachen)

Einschränkungen für die Regeln x→ y der zugehörigenGrammatik:

Typ 0: Rekursiv aufzählbareSprachenkeine Einschränkungen

Typ 1: Kontextsensitive (bzw.monotone) Sprachen|x| ≤ |y|

Typ 2: Kontextfreie SprachenTyp 1, und x ∈ V (linkseine einzelne Variable)

Typ 3: Reguläre Sprachenx ∈ V, y ∈ Σ ∪ΣV (rechtsein Symbol, ggf. gefolgtvon einer Variable)

Typ 0Rekursiv aufzählb.

Typ 1Kontextsensitiv

Typ 2Kontextfrei

(DKF)

Typ 3Regulär S

pra

che

wir

dausd

ruck

sstä

rker

Wort

pro

ble

mw

ird

leic

hte

r

Beso

nders

wic

hti

gfü

rIn

form

ati

k

Page 44: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 44

Chomsky und das Leerwort

Das Leerwort (Wort der Länge 0) wird durch ε bezeichnet.

Problem (naja...)Regeln x→ ε ab Typ 1 nicht zugelassen, da |x| 6≤ 0.⇒ Typ-1,2,3 Sprachen könnten kein Leerwort erzeugen.

Daher:SonderregelDie Regel S→ ε (für Startvariable S) ist zugelassen, falls Snirgends auf der rechten Seite der anderen Regeln vorkommt.

BeobachtungMan kann jede Grammatik G = (Σ,V,S,R) (Startvariable S,Regeln R) so erweitern, dass sie mit obiger Sonderregel dasLeerwort erlaubt:

G′ = (Σ,V ∪ S′,S′,R∪ S′ → ε,S′ → S)

Page 45: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 45

Chomsky II – Das Leerwort kehrt zurück

Oft wäre Regel B→ ε für Nicht-Startvariable B praktisch.→ In Typ-1,2,3 Sprachen eigentlich nicht gestattet. Aber:

Beobachtung. Sei G eine kontextfreie (oder reguläre)Grammatik, bis auf, dass auch Regeln des Typs B→ ε

vorkommen. Dann existiert eine kontextfreie (reguläre)Grammatik G′, also ohne jegliche B→ ε, sodass L(G) = L(G′).

Beweis. Annahme: Sprache erzeugt nicht das Leerwort(sonst: benutze Sonderregel der vorigen Folie).

I Bestimme alle Variablen Vε ⊆ V die ε erzeugen können,d.h. (iterativ) alle B mit Regeln B→ Vε∗ (also auch B→ ε).

I Entferne alle Regeln des Typs B→ ε.

I Für jedes Vorkommen eines B ∈ Vε in einer (ggf. auchneuen!) Regel C→ x B y (mit C ∈ V, x, y ∈ (V ∪Σ)∗ und|xy| ≥ 1), füge eine neue Regel C→ x y hinzu.

Page 46: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 46

Optimierungs- und Entscheidungsprobleme

Kombinatorische Optimierungsprobleme

I Kürzester Weg, Maximaler Fluss, Traveling Salesman,...

Entscheidungsprobleme

I Jedes kombinatorische Optimierungsproblem lässt sichals Entscheidungsproblem simulieren!Gibt es einen Weg der Länge maximal k?Gibt es einen Fluss der Größe mindestens k′?Gibt es eine Rundtour der Länge maximal k′′? ...

I Gibt es in dem Graphen überhaupt eine Rundtour diejeden Knoten genau 1x besucht?Ist ein gegebener Text ein gültiger Java-Code?

I Satisfiability-Probleme (SAT): Gegeben eine logischeFormel mit Variablen. Kann man eine Variablenbelegungfinden, so dass die Formel erfüllt wird?

Page 47: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 47

Sprachen vs. Probleme

Kombinatorische Optimierungsprobleme

⇓ Jedes kombinatorische Optimierungsproblem lässt sichals Entscheidungsproblem simulieren.

Entscheidungsprobleme

⇓ Jedes Entscheidungsproblem lässt sich als Wortproblemüber eine geeignete Sprache definieren!

Wortproblem auf Sprachen

I Sprachen sind formal gut handhabbar→ das „Hauptproblem“ der theoretischen Informatik,wenn es um Berechenbarkeit und Komplexität geht→ alle Aussagen lassen sich zu „normalen“ Optimierungs-und Entscheidungsproblemen transferieren.

Page 48: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 48

Probleme vs. Maschinen

Sprache d.Wortproblems

Lösbar(?) mittelsKomplexität(Laufzeit/Speicher)

Rekursivaufzählbar

Turingmaschine(≈Computer)

nicht entscheidbar

Kontextsensitivlinear beschränkterAutomat

exponentiell/linear

Kontextfrei Kellerautomat kubisch/quadratisch

DeterministischKontextfrei

deterministischerKellerautomat

linear/linear

Regulär Endlicher Automat linear/konstant

Page 49: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Formale Sprachen & Chomsky-Hierarchie Probleme & Chomsky-Hierarchie 49

Apropos Kurzschreibweise

Beobachtung. Programmiersprachen sind fast kontextfrei.(Details dazu später)

→ Es ist attraktiv, deren zulässige Syntax als Grammatik(Typ-2) zu schreiben.

Unsere bisherige Notation ist dafür viel zu langwierig...→ Kurzschreibweise, entwickelt ursprünglich für PASCAL:

Erweiterte Backus-Naur-Form (EBNF)

I x→ y | y′ | y′′: wie in BNF drei Regelnx→ y und x→ y′ und x→ y′′.

I x→ y [z] y′: z ist optional, d.h. zwei Regelnx→ y y′ und x→ y z y′.

I x→ y z y′: z kommt beliebig oft (auch 0-mal) vorx→ y [Z] y′ und Z→ z [Z].

Page 50: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche Automaten

Page 51: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten 51

Reguläre Sprachen

A→ [a] [b] [c] [d] a c d c

1 Welche Wörter generiert diese Grammatik?Alle Wörter über dem Alphabet Σ = a,b, c,d die mitdem Teilwort „acdc“ enden.

2 Ist die generierte Sprache regulär? Ja!

A→ aA | bA | cA | dA | aBB→ cC

C→ dD

D→ c

Irgendwie war die obere Schreibweise klarer...

Page 52: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche Automaten

Reguläre Ausdrücke

Page 53: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Reguläre Ausdrücke 53

Regulärer Ausdruck, engl. Regular Expression, kurz RegEx

Jede reguläre Sprache lässt sich durch einen regulärenAusdruck darstellen.

Achtung, das ist nun etwas, das sogar in der Praxis direkt hilft!

I Textsuchen (in vernünftigen Texteditoren, mit grep,...),Filtern von Texten, Suchen von Dateien (ls ab*,...),...

I Compiler-Bau: Lexikalische Analyse, Scanner-Generatoren

I Software-Protokolle, Steuerungs- und Kontrollsysteme,...

Entwickelt vonStephen Cole Kleene (1909–1994)(Aussprache in etwa: Kleïni)I Einer der Begründer der theor. Informatik,

I Begründer der Rekursionstheorie und (mitA. Church) des Lambda-Kalküls (funktionaleProgrammierung); Grundlagen der Berechenbarkeitstheorie

Page 54: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Reguläre Ausdrücke 54

Regulärer Ausdruck, Rekursive Definition

Definition. Sei E ein regulärer Ausdruck. Wir bezeichnen dieSprache, die von E beschrieben wird, als L(E).

Rekursive Definition, Basisfälle

I Die leere Menge ∅ ist ein regulärer Ausdruck.Achtung: ∅ 6= ε! ∅ ist die Sprache ohne Wörter; ε ist einWort, nur eben mit Länge 0.

⇒ L(∅) := ∅

I Symbole aus Σ sind reguläre Ausdrücke.⇒ L(a) := a

Page 55: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Reguläre Ausdrücke 55

Regulärer Ausdruck, Rekursive Definition

Rekursive Definition, RekursionenSeien E1,E2 zwei reguläre Ausdrücke, dann sind auch diefolgenden Ausdrücke regulär:

I Alternative (E1|E2):Entweder ein Wort aus E1 oder eines aus E2.

⇒ L(E1|E2) := L(E1) ∪ L(E2)

I Verkettung (E1 E2):Alle Wörter die durch Aneinanderhängen eines Worts ausE1 und eines aus E2 entstehen.

⇒ L(E1 E2) := uw | u ∈ L(E1),w ∈ L(E2)

I Kleene-Stern (Kleenesche Hülle) (E1∗):

beliebig-viele beliebige Wörter aus E1 aneinandergekettet, ggf. auch 0. ⇒ L(E1

∗) := L(E1)∗

Page 56: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Reguläre Ausdrücke 56

Regulärer Ausdruck, Aufhübschen

Regulärer Ausdruck für die vorige Beispielsprache:

((((((a|(b|(c|d)))∗)a)c)d)c)

Klammern dienen nur zur eindeutigen Strukturierung:

I Für Alternative und Verkettung gilt das Assoziativgesetz:

(a|b)|c = a|(b|c) = a|b|c(ab) c = a (b c) = ab c

I Operator-Rangfolge analog zu algebraischen Ausdrücken:E1∗ („Potenzieren“) bindet stärker als

E1 E2 („Multiplikation“) bindet stärker alsE1|E2 („Addition“)

⇒ (a|b|c|d)∗acdc

Page 57: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Reguläre Ausdrücke 57

Regulärer Ausdruck, Praktische Ergänzungen

I Positive Hülle (E1)+ ist eine Kurzform für (E1 (E1)∗), d.h.E1 kommt beliebig oft, aber mindestens einmal, vor.

I Kann ein regulärer Ausdruck das Leerwort (Wort derLänge 0) beschreiben? Ja: ∅∗

Begründung: ∅ ist die Sprache ohne Wörter, wirschreiben jetzt beliebig oft, auch 0-mal, etwas ausdieser leeren Menge auf. Da die Menge leer ist,können wir nichts aufschreiben, also nicht „beliebigoft“, sondern nur 0-mal. Irgendetwas (auch nichts)0-mal hinzuschreiben ergibt das Leerwort!

Daher schreibt man meist direkt ε statt ∅∗.

Page 58: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Reguläre Ausdrücke 58

Regulärer Sprachen vs. Reguläre Ausdrücke

Theorem.Jeder reguläre Ausdruck beschreibt eine reguläre Sprache.Jede reguläre Sprache lässt sich als regulärer Ausdruckschreiben.

Formal: Sei E ein regulärer Ausdruck, dann ist L(E) regulär.Sei L′ eine reguläre Sprache, dann existiert ein regulärerAusdruck E′ mit L′ = L(E′).

Beweis. Werden wir später noch sehen!

Page 59: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche Automaten

Endliche Automaten

Page 60: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 60

Wortproblem: Sprache → Automat

Reguläre Grammatik G:

A→ aA | bA | cA | dA | aBB→ cC

C→ dD

D→ c

Regulärer Ausdruck E:

(a|b|c|d)∗acdc

Gegeben G oder E und ein Wort w (z.B. w := aacddcaacdc).Wie kann man algorithmisch feststellen, ob w ∈ L(G) bzw.w ∈ L(E)?

Knifflig... alle Möglichkeiten der Expansion durchprobieren?

→ Gibt es eine andere, zur Lösung des Wortproblemsgeschicktere, Darstellung der Sprache L(G) = L(E)?→ Endliche Automaten

Page 61: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 61

Endlicher Automat (nur kurz)

Z1start Z2 Z3 Z4 Z5a

b, c,d

c

a

b,dd

a

b, c

c

a

b,d

a

b, c,d

Page 62: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 62

Aufbau eines endlichen Automaten

Ein (deterministischer) endlicher Automat (EA) (engl.Finite State Machine, Finite Automaton) besteht aus:

I Endliche Menge von ZuständenZ = Z1,Z2, ...,Zk

Zi

I Ein Startzustand Zstart ∈ Z Zistart

I Mehrere Endzustände Zend ⊆ Z Zi

I Übergangsfunktion δ : Z ×Σ → Zvon einem Zustand in einen anderen,

Zi Zja

abhängig von einem Symbol

Page 63: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 63

Ablauf eines endlichen AutomatenEndlicher Automat A:

I Zuständen Z = Z1,Z2, ...,ZkI Startzustand Zstart ∈ ZI Endzustände Zend ⊆ ZI Übergangsfunktion δ : Z ×Σ → Z

Ablauf

I Zu jedem Zeitpunkt befindet man sich in einem Zustand.Am Anfang im Startzustand.

I Man liest das gegebene Wort w zeichenweise von linksnach rechts.

I Sei a ∈ Σ der gerade gelesene Buchstabe. Man bewegtsich vom aktuellen Zustand Z′ zu dem Zustand δ(Z′, a).

I Genau dann, wenn man sich am Ende des Wortes ineinem Endzustand befindet: A akzeptiert w, d.h.w ∈ L(A).

Page 64: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 64

Endlicher Automat (jetzt wirklich)

Z1start Z2 Z3 Z4 Z5Z1start Z2 Z3 Z4 Z5a

b, c,d

c

a

b,dd

a

b, c

c

a

b,d

a

b, c,d

a

b, c,d

c

a

d c

b,d

w = aacddcaacdc

Page 65: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 65

Die Falle

Man muss nur alleakzeptierenden Pfademodellieren.

An Zuständen dürfen auchÜbergänge für Symbole fehlen.

(abc)∗ →ε, abc, abcabc, abcabcabc, ...

Z1start Z2 Z3

ZFalle

a b

c

sonst sonstsonst

immer

→ Diese Symbole führen dann implizit immer zu einem(eindeutigen) Zustand ZFalle von dem man nicht mehrwegkommt, der aber kein Endzustand ist.

Page 66: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 66

Deterministischer endlicher AutomatDudendeterministisch: Adjektiv - 1. den Determinis-mus betreffend; 2. [Willens]freiheit verneinendDeterminismus: Substantiv, maskulin – Lehre,Auffassung von der kausalen [Vor]bestimmtheitallen Geschehens bzw. Handelns

Bisher: deterministische endliche Automaten (DEA):I An jedem Zustand gibt es pro Symbol (ggf. dank der Falle)

genau einen möglichen Übergang.

→ Das Ergebnis (und der Weg dorthin) ist, für ein gegebenesWort w, eindeutig bestimmt.

Zi

a

b,d

c

Page 67: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 67

Indeterministischer endlicher AutomatDudenindeterminiert: Adjektiv - unbestimmt, nichtfestgelegt (abgegrenzt), frei

Nicht-deterministischer endliche Automaten (NDEA):

I An jedem Zustand kann es pro Symbol mehreremögliche Übergänge geben.(Ein Symbol das gar nicht vorkommt, geht zur Falle)

I Sogar das Leerwort ε ist eine zulässiges Übergangslabel.

→ Das Ergebnis (und der Weg dort hin) ist, für ein gegebenesWort w, nicht eindeutig bestimmt.

Zi

a

b,d

a, c

Zi

a, c

b,d, ε

ε

Page 68: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 68

Deterministisch vs. Indeterministisch

Wir wissen schon:

Definition. Sei Ad ein deterministischer endlicherAutomat. Die Sprache L(Ad) ist die Menge der Wörter, für diesich Ad nach Lesen des Worts in einem Endzustand befindet.

Nun:

Definition. Sei An ein nicht-deterministischer endlicherAutomat. Die Sprache L(An) ist die Menge der Wörter, für diesich An nach Lesen des Worts in einem Endzustand befindenkann.

D.h.: Es gibt eine Möglichkeit mittels der Übergangsregeln fürdas gegebene Wort in einen Endzustand zu gelangen. Aber:Nicht jede zulässige Abarbeitung muss in einem Endzustandenden!

Was soll das helfen??

Page 69: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Endliche Automaten 69

Vorteil des Nicht-Determinismus

Die Automaten sind oft leichter hinzuschreiben bzw. zu lesen.

(a|b|c|d)∗acdc

Deterministisch:

Z1start Z2 Z3 Z4 Z5a

b, c,d

c

a

b,dd

a

b, c

c

a

b,d

a

b, c,dNicht-deterministisch:

Z1start Z2 Z3 Z4 Z5a

a,b, c,d

c d c

Page 70: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche AutomatenBeschreibungsäquivalenz

Page 71: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 71

Alles das gleiche!

Theorem. Reguläre Grammatiken, reguläre Ausdrücke,DEAen und NDEAen erlauben alle genau die selben Sprachenzu beschreiben (nämlich die regulären Sprachen).

Beweis.Ringschluss in 5 Lemmata:

Seien X und Y jew. eine dervier Beschreibungsarten.

Lemma X→ Y: Nimm einebeliebige Instanz der Art X.Wir erstellen eine Instanzder Art Y, die die selbeSprache beschreibt.

⇒ Y kann mind. so vieleSprachen beschreiben wie X.

Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Page 72: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 71

Alles das gleiche!

Theorem. Reguläre Grammatiken, reguläre Ausdrücke,DEAen und NDEAen erlauben alle genau die selben Sprachenzu beschreiben (nämlich die regulären Sprachen).

Beweis.Ringschluss in 5 Lemmata:

Seien X und Y jew. eine dervier Beschreibungsarten.

Lemma X→ Y: Nimm einebeliebige Instanz der Art X.Wir erstellen eine Instanzder Art Y, die die selbeSprache beschreibt.

⇒ Y kann mind. so vieleSprachen beschreiben wie X.

Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Achtung:In den folgenden Beweisen werden wir nurSprachen L betrachten mit L 6= ∅ und ε 6∈ L.

Diese Sonderfälle können offensichtlich vonallen Beschreibungsmodellen erzielt werden.

Page 73: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 72

Lemma 1: DEA → reguläre Grammatik

Beweis.Reguläre Grammatik: Alle Regeln haben die Gestalt A→ aBoder A→ a, für irgendwelche A,B ∈ V, a ∈ Σ.

Beobachtung: Jede in einer Ableitung vorkommendeSatzform hat die Form wA, wobei w ∈ Σ∗ ein Wort ist, und nuram Ende genau eine Variable A ∈ V vorkommt.

Erstellen einer reg. Grammatik auf Basis eines DEA:

I Eine Variable Ai für jeden Zustand Zi ∈ Z.Die Variable des Startzustands ist die Startvariable.

I Für jeden Übergang δ(Zi, a) = Zj (mit Zi,Zj ∈ Z, a ∈ Σ):Erstelle Regel Ai → aAj.

Falls Zj dabei ein Endzustand ist:Erstelle auch noch die Regel Ai → a.

Page 74: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 73

Alles das gleiche!

Theorem. Reguläre Grammatiken, reguläre Ausdrücke,DEAen und NDEAen erlauben alle genau die selben Sprachenzu beschreiben (nämlich die regulären Sprachen).

Beweis.Ringschluss in 5 Lemmata:

Seien X und Y jew. eine dervier Beschreibungsarten.

Lemma X→ Y: Nimm einebeliebige Instanz der Art X.Wir erstellen eine Instanzder Art Y, die die selbeSprache beschreibt.

⇒ Y kann mind. so vieleSprachen beschreiben wie X.

Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1

Lemma 2

Lemma 3

Lemma 4Lemma 5

Lemma 1

Lemma 2

Lemma 3

Lemma 4Lemma 5

Page 75: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 74

Lemma 2: Reguläre Grammatik → NDEA

Beweis.Im Wesentlichen die Rückwärtsrichtung des vorigen Beweises(„DEA→ reguläre Grammatik“). Aber: der erstellte EA ist nichtdeterministisch!

Erstellen eines NDEA auf Basis einer reg. Grammatik:

I Ein Zustand ZA für jede Variable A ∈ V.Der Zustand der Startvariable ist der Startzustand.Ein weiterer Zustand Zend als Endzustand.

I Für jede Regel der Gestalt A→ aB (A,B ∈ V, a ∈ Σ):Übergangskante von ZA nach ZB mit Beschriftung a.

I Für jede Regel der Gestalt A→ a (A ∈ V, a ∈ Σ):Übergangskante von ZA nach Zend mit Beschriftung a.

Page 76: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 75

Alles das gleiche!

Theorem. Reguläre Grammatiken, reguläre Ausdrücke,DEAen und NDEAen erlauben alle genau die selben Sprachenzu beschreiben (nämlich die regulären Sprachen).

Beweis.Ringschluss in 5 Lemmata:

Seien X und Y jew. eine dervier Beschreibungsarten.

Lemma X→ Y: Nimm einebeliebige Instanz der Art X.Wir erstellen eine Instanzder Art Y, die die selbeSprache beschreibt.

⇒ Y kann mind. so vieleSprachen beschreiben wie X.

Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Page 77: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 76

Lemma 3: NDEA → DEA

Beweis.Vorgedanken:

I NDEA: Zustände Z, Startzustand Zstart, Endzustände Zend

I Nach jedem Lesen eines Symbols kann der NDEA ineinem von mehreren verschiedenen Zuständen sein.→ „aktive“ Zustandsmenge ⊆ Z.

I Potenzmenge P(Z) = alle möglichen Teilmengen von Z= alle möglichen aktiven Zustandsmengen.

I Z endlich⇒ P(Z) endlich

Page 78: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 77

Lemma 3: NDEA → DEA

Beweis.

I NDEA: Zustände Z, Startzustand Zstart, Endzustände Zend

Erstelle einen DEA auf Basis des NDEA:

I Ein Zustand YS für jede Teilmenge ∅ 6= S ∈ P(Z).

I Sei Sstart ∈ P(Z) die Menge aller Zustände, die man vonZstart mittels beliebig vieler (auch 0) ε-Übergängeerreichen kann.⇒ YSstart ist Startzustand des DEAen.

I a-Übergang (für a ∈ Σ) von YS nach YS′ genau dannwenn: S′ enthält genau alle Zustände, die ausgehendvon irgendeinem Zustand aus S mittels einema-Übergang, gefolgt von beliebig vielen (auch 0)ε-Übergängen, erreicht werden können.

I Ein Zustand YS ist ein Endzustand genau dann wennS ∩ Zend 6= ∅.

Page 79: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 78

Alles das gleiche!

Theorem. Reguläre Grammatiken, reguläre Ausdrücke,DEAen und NDEAen erlauben alle genau die selben Sprachenzu beschreiben (nämlich die regulären Sprachen).

Beweis.Ringschluss in 5 Lemmata:

Seien X und Y jew. eine dervier Beschreibungsarten.

Lemma X→ Y: Nimm einebeliebige Instanz der Art X.Wir erstellen eine Instanzder Art Y, die die selbeSprache beschreibt.

⇒ Y kann mind. so vieleSprachen beschreiben wie X.

Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Page 80: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 79

Lemma 4: Regulärer Ausdruck → NDEA

Beweis. Erstelle NDEA auf Basis einer RegEx.Induktion über den rekursiven Aufbau.

Induktionsanfang:

I Die leere Menge ∅ ist ein regulärer Ausdruck.NDEA mit einem Start- und einem Endzustand, aber ohneÜbergang dazwischen.

Z1start Z2

I Symbole a ∈ Σ sind reguläre Ausdrücke.NDEA mit einem Start- und einem Endzustand, und einema-Übergang dazwischen.

Z1start Z2a

Page 81: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 80

Lemma 4: Regulärer Ausdruck → NDEA

Beweis. Erstelle NDEA auf Basis einer RegEx.Induktion über den rekursiven Aufbau.

Induktionshypothese: Sei Ei (i = 1,2) ein regulärerAusdruck. Es existiert ein L(Ei)-akzeptierender NDEA Ai mitStartzustand Z′i und Endzuständen Z ′i .

Induktionsschritt (1/3):I Alternative (E1|E2): NDEA A1 ∪ A2 inklusive neuem

Startzustand, der ε-Übergänge zu Z′1 und Z′2 hat.

Z′1 A1 Z′2 A2

start

ε

ε

Page 82: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 81

Lemma 4: Regulärer Ausdruck → NDEA

Beweis. Erstelle NDEA auf Basis einer RegEx.Induktion über den rekursiven Aufbau.

Induktionshypothese: Sei Ei (i = 1,2) ein regulärerAusdruck. Es existiert ein L(Ei)-akzeptierender NDEA Ai mitStartzustand Z′i und Endzuständen Z ′i .

Induktionsschritt (2/3):

I Verkettung (E1 E2): NDEA A1 ∪ A2 mit Startzustand Z′1,Endzuständen Z ′2, und ε-Übergängen von jedem Zustandaus Z ′1 zu Z′2.

Z′1start A1 Z′2 A2

ε

ε

Page 83: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 82

Lemma 4: Regulärer Ausdruck → NDEA

Beweis. Erstelle NDEA auf Basis einer RegEx.Induktion über den rekursiven Aufbau.

Induktionshypothese: Sei Ei (i = 1,2) ein regulärerAusdruck. Es existiert ein L(Ei)-akzeptierender NDEA Ai mitStartzustand Z′i und Endzuständen Z ′i .

Induktionsschritt (3/3):

I Kleene-Stern (E1)∗:NDEA, basierend auf A1, mit neuemStartzustand (der gleichzeitig dereinzige Endzustand ist), einemε-Übergang von diesem zu Z′1, undε-Übergängen von jedem Zustandaus Z ′1 zum neuen Startzustand.

Z′1 A1

start

ε ε ε

Page 84: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 83

Alles das gleiche!

Theorem. Reguläre Grammatiken, reguläre Ausdrücke,DEAen und NDEAen erlauben alle genau die selben Sprachenzu beschreiben (nämlich die regulären Sprachen).

Beweis.Ringschluss in 5 Lemmata:

Seien X und Y jew. eine dervier Beschreibungsarten.

Lemma X→ Y: Nimm einebeliebige Instanz der Art X.Wir erstellen eine Instanzder Art Y, die die selbeSprache beschreibt.

⇒ Y kann mind. so vieleSprachen beschreiben wie X.

Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1 Lemma 2

Lemma 3

Lemma 4

Lemma 5

Lemma 1 Lemma 2

Lemma 3

Lemma 4

Lemma 5

Page 85: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 84

Lemma 5: DEA → Regulärer Ausdruck

Beispiele für einfache Automaten:

Z1start Z2 Z3a

b

cRegEx: ab∗ c

Z1start Z2

ab

d

c

RegEx: a∗ b c∗(d a∗ b c∗)∗

Page 86: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 85

Lemma 5: DEA → Regulärer Ausdruck

Beweis. Verwandle den DEA schrittweise in einen Automaten,von dem man die RegEx direkt ablesen kann.

1 Neuer Zustand Ze; ε-Übergänge von jedem Z ∈ Zend nachZe; neues Zend := Ze.⇒ ein Anfangszustand (Zs) undein Endzustand; lese Übergangsbeschriftung als RegEx.

2 Solange ∃ Z ∈ Z \ Zs,Ze:Seien Zin/Zout die Zustände (6= Z) mit Überg. nach/von Z.Für jedes Paar (Zi,Zo) ∈ Zin ×Zout:

Z

Zi Zo

Zi Zo

Ei

EZ

Eo

Eio

Eio|Ei(EZ)∗Eo

I Seien Ei,EZ,Eo,Eio die RegEx an denÜbergängen Zi → Z, Z→ Z, Z→ Zo,Zi → Zo (so sie ∃).

I Setze Eio := Eio|Ei(EZ)∗Eo.

Entferne Z.

3 Ze bekommt nie eine ausgehende Kante!Zsstart Ze

E1

E2

→ Es bleibt EA mit RegEx (E1)∗ E2

Page 87: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 86

Alles das gleiche!

Theorem. Reguläre Grammatiken, reguläre Ausdrücke,DEAen und NDEAen erlauben alle genau die selben Sprachenzu beschreiben (nämlich die regulären Sprachen).

Beweis.Ringschluss in 5 Lemmata:

Seien X und Y jew. eine dervier Beschreibungsarten.

Lemma X→ Y: Nimm einebeliebige Instanz der Art X.Wir erstellen eine Instanzder Art Y, die die selbeSprache beschreibt.

⇒ Y kann mind. so vieleSprachen beschreiben wie X.

Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

Page 88: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beschreibungsäquivalenz 87

Apropos...Reguläre Grammatik

NDEADEA

Regulärer Ausdruck

Lemma 1 Lemma 2

Lemma 3

Lemma 4Lemma 5

A

B

A Ist trivial, da DEA ⊂ NDEA.

B Kann man für NDEAen die keine ε-Übergängeenthalten analog zu Lemma 1 machen.

Page 89: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche Automaten

Beispiele zum Äquivalenzbeweis(Wiederholung des Tafelbilds)

Page 90: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beispiele zum Äquivalenzbeweis (Wiederholung des Tafelbilds) 89

Beispielsprache

I Reg. Ausdruck: c (ab | aba)∗

I Reg. Grammatik: S→ c | cAA→ aB

B→ b | bA | bCC→ a | aA

I NDEA (mit und ohne ε)

Z1

start

Z2 Z3 Z4c a b

a, ε

Z1

start

Z2 Z3 Z4c a b

b

a

I DEA

Z1start Z2 Z3 Z4 Z5c a b a

a

b

Page 91: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beispiele zum Äquivalenzbeweis (Wiederholung des Tafelbilds) 90

Lemma 1: DEA → Reguläre Grammatik

Z1start Z2 Z3 Z4 Z5c a b a

a

b

Durch den Beweis generiert:

A1 → cA2 | cA2 → aA3

A3 → bA4 | bA4 → aA5 | aA5 → bA4 | b | aA3

Handgestrickt:

S→ c | cAA→ aB

B→ b | bA | bCC→ a | aA

Page 92: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beispiele zum Äquivalenzbeweis (Wiederholung des Tafelbilds) 91

Lemma 2: Reguläre Grammatik → NDEAS→ c | cA A→ aB

B→ b | bA | bC C→ a | aA

Durch den Beweis generiert:

ZSstart ZA ZB ZC Zendc a b a

c

b

b

a

Handgestrickt:

Z1

start

Z2 Z3 Z4c a b

a, ε

Z1

start

Z2 Z3 Z4c a b

b

a

Page 93: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beispiele zum Äquivalenzbeweis (Wiederholung des Tafelbilds) 92

Lemma 3: NDEA → DEA

Z1

start

Z2 Z3 Z4c a b

a, ε

Z1

start

Z2 Z3 Z4c a b

b

a

Durch den Beweis generiert:

Z1start Z2 Z3 Z2,Z4 Z2,Z3c a b a

a

b

Handgestrickt:

Z1start Z2 Z3 Z4 Z5c a b a

a

b

Page 94: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beispiele zum Äquivalenzbeweis (Wiederholung des Tafelbilds) 93

Lemma 4: RegEx → NDEA

c (ab|aba)∗

c (ab|aba)∗

ab|aba

ab

a b

aba

a ba

b a

a: (b, c analog) ab: (aba analog)

start a

start a ε b

ab|aba:

start a ε b

a ε b ε a

εε

(ab|aba)∗:

start

a ε ba ε b ε a

εε

εε

ε

c(ab|aba)∗:

starta ε ba ε b ε a

εε

εε

εc

ε

Page 95: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Beispiele zum Äquivalenzbeweis (Wiederholung des Tafelbilds) 94

Lemma 5: DEA → RegEx

Z1

start

Z2 Z3 Z4 Z5c a b a

a

b

Z1

start

Z2 Z3 Z4 Z5

Zend

c a b a

a

bε ε

ε

Z1

start

Z3 Z4 Z5

Zend

ca b a

a

bc ε

ε

Z1

start

Z3 Z5

Zend

ca

a

c

ε|b

baba

b

Z1

start

Z3

Zend

ca

c

ba(ba)∗a

b |ba(ba)∗(ε|b)

Z1

start

Zend

c | ca (ba(ba)∗a)∗ (b |ba(ba)∗(ε|b))

RegEx, durch den Beweis:c | ca (ba(ba)∗a)∗ (b |ba(ba)∗(ε|b))

RegEx, handgestrickt:c (ab|aba)∗

Page 96: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche Automaten

Pumping Lemma

Page 97: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Pumping Lemma 96

Nicht-Regularität

Gegeben: Eine Sprache L.

Frage: Ist L regulär?

Falls ja:Beweis durch reg. Grammatik, reg. Ausdruck, DEA oder NDEA,die/der L beschreibt.

Falls nein:Wie beweist man, dass eine Sprache nicht regulär ist?

I Pumping Lemma→ jetzt

I Myhill-Nerode Theorem: Äquivalenzrelation undMinimalautomat (werden wir nicht besprechen)

Page 98: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Pumping Lemma 97

Pumping Lemma

Pumping Lemma (für reguläre Sprachen).Sei L eine reguläre Sprache. Es gibt eine Zahl n := n(L) (d.h. inAbhängigkeit von L), so dass alle Wörter z ∈ L mit |z| ≥ n sichzerlegen lassen als z = u vw mit den Eigenschaften:

1 |v| ≥ 1, 2 |u v| ≤ n, 3 u v∗w ∈ L.

Beweis. L→ ∃ DEA A mit Zuständen Z. Wähle n := |Z|.Bei A-Abarbeitung eines Wortes z werden |z|+ 1 Zuständeabgelaufen (inkl. Startzustand). Da |z| ≥ n: mindestens einZustand wird öfters (mind. 2x) besucht.

Wähle Zerlegung z = uvw so, dass man nach Lesen desletzten Symbols von u und von uv im gleichen Zustand (Zi) ist.Dabei ist es trivial, 1 und 2 zu erfüllen.

Nun könnte man von Zi aus auch mehrmals (inkl. 0-mal) vablaufen, bevor man w abläuft→ uv∗w ∈ L→ 3 .

Page 99: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Pumping Lemma 98

Anwendung des Pumping Lemmas

∀ reg. Spr. L: ∃n: ∀z ∈ L mit |z| ≥ n: ∃u vw = z mit:

1 |v| ≥ 1, 2 |u v| ≤ n, 3 u v∗w ∈ L.

Aufgabe: Sei L = aibi | i ≥ 0 die Sprache der Wörter, derenvordere Hälfte lauter a und deren hintere Hälfte lauter b sind.Zeige, dass L nicht regulär ist.

Lösung: Beweis durch Widerspruch.Nimm an, L wäre regulär, dann würde für L das PumpingLemma gelten. Sei n die entsprechende Wortmindestgröße.

Betrachte z = anbn ∈ L. Wähle ein Wort als Gegenbeispiel!

I ∃ Zerlegung z = uvw mit 1 – 3 .Argumentation über alle möglichen Zerlegungen!

2 : uv besteht nur aus a-Symbolen.1 : |v| = ` ≥ 1.

I Da 3 : uw = an−`bn ∈ L→ Widerspruch.

Page 100: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Pumping Lemma 99

Anwendung des Pumping Lemmas

∀ reg. Spr. L: ∃n: ∀z ∈ L mit |z| ≥ n: ∃u vw = z mit:

1 |v| ≥ 1, 2 |u v| ≤ n, 3 u v∗w ∈ L.

Aufgabe: Sei L = a2i | i ≥ 0, d.h. Wörter die aus „2er-Potenz“vielen „a“s bestehen. Zeige, dass L nicht regulär ist.

Lösung: Beweis durch Widerspruch.Nimm an, L wäre regulär, dann würde für L das PumpingLemma gelten. Sei n die entsprechende Wortmindestgröße.

Wähle ein k, so dass 2k > n. Betrachte das Wort z = a2k ∈ L.Wähle ein Wort z als Gegenbeispiel!

I ∃ Zerlegung z = uvw mit 1 – 3 .Bedenke alle mögl. Zerl.!2 : |uv| ≤ n→ |w| ≥ 1.

I Da 3 : y = uv2w ∈ L: |uv2w| = |uvw|+ |v| < 2|uvw|→ y ist (wg. 1 ) länger als z, aber kürzer als nächste2er-Potenz.→ Widerspruch.

Page 101: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Pumping Lemma 100

Grenzen des Pumping Lemmas

Beobachtung.Es gibt nicht-reguläre Sprachen, für die das Pumping Lemmanicht stark genug ist, um die Nicht-Regularität zu beweisen.

Beispiel. Sei L = cjaibi | i, j ≥ 0 ∪ ajbi | i, j ≥ 0.→ L kann nicht regulär sein, da (in erster Teilmenge) nur einpaar c vor einer nicht-regulären Sprache stehen (siehe vorhin)

Pumping Lemma.Betrachte bel. Wort z = cjaibi oder z = ajbi mit |z| ≥ n aus L.Zerlegung: u = ε, v = z[1], w = [2 . . .] (v ist das erstes Symbolvon z, w ist der Rest).→ Jedes u v∗w liegt in L!→ Kein Widerspruch→ Beweis funktioniert nicht.

⇒ Es gibt jedoch andere Methoden (statt des PumpingLemmas), um den Beweis der Nicht-Regularität zu führen(siehe einschlägige Literatur und nächsten Abschnitt).

Page 102: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche Automaten

Komplexität undAbschlusseigenschaften

Page 103: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Komplexität und Abschlusseigenschaften 102

KomplexitätenSei L eine reguläre Sprache. Annahme: L ist als DEA Agegeben (Zustände Z, Startzustand Zstart, Endzustände Zend).

Wortproblem. Sei w ein Wort. Ist w ∈ L?Laufe den DEA mit w als Eingabe ab.Nach O(|w|) Schritten kennt man die Antwort. MitLookup-Table benötigt jeder Schritt nur O(1) Zeit.

Leerheitsproblem. Ist L = ∅?L 6= ∅ ⇐⇒ ∃ Z′ ∈ Zend mit einem Pfad Zstart Z′.→ Mittels Tiefensuche in linearer Zeit O(|A|).Endlichkeitsproblem. Ist L eine endliche Menge?L unendlich ⇐⇒ ∃ Z0 ∈ Z,Z′ ∈ Zend mit Pfaden Zstart Z0,

Z0 Z′ und einem Kreis, der Z0 enthält.→ Mittels Tiefensuche in linearer Zeit O(|A|).

|A| = Größe von A = Zustände + Übergänge + Beschriftungen⇒ NDEA: |A| = O(|Z|2 · |Σ|), DEA: |A| = O(|Z| · |Σ|)

Page 104: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Komplexität und Abschlusseigenschaften 103

Abgeschlossenheit

Theorem.Reguläre Sprachen sind abgeschlossen bezüglich Verkettung,Vereinigung, Schnitt, Komplementbildung und Substitution.

D.h. gegeben reguläre Sprachen L1, L2. Die folgendenSprachen sind auch regulär: L1 L2, L1 ∪ L2, L1 ∩ L2,L1 := Σ∗ \ L1, Substitution?

Beweis. Seien A1,A2 die zugehörigen deterministische EAen.

Schnitt & Substitution.→ nächsten Folien.

Verkettung L1 L2.

Z′1start A1 Z′2 A2

ε

ε

Vereinigung L1 ∪ L2.

Z′1 A1 Z′2 A2

start

ε

ε

Komplementbildung. Alle Nicht-Endzustände von A1 (inkl.Falle) werden Endzustände, und umgekehrt.

Page 105: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Komplexität und Abschlusseigenschaften 104

Abgeschlossenheit von Schnitt

Beweis.w ∈ L1 ∩ L2 ⇐⇒ A1 und A2 akzeptieren w.→ Wir bauen einen (deterministischen) endlichen Automaten,der das gleichzeitige Ablaufen beider Automaten simuliert.

Seien Z,Y die Zustandsmengen der Automaten.Neuer Automat:

I Zustandsmenge Z × Y(=alle Paare von A1-A2-Zuständen)

I Startzustand (Zstart, Ystart), wobei Zstart, Ystart dieStartzustände der einzelnen Automaten sind

I Übergänge δ( (Z, Y), a ) := ( δ1(Z, a), δ2(Y, a) ) für alleZ ∈ Z, Y ∈ Y, a ∈ Σ

I Ein Zustand (Z, Y) ist ein Endzustand genau dann wennZ ∈ Zend und Y ∈ Yend

Page 106: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Komplexität und Abschlusseigenschaften 105

Abgeschlossenheit von Substitution

Definition. Betrachte reguläre Sprachen L0, L1, L2, ...,Alphabet Σ0 von L0, und Substitutionsfunkt. h : Σ0 → L1, L2, ....h(L0) := Sprache, die aus Wörtern w ∈ L0 entsteht, wennjedes Symbol a ∈ Σ0 durch ein bel. Wort aus h(a) ersetzt wird.

Beispiel (Sprachen als reguläre Ausdrücke):L0 : aba∗; L1 : cc+|d; L2 : ab; h(a) = L1,h(b) = L2

→ z.B. ccccc ab cc d ccc d ∈ h(L0) da abaaaa ∈ L0

⇒ h(L0) : (cc+|d) ab (cc+|d)∗

Beweis: h(L0) ist regulär. Wir zeigen, ∃ RegEx für h(L0).Ersetze in der RegEx von L0 jedes Vorkommen eines Symbolsdurch die (gemäß h) jeweilige RegEx der Substitutionssprache.Kein Problem, da nur Basisfälle (Blätter in der Rekursion)durch größere disjunkte Teilbäume ersetzt werden.

(String) Homomorphismus: Spezialfall mit |Li| = 1 für i ≥ 1

Page 107: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen &endliche Automaten

Zusammenfassung

Page 108: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Zusammenfassung 107

Reguläre Sprachen: ZusammenfassungReguläre Sprachen...

...werden beschrieben durch

I Reguläre Grammatiken

I Reguläre Ausdrücke

I Deterministische Endliche Automaten

I Nicht-deterministische Endliche Automaten

...erfüllen

I Pumping Lemma

I Abgeschlossenheit bzgl. Verkettung, Vereinigung,Schnitt, Komplementbildung und Substitution

...erlauben

I das effiziente Entscheiden (in Linearzeit!) des Wort-,Leerheits- und Endlichkeitsproblems

Page 109: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Reguläre Sprachen & endliche Automaten Zusammenfassung 108

Reguläre Sprachen: Zusammenfassung

Motivation:

I Hopcroft-Motwani-Ullman: 200 von 600 Seiten geschafft

I Schöning: 40 von 180 Seiten geschafft

Page 110: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen

Page 111: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kontextfreie Sprachen 110

Kontextfreie Sprachen

L = w ∈ a,b, c∗ | w ist ein Palindrom= w ∈ a,b, c∗ | w = wR

wobei wR := Umkehrung von w

1 Welche Wörter generiert diese Sprache?ε, abba, ccacc,babab,baccaaaccab, ...

2 Ist sie regulär? Nein!Pumping Lemma: Wähle z = anban.→ z = uvw, |v| = ` ≥ 1, |uv| ≤ n→ uv ∈ a∗

→ uw = an−`ban ∈ L→ Widerspruch!

3 Ist sie kontextfrei? Ja!Immer nur eine Variable pro linker Seite einer Regel

S→ ε | A, A→ aAa | bAb | cAc | a | b | c | aa | bb | cc

Page 112: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kontextfreie Sprachen 111

Geklammerte Ausdrücke

Kontextfreie Sprachen ≈ „korrekt geklammerte Ausdrücke“

I Klammerfolgen (()(()()))

aber nicht ())()(()

I HTML, XML, etc.:

<html><head>...</head><body>

<h1>Text</h1><ul><it> auch ohne<it> end-tags

</ul></body>

</html>

I Arithmetische Ausdrückeu.ä.: 3 + (2− 1) ∗ 7

I Programmiersprachen (?):

IF clown != white THENREPEATlaugh()

UNTIL act.done()ELSE

leaveCircus()ENDIF

I u.v.m.

Page 113: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenDeterminismus vs.

Nicht-Determinismus

Page 114: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Determinismus vs. Nicht-Determinismus 113

Arithmetische Ausdrücke

Alle korrekt geklammerten arithmetische Ausdrücke sindkontextfreie Sprachen!(Sei 〈Zahl〉 = (1|2| . . . |9)(0|1| . . . |9)∗ als Grammatik gegeben;vrgl. Übung.)

Grammatik G1:〈Ausdruck〉 → 〈Ausdruck〉 „+“ 〈Ausdruck〉 |

〈Ausdruck〉 „*“ 〈Ausdruck〉 |„(“ 〈Ausdruck〉 „)“ |〈Zahl〉

Grammatik G2:〈Ausdruck〉 → 〈Additiv〉〈Additiv〉 → 〈Additiv〉 „+“ 〈Multiplikativ〉 | 〈Multiplikativ〉

〈Multiplikativ〉 → 〈Multiplikativ〉 „*“ 〈Term〉 | 〈Term〉〈Term〉 → „(“ 〈Additiv〉 „)“ | 〈Zahl〉

Was ist der wesentliche Unterschied der Varianten?

Page 115: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Determinismus vs. Nicht-Determinismus 114

Syntaxbaum (=Parse-Tree)

A→ A+A | A∗A | (A) | 〈Zahl〉 ⇒ w = 3 + 2 ∗ 4 + 2 ∗ (1 + 5)

Mit der Grammatik lässt sich die Formel auf verschiedeneArten zerlegen.→ Syntaxbäume→ Was macht man damit?

+

3

3

2

2

+

4

4

2

2

(.)

+

1

1

5

5

1 + 5

(1 + 5)

2 ∗ (1 + 5)

4 + 2 ∗ (1 + 5)

2 ∗ 4 + 2 ∗ (1 + 5)+

+

3

3

2

2

3 + 2

4

4

3 + 2 ∗ 4

2

2

(.)

+

1

1

5

5

1 + 5

(1 + 5)

2 ∗ (1 + 5)

Anwendung:Ausdruck zerlegen („parsen“)→ „verstehen“ & auswerten.

Page 116: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Determinismus vs. Nicht-Determinismus 115

Syntaxbaum – Problem

Aufgabenstellung: Was ergibt 3 + 2 ∗ 4 + 2 ∗ (1 + 5)?Berechne von den Blättern nach oben.

+

3 ∗

2 +

4 ∗

2 (.)

+

1 5

1 + 5 = 6; 2 ∗ 6 = 12; 4 + 12 = 16;

2 ∗ 16 = 32; 3 + 32 = 35

+

+

3 2

4

2 (.)

+

1 5

1 + 5 = 6; 2 ∗ 6 = 12; 3 + 2 = 5;

5 ∗ 4 = 20; 20 + 12 = 32

Autsch! Jeder Syntaxbaumstellt eine andere Klammerungdar!→ kein Punkt-vor-Strich,...

Page 117: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Determinismus vs. Nicht-Determinismus 116

Syntaxbaum für Grammatik G2

A→ A+M | MM→ M∗T | TT → (A) | 〈Zahl〉

w = 3 + 2 ∗ 4 + 2 ∗ (1 + 5)

+

+

3

3

2

2

4

4

2 ∗ 4

3 + 2 ∗ 4

2

2

(.)

+

1

1

5

5

1 + 5

(1 + 5)

2 ∗ (1 + 5)

Beobachtung:

I Syntaxbaum isteindeutig!

I Bottom-upBerechnungfunktioniert: 23!

Page 118: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Determinismus vs. Nicht-Determinismus 117

Unterschied zwischen den Grammatiken

Grammatik G1

B→ B+B | B∗B | (B) | 〈Zahl〉

Grammatik G2

A→ A+M | MM→ M∗T | TT → (A) | 〈Zahl〉

I G1 kann ein Wort auf verschiedene Arten generieren.I Eine dieser Arten ist die von G2

⇒ G1 ist nicht eindeutig

I (G2 funktioniert algebraisch korrekt.)I G2 kann ein Wort nur auf eine Art generieren.

⇒ G2 ist eindeutig

I Für jede deterministische kontextfreie Sprache existierteine eindeutige Grammatik.

I ABER: Es gibt Sprachen mit eindeutiger Grammatik dienicht deterministisch sind!

Page 119: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Determinismus vs. Nicht-Determinismus 118

Chomsky & DKFEinschränkungen für Regel x→ y:

Typ 2: Kontextfrei(nicht-deterministisch)x ∈ V, |y| ≥ 1(links eine einzelne Variable)

DKF: Deterministisch kontextfreiKeine „schöne“ Klassifikation :-(

Typ 3: Regulärx ∈ V, y ∈ Σ ∪ΣV(rechts ein Symbol, ggf.gefolgt von einer Variable)

Insbesondere:Es gibt kontextfreie Sprachen, die nichtDKF sind. (z.B. Palindrome, siehe später)

Typ 0Rekursiv aufzählb.

Typ 1Kontextsensitiv

Typ 2Kontextfrei

(DKF)

Typ 3Regulär

Page 120: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenAnwendungen: Programmiersprachen

Page 121: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Anwendungen: Programmiersprachen 120

DKF und Programmiersprachen

Wofür benötigt man kontextfreie Sprachen?(Tendenziell falsche) Standardaussage:

I Beschreiben die Struktur von algebraischen Ausdrücken,Programmiersprachen,...

Tatsachen:

I „Reine“ Grammatik von Programmiersprachen ist DKF!Für Menschen leichter (eindeutig) lesbar.Für Computer schneller zu parsen (linear statt kubisch).

I Programmiersprachen sind eigentlich kontextsensitiv!(z.B. Variablen vor Benutzung deklarieren, etc.)KS-Sprachen viel schwerer zu parsen→ Parsen der„reinen“ DKF-Grammatik und prüfen der weiterenBedingungen danach mit Hilfe des Syntaxbaums.Ausnahmen bestätigen Regel: Prolog ist tatsächlich DKF.

Page 122: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Anwendungen: Programmiersprachen 121

Kontextfrei statt DKF in der VO

Warum betrachten wir also auch Kontextfreie (KF) statt nurDKF Sprachen in der Vorlesung?

I DKF-Grammatiken lassen sich formal nur sehraufwendig korrekt definieren/fassen. KF ist leichter („eineVariable auf der linken Seite von Regeln“).

I Aus komplexitätstheoretischer Sicht ist KF nicht vielschwerer als DKF, aber mächtiger/ausdrucksstärker.

I Unterschied zwischen Determinismus undNicht-Determinismus kennenlernen (bei regulärenSprachen gab es den ja nicht).

Page 123: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenKellerautomaten

Page 124: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 123

Wortproblem

Wortproblem. Gegeben eine (D)KF Grammatik G und einWort w. Ist w ∈ L(G)?

Lösungsmöglichkeit 1.Direktes Berechnen mittels der Grammatik(falls G in „Chomsky Normalform“ vorliegt, siehe später):

I DKF: Mit (kompliziertem!) Algorithmus in O(|w| · |G|) Zeit,also linear in der Wortlänge.→ (leider) keine Details in dieser VO, da sehr komplex.

I KF: Mit CYK-Algorithmus (dynam. Programmierung) inO(|w|3 · |G|) Zeit, also kubisch in der Wortlänge.(Oft Inhalt von Basisvorlesungen der theoretischenInformatik... aber wozu? Allg. KF-Sprachen interessierenniemand in der Praxis...).

Page 125: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 124

Wortproblem → Kellerautomaten

Wortproblem. Gegeben eine (D)KF Grammatik G und einWort w. Ist w ∈ L(G)?

Lösungsmöglichkeit 2.Mittels Kellerautomaten, engl. Pushdown Automata.Automaten, ähnlich den endlichen Automaten die wir kennen.Wir erweitern die Fähigkeiten der endlichen Automaten umeinen Keller, damit sie (D)KF-Sprachen entscheiden können.

Keller?

Page 126: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 125

Schwäche der endlichen Automaten

Warum kann ein gewöhnlicher endlicher Automat dasWortproblem für Palindrome nicht entscheiden?

I Zu jedem Zeitpunkt „kennt“ der Automat nur seinenZustand (einer von endlich vielen), aber nicht wie er dahin kam.

I Nach dem Lesen der „vorderen Hälfte“ eines(vermeintlichen) Palindroms, weiß der Automat nichtmehr welche Zeichen bisher kamen (i.A. mehr als |Z|)

I Der EA kann also nicht entscheiden ob er nun genau dieinvertierte Zeichenkombination liest, oder irgendetwasanders.

Page 127: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 126

Kellerautomaten

Idee: Erweitere den EA um einen Speicher.

I Keller = alter Ausdruck für Stapel bzw. StackI Keller speichert Symbole aus einem Alphabet Γ

(meist Γ ≈ Σ)I Keller-Operationen:

I top(): Liest das oberste Symbol des Stacks (ohne eszu entfernen)

I push(a): Legt das Symbol a ∈ Γ oben auf den StackI pop(): Entfernt das oberste Symbol vom Stack

I Der Stack enthält am Anfang immer ein vorgegebenesSymbol (falls nicht anders angegeben das spezielleSymbol # ∈ Γ \Σ).

I Keller-Interpretation als Zeichenkette: der aktuelleKellerzustand ist ein Wort ∈ Γ ∗ bei dem wir stets vorneanfügen/löschen.

Page 128: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 127

Nicht-deterministischer Kellerautomat (NDKA)

Übergangsfunktion δ : Z × (Σ ∪ ε)× Γ → P(Z × Γ ∗)abhängig vom Zustand des Kellers:

Zi Zja,b/x

Falls von der Eingabe nichts (a = ε) oder das Symbol a ∈ Σgelesen wird, und falls top() = b ∈ Γ das oberste (linkeste)Element des Kellers ist: Übergang von Zustand Zi zu ZustandZj, wobei b vom Keller entfernt (pop()) und stattdessen x ∈ Γ ∗(vorne) hinzugefügt wird.(Beispiel x = cde: push(e), push(d), push(c)⇒ Falls der Kellerzuvor bffff war, so ist er nun cdeffff .)

Nicht-Determinismus: Man kann ggf. zwischen mehrerenzulässigen Übergängen wählen.

Page 129: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 128

Deterministischer Kellerautomat (DKA)

Übergangsfunktion δ : Z × (Σ ∪ ε)× Γ → Z × Γ ∗ (nun keinePotenzmenge mehr) muss eindeutige Übergänge definieren.Das heißt:

I Für ein Paar von a,b (a ∈ Σ,b ∈ Γ ) gibt es pro Zustandnur maximal einen Übergang.

I Es gibt ε-Übergänge, also Übergänge für ε,b (b ∈ Γ ).Allerdings darf dann kein anderer Übergang für diesesoberste Kellersymbol an diesem Zustand existieren! (Daman sonst nicht wüsste, ob ε-Schritt gemacht oder einEingabezeichen gelesen wird.)

I Wenn ein notwendiger Übergang nicht existiert (oder derKeller leer ist, das Wort jedoch noch nicht fertig gelesen),bricht der Automat nicht-akzeptierend ab (bzw. gehtimplizit wieder in die Falle). Dies gilt auch für NDKA!

Page 130: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 129

Akzeptieren in einem Kellerautomat

Es gibt (für DKA und NDKA) zwei Akzeptanzarten:

Ein Wort wird als Element der vom KA codierenden Spracheakzeptiert falls nach dem Lesen des Eingabewortes...

I ...ein Endzustand erreicht ist→ Akzeptanz durch Endzustand (AdEZ)

I ...der Stack leer ist(auch das initiale, unterste Element ist gelöscht)→ Akzeptanz durch leeren Keller (AdLK)

Wir werden sehen:

I Für NDKA sind beide Varianten gleich mächtig.

I Für DKA gibt es einen Unterschied:DKA-AdEZ kann mehr Sprachen darstellen.

Page 131: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 130

Automaten vs. Sprachen

Theorem.Kontextfreie (KF) Sprachen sind genau jene, für die einakzeptierender NDKA-AdEZ (bzw. äquivalent NDKA-AdLK)existiert.

Beweis. Folgt später.

Definition.Deterministisch kontextfreie (DKF) Sprachen sind genaujene, für die ein akzeptierender DKA-AdEZ (DeterministischerKellerautomat, Akzeptierend durch Endzustand) existiert.

Page 132: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 131

Kellerautomat, Spezialfälle und Kurznotationen

I ε ∈ Γ ∗ → Element vom Stack entfernen.

Zi Zja,b/ε

Zi Zja, ? ∈ Γ/ε

I ? ∈ S = beliebiges Symbol aus Symbol(teil)menge S.Löschen des Kellersymbols, egal welches es ist.

I ? kann entlang der Kante benutzt werden.Übergang falls top() ∈ a, c; Symbol wird wieder auf denStack gelegt→ Keller ändert sich nicht.

Zi Zja, ? ∈ a, c/?

Zi Zj ∈ Σ, ? ∈ Γ/ ?

I Notation auch für Eingabewort zulässig. Von Eingabegelesenes Zeichen oben auf den Stack legen.

Page 133: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 132

Beispiel NDKA

L = wwR | w ∈ a,b, c∗ = Palindrome gerader Länge.→ Als NDKA-AdEZ und gleichzeitig als NDKA-AdLK:

Z1start Z2 Z3

a,#/a#

b,#/b#

c,#/c#

a, a/aab, a/bac, a/ca

a,b/abb,b/bbc,b/cba, c/acb, c/bcc, c/cc

ε,#/#

ε, a/aε,b/bε, c/c

a, a/εb,b/εc, c/ε

ε,#/ε

Z1start Z2 Z3

∈ Σ, ? ∈ Γ/ ?

ε, ? ∈ Γ/?

∈ Σ, /ε

ε,#/ε

Automat ist nicht-deterministisch, da wirden Zustand Z1 zu einem beliebigen Zeit-punkt verlassen können, aber nicht müssen.

Tatsächlich kann man L nicht mit einem DKAbeschreiben!

Page 134: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 132

Beispiel NDKA

L = wwR | w ∈ a,b, c∗ = Palindrome gerader Länge.→ Als NDKA-AdEZ und gleichzeitig als NDKA-AdLK:

Z1start Z2 Z3

a,#/a#

b,#/b#

c,#/c#

a, a/aab, a/bac, a/ca

a,b/abb,b/bbc,b/cba, c/acb, c/bcc, c/cc

ε,#/#

ε, a/aε,b/bε, c/c

a, a/εb,b/εc, c/ε

ε,#/ε

Z1start Z2 Z3

∈ Σ, ? ∈ Γ/ ?

ε, ? ∈ Γ/?

∈ Σ, /ε

ε,#/ε

Automat ist nicht-deterministisch, da wirden Zustand Z1 zu einem beliebigen Zeit-punkt verlassen können, aber nicht müssen.

Tatsächlich kann man L nicht mit einem DKAbeschreiben!

Page 135: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 133

Beispiel DKA

L = wwR | w ∈ a,b, c∗ = Palindrome gerader Länge.→ Als NDKA-AdEZ und gleichzeitig als NDKA-AdLK:

Z1start Z2 Z3

∈ Σ, ? ∈ Γ/ ?

ε, ? ∈ Γ/?

∈ Σ, /ε

ε,#/ε

L′ = wdwR | w ∈ a,b, c∗ = Palindrome mit einem d genauin der Mitte und sonst nur Symbolen a,b, c.→ Als DKA-AdEZ und gleichzeitig als DKA-AdLK:

Z1start Z2 Z3

∈ Σ \ d, ? ∈ Γ/ ?

d, ? ∈ Γ/?

∈ Σ, /ε

ε,#/ε

Page 136: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 134

DKF ⊂ Eindeutige Ableitungen

Erinnerung. Eine Sprache ist deterministisch kontextfrei,wenn sie sich durch DKA-AdEZ beschreiben lässt.

Definition. Eindeutige Grammatik G:Für jedes Wort w ∈ L(G) gibt es eine einzige Ableitung G.

Beobachtungen.

I Jede DKF Sprache erlaubt eine eindeutige KF Grammatik(folgt aus Umwandlung KA→Grammatik, siehe später).

I Es gibt KF Sprachen L mit eindeutiger KF Grammatik,ohne dass L DKF ist.

Beispiel. Sprache L = wwR | w ∈ a,b, c∗ (Palindromegerader Länge).

I „S→ ε | A;A→ aAa | bAb | cAc | aa | bb | cc“ ist eindeutig

I Sprache lässt sich nur mit NDKAen beschreiben→ KF aber nicht DKF.

Page 137: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 135

NDKA – Äquivalenz der Akzeptanzregel

Theorem. Sei ALK ein NDKA-AdLK, dann gibt es auch einenNDKA-AdEZ AEZ mit L(ALK) = L(AEZ), und umgekehrt.

Beweis (ALK → AEZ). Gegeben ALK mit Startzustand Z1,Kelleralphabet Γ und initialem Kellersymbol # ∈ Γ .

Sei $ 6∈ Γ ein neues Symbol. Der neue Automat AEZ startetmit $ im Keller an einen neuen Startzustand Zs (mit einemeinzigen Übergang zum alten) und hat einen neuenEndzustand Ze, der von allen Knoten aus erreichbar ist.

Z1 ALKZsstart

Zeε, $/#$ ε, $/ε

ε, $/ε

ε, $/ε

ε, $/ε

Page 138: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 136

NDKA – Äquivalenz der Akzeptanzregel

Theorem. Sei ALK ein NDKA-AdLK, dann gibt es auch einenNDKA-AdEZ AEZ mit L(ALK) = L(AEZ), und umgekehrt.

Beweis (AEZ → ALK). Gegeben AEZ.

Wieder neuer Start mit $ 6∈ Γ (damit AEZ nicht wg. geles. Wort& leerem Keller in Nicht-Endzust. akzeptiert; Γ ′ := Γ ∪ $).Gehe mit einem ε-Übergang (und ohne den Stack zu ändern)von allen Endzuständen zu einem neuen Zustand Zn.

Falls man im Endzustand korrekt war, kann man in Zn nun denKeller leeren, ohne ein weiteres Zeichen lesen zu müssen.

......AEZZsstart Zn

ε, $/#$

ε, ? ∈ Γ ′/?

ε, ? ∈ Γ ′/?

ε, ? ∈ Γ ′/ε

Page 139: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Kellerautomaten 137

DKA – Nicht-Äquivalenz der Akzeptanzregel

Beobachtung. Sei ALK ein DKA-AdLK, dann gibt es aucheinen DKA-AdEZ AEZ mit L(ALK) = L(AEZ), aber nichtumgekehrt.

I Transformation ALK → AEZ zerstört Determinismus nicht:

Z1 ALKZsstart

Zeε, $/#$ ε, $/ε

ε, $/ε

ε, $/ε

ε, $/ε

I Transformation AEZ → ALK zerstört Determinismus(hier kein formaler Beweis):

......AEZZsstart Zn

ε, $/#$

ε, ? ∈ Γ ′/?

ε, ? ∈ Γ ′/?

ε, ? ∈ Γ ′/ε

Page 140: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenNDKA = KF

Page 141: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen NDKA = KF 139

NDKA beschreibt genau die KF Sprachen

Theorem.NDKAen beschreiben genau die kontextfreien Sprachen.

Beweis durch diese zwei Lemmata:

Lemma.Jede KF Sprache erlaubt einen sie akzeptierenden NDKA.

Lemma.Jeder NDKA beschreibt eine kontextfreie Sprache.

Beweise der Lemmata folgen nun.

Page 142: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen NDKA = KF 140

KF Sprache → NDKA

Lemma.Jede KF Sprache erlaubt einen sie akzeptierenden NDKA.

Beweis.Sprache L gegeben als KF Grammatik G.

Erstelle NDKA mit Kelleralphabet Γ := V ∪Σ und nur einemZustand Z (d.h. jeder Übergang geht von Z nach Z).Der NDKA akzeptiert durch leeren Keller und hat anfangs dieStartvariable S der Grammatik am Stack.

Für jede Regel A→ x in G erzeuge einen Übergang „ε,A/x“.Für jedes Symbol a ∈ Σ erzeuge einen Übergang „a, a/ε“.

Page 143: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen NDKA = KF 141

KF Sprache → NDKA: Beispiel

Sprache L:S→ aSa | SB | bB→ cC | ddC→ S | e

NDKA:

Zstart

ε,S/aSaε,S/SBε,S/b

ε,B/cCε,B/ddε,C/Sε,C/e

? ∈ Σ, ?/ε

w = abcea ∈ L?

Übergang Stack Wort

S abceaε,S/aSa aSa abceaa, a/ε Sa abceaε,S/SB SBa abceaε,S/b bBa abceab,b/ε Ba abceaε,B/cC cCa abceac, c/ε Ca abceaε,C/e ea abceae, e/ε a abceaa, a/ε 〈leer〉 abcea

w gelesen & Stack leer→ w ∈ L

Page 144: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen NDKA = KF 142

NDKA → KF Sprache

Lemma.Jeder NDKA beschreibt eine kontextfreie Sprache.

Beweis.In früheren Iterationen dieser VO:ca. 90 Minuten Beweis (aber inklusiver einerhochinteressanten Konstruktion!)Aber seit letztem Jahr:Sie haben Glück! Ich hab es aus dem Stoff gestrichen.⇒ Beweis durch Autorität... glauben Sie es mir

Beobachtung. Die (nicht besprochene) Konstruktion desBeweises liefert bei einem DKA eine eindeutige Grammatik!

Page 145: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen NDKA = KF 143

NDKA beschreibt genau die KF Sprachen

Lemma.Jede KF Sprache erlaubt einen sie akzeptierenden NDKA. X

Lemma.Jeder NDKA beschreibt eine kontextfreie Sprache. X

Theorem.NDKAen beschreiben genau die kontextfreien Sprachen.

Page 146: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenNormalformen

Page 147: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Normalformen 145

Grammatik-Normalformen

Erinnerung. Grammatik G ist kontextfrei⇐⇒

Jede Regel in G hat die Form V → (V ∪Σ)+

Chomsky-Normalform (CNF).Jede Regel1 hat die Form V → Σ oder V → V × V.

(z. B. A→ a und A→ BC)

Greibach-Normalform (GNF). (vrgl. reguläre Grammatik!)Jede Regel1 hat die Form V → Σ × V∗.

(z. B. A→ a oder A→ aBCD)

Theorem.Jede KF Sprache lässt sich in CNF & GNF beschreiben.

GNF: Vergleiche mit Umwandlung von NDKA! CNF: Nun!

1Falls ε ∈ L(G): Zusatzregel S→ ε für Startvariable S; S nie rechts.

Page 148: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Normalformen 146

Allg. KF Grammatik → CNF (Schritt 1)

Gegeben. Allgemeine KF Grammatik G, d.h.alle Regeln der Form V → (V ∪Σ)+.

Gesucht. Äquivalente Grammatik G′ in CNF, d.h.alle Regeln der Form V → Σ oder V → V × V

Annahme. ε 6∈ L(G) (sonst trivial hinzuzufügen).

Schritt 1. Symbole ausgliedern.Für jedes Symbol a ∈ Σ:

1 Erzeuge eine neue Variable Aa.

2 Ersetze jedes Vorkommen von a in G durch Aa.

3 Füge neue Regel Aa → a hinzu.

Nach Schritt 1.Alle Regeln haben die Form V → Σ oder V → V+.

Page 149: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Normalformen 147

Allg. KF Grammatik → CNF (Schritt 2a)

Gegeben. KF Grammatik G,alle Regeln der Form V → Σ oder V → V+.

Gesucht. Äquivalente Grammatik G′ in CNF, d.h.alle Regeln der Form V → Σ oder V → V × V

Schritt 2. Regeln der Form V → V entfernen.Betrachte Graph, der aus diesen Regeln besteht:

A0 A1

A2

A3

A4 A5

A6

A7 A8A9

⇒ A0 A1 A5

A6

A7 A8A9

Schritt 2a. Kreise kontrahieren.Für jeden Zyklus B1 → B2,B2 → B3, . . . ,Bk → B1:

Ersetze jedes Vorkommen von B2, . . . ,Bk durch B1.

Page 150: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Normalformen 148

Allg. KF Grammatik → CNF (Schritt 2b)

Schritt 2. Regeln der Form V → V entfernen.Betrachte Graph, der aus diesen kreisfreien Regeln besteht:

A0 A1 A5

A6

A7 A8A9

Schritt 2b. Iterativ Senken unnötig machen.∃ Kanten, aber 6 ∃ gerichtete Kreise

⇒ ∃ Senken (Knoten ohne ausgehende Kante).

Solange es Regeln V → V gibt:

1 Sei B eine Senke und C→ B eine Regel

2 Für jede Regel B→ x, erzeuge eine Regel C→ x

3 Entferne die Regel C→ B (Kante wird aus Graph entfernt;C wird möglicherweise eine Senke)

Page 151: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Normalformen 149

Allg. KF Grammatik → CNF (Schritt 3)

Gegeben. KF Grammatik G,alle Regeln der Form V → Σ oder V → V × V+.

Gesucht. Äquivalente Grammatik G′ in CNF, d.h.alle Regeln der Form V → Σ oder V → V × V

Schritt 3. Kürzen von zu langen Variablenketten.Solange es eine Regel A→ B1 B2 . . .Bk mit k ≥ 3 gibt:

I Entferne Regel und erzeuge stattdessen eine neueVariable C und neue Regeln A→ B1 C und C→ B2 . . .Bk

Nach Schritt 3. Jede zu lange Regel wurde (ggf. durchmehrmalige Betrachtung in der Schleife) in mehrere Regelnder CNF-kompatiblen Form V → V × V zerlegt.⇒ Grammatik ist nun CNF.

Page 152: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Normalformen 150

Allg. KF Grammatik→ CNF (Zusammenfassung)

Gegeben. Allgemeine KF Grammatik G (mit ε 6∈ L(G))⇒ Jede Regel hat die Form V → (V ∪Σ)+.

Schritt 1. Symbole ausgliedern.

⇒ Jede Regel hat die Form V → Σ oder V → V+

Schritt 2. Regeln der Form V → V entfernen.Baue aus den Regeln V → V einen gerichteten Graph.

(a) Kreise kontrahieren.(b) Iterativ Senken unnötig machen.

⇒ Jede Regel hat die Form V → Σ oder V → V × V+

Schritt 3. Kürzen von zu langen Variablenketten.

⇒ Jede Regel hat die Form V → Σ oder V → V × V⇒ Äquivalente Grammatik in Chomsky-Normalform

Page 153: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Normalformen 151

Normalformen und ihre Konsequenzen

Erinnerungen:

Theorem.Jede KF Sprache lässt sich in Greibach- (V → Σ × V∗) und inChomsky-Normalform (V → Σ oder V → V × V) beschreiben(ggf. plus S→ ε).

Äquivalenzbeweis.Man kann jede KF Grammatik direkt in einem NDKA mit einemeinzigen Zustand abbilden.

Folgerung.Man kann jede KF Sprache zunächst in Greibach-NFbeschreiben und daraus dann einen NDKA erhalten, der nureinen einzigen Zustand besitzt und in jedem Schritt einEingabezeichen liest und keine ε-Übergänge benötigt.

Page 154: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenPumping Lemma

Page 155: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Pumping Lemma 153

Wiederholung: Reguläre Sprachen

Pumping Lemma für reguläre Sprachen.Sei L eine reguläre Sprache. Es gibt eine Zahl n := n(L) (d.h. inAbhängigkeit von L), so dass alle Wörter z ∈ L mit |z| ≥ n sichzerlegen lassen als z = u vw mit den Eigenschaften:

1 |v| ≥ 1, 2 |u v| ≤ n, 3 u v∗w ∈ L.

Beweisidee. Reguläre Sprache wird durch einen endlichenAutomaten repräsentiert. Sei n die Anzahl der Zustände.

Wenn das Wort länger als n ist, muss man einen Zustandmehrmals besuchen, also „im Kreis laufen“.

Teilwort u ist das Wort am Weg bis zum Kreis, v ist das Wortentlang des Kreises, w der Weg vom Kreis zum Endzustand.

Man kann den Kreis mehrmals ablaufen⇒ u v∗w erzeugen.

Page 156: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Pumping Lemma 154

Pumping Lemma (KF)

Pumping Lemma (für kontextfreie Sprachen).Sei L eine KF Sprache. Es gibt eine Zahl n := n(L) (d.h. inAbhängigkeit von L), so dass alle Wörter z ∈ L mit |z| ≥ n sichzerlegen lassen als z = u vwx y mit den Eigenschaften:

1 |v x| ≥ 1, 2 |vwx| ≤ n, 3 ∀i ≥ 0 : u viwxi y ∈ L.

Beweis. Sei L als Grammatik G in CNF gegeben.

→ Vorüberlegung.

Page 157: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Pumping Lemma 155

Vorüberlegung: Ableitungsbaum bei CNF

Der Ableitungsbaum eines von einer CNF-Grammatikgenerierten Wortes ist ein binärer Baum.

S→ AB

A→ CD

C→ c D→ AD

A→ a D→ d

B→ BB

B→ b B→ DD

D→ AD

A→ a D→ d

D→ d

Erinnerung.Die Wurzel bildet Schicht 0.Maximale Anzahl an Knoten in Schicht i: 2i

Beobachtung.Ein binärer Baum mit ≥ 2k Blättern enthält mindestens einenPfad von der Wurzel zu einem Blatt mit ≥ k Kanten.

Page 158: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Pumping Lemma 156

Pumping Lemma (KF)

Pumping Lemma (für kontextfreie Sprachen).Sei L eine KF Sprache. Es gibt eine Zahl n := n(L) (d.h. inAbhängigkeit von L), so dass alle Wörter z ∈ L mit |z| ≥ n sichzerlegen lassen als z = u vwx y mit den Eigenschaften:

1 |v x| ≥ 1, 2 |vwx| ≤ n, 3 ∀i ≥ 0 : u viwxi y ∈ L.

Beweis. Sei L als Grammatik G in CNF gegeben.Sei k die Anzahl Variablen in G. Wähle n = 2k und betrachteAbleitungsbaum eines beliebigen Wortes mit ≥ n Symbolen.→ Baum hat mind. 2k Blätter→ ∃ Pfad P von der Wurzel zueinem Blatt mit ≥ k Kanten, also ≥ k + 1 Knoten (Variablen).→ In diesem Pfad muss mindestens eine der nur k vielenVariablen also mindestens 2x vorkommen.→ Betrachte so ein doppeltes Vorkommen möglichst nahe amBlatt, d.h. das „obere“ Vorkommen ist max. k Schichten vomBlatt entfernt.

Page 159: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Pumping Lemma 157

Pumping Lemma (KF) — Beweisillustration

z

= zu v w x y

A

A

Beobachtungen.

I |v x| ≥ 1

I |vwx| ≤ n

u

w

y

A v x

v x

u

v w x

y

A

A

A

A

uwy ∈ L u viwxi y ∈ L

Page 160: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Pumping Lemma 158

Pumping Lemma (KF)

Pumping Lemma (für kontextfreie Sprachen).Sei L eine KF Sprache. Es gibt eine Zahl n := n(L) (d.h. inAbhängigkeit von L), so dass alle Wörter z ∈ L mit |z| ≥ n sichzerlegen lassen als z = u vwx y mit den Eigenschaften:

1 |v x| ≥ 1, 2 |vwx| ≤ n, 3 ∀i ≥ 0 : u viwxi y ∈ L.

Beweis. (Fortsetzung; eben mit vorigen Bilder besprochen)Betrachte längsten Wurzel-Blatt Pfad P im Ableitungsbaum. P hat Länge ≥ k⇒ Variablen kommen doppelt vor. Betrachte das doppelte Vorkommeneiner beliebigen Variable (A) entlang P, bei der das „obere“ Vorkommenmöglichst weit unten ist (es ist ≤ k Schichten vom Blatt entfernt(?)).Sei w das Teilwort, das vom unteren Vorkommen von A erzeugt wird. Dasobere Vorkommen generiert ein Wort, das w als Teilwort enthält, es hat alsodie Gestalt vwx. vwx liegt irgendwo im Gesamtwort z⇒ z = uvwxy.⇒ Grammatik erlaubt Ableitungen S⇒∗ uAy, A⇒∗ vAx und A⇒∗ w, wobei|v|+ |x| ≥ 1 und (wegen (?)) |vwx| ≤ 2k = n.

⇒ Grammatik erlaubt auch Ableitungen S⇒∗ uAy⇒∗ uwy und

S⇒∗ uAy⇒∗ uvAxy⇒∗ uvvAxxy⇒∗ . . .⇒∗ uv..vAx..xy⇒∗ uviwxiy.

Page 161: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Pumping Lemma 159

Anwendung des Pumping Lemmas

∀ KF Spr. L: ∃n: ∀z ∈ L mit |z| ≥ n: ∃u vwx y = z mit:

1 |v x| ≥ 1, 2 |vwx| ≤ n, 3 ∀i ≥ 0 : u viwxi y ∈ L.

Aufgabe: Sei L = aibici | i ≥ 0. Zeige, dass L nicht KF ist.

Lösung: Beweis durch Widerspruch.Nimm an, L wäre KF, dann würde für L das Pumping Lemmagelten. Sei n die entsprechende Wortmindestlänge.

Betrachte das Wort z = anbncn ∈ L.

I ∃ Zerteilung z = uvwxy mit 1 – 3 .

I 2 : |vwx| ≤ n.→ vwx enthält nicht alle drei verschiedenenSymbole.

I 3 : uv2wx2y ∈ L. Nach Vervielfachen von v und x( 1 : |vx| ≥ 1!) kann die Anzahl aller drei verschiedenenSymbole nicht mehr gleich sein.

Page 162: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenAlgorithmische Fragen und

Abschlusseigenschaften

Page 163: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 161

Algorithmische Fragen

Sei L eine (D)KF Sprache (als Grammatik G mit L = L(G)).

Anmerkung: NDKA nicht so leicht zu simulieren, wiedeterministische Automaten...

Wortproblem. Sei w ein Wort. Ist w ∈ L?Schon erwähnt: KF O(|w|3), DKF O(|w|)

Aber es gibt viele weitere Fragen:

I Leerheitsproblem (L = ∅?)

I Endlichkeitsproblem (L endlich?)

I Erzeugt G jedes beliebige Wort?

I Ist L/G eindeutig?

I Ist L/G DKF?

I Ist L/G regulär?

Page 164: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 162

Leerheitsproblem: L(G) = ∅?

Algorithmus:

1 Anfangs sind alle Variablen unmarkiert.

Wir wollen alle Variablen markieren, die auf irgendeineArt bis zu einem Wort (also Symbolkette) expandiertwerden können.

2 Solange eine Regel A→ x existiert, wobei A unmarkiertist, und x nur aus Symbolen und/oder markiertenVariablen besteht: Markiere A.

3 Falls durch diesen Prozess die Startvariable S markiertwird: L(G) 6= ∅; sonst L(G) = ∅.

Komplexität: (wenn man es geschickt macht) O(|G|)

Page 165: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 163

Leerheitsproblem — Beispiel

Beispiel G1:

S→ AaB | CDA→ Bb | DB→ CC

C→ c

D→ DBD

⇒ L(G1) 6= ∅

(Sogar nur ein einzigesWort: ccbacc)

Beispiel G2:

S→ AaB | CDA→ a | AaaB→ DC

C→ c

D→ DdD

⇒ L(G2) = ∅

Page 166: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 164

Endlichkeitsproblem: L(G) endlich?Algorithmus:

1 Reduziere Grammatik mit Hilfe des Leerheitstests:Entferne alle unmarkierten Variablen und Regeln A→ xbei denen x unmarkierte Variablen enthält.

2 Reduziere Grammatik auf erreichbare Variablen:Markiere (neu!) nur die Startvariable. Für jede Regel A→ xmit markiertem A markiere unmarkierte Variablen in x.Am Ende entferne unmark. Variablen und zugeh. Regeln.

3 Transformiere Grammatik in eine ohne Regeln A→ B fürA,B ∈ V (vrgl. Transformation in CNF).

4 Erstelle Hilfsgraph H mit den Variablen als Knoten, und(∀A,B ∈ V) einer gerichteten Kante (A,B) falls es eineRegel A→ x B y gibt, wobei x, y beliebige Satzformen(=Ketten von Symbolen und Variablen) sind.

5 H enthält einen gerichteten Kreis ⇐⇒ |L(G)| =∞Komplexität: O(|G|)

Page 167: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 165

Endlichkeitsproblem — Beispiel

Beispiel G1:

S→ AB | ccA→ aB | CaaB→ bC | CCC→ c

S

A B

C

⇒ |L(G1)| 6=∞

Beispiel G2:

S→ AB | ccA→ aB | CaaB→ bC | CC | dSdC→ c | cC

S

A B

C

⇒ |L(G2)| =∞(Sogar wegen dreier Kreise:S-A-B-S, S-B-S, C-C)

Page 168: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 166

Weitere algorithmische Fragen...

Zum Beispiel wäre auch interessant zu entscheiden, ob füreine gegebene KF Sprache L bzw. KF Grammatik G gilt:

I Erzeugt G jedes beliebige Wort, also L(G) = Σ∗?I Ist L/G eindeutig?I Ist L/G DKF?I Ist L/G regulär?

Oder für zwei KF Grammatiken G1,G2:

I L(G1) = L(G2)?I L(G1) ⊆ L(G2)?I L(G1) ∩ L(G2) = ∅?I Ist L(G1) ∩ L(G2) KF?

All diese Fragen sind unentscheidbar!→ Es kann keinen Algorithmus geben (egal wie langsam),der diese Fragen immer korrekt entscheidet!→ Was das genau bedeutet werden wir noch kennenlernen.

Page 169: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 167

Abgeschlossenheit

Theorem.Kontextfreie Sprachen sind abgeschlossen bezüglichVerkettung und Vereinigung, aber nicht bezüglich Schnittund Komplementbildung.

D.h. gegeben KF Sprachen L1, L2 durch Grammatiken G1,G2 mit disj.Variablenmengen V1,V2 (V1 ∩ V2 = ∅) und Startvariablen S1,S2.

⇒ L1 L2 & L1 ∪ L2 sind KF. L1 ∩ L2 & L1 := Σ∗ \ L1 sind nicht immer KF.

Beweis (Abgeschl.)Grammatik mit Startvar.S, allen Regeln ausG1,G2 und der Regel...... S→ S1S2

(Verkettung)... S→ S1 | S2

(Vereinigung)

(Nicht abgeschlossen)Schnitt. Beispiel: KF SprachenL1 = anbncm, L2 = ambncn.L1 ∩ L2 = anbncn ist nicht KF.

Komplement. Sonst wäre auchSchnitt abgeschlossen!Schnitt durch Vereinigung &Komplement: L1 ∩ L2 = L1 ∪ L2

Page 170: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Algorithmische Fragen und Abschlusseigenschaften 168

Abgeschlossenheit

Theorem. (nur Beweisskizzen)Deterministische kontextfreie Sprachen sind abgeschlossenbezüglich Komplementbildung, aber nicht bezüglichSchnitt, Vereinigung und Verkettung.

Komplement. Nimm DKA-AdEZ. Neuer Start & Übergang zumalten Start der $ 6∈ Γ unter # schreibt (verhindert leerenKeller). Invertiere End-Nichtend-Zustände (inkl. Falle).

Schnitt. Beispiel-Sprachen von vorhin waren sogar DKF.

Vereinigung. Sonst müsste wegen L1 ∩ L2 = L1 ∪ L2 auch derSchnitt abgeschlossen sein.

Verkettung. Beispiel: DKF Sprachen L1 = $anbncm undL2 = ambncn. Durch $ ist auch L3 := L1 ∪ L2 DKF (durch DKAerkennbar). Sprache L4 := $+ ist DKF (sogar regulär)!Betrachte Verkettung L := L4 L3 → $ nicht mehr hilfreich um L1

und L2 zu unterscheiden.

Page 171: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie SprachenZusammenfassung

Page 172: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Kontextfreie Sprachen Zusammenfassung 170

Kontextfreie Sprachen: Zusammenfassung

I Kontextfreie Sprachen werden durch kontextfreieGrammatiken und durch nicht-deterministischeKellerautomaten beschrieben.

I Jede KF Grammatik kann in Chomsky- undGreibach-Normalform geschrieben werden.

I Deterministische KF Sprachen werden durchdeterministische Kellerautomaten beschrieben.

I Jede DKF Sprache ist eindeutig, aber nicht umgekehrt.

I KF Sprachen erfüllen das Pumping Lemma.

I KF Sprachen erlauben das effiziente Entscheiden desWort-, Leerheits- und Endlichkeitsproblems.

Page 173: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Page 174: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Sprachen jenseits von kontextfrei

Page 175: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Sprachen jenseits von kontextfrei 173

Chomsky-Hierarchie

Einschränkungen für die Regeln x→ y:

Typ 0: Rekursiv aufzählbareSprachenkeine Einschränkungen

Typ 1: Kontextsensitive (bzw.monotone) Sprachen|x| ≤ |y|

Typ 2: Kontextfreie SprachenTyp 1, und x ∈ V (linkseine einzelne Variable)

Typ 3: Reguläre Sprachenx ∈ V, y ∈ Σ ∪ΣV (rechtsein Symbol, ggf. gefolgtvon einer Variable)

Typ 0Rekursiv aufzählb.

Typ 1Kontextsensitiv

Typ 2Kontextfrei

(DKF)

Typ 3Regulär S

pra

che

wir

dausd

ruck

sstä

rker

Wort

pro

ble

mw

ird

leic

hte

r

Page 176: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Sprachen jenseits von kontextfrei 174

Probleme vs. Maschinen

Sprache Äquivalent zuKomplexität d.Wortproblems(Laufzeit/Speicher)

Rekursivaufzählbar

Turingmaschine(≈Computer)

nicht entscheidbar

Kontextsensitivlinear beschränkterAutomat

exponentiell/linear

Kontextfreinicht-determ.Kellerautomat

kubisch/quadratisch

DeterministischKontextfrei

deterministischerKellerautomat

linear/linear

Regulär Endlicher Automat linear/konstant

Page 177: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Turingmaschinen

Page 178: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 176

Maschinen

I Endlicher Automat

start

I Kellerautomat = Endlicher Automat + Stack

start

I Turingmaschine = Endlicher Automat + Speicherband

start

Page 179: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 177

Alan Turing

Alan Mathison Turing∗ 23. Juni 1912 in London† 7. Juni 1954 in Wilmslow (England)

Der wohl wichtigste Informatiker aller Zeiten.

I 1936: Veröffentlichung: On Computable Numbers, withan Application to the “Entscheidungsproblem”:Erfindung der Turing-Maschine, Beweise der Mächtigkeitder Maschine

I 1938: Promotion in Princeton unter Alonzo Church.

I Grundlagen der theoretischen Informatik,Berechenbarkeit (“Algorithmische Variante von GödelsUnvollständigkeitssatz”)

Page 180: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 178

Alan Turing

Alan Mathison Turing∗ 23. Juni 1912 in London† 7. Juni 1954 in Wilmslow (England)

Der wohl wichtigste Informatiker aller Zeiten.

I 2. Weltkrieg: Knacken deutscher Geheimcodes (z.B. derEnigma) im Bletchley Park, Turing-Bombe (Maschine zumCode-Knacken),... — Anteil bis in die 70er Jahre geheim!

I 1948: LU Faktorisierung von Matrizen

I 1950: Turing-Test, Erkennen von Intelligenz

I 1952–54: Mathematik in Biologie (Turing-Mechanismus)

Page 181: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 179

Alan Turing

Alan Mathison Turing∗ 23. Juni 1912 in London† 7. Juni 1954 in Wilmslow (England)

[Selbstmord mit vergiftetem Apfel?]

Der wohl wichtigste Informatiker aller Zeiten.

I 1952: Verurteilung wg. Homosexualität, Ausschluss ausallen Geheimprojekten der Regierung, zwangsweiseHormonbehandlung→ Depressionen

I 1954: Tod durch Cyanidvergiftung

I Ihm zu Ehren seit 1966: Turing Award≈ „Nobelpreis“ der Informatik.

I 2009: Britische Regierung entschuldigt sich offiziell,2013: Königliche Begnadigung durch Queen Elisabeth II

Page 182: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 180

Turingmaschine (TM), 1/3

start

a b a c

SL

Speicherband, unendlich lang

Eine Turingmaschine ist ein endlicher Automat, der miteinem Speicherband und einem Schreib-Lese-Kopf(SL-Kopf) am Band gekoppelt ist.

I Das Band ist unendlich lang und in Zellen unterteilt.

I In jeder Zelle ist immer ein Symbol aus Γ gespeichert.Das Symbol ∈ Γ kennzeichnet eine „leere“ Zelle.

I Der SL-Kopf zeigt stets auf eine Zelle des Bands. Nurdieser aktuelle Bandeintrag kann gelesen bzw.geändert werden.

Page 183: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 181

Turingmaschine (TM), 2/3

start

a b a c

SL

Speicherband, unendlich lang

I Zustand der Maschine = Aktueller Zustand des EA +Inhalt des Bands + Position des SL-Kopfs

I Zustandsübergänge im EA können abhängig vomaktuellen Bandeintrag sein

I Beim Zustandswechsel im EA wird...

I ...der aktuelle Bandeintrag durch einen neuen Wertüberschrieben (ggf. durch den alten selbst).

I ...der SL-Kopf wird ggf. um eine Zelle nach links oderrechts verschoben.

Page 184: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 182

Turingmaschine (TM), 3/3

start

a b a c

SL

Speicherband, unendlich lang

Initialisierung:

I Das Eingabewort wird vom EA nicht explizit gelesen.

I Das Eingabewort steht (von links nach rechts) am Band.

I Der SL-Kopf steht auf dem ersten Zeichen der Eingabe.

Terminierung:

I Die Übergangsfunktion ist partiell!→ Die TM terminiert(„hält an“) wenn kein weiterer Übergang möglich ist.

I Die TM akzeptiert das Eingabewort genau dann, wennsie in einem Endzustand terminiert.→ Die TM akzeptiert nicht, genau dann wenn sie ineinem Nicht-Endzustand oder gar nicht terminiert.

Page 185: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 183

Determinismus vs. Nicht-Determinismus

Wir unterscheiden wieder zwischen zwei Arten von TMn:

I Deterministische TM (DTM): Zu jedem Zeitpunkt isteindeutig, welcher Übergang ausgeführt wird.

I Nicht-deterministische TM (NDTM): Es kannmehrdeutig sein, welchen Übergang man benutzt.

Faszinierend!

I Sowohl DTM als auch NDTM beschreiben genau dieTyp-0 Sprachen.

I Aus komplexitätstheoretischer Sicht ist der Unterschiedzwischen DTM und NDTM die größte offene Frage derInformatik! (siehe später in der VO)

Page 186: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 184

Graphische Notation

An einer Übergangskante annotieren wir drei Einträge:

I zu lesendes Symbol (∈ Γ )

I zu schreibendes Symbol (∈ Γ )

I Bewegungsrichtung:L=links, R=rechts, S=stehen bleiben

Zi Zja/b,R

„Falls der aktuelle Bandeintrag a ist, wechsle von Zustand Zinach Zj, überschreibe den Bandeintrag mit b und bewege denSL-Kopf eine Position nach rechts (=erhöhe den Positionsindexum 1).“

Page 187: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 185

Turingmaschine — Beispiel

L = aibici | i ≥ 0 ⇒ Σ = a,b, c, Γ = , a,b, c, $(Wir dürfen davon ausgehen, dass am Anfang nur Symboleaus Σ ∪ am Band stehen.)

DTM:

Z1start Z2 Z3 Z4

Z5

Z6

$/$,R

a/$,R

a/a,R$/$,R

b/$,R

b/b,R$/$,R

c/$,R

c/c,R

/,L

a/a,Lb/b,L

c/c,L$/$,L

/,R/,S

Page 188: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 186

Turingmaschine — Beispiel 1, Auflösung

Z1 aabbcc

Z2 $abbcc

Z2 $abbcc

Z3 $a$bcc

Z3 $a$bcc

Z4 $a$b$c

Z4 $a$b$c

Z5 $a$b$c

Z5 $a$b$c. . . . . .

Z5 $a$b$c

Z5 $a$b$c

Z1 $a$b$c

Z1 $a$b$c

Z2 $$$b$c

Z2 $$$b$c

Z1start Z2 Z3 Z4

Z5

Z6

$/$,R

a/$,R

a/a,R$/$,R

b/$,R

b/b,R$/$,R

c/$,R

c/c,R

/,L

a/a,Lb/b,L

c/c,L$/$,L

/,R/,S

Z3 $$$$$c

Z3 $$$$$c

Z4 $$$$$$

Z5 $$$$$$

Z5 $$$$$$. . . . . .

Z5 $$$$$$

Z5 $$$$$$

Z1 $$$$$$

Z1 $$$$$$. . . . . .

Z1 $$$$$$

Z1 $$$$$$

Z6 $$$$$$

Endzustand⇒ aabbcc ∈ L

Page 189: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 187

Turingmaschine — Beispiel 2, Auflösung

Z1 aabcc

Z2 $abcc

Z2 $abcc

Z3 $a$cc

Z4 $a$$c

Z4 $a$$c

Z5 $a$$c

Z5 $a$$c. . . . . .

Z5 $a$$c

Z5 $a$$c

Z1 $a$$c

Z1 $a$$c

Z2 $$$$c

Z2 $$$$c

Z2 $$$$c

Z1start Z2 Z3 Z4

Z5

Z6

$/$,R

a/$,R

a/a,R$/$,R

b/$,R

b/b,R$/$,R

c/$,R

c/c,R

/,L

a/a,Lb/b,L

c/c,L$/$,L

/,R/,S

kein weiterer Übergang möglich→ TM terminiert in einem Nicht-Endzustand

Page 190: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen 188

TM vs. Sprachen

Definition. Eine TM die nur die durch die Eingabe belegtenZellen benutzt (+ Grenzüberprüfung um nichthinauszulaufen), bezeichnet man als Linear BeschränkterAutomat (Linear Bounded Automaton, LBA).

Determinismus?→ Es gibt wieder DLBA und NDLBA.

Beobachtung. Unser voriger Automat war ein (D)LBA.

Theorem. (ohne Beweis)Typ-0 Sprachen = Sprachen, für die es eine DTM gibt

= Sprachen, für die es eine NDTM gibt.

Typ-1 Sprachen = Sprachen, für die es einen NDLBA gibt.

Offenes Problem. Typ-1 Sprachen = DLBA?

Page 191: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Formale Sprachen: Zusammenstellungwichtiger Eigenschaften

Page 192: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Formale Sprachen: Zusammenstellung wichtiger Eigenschaften 190

Kodierung von Sprachen

Sprache Maschine Beschreibung

Typ 0 Rekursiv aufzählbar (N)DTM Typ-0 Grammatik

Typ 1 Kontextsensitiv NDLBA kontextsens. Gramm.

Typ 2 Kontextfrei (KF) NDKA kontextfreie Gramm.

Deterministisch KF DKA LR(k)-Grammatik

Typ 3 Regulär (N)DEAReguläre GrammatikRegulärer Ausdruck

Page 193: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Formale Sprachen: Zusammenstellung wichtiger Eigenschaften 191

Abschlusseigenschaften

Sprache L1 ∩ L2 L1 ∪ L2 L1 L1 L2 L1∗

Typ 0 3 3 7 3 3

Typ 1 3 3 3 3 3

Typ 2 7 3 7 3 3

DKF 7 7 3 7 7

Typ 3 3 3 3 3 3

Page 194: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Formale Sprachen: Zusammenstellung wichtiger Eigenschaften 192

Entscheidbar

Können die folgenden Probleme überhaupt algorithmischgelöst werden? (vrgl. nächster Abschnitt)

Sprache w?∈ L

(G)

L(G)

?=∅

L(G1)?=L(G2)

L(G1)∩ L

(G2)?=∅

Typ 0 7 7 7 7

Typ 1 3 7 7 7

Typ 2 3 3 7 7

DKF 3 3 3 7

Typ 3 3 3 3 3

Page 195: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Turingmaschinen, reloaded

Page 196: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen, reloaded 194

Turingmaschinen können mehr!Man kann mit einer (deterministischen) TM nicht nurWortprobleme lösen, sondern auch direkt Berechnungendurchführen!

I Vor der Berechnung: Eingabe am Band,SL-Kopf am ersten (linkesten) Zeichen der Eingabe

I Bei Terminierung: Ergebnis am Band,SL-Kopf am ersten (linkesten) Zeichen des Ergebnisses

Kodierung von Zahlen.

I Am einfachsten (aber ineffizientesten) ist es, Zahlen unärzu kodieren: Eine Zahl wird durch die entsprechendeAnzahl von as dargestellt: 3 = aaa,7 = aaaaaaa, ....

I Natürlich kann eine TM Zahlen auch binär kodieren(allgemein: zu einer beliebigen Basis)!

I Einzelne Zahlen werden durch ein Trennsymbol(z.B. , ,#, . . .) von einander getrennt.

Page 197: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen, reloaded 195

Rechenbeispiel (Unäre Kodierung)

Gegeben zwei unär kodierte Zahlen α und β mit α ≥ β,getrennt durch . Berechne α− β.

Z1

start

Z2

Z3Z4Z5

Z6

Z7 Z8

a/a,R

/,R

a/a,R

/,L

a/,L

a/a,L

/,L

a/a,L

/,R

a/,R

/,L

a/a,L/,R

Page 198: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen, reloaded 196

Rechenbeispiel (Binäre Kodierung)

Gegeben eine binär kodierte Zahl α (Σ = 0,1).Berechne α + 1.

Z1start Z2 Z3

Z4

0/0,R1/1,R

/,L 0/1,L

/1,S

1/0,L0/0,L1/1,L

/,R

Endzustände müssen nicht markiert werden! Sie haben keine Bedeutung!Wir werden die Markierung in Unterkapitel Berechenbarkeit jedoch gernenutzen, um diese Knoten beim „Zusammenkleben“ zu referenzieren.

Page 199: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen, reloaded 197

Eigenschaften der Turingmaschine

I Man kann TMn (z.B. um Berechnungen einfacherbeschreiben zu können), auch mit mehreren SL-Köpfen,mehreren Speicherbändern, mehr-dimensionalenSpeicherfeldern, zusätzlichen Stacks, etc. ausstatten.

I Aber: Alles was diese erweiterten Turingmaschinenberechnen können, kann man auch mit einer „normalen“Turingmaschine berechnen!(Interessant: die Laufzeitkomplexität nimmt dabei i.A. garnicht besonders stark zu, sondern z.B. nur quadratisch)

I Insbesondere gilt sogar:Eine Turingmaschine kann alles berechnen, was ein„normaler“ Computer berechnen kann!

→ Wir kommen später noch detaillierter darauf zurück.

Page 200: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen, reloaded 198

Universelle TuringmaschineBeobachtung. In einer TM gilt die Aufteilung (vrgl.von-Neumann Maschinen):

I Der EA kodiert das Programm

I Das Band kodiert den (Arbeits)speicher

Nachteil. Für jede Aufgabenstellung benötigt man eine„neue“ TM, da man einen speziellen EA benötigt.

Universelle Turingmaschine (≈ CPU).

I Man kann das Programm (den EA) als Zeichenfolgekodieren und als Eingabe auf das Band schreiben!

I Initial stehen am Band also das Programm, einTrennsymbol und die eigentliche Eingabe.

I Der (immer gleiche) EA der universellen TM istprogrammunabhängig (→ CPU), und arbeitet die Eingabeauf Basis der im Programm kodierten Steuerbefehle ab.

Page 201: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Turingmaschinen, reloaded 199

Universelle Turingmaschine – EA Kodierung

Kodiere (D)TM für eine (D)UTM:I Nummeriere alle α Zustände Z1, . . . ,Zα, so dassZ1 = Zstart und die letzten β Zustände Endzustände sind.

I Nummeriere alle γ Symbole→ a1, ..., aγI Insgesamt δ viele Übergänge U1, ...,Uδ. Tupel (i, j, k, `,d)

beschreibt Übergang Zi → Zj mit Beschriftung „ak/a`, 〈d〉“,wobei d ∈ 0,1,2 die Bewegungsrichtungen kodiert.

I Sei B(n) die Binärdarstellung einer Zahl n, also z.B.n = 5→ B(n) = 101. Sei ein Trennsymbol.

I Repräsentiere einen Übergang U = (i, j, k, `,d) durch dasWort W(U) := B(i)B(j)B(k)B(`)B(d).

I Repräsentiere TuringmaschineM durch das WortW(M) := B(α)B(β)B(γ)B(δ)W(U1) . . . W(Uδ)

I Reine Binärbeschreibung durch 0→ 10,1→ 11, → 00.Jede TM wird durch eine eindeutige Zahl beschrieben

→ „Gödelisierung“

Page 202: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Berechenbarkeit

Page 203: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 201

Berechenbarkeit?

Was kann ein Computer überhaupt prinzipiellberechnen, und wo liegen seine Grenzen?

Definition.Eine (totale) Funktion f : Nk → N heißt berechenbar fallsirgendeine endliche algorithmische Beschreibungexistiert, die für jedes X ∈ Nk den Wert f(X) berechnet.

Eine partielle Funktion g : Def→ N, mit Def ⊆ Nk, heißtberechenbar falls irgendeine endliche algorithmischeBeschreibung existiert, die für jedes X ∈ Def den Wert g(X)

berechnet und für jedes X ∈ Nk \ Def nicht terminiert.

(Gleichbedeutend: g : Nk → N ∪ undef)

Warum sollte eine Funktion nicht berechenbar sein?

Page 204: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 202

Natürliche Zahlen

Die Beschränkung auf Zahlen aus N stellt keine fachlicheEinschränkung dar!

I Ein digitaler Computer kann nur in diskreten Quantitätenrechnen→ N,Z.

I Rationale (fraktionale) Zahlen Q können immer als Bruchzweier ganzer Zahlen dargestellt werden

I Irrationale Zahlen R (z.B. π, e) werden in Computernimmer nur angenähert (oder implizit) gespeichert.(Selbst hypothetisch kann ein Computer nur abzählbarunendlich viele Speicherzellen haben, also kein beliebigesElement einer überabzählbaren Menge darstellen.)

Page 205: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 203

Berechenbarkeit, Beispiele (1)

Sind die folgenden Funktionen berechenbar?

I f(a,b) =

a2 falls a > 5

a + b sonstBerechenbar!if(a>5) return a*a; else return a+b;

I f(a) = undef für alle aBerechenbar! while(true) ;

I f(a) =

1 falls a Anfang der

Dezimalbruchentwicklung von π ist.

0 sonst

(Beispiele: f(3) = 1, f(314) = 1, f(314159) = 1, f(4) = 0)Berechenbar! Es gibt einen Algorithmus der die ersten(beliebig vielen) Stellen von π berechnen kann.

Page 206: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 204

Berechenbarkeit, Beispiele (2)

Sind die folgenden Funktionen berechenbar?

I f(a) =

1 falls a Teil der

Dezimalbruchentwicklung von π ist.

0 sonstMan weiß derzeit zu wenig über π um zu entscheiden, obberechenbar oder nicht!

I f(a) =

1 falls Ziffer “0” a-mal hintereinander in der

Dezimalbruchentwickl. von π vorkommt.

0 sonstBerechenbar! Man weiß derzeit nicht, ob beliebig lange0-er Folgen vorkommen.Angenommen 0-er Folgen können beliebig lang sein,dann gilt f(a) = 1 ∀a, berechenbar.Angenommen die längste 0-er Folge hat Länge n0, danngilt f(a) = 1 (∀a ≤ n0), f(a) = 0 (∀a > n0), berechenbar.

Page 207: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 205

Church’sche These

Die informelle Definition von Berechenbarkeit ist formalnicht zu fassen.

Berechenbarkeiten. Wir werden verschiedene, stetsäquivalente, formale Berechenbarkeiten kennenlernen:

Berechenbarkeit = berechenbar durch

Turing-berechenbar TuringmaschineWHILE-berechenbar WHILE-ProgrammGOTO-berechenbar GOTO-Programmµ-rekursiv-berechenbar µ-rekursive Funktionen

Church’sche These(Alonzo Church, Doktorvater von Alan Turing)Die Turing-berechenbaren, WHILE-berechenbaren,GOTO-berechenbaren und µ-rekursiv-berechenbar Funktionensind genau die intuitiv berechenbaren Funktionen.

Page 208: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 206

Turing-berechenbar

Definition.Eine eventuell partielle Funktion f : Def→ N, mit Def ⊆ Nk,heißt Turing-berechenbar, wenn eine (D)TMM existiert, sodass für jedes (x1, x2, . . . , xk) ∈ Nk:

I M mit Eingabe B(x1)B(x2) . . . B(xk) terminiert mitAusgabe B(y),genau dann wenn(x1, x2, . . . , xk) ∈ Def und f(x1, x2, . . . , xk) = y.

I M mit Eingabe B(x1)B(x2) . . . B(xk) terminiert nicht,genau dann wenn(x1, x2, . . . , xk) 6∈ Def (also f(x1, x2, . . . , xk) = undef).

Page 209: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 207

Mehrband-Turingmaschine

Eine Mehrband-TuringmaschineM ist eine TM die k vieleBänder besitzt (k > 1 und endlich). Jedes Band hat eineneigenen, unabhängigen SL-Kopf. Bei jedem Zustandsübergangim EA kann jeder SL-Kopf lesen/schreiben/sich-bewegen.

Theorem.Für jede Mehrband-TMM existiert auch eine normale(1-Band) TMM′ die die selbe Funktion berechnet.

M: b c a b b

a a d d a

c d c c a

M′: b c a b b

→ → → ⇑ ←

a a d d a

→ ⇑ ← ← ←

c d c c a

→ → ⇑ ← ←

ΓM′ = (ΓM × →,⇑,←)k

Page 210: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 208

Mehrband-TM → Programmiersprache, 1/3

Wir betrachten nun immer eine Mehrband-TMM mit„ausreichend vielen“ Bändern.

I Wir können jede 1-Band TM auf einem der Bänder vonMablaufen lassen, ohne die anderen Bänder zu ändern.

I Wir benutzen jedes Band vonM als eine Variable, diegenau einen Wert gespeichert hat.→ V(i) bezeichnet den am i-ten Band gespeicherten Wert.

I Wie haben schon eine TM gesehen, die B(α) + B(1)

berechnet. Eine derartige TM können wir auf jedembeliebigen Band vonM laufen lassen.→ Wir können also die Anweisung V(i) := V(i) + 1auszuführen.

I Analog können wir TMn für V(i) := V(i)− 1, V(i) := 0,V(i) := V(j) erstellen.

Page 211: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 209

Mehrband-TM → Programmiersprache, 2/3

I VerkettungWir können zwei TMnM1,M2 hintereinander schalten:

Blindübergang = Zustandwechsel für jedes bisher andieser Stelle nicht akzeptierte Symbol (vrgl. Falle).Ausgangszustand ist kein Endzustand mehr.Speicherband und SL-Kopf bleiben unverändert.

Vereinige die EAn und füge Blindübergänge von jedemEndzustand vonM1 zum Startzustand vonM2 hinzu.→ Wir schreiben A1;A2, wobei A1 und A2 die durch dieTMn kodierten Anweisungen sind.

I Addition (etc.) von KonstantenWir können Additionen V(i) := V(i) + c erzeugen, durchV(i) := V(i) + 1 ; V(i) := V(i) + 1 ; . . . ; V(i) := V(i) + 1︸ ︷︷ ︸

c mal

,

und analog Subtraktionen und Zuweisungen V(i) := c.

Page 212: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 210

Mehrband-TM → Programmiersprache, 3/3

I Betrachte die spezielle TMMV(i)6=0 die nur am i-ten Bandarbeitet. Falls V(i) 6= 0 terminiert die TM in Zy, sonst in Zn.

Zs

start

Zy Zn1/1,S 0/0,S

Analog kann man weitere Test-TMs konstruieren.

I If-Then-Else→ if(V(i) 6= 0) Athen else Aelse Starte mitMV(i) 6=0. Von dem entspr. Endzustand dannBlindübergang zum Start der TMnMthen bzw.Melse.

I While→ while(V(i) 6= 0) Abody Starte mitMV(i) 6=0. Blindübergang von Zy zum Start einerTMMbody, und vonMbodys Endzuständen nach Zs.

I Beliebige Addition, etc.→ V(i) := V(j) + V(k)

V(i) := V(j); V(`) := V(k); // neues Band `while(V(`) 6= 0) V(`) := V(`)− 1; V(i) := V(i) + 1

Page 213: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 211

WHILE-ProgrammeWHILE-Programmiersprache:

Variablen ∈ N x1, x2, . . .

Konstanten c aus N 0,1,2,3, . . .Zuweisung, Addition, Subtraktion xi := c, xi := xj ± cVerkettung ;While-Schleife while(xi 6= 0) . . . Bedingtes Ausführen if(. . . ) . . . else . . .

Beobachtung: if-Konstrukte ließen sich auch durchHilfsvariablen und While-Schleifen simulieren.

Beispiel: Berechne x2 := 5 · x1.

x2 := 0; x3 := x1; while(x3 6= 0) x2 := x2 + 5; x3 := x3 − 1

Wir haben gerade gesehen:

Theorem.Eine TM kann jedes beliebige WHILE-Programm simulieren.

Page 214: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 212

GOTO-Programme

GOTO-Programmiersprache: Endliche AbfolgeL1: A1; L2: A2; . . . ; halt

von Paaren aus Labeln Li und Anweisungen (Ai).Wir verzichten auf Labels, die nie angesprungen werden.

Anweisungen: (mit Variablen xi ∈ N & Konstanten c ∈ N)

Zuweisung xi := c, xi := xj ± cUnbedingter Sprung goto LiBedingter Sprung if(Vergleich) goto LiStopanweisung halt

Beispiel: Setze x2 := x1 falls x1 < 7, und x2 := 2 · x1 sonst.

x2 := x1; if(x1 < 7) goto L2;x3 := x1; L1: x2 := x2 + 1; x3 := x3 − 1; if(x3 6= 0) goto L1;L2: halt

Page 215: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 213

WHILE vs. GOTO

Lemma. WHILE-Programme können durch GOTO-Programmesimuliert werden.

while(xi 6= 0) A ⇒ goto L2; L1: A; L2: if(xi 6= 0) goto L1;

Lemma. GOTO-Programme können durch WHILE-Programme(mit einer einzigen While-Schleife!) simuliert werden.

L1: A1;L2: A2;L3: A3;L4: A4;L5: A5;. . .L`: A`;

Ai A′ixi := . . . xi := . . .;

xpos := xpos + 1goto Li xpos := iif(B) goto Li if(B) xpos := i

else xpos := xpos + 1

halt xpos := 0

xpos := 1;while(xpos 6= 0) if(xpos = 1) A′1 if(xpos = 2) A′2 . . .if(xpos = `) A′`

Page 216: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 214

Berechenbarkeit

Wir haben gesehen:

I Eine Turingmaschine kann WHILE-Programme simulieren.

I Ein GOTO-Programm kann WHILE-Programme simulieren.

I Ein WHILE-Programm kann GOTO-Programme simulieren.

Daher bis jetzt: Turingmaschinen könnten mächtiger sein,als WHILE/GOTO-Programme.

Es gilt aber auch (ohne Beweis):

I GOTO-Programme können Turingmaschinen simulieren.

Daher gilt:

Theorem. Turing-Berechenbarkeit, WHILE-Berechenbarkeitund GOTO-Berechenbarkeit sind das selbe.

Page 217: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 215

Höhere Programmiersprachen

I Sowohl die WHILE- als auch GOTO-Programmiersprachesind (syntaktisch!) sehr reduziert.Wir benötigen nicht einmal if in WHILE!

I Jedes weitere Konstrukt aus höheren algorithmischen(=imperativen bzw. funktionalen) Programmiersprachenlässt sich jedoch (aus Sicht der Berechenbarkeit) mitdiesen wenigen Mitteln ausdrücken!

I Variablennamen, Objekte, etc. sind nur „angenehmere“Namen für Variablen(menge) x1, x2, . . ..

I for-schleifen, do-while-Schleifen, Funktionsaufrufe, etc.lassen sich sehr einfach mit goto simulieren.

I Fließkomma-Zahlen lassen sich simulieren,...

⇒ Statt immer mit einer Turingmaschine zu arbeiten, könnenwir auch eine beliebige (algorithmische) Programmiersprachebenutzen: C, Java, Pascal, Python, „Pseudocode“,...

Page 218: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 216

Turing-vollständig

Definition. Eine Maschine oder Programmiersprache istTuring-vollständig, wenn sie eine TM simulieren kann.

I Eine Turing-vollständige Maschine/Programmierspracheist also (mindestens) so mächtig wie eine TM.

I Nach Church’scher These ist Turing-Berechenbarkeit dasselbe wie allgemeine/intuitive Berechenbarkeit.

I Alle bekannten realen Turing-vollständigen Systeme sindTuring-äquivalent, d.h. genauso mächtig wie TMn.

Reale Computer sind formal nicht Turing-vollständig, dasie nur beschränkten Speicher haben!

→ Dennoch: Wir bezeichnen eine reale Maschine bzw.Programmiersprache als Turing-vollständig, wenn sie TMnsimulieren könnte wenn sie unbeschränkten Speicher hätte.

Page 219: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 217

LOOP und Ackermann, 1/4

1920er Jahre: Heutige Definition von Berechenbarkeit nochunbekannt. Man betrachtete Berechenbarkeit von totalenFunktionen (also kein undef = Endlosschleife).

LOOP-Programme: Wie WHILE-Programme, aber stattwhile-Schleifen nur for-Schleifen: „loop(xi) A “⇒ A wirdxi-mal ausgeführt; xi wird dazu beim ersten Ablaufenausgelesen; Änderungen von xi innerhalb von A ändern nichtsan der Iterationszahl.

(Falsche) Vermutung: (u.A. von David Hilbert) Alleberechenbaren Funktionen sind „primitiv-rekursiv“, d.h.lassen sich als LOOP-Programm schreiben.

Widerlegung: (Wilhelm Ackermann, 1928) (1) Zeige, dassZahlenwerte in LOOP-Programmen nicht beliebig schnellwachsen können. (2) Definiere (totale) berechenbareFunktion (Ackermann-Funktion) die schneller wächst.

Page 220: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 218

LOOP und Ackermann, 2/4

Vereinfachte (einstellige) Ackermannfunktion:

A(0) := 0 = 0

A(1) := 1 1 1 = 1 + 1 = 2

A(2) := 2 2 2 = 2× 2 = 2 + 2 = 4

A(3) := 3 3 3 = 3 ↑ 3 = 33 = 3× 3× 3 = 27

A(4) := 4 4 4 = 4 ↑↑ 4 = 4444

≥ 1010153

A(5) := 5 5 5 = 5 ↑↑↑ 5 = 5 ↑↑ 5 ↑↑ 5 ↑↑ 5 ↑↑ 5 ≥ urgh...

...

A(n) := n n n = n ↑n−2 n = n ↑n−3 n ↑n−3 . . . ↑n−3 n︸ ︷︷ ︸n mal

=

= n n−1 n n−1 . . . n−1 n︸ ︷︷ ︸n mal

Page 221: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 219

LOOP und Ackermann, 3/4

Ackermannfunktion als Pseudocode:

int ackermann(int n) if (n ≤ 2) return 2n; // 0,1 + 1,2× 2return ack(n,n,n); // n ≥ 3 : n n n

int ack(int a, int b, int i) // a i b⇒if (i == 2) return a × b; // a 2 b⇒ a× bif (b == 2) return ack(a, a, i−1); // a i 2⇒ a i−1 areturn ack(a, ack(a,b−1,i), i−1); //⇒ a i−1 (a i (b− 1))

∃ algorithmische Beschreibung⇒ berechenbarDieser Code lässt sich nicht als LOOP-Programm schreiben. Erlässt sich jedoch als WHILE- bzw. GOTO-Programm schreiben.

Page 222: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Berechenbarkeit 220

LOOP und Ackermann, 4/4

Wozu sind Ackermann- und ähnlich schnellwachsendeFunktionen gut?

I Ursprüngl.: LOOP- schwächer als WHILE-Berechenbarkeit.

I Laufzeit der Union-Find Datenstruktur beim MinimalenSpannbaum nach Kruskal: O(|E| · α(|V|)), wobei α dieinverse Ackermannfunktion ist.

I Ramsey-Theory: Was ist die kleinste Dimension n, so dassein n-dimensionalen Würfel eine bestimmte Eigenschaft(Details nun irrelevant) hat.Graham’s number (Guinness Book of World Records):n ≤ F64(4) = F(F(F(. . . F(F(4)) . . .))), mit F(x) := 3 ↑x 3⇒ 1971: 6 ≤ n ≤ f7(12), mit f(x) := 2 ↑x 3⇒ derzeit: 13 ≤ n ≤ ((((((((

2 ↑↑ 2 ↑↑ 2 ↑↑ 9 2 ↑↑↑ 6 (Nov. 2014)

Page 223: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Entscheidbarkeit und Halteproblem

Page 224: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 222

Entscheidbarkeit

(nochmals)

Berechenbarkeit war für Funktionen definiert.Uns interessieren i.A. allerdings „Probleme“ (z.B. Gilt eineFormel? Wie verläuft ein kürzester Weg?. . . ).

Definition. Sei L ⊆ Σ∗ eine Sprache und χL, χ′L : Σ∗ → 0,1die charakteristische Funktion, bzw. ihre „positive Hälfte“:

χL(w) =

1,0,

χ′L(w) =

1,0 oder undef,

falls w ∈ Lfalls w 6∈ L

L ist entscheidbar, falls χL berechenbar ist.L ist semi-entscheidbar, falls χ′L berechenbar ist.

Entscheidungsproblem.(engl. decision problem, Entscheidungsproblem)Gegeben L ⊆ Σ∗. Ist L entscheidbar?

Page 225: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 223

Intermezzo: Sprachen vs. Probleme, 1/3

Berechenbarkeit war für Funktionen definiert.Uns interessieren i.A. allerdings „Probleme“ (z.B. Gilt eineFormel? Wie verläuft ein kürzester Weg?. . . ).

„Probleme“? Jetzt haben wir schon wieder nur Sprachenbenutzt...

Sprachen sind (Entscheidungs)probleme und umgekehrt!

Beispiel: Formelerfüllbarkeit

Gegeben: logische Formel f := (x1 ∨ x2) ∧ x3 . . . ∧ (x4 ⊕ x3).Frage: Gibt es eine Variablenbelegung, sodass f = true?

⇐⇒Sei L ⊆ ∧,∨,⊕,→,↔, (, ), x, 1, 2, . . .∗ die Sprache aller

erfüllbaren Formeln. Ist f ∈ L?

Page 226: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 224

Intermezzo: Sprachen vs. Probleme, 2/3

Beispiel: Zusammenhang von Graphen

Gegeben: ein Graph G. Frage: Ist G zusammenhängend?⇐⇒

Sei Σ ein Alphabet mit dem wir Graphen kodieren können.Sei L′ ⊆ Σ∗ eine Sprache (Methode) Graphen zu kodieren.Sei L ⊆ L′ ⊆ Σ∗ eine Sprache, in der die kodierten Graphen

zusammenhängend sind.Sei w(G) ∈ L′ der gemäß L′ kodierte Graph. Ist w(G) ∈ L?

Beobachtungen

I Die erste Schreibweise („Gegeben-Frage“) ist einfacher.

I Die genaue Kodierung des Graphs (z.B. alsAdjazenzmatrix, etc.) ist irrelevant!

Page 227: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 225

Intermezzo: Sprachen vs. Probleme, 3/3

I „Das Entscheidungsproblem“ ist, ob das Wortproblem füreine gegebene Sprache entscheidbar ist.

I Das Wortproblem für eine gegebene Sprache ist einEntscheidungsproblem.

I Entscheidungsprobleme sind Fragestellungen die nur mitJA oder NEIN beantwortet werden können.

I Jedes beliebige Entscheidungsproblem lässt sich in einWortproblem über eine geeignete Sprache umwandeln.

I Sprachen = Probleme

I Sei L eine Sprache/ein Problem.Das Komplement L von L ist das Co-Problem.Eine JA-Instanz für L ist eine NEIN-Instanz für L undumgekehrt, denn: w ∈ L⇐⇒ w 6∈ L

Page 228: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 226

Entscheidbarkeit (nochmals)

Berechenbarkeit war für Funktionen definiert.Uns interessieren i.A. allerdings „Probleme“ (z.B. Gilt eineFormel? Wie verläuft ein kürzester Weg?. . . ).

Definition. Sei L ⊆ Σ∗ eine Sprache und χL, χ′L : Σ∗ → 0,1die charakteristische Funktion, bzw. ihre „positive Hälfte“:

χL(w) =

1,0,

χ′L(w) =

1,0 oder undef,

falls w ∈ Lfalls w 6∈ L

L ist entscheidbar, falls χL berechenbar ist.L ist semi-entscheidbar, falls χ′L berechenbar ist.

Entscheidungsproblem.(engl. decision problem, Entscheidungsproblem)Gegeben L ⊆ Σ∗. Ist L entscheidbar?

Page 229: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 226

Entscheidbarkeit (nochmals)

Berechenbarkeit war für Funktionen definiert.Uns interessieren i.A. allerdings „Probleme“ (z.B. Gilt eineFormel? Wie verläuft ein kürzester Weg?. . . ).

Definition. Sei L ⊆ Σ∗ eine Sprache und χL, χ′L : Σ∗ → 0,1die charakteristische Funktion, bzw. ihre „positive Hälfte“:

χL(w) =

1,0,

χ′L(w) =

1,0 oder undef,

falls w ∈ Lfalls w 6∈ L

L ist entscheidbar, falls χL berechenbar ist.L ist semi-entscheidbar, falls χ′L berechenbar ist.

Entscheidungsproblem.(engl. decision problem, Entscheidungsproblem)Gegeben L ⊆ Σ∗. Ist L entscheidbar?

Achtung: Eine Sprache, die nicht entscheidbar ist, istunentscheidbar. Sie kann dennoch gleichzeitig auchsemi-entscheidbar sein!

Page 230: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 227

Entscheidbarkeit vs. Semi-Entscheidbarkeit

Theorem. Eine Sprache L ist entscheidbar ⇐⇒L und L (das Komplement von L) sind semi-entscheidbar.

Beweis.L entscheidbar⇒ L und L semi-entscheidbar: trivial, X.

L und L semi-entscheidbar⇒ L entscheidbar:

I Seien M, M Semi-Entscheidungsalgorithmen für L, L(gegeben als Turingmaschinen).

I Mi(x) bzw. Mi(x) führt die ersten i Schritte des jeweiligenAlgorithmus’ für Eingabe x aus.

I Der folgende Algorithmus entscheidet L für Eingabe x:

for(i := 1,2,3, . . .) if(Mi(x) stoppt mit 1) return 1;if(Mi(x) stoppt mit 1) return 0;

Page 231: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 228

Co-semi-entscheidbar und unentscheidbarw ∈ L w 6∈ L

Charakt. Funktion χL(w) 1 0„Positive Hälfte“ χ′L(w) 1 0 oder undef

„Negative Hälfte“ χ′′L (w) 1 oder undef 0

L ist entscheidbar ⇐⇒ χL(w) berechenbar

L ist semi-entscheidbar ⇐⇒ χ′L(w) berechenbar

L ist co-semi-entscheidbar ⇐⇒ χ′′L (w) berechenbar

L ist unentscheidbar ⇐⇒ χL(w) nicht berechenbar

L ist gar nicht entscheidbar ⇐⇒ weder χ′L(w) noch χ′′L (w)

berechenbar

Menge aller Entscheidungsprobleme︷ ︸︸ ︷semi- &

co-semi-entsch.semi-entscheidbar

gar nicht entsch.co-semi-entscheidbar︸ ︷︷ ︸

entscheidbar︸ ︷︷ ︸

unentscheidbar

Page 232: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 229

Rekursiv aufzählbar

Achtung: rekursiv hat hier nichts mit Rekursionen vonProgrammiersprachen zu tun. . .

Definition. Eine Sprache L ist rekursiv aufzählbar, fallseine aufzählende Funktion f : N→ Σ∗ existiert, so dassL = f(0), f(1), f(2), . . . (oder L = ∅).(Anmerkung: f(i) = f(j) für i 6= j ist zulässig!)

Theorem.L ist rekursiv aufzählbar ⇐⇒ L ist semi-entscheidbar.

Beweis. ⇒: Semi-Entscheidungsalgorithmus für „w ∈ L?“:

for(i := 0,1,2, . . .)if(f(i) = w) return 1;

⇐: Details nicht prüfungsrelevant

Page 233: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 230

Halteproblem

Halteproblem.Gegeben: Ein Programm P (WHILE, GOTO, TM, Pseudocode,etc.) und eine Eingabe x.Frage: Hält (=terminiert) P(x)?

Oder gerät das Programm in eine Endlosschleife?

Spezielles Halteproblem. (Spezialfall des Halteproblems)Gegeben: Ein Programm P und eine Eingabe x = P.Frage: Hält P(P)?

Page 234: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 231

Unentscheidbarkeit des Halteproblems, 1/2

Theorem.Das spezielle Halteproblem (und damit auch dasHalteproblem) ist unentscheidbar.

Beweis. Angenommen, das spezielle Halteproblem wäreentscheidbar mittels eines Algorithmus’ A, d.h.

A(P) =

1, falls P(P) hält

0, falls P(P) hält nicht.

Erzeuge neuen Algorithmus B:

B(P) :=L1: if(A(P) = 1) goto L1;return 1;

Das heißt:Falls A(P) sagt, dass P(P) hält, dann hält B(P) nicht.Falls A(P) sagt, dass P(P) nicht hält, dann hält B(P).

Page 235: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 232

Unentscheidbarkeit des Halteproblems, 2/2

A(P) =

1, falls P(P) hält

0, falls P(P) hält nicht.

B(P) :=L1: if(A(P) = 1) goto L1;return 1;

=

undef, falls P(P) hält

1, falls P(P) hält nicht

Was passiert, wenn man B mit Eingabe P = B aufruft, alsoB(B) berechnet?

I Angenommen B(B) = 1 (also B hält):Dann hält (nach Def. von B) B(B) nicht.→ Widerspruch.

I Angenommen B(B) = undef (also B hält nicht):Dann hält (nach Def. von B) B(B).→ Widerspruch.

Also: Der Entscheidungsalgorithmus A für das Halteproblemkann nicht existieren, da seine Existenz zu einemWiderspruch führen würde.

Page 236: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 233

Unentscheidbarkeit des Wortproblems

Wortproblem. (Wiederholung) Gegeben eine akzeptierendeTM M und ein Wort w. Wird w von M akzeptiert?

Theorem. Das Wortproblem ist unentscheidbar.

Beweis. Betrachte beliebiges Wort w. Angenommen, dasWortproblem wäre entscheidbar mittels Algorithmus A, d. h.A(M) = 1, falls M das Wort w akzeptiert, und A(M) = 0 sonst.Erzeuge neuen Algorithmus B: (Eingabe: TM N)

B(N) :=TM N′ :=

führe N(N) aus; //ignoriere jegliches wakzeptiere (also vorher keine∞-Schleife)

return A(N′)

Also: A(N′) = 1 ⇐⇒ N′ akzeptiert w ⇐⇒ N(N) terminiert.B(N) entscheidet also das spezielle Halteproblem.Widerspruch!

Page 237: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 234

Satz von Rice

Tatsächlich ist nicht nur das Halteproblem und dasWortproblem unentscheidbar, sondern jedes nicht-trivialefunktionale Verhalten:

Satz von Rice. (1953; Henry Gordon Rice, 1920–2003)Sei R die Menge aller berechenbaren Funktionen, und S ( Reine beliebige echte und nicht-leere Teilmenge davon.Es ist unentscheidbar, ob ein gegebenes Programm eineFunktion aus S berechnet.

Ohne Beweis.

Page 238: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Entscheidbarkeit und Halteproblem 235

Aber nicht vergessen...

Theorem.Das Halte- und Wortproblem sind semi-entscheidbar.

Beweis (trivial!). Lasse die Turingmaschine M auf wablaufen. M terminiert (bzw. akzeptiert) gdw. die Frage desHalteproblems (bzw. Wortproblems) mit „Ja“ beantwortetwerden kann.

Also nochmals: Semi-Entscheidbarkeit undUnentscheidbarkeit sind kein Widerspruch!

Page 239: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen &Berechenbarkeit

Weitere unentscheidbare Probleme

Page 240: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 237

Post’sches Korrespondenzproblem (PCP)(Emil Leon Post, 1897–1954; 1947)

Gegeben: Endliche Menge (xi, yi)i=1,...,k von 2-Tupeln ausΣ+ ×Σ+ (mit |Σ| ≥ 2).

Frage: Gibt es eine endliche Folge von Indizes i1, i2, . . . , inmit n ≥ 1 und

xi1xi2xi3 . . . xin = yi1yi2yi3 . . . yin?

Achtung: Es darf n > k sein. Man kann das selbe Tupel alsomehrmals benutzen!

Beispiel. 2-Tupel als „Domino-Stein“:xiyi

Gegeben (Σ = 0,1) Mögliche Lösung

0

1 ,

00

11 ,

01

0 ,

1

110 ,

10

0

01

0

1

110

0

1

10

0=

011010

011010

0

1 ,

001

11 ,

01

10keine Lösung möglich

Page 241: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 238

PCP, Böses Beispiel

Gegebene Menge:001

0 ,

01

011 ,

01

101 ,

10

001

Kürzeste Lösung enthält 66 Dominosteine!01

011

10

001

01

101

10

001

10

001

01

011

001

0

01

011

10

001

01

101

10

001

01

101

10

001

10

001

01

101

10

001

10

001

01

011

001

0

10

001

10

001

01

011

001

0

01

101

10

001

001

0

001

0

01

101

10

001

10

001

10

001

01

011

001

0

01

011

001

0

001

0

001

0

01

101

10

001

01

101

10

001

001

0

01

011

001

0

10

001

10

001

01

011

001

0

10

001

001

0

001

0

01

101

10

001

001

0

001

0

01

101

001

0

001

0

01

101

001

0

01

011

001

0

10

001

001

0

001

0

01

101

Page 242: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 239

Semi-entscheidbarkeit von PCP

Theorem. PCP ist semi-entscheidbar.

Beweis.Für immer größer werdende Werte von n, teste jede Auswahlund Reihenfolge von n Indizes.

for n := 1,2,3, . . .:for all (i1, . . . , in) ∈ 1, . . . , kn:

if xi1 . . . xin = yi1 . . . yin: return 1

Wir wollen nun aber zeigen:

Theorem. PCP ist unentscheidbar.

Dazu müssen wir ein bisschen ausholen...

Page 243: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 240

Modifiziertes PCP

Definition. Das modifizierte PCP (=MPCP) fragt, ob eseine PCP-Lösung mit i1 = 1 gibt, d.h. man muss mit demersten Tupel anfangen.

Theorem. MPCP ist ein Spezialfall von PCP.

Beweis – durch Reduktion von MPCP auf PCP.Wir transformieren jede beliebige MPCP-Instanz J mittels einerberechenbaren Funktion f in eine äquivalente PCP-InstanzJ′ = f( J), so dass J erfüllbar ist genau dann wenn J′ erfüllbar ist.

Sei w = a1a2 . . . as ∈ Σ+ und # 6∈ Σ. Wir definierenw := a1#a2# . . .#as# und w := #a1#a2# . . .#as.

J = (x1, y1), (x2, y2), (x3, y3), . . . , (xk, yk)⇒ J′ = (#x1, y1), (x1, y1), (x2, y2), (x3, y3), . . . , (xk, yk), (#,##)

Page 244: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 241

Modifiziertes PCP ist unentscheidbar

Theorem. Das Halteproblem ist ein Spezialfall von MPCP.

Beweisidee – durch Reduktion vom Halteproblem auf MPCP.

Wir simulieren Ablauf einer Turingmaschine mittels MPCP. Kodiere„Konfiguration“ (Zustand im EA, Bandinhalt, SL-Kopf-Position):

a a b b

i-te Konfiguration

ki = a2abb

Z2 Z7

a/c,R a c b b

(i + 1)-te Konfiguration

ki+1 = ac7bb

Startkonfiguration ist k0. Ablauf festlegbar über Einteilung:

Ers

ter

Dom

ino k0 k1 k2 k3 k4 · · ·

k0 k1 k2 k3 k4 · · ·a

a

b

b

c

c

2a

c7· · ·

Problem: Es gibt unendlich viele mögliche Konfigurationen, darfaber nur endlich viele Domino-Steine (xi, yi) geben.Lösungsidee: Dominos, die Bandinhalt symbolweise kopieren,SL-Kopf bewegen, Terminierung beschreiben→ fummelige Details!

Page 245: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 242

Unentscheidbarkeit von PCP

Theorem. PCP ist unentscheidbar.

Beweis – durch Reduktion des Halteproblems auf PCP:

I Das Halteproblem ist ein Spezialfall von MPCP.

I MPCP ist ein Spezialfall vom PCP.

I PCP ist also mindestens so schwer wie MPCP, undMPCP ist mindestens so schwer wie das Halteproblem.

I Da das Halteproblem unentscheidbar ist, sind also auchMPCP und PCP unentscheidbar.

Da das Halteproblem ein Spezialfall vom semi-entscheidbarenPCP ist, sehen wir noch einmal:

Korollar. Das Halteproblem ist semi-entscheidbar.

Page 246: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 243

Reduktion: ein tolles, stets hilfreiches Konzept

I I ′f(I)f : I → I ′

J ∈ I istJA-Instanz

⇔ f( J) ∈ I ′ istJA-Instanz

Was wir gesehen haben, ist eine Reduktion von einemEntscheidungsproblem P auf ein anderes Entsch.problem P ′.Ziel: Zeige, dass P ′ mindestens so schwer ist wie P.

I Finde berechenbare Funktion f : I → I ′ die P-Instanzen inP ′-Instanzen mit gleicher Ja/Nein-Antwort verwandelt.

I Sei A′ ein Algorithmus, der P ′ löst.Löse P-Instanz J mit A( J) := J′ := f( J); return A′( J′);

→ Instanz J für P wird auf eine Instanz J′ für P ′ reduziert.

I P ′ kann alle (mittels f umgewandelten) Instanzen von Plösen, aber ggf. noch mehr

I P ist eingeschränkteres Problem als (= Spezialfall von) P ′

Page 247: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 244

Sprachen

Sei G1,G2 KF Grammatiken und L1, L2 DKF Sprachen.Auf Basis der Tatsache, dass PCP unentscheidbar ist, kannman durch Reduktionen2 zeigen, dass (z.B.) die folgendenFragen unentscheidbar sind:

I L(G1) = L(G2)?

I L(G1) ⊆ L(G2)? L1 ⊆ L2?

I L(G1) ∩ L(G2) = ∅? L1 ∩ L2 = ∅?

I Ist L(G1) ∩ L(G2) KF? Ist L1 ∩ L2 KF?

I Ist G1 mehrdeutig?

I Ist L(G1) KF? Ist L(G1) DKF? Ist L(G1) regulär?

I . . .

2Man verwandelt also eine beliebige PCP-Instanz in entsprechendeGrammatiken/Sprachen, und zeigt, dass die PCP-Instanz lösbar ist, genaudann wenn die Antwort auf die Grammatik-Fragestellung ja lautet.

Page 248: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 245

Busy Beaver (Radó 1962)

n-Busy Beaver = Eine TM M mit n Zuständen und |Γ | = 2die, bei einem anfangs leeren Band, möglichst viele Schritte(=Zustandsübergänge) ausführt und hält.

Wie groß ist S(n), die Anzahl der Schritte eines n-Busy Beaver?

Theorem. S(n) ist nicht-berechenbar! S(n) wächstschneller als jede mögliche berechenbare Funktion!

Beweis. Annahme, S(n) berechenbar oder ∃ berechenbareFunktion S′(n) ≥ S(n). Wir könnten das Halteproblem einer TMmit n Zuständen lösen: Berechne die ersten S(n) bzw. S′(n)

Schritte – wenn noch nicht terminiert, wird die TM nie halten.

Man weiß: S(1) = 1, S(2) = 6, S(3) = 21, S(4) = 107.Ab n ≥ 5 sind die optimalen Lösungen unbekannt! ...

S(5) ≥ 47 176 870, S(6) ≥ 7 · 1036534.

Page 249: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 246

Wang Parkett (Wang 1961)

Gegeben: Eine Menge von möglichen (nicht-rotierbaren)Kachel-Typen:

, , ,Frage: Kann man mittels dieser Kachel-Typen (beliebig vieleKacheln pro Typ) die komplette unendliche Ebene ausfüllen,so dass sich berührende Kanten gleich gefärbt sind?

Anmerkung: Es gibt Instanzen, bei denen nur einenicht-periodische(!) Lösung existiert. Diese Tatsache machtdas Problem unentscheidbar.

Page 250: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 247

Kolmogorov Komplexität (Andrei Nikolaeviq Kolmogorov)

I Auch genannt Beschreibungskomplexität oderAlgorithmischer Informationsgehalt.

I Maß für die Strukturiertheit bzw. Zufälligkeit einerZeichenkette.

I ca. 1963, unabhängig jeweils auch entdeckt vonSolomonov und Chaitin.

I Verwandt zur Informationstheorie von Shannon

I Anwendung in Kompression, etc.

Gegeben: Turing-vollständige Beschreibungssprache(Programmiersprache) P und eine Zeichenkette w.

Gesucht: Kolmogorov Komplexität KP(w)

= Länge der kürzestmöglichen Beschreibung von w mittels P= Länge des kürzestmöglichen P-Programms, das w ausgibt.

Page 251: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 248

Kolmogorov Komplexität, 2/3

Beispiel. w = abcabc . . . abc︸ ︷︷ ︸900 Zeichen

I print ’abcabcabcabcabcabc...abc’ → 908 Zeichen

I for i=1,..,300: print ’abc’ → 27 Zeichen

Beobachtung: KP(w) und KQ(w) für zwei beliebigeTuring-vollständige Programmiersprachen P,Q unterscheidensich nur um eine additive Konstante cP,Q.

Beweis. Da P und Q Turing-vollständig sind, kann man ein(konstant großes) P-Programm schreiben, das als Eingabe einQ-Programm erhält und simuliert.→ Eine gute Beschreibungin Q ergibt also zusammen mit diesem Simulator eine nurkonstant größere Beschreibung in P.

Page 252: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Turingmaschinen & Berechenbarkeit Weitere unentscheidbare Probleme 249

Kolmogorov Komplexität, 3/3

Theorem. KP(w) (für beliebiges Turing-vollständiges P) istnicht berechenbar.

Beweis. Angenommen, KP(w) wird von einem ProgrammK(w) berechnet. Betrachte das Programm:

B(n) :=

for i = 1,2,3, ...:for all strings w with |w| = i:

if K(w) ≥ n: return w

I B(n) liefert das kürzeste Wort mit Komplexität ≥ n.

I B(n) (inkl. K(w)) hat konstante Größe (Programmgröße,Größe der Codedatei,...), sagen wir n0.

I Starte B(n) für ein n > n0 und erhalte w′.w′ hat eine Kolmogorov-Komplexität ≥ n, wird aber durcheine Beschreibung der Länge n0 < n erzeugt→ Widerspruch.

Page 253: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie

Page 254: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

KomplexitätstheorieP vs. NP

Page 255: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 252

Komplexität / Effizienz

Angenommen, wir betrachten ein berechenbares Problem(Kürzester Weg, kürzeste Rundtour, etc.).

Wie schnell können wir eine Lösung finden?(vergleiche Informatik A)

I Obere Schranken durch Algorithmen.„Ich schaffe es auf jeden Fall in der Zeit O(n2)“

I Untere Schranken (meist schwerer zu beweisen).„Es dauert mindestens Ω(n)“

Was bedeuten eigentlich diese Laufzeitschranken?Größenordnung der Anzahl der Rechenschritte.O(n2) = Es existiert eine Konstante c > 0, so dass man beieiner beliebigen Instanz der Größe n (n ausreichend groß)maximal c · n2 Rechenschritte benötigt.

Page 256: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 253

Maschinenmodell

Laufzeitschranken sind abhängig vom Maschinenmodell:

I Betrachte O(f(n))-Algorithmus auf einer Mehrband-TM.Eine TM kann eine Mehrband-TM simulieren, benötigtdann aber O(f(n)2) Zeit.

I Wie teuer ist es, zwei Zahlen a1, a2 zu addieren?

I Logarithmisches Kostenmaß.ai benötigt log2 ai viele Bits→ O(log a1 + log a2).

I Uniformes Kostenmaß.ai wird in Speicherzelle gespeichert (meist 32 oder64 Bit). Speicherzellen können in konstanter Zeitaddiert werden→ O(1).(Problem: Was bei Zahlen die mehr Bits benötigen?)

Formal ist log „richtiger“, allerdings aufwendig undunrealistisch!→ i.d.R. uniformes Kostenmaß.

Page 257: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 254

Komplexitätsklasse P

Definition. Die Komplexitätsklasse P umfasst alleEntscheidungsprobleme, die sich von einerdeterministischen Turingmaschine in polynomiellerZeit entscheiden lassen.

Anmerkung. Die Einschränkung auf Turingmaschinen istnicht notwendig (die auf Determinismus schon!)

I Laufzeiten von TM und Mehrband-TM unterscheiden sichnur durch Quadrieren.→ Polynomialität bleibt bestehen.

I WHILE-/GOTO-Programme haben bis auf Kostenmaß-log-Faktoren gleiche Laufzeiten wie Mehrband-TM.

Definition. Die Komplexitätsklasse P umfasst alleEntscheidungsprobleme, die sich von einerdeterministischen Programmiersprache inpolynomieller Zeit entscheiden lassen.

Page 258: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 255

Beispiele für P?

Liegen die folgenden Probleme in P?

I Zusammenhangstest von einem Graph?→ Ja! Mit Tiefensuche sogar in Linearzeit.

I Halteproblem?→ Nein! Problem nicht entscheidbar.

I Wortproblem von kontextsensitiven Sprachen?→ Nein! Problem nicht in poly. Zeit lösbar. (ohne Bew.)

I Kürzester Weg in einem Graph?→ Nein! Polynomiell, aber kein Entscheidungsproblem.

I Existiert in einem Graph ein Weg mit Maximallänge k?→ Ja! Berechne in poly-Zeit den kürzesten Weg undvergleiche mit k.

I Existiert in einem Graph eine Rundtour (TravelingSalesman) mit Maximallänge k?→ Unbekannt! Nur exponentielle Algorithmen bekannt.

Page 259: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 256

Komplexitätsklasse NP

Definition. Die Komplexitätsklasse P umfasst alleEntscheidungsprobleme, die sich von einerdeterministischen Turing-Maschine in polynomiellerZeit entscheiden lassen.

Definition. Die Komplexitätsklasse NP umfasst alleEntscheidungsprobleme, die sich von einernicht-deterministischen Turing-Maschine inpolynomieller Zeit entscheiden lassen.

Beobachtung. P ⊆ NP .

Page 260: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 257

Beispiel: SAT

Erfüllbarkeitsproblem – (engl. Satisfiability, SAT)Gegeben: Formel F der Aussagenlogik (in KNF).Gefragt: Gibt es eine Variablenbelegung, so dass F = true?

KNF = Konjunktive Normalform

Jede aussagenlogische Formel der Größe n lässt sich (ggf.durch Einführen neuer Variablen) in eine O(n) große KNFumschreiben.

I Eine Formel in KNF besteht aus einer Menge vonKlauseln die durch ∧ (UND) verbunden sind.

I Jede Klausel besteht aus einer Menge von Literalen(Variablen xi bzw. ihre Negationen xi := ¬xi) die durch ∨(OR) verbunden sind.

Beispiel: (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ x3 ∨ x4) ∧ (x2 ∨ x3 ∨ x4)

Page 261: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 258

Beispiel: SAT — Deterministisch

Deterministischer Exponentialzeit-Algorithmus.

I Am Anfang sind alle Variablen frei (=nicht auf true oderfalse fixiert). Wenn K eine Klausel ist, so definieren wir

K′ =

true falls mindestens ein fixiertes Literal true ist,

false falls alle Literale fixiert und false sind,

? sonst.1 Solange es eine Klausel K mit K′ =? und einer einzigen

freien Variable xi gibt: Fixiere xi so, dass K′ = true.

2 Falls ∃ Klausel K mit K′ = false: return ’false’.

3 Falls K′ = true für alle Klauseln K: return ’true’

4 Wähle freie Variable xi, starte Algorithmus inklusivederzeitigen Fixierungen zweimal neu (mit xi = true bzw.xi = false), und erhalte davon retxi=true und retxi=false.return retxi=true ∨ retxi=false

Page 262: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 259

Beispiel: SAT — Nicht-deterministisch

Nicht-deterministischer Polynomialzeit-Algorithmus.

I Am Anfang sind alle Variablen frei (=nicht auf true oderfalse fixiert). Wenn K eine Klausel ist, so definieren wir

K′ =

true falls mindestens ein fixiertes Literal true ist,

false falls alle Literale fixiert und false sind,

? sonst.1 Solange es eine Klausel K mit K′ =? und einer einzigen

freien Variable xi gibt: Fixiere xi so, dass K′ = true.

2 Falls ∃ Klausel K mit K′ = false: return ’false’.

3 Falls K′ = true für alle Klauseln K: return ’true’

4 Wähle freie Variable xi, und rate den richtigen Wert für xi.Fixiere xi entsprechend und goto 1 .

Ein nicht-deterministischer Algorithmus berechnet allemöglichen Konsequenzen des Ratens gleichzeitig.

Er berechnet also auch die Konsequenzen aus demRichtig-raten.

Bei Nicht-Determinismus reicht es für eine positive Ant-wort aus, wenn einer aller Rechenwege erfolgreich ist.

Aber Achtung: Es darf durch Falsch-Raten keininkorrektes Ergebnis entstehen, denn der Nicht-Determinismus versucht ja alle möglichen Wege.⇒ Wir raten nur Dinge der Lösung (oder allgemeiner:des Zeugens, siehe nächste Folie)

Page 263: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 259

Beispiel: SAT — Nicht-deterministisch

Nicht-deterministischer Polynomialzeit-Algorithmus.

I Am Anfang sind alle Variablen frei (=nicht auf true oderfalse fixiert). Wenn K eine Klausel ist, so definieren wir

K′ =

true falls mindestens ein fixiertes Literal true ist,

false falls alle Literale fixiert und false sind,

? sonst.1 Solange es eine Klausel K mit K′ =? und einer einzigen

freien Variable xi gibt: Fixiere xi so, dass K′ = true.

2 Falls ∃ Klausel K mit K′ = false: return ’false’.

3 Falls K′ = true für alle Klauseln K: return ’true’

4 Wähle freie Variable xi, und rate den richtigen Wert für xi.Fixiere xi entsprechend und goto 1 .

Ein nicht-deterministischer Algorithmus berechnet allemöglichen Konsequenzen des Ratens gleichzeitig.

Er berechnet also auch die Konsequenzen aus demRichtig-raten.

Bei Nicht-Determinismus reicht es für eine positive Ant-wort aus, wenn einer aller Rechenwege erfolgreich ist.

Aber Achtung: Es darf durch Falsch-Raten keininkorrektes Ergebnis entstehen, denn der Nicht-Determinismus versucht ja alle möglichen Wege.⇒ Wir raten nur Dinge der Lösung (oder allgemeiner:des Zeugens, siehe nächste Folie)

Page 264: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 260

Beispiel: SAT — Nicht-deterministisch

Zeugen validieren.Sei X ein beliebiges Entscheidungsproblem und J eineJa-Instanz für X . Ein Zeuge für J ist Datenkonstrukt (in derRegel eine Lösung von J) als Beweis, dass es sich um eineJa-Instanz handelt.

Theorem. Ein Problem ist genau dann in NP , falls dasProblem, einen gegebenen Zeugen auf „Echtheit“ zuüberprüfen, in P ist.

Beispiel. Sei X=SAT, und J = (x1 ∨ x2) ∧ (x1 ∨ x2).Die Belegung x′1 = true, x′2 = false ist ein Zeuge dafür, dassdie Formel erfüllbar ist.Wir setzen x′1, x

′2 in die Formel ein, und erhalten in

polynomieller (sogar linearer) Zeit(true ∨ false) ∧ (false ∨ true) ` true ∧ true ` true.

Page 265: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 260

Beispiel: SAT — Nicht-deterministisch

Zeugen validieren.Sei X ein beliebiges Entscheidungsproblem und J eineJa-Instanz für X . Ein Zeuge für J ist Datenkonstrukt (in derRegel eine Lösung von J) als Beweis, dass es sich um eineJa-Instanz handelt.

Theorem. Ein Problem ist genau dann in NP , falls dasProblem, einen gegebenen Zeugen auf „Echtheit“ zuüberprüfen, in P ist.

Beweis. Spiele den Prüfalgorithmus „ohne Lösung“ durch.Immer wenn der Algorithmus einen Teil der Lösung benötigt(den wir vorher noch nicht geraten haben) „rate“(Nicht-Determinismus!) den richtigerweise notwendigen Teilder Lösung.

Beobachtung: Ein Zeuge kann/darf nur polynomiell groß sein!

Page 266: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 261

P vs. NP

Wir wissen derzeit nur: P ⊆ NP .

Man kennt viele Probleme aus NP ,für die man (trotz jahrzehntelangerForschung!) keine polynomiellenAlgorithmen gefunden hat⇒ Starke Vermutung: P ( NP .

NP

P

Die größte offene Frage der Informatik:

Gilt P = NP oder P 6= NP?

Millennium Prize des Clay Mathematics Institutes:1.000.000 US-Dollar

Page 267: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 262

NP und Polynomiell vs. ExponentiellNP 6= nicht-polynomiell:

I NP steht für Nicht-deterministisch Polynomiell!

I Es bedeutet nicht nicht-polynomiell!

I Es wäre möglich (P = NP ), dass NP -Probleme auchdeterministisch polynomiell lösbar sind!

I Wir vermuten, dass NP -Probleme nicht in polynomiellerZeit gelöst werden können (also, gemäß untererSprachregelung, exponentielle Zeit benötigen)

Sprachregelung:

I Formal korrekt hat eine exponentielle Funktion dieGestalt cn, für eine Konstante c > 1.

I Es gibt nicht-polynomielle Funktionen, die schwächerwachsen als exponentielle, z.B. cpoly log n

I Im allgemeinen Sprachgebrauch bedeutet exponentiellab nun immer nicht polynomiell beschränkt.

Page 268: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 263

P vs. NP : SinnMacht polynomiell vs. exponentiell als Unterscheidungeigentlich Sinn?

I Schließlich ist z.B. n1000 ≥ 1.0001n für alle realistischvorkommenden Werte von n!

Begründungen für die Unterscheidung:

I P /NP ist unabhängig vom Maschinenmodell.

I P ist abgeschlossen bzgl. polynomiell beschränkterFunktionen.

I Für viele Praxisprobleme ist „polynomiell“ meist einPolynom mit kleinem Grad, also auch „effizient in derPraxis“. Dagegen haben exponentielle Algorithmentendenziell tatsächlich sehr böse Praxislaufzeiten.

I Man kennt keine bessere formal saubere Unterscheidungzwischen „in der Praxis gut lösbaren“ Problemen, undsolchen die das nicht sind.

Page 269: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 264

NP-vollständig

Definition.Ein Problem X istNP-vollständig (engl.NP -complete, NPC ) wenn

1 X ∈NP , und

2 Jedes andere Problem Y ∈NPlässt sich deterministischund in polynomieller Zeitauf X reduzieren1.

NP -vollständig

NP

P

leicht

Kom

ple

xit

ät

schwer

Reduzieren? Man kann aus jeder Probleminstanz J für Y eineProbleminstanz J′ für X gewinnen, die ja liefert, genau dannwenn J eine ja-Instanz ist (und daher auch analog für nein).

• J

Instanzen für Y Instanzen für X

• J′

f : IY → IXdeterministisch in

poly. Zeit berechenbar

J ∈ IY istJA-Instanz

⇔ J′ = f( J) ∈ IXist JA-Instanz

1Im Folgenden benutzen wir einfach nur den Begriff „reduzieren“ für„deterministisch und in polynomieller Zeit reduzieren“.

Page 270: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 264

NP-vollständig

Definition.Ein Problem X istNP-vollständig (engl.NP -complete, NPC ) wenn

1 X ∈NP , und

2 Jedes andere Problem Y ∈NPlässt sich deterministischund in polynomieller Zeitauf X reduzieren1.

NP -vollständig

NP

P

leicht

Kom

ple

xit

ät

schwer

Reduzieren? Man kann aus jeder Probleminstanz J für Y eineProbleminstanz J′ für X gewinnen, die ja liefert, genau dannwenn J eine ja-Instanz ist (und daher auch analog für nein).

• J

Instanzen für Y Instanzen für X

• J′

f : IY → IXdeterministisch in

poly. Zeit berechenbar

J ∈ IY istJA-Instanz

⇔ J′ = f( J) ∈ IXist JA-Instanz

1Im Folgenden benutzen wir einfach nur den Begriff „reduzieren“ für„deterministisch und in polynomieller Zeit reduzieren“.

Page 271: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 265

NP-vollständig

Definition.Ein Problem X istNP-vollständig (engl.NP -complete, NPC ) wenn

1 X ∈NP , und

2 Jedes andere Problem in NPlässt sich auf X reduzieren.

NP -vollständig

NP

P

leicht

Kom

ple

xit

ät

schwer

I NP -vollständige Probleme sind dieschwersten Probleme in NP .

I Angenommen man könnte für ein NP -vollständigesProblem X zeigen, dass X ∈ P . Dann wäre P = NP .

Page 272: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 266

NP-intermediate

Faszinierend!Fast alle Probleme ∈NP für diewir nicht ∈P wissen, sindtatsächlich NP -vollständig!

Theorem (Richard Ladner, 1975).Falls P 6= NP , dann enthält NP\Pauch nicht-NP -vollständigeProbleme. (ohne Beweis.)⇒ NP-intermediate (NPI)

NP -vollständig

NP

P

NPI

leicht

Kom

ple

xit

ät

schwer

Im Beweis werden sehr künstliche Probleme für NPI generiert.

Es gibt nur sehr wenige natürliche Probleme, die Kandidatenfür NPI sind: Graph-Isomorphie, Faktorisierung,

Diskreter Logarithmus

Page 273: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 267

NP-schwer

Definition. Ein Entscheidungs-problem X ist NP-schwer(NP -hart, engl. NP -hard) wennsich jedes Problem aus NP auf Xreduzieren lässt.

→ X ist mindestens so schwerwie die schwersten Probleme in NP .

Beispiele:

I Wir werden noch sehen, dassSAT NP -vollständig ist.→ SAT ist NP -schwer.

NP -vollständig

NP

P

NP -schwer

leicht

Kom

ple

xit

ät

schwer

I Das Halteproblem 6∈ NP , sondern sogar unentscheidbar→ Halteproblem ist NP -schwer.

I Graph-Zusammenhangstest ∈ P→ Graph-Zusammenhangstest ist nicht NP -schwer.

Page 274: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 268

Suchprobleme, Optimierungsprobleme

Bisher: Immer Entscheidungsprobleme, da sich dieseformal einfach präzise als Wortprobleme über Spracheninterpretieren lassen.

Aber: Die meisten Probleme, die wir in der Praxis betrachten,sind keine Entscheidungsprobleme:

I Algorithmen, die eine Lösung für ein Problem suchen,nicht nur eine ja/nein-Antwort heißen Suchprobleme.z.B. Sortieren, Kürzester Weg, Traveling Salesman, . . .

I Die vielleicht wichtigsten Suchprobleme sind(kombinatorische) Optimierungsprobleme:1

Man sucht eine Lösung mit optimalem Zielfunktionswert.z.B. Kürzester Weg, Traveling Salesman, . . .

1Formal kann man definieren, dass Suchprobleme Lösungen suchen,und Optimierungsprobleme nur den optimalen Zielfunktionswert. Füruns ist diese Unterscheidung nun nicht hilfreich.

Page 275: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 269

Optimierungsprobleme und zugehörige

Entscheidungsprobleme

Ein (kombinatorisches) Optimierungsproblem X suchtausgehend von einer Probleminstanz J nach einerLösung L, die gewisse Eigenschaften (spezifiziert durch X ;z.B. Pfad, Rundtour,. . . ) erfüllt, und dabei unter allenzulässigen Lösungen diejenige mit optimalem(minimum/maximum) Zielfunktionswert z(L) ist.

Annahme, X sei ein Minimierungsproblem.Das zu X zugehörige Entscheidungsproblem (X , k) fragt,ob für die Instanz J eine X -zulässige Lösung L existiert, sodass z(L) ≤ k.(Bei Maximierungsproblem: z(L) ≥ k)

Page 276: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 270

Optimierung vs. Entscheidung

Sei X ein Minimierungsproblem und (X , k) das zugehörigeEntscheidungsproblem.

I Falls X in poly-Zeit berechenbar:Prüfen von z(L) ≤ k liefert direkt Antwort für (X , k).

I Falls (X , k) ∈ P :Berechne (X , k) für verschiedene Werte von k→ Finde optimales k mittels binärer Suche→ Lösen von X ist nur polynomiell (logarithmisch) mehrAufwand als (X , k)→ noch immer polynomiell.

⇒ Für Such- und Optimierungsprobleme kann manäquivalente Klassen zu P , NP , etc. definieren.Dies ist jedoch formal fummelig, daher benutzt man zurKomplexitätsbestimmung meist einfach das zugehörigeEntscheidungsproblem.

Page 277: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie P vs. NP 271

NP-schwer, nochmal

Erweiterte Definition von NP-schwer.Ein allgemeines Problem X ist NP-schwer, wenn sich jedesNP -vollständige Entscheidungsproblem auf X reduzierenlässt. (→ X mindestens so schwer wie NP -vollständig)

NP -vollständig

NP

P

NP -schwerNP -schwer NP -schwer

Entscheidungsprobleme Such- & Optimierungsprobleme, etc.leicht

Kom

ple

xit

ät

schwer

Page 278: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

KomplexitätstheorieBeweisen von NP-Vollständigkeit: SAT

Page 279: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 273

Beweisaufbau

Um zu beweisen, dass ein Entscheidungsproblem XNP -vollständig ist, muss man

1 zeigen, dass es in NP liegt (NP -membership), und

2 zeigen, dass sich jedes andere Problem Y ∈ NP auf Xreduzieren lässt.

1 ist meist trivial („Validieren eines Zeugen“).2 ist ad hoc nicht klar, wie man das tut...

Annahme: Man kennt ein NP -vollständiges Problem Y∗→ Jedes andere Problem Y aus NP lässt sich auf Y∗ reduziert.→ Es reicht aus, Y∗ auf X zu reduzieren!→ alle anderen Probleme lassen sich dann über Y∗ bis nach Xreduzieren.

Page 280: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 274

Cook-Levin: SAT ist NP-vollständig

I Wir müssen also nur für ein einziges Problem Y∗ zeigen,dass sich alle Probleme aus NP auf Y∗ reduzieren lassen.

I Ab dann, für ein Problem X , nur mehr eine Reduktionenvon irgendeinem bekannten NP -vollständigen Problem(am Anfang nur Y∗) auf X .

Dieses erste wichtige NP -vollständige Problem ist SAT:

Cook-Levin Theorem. SAT ist NP -vollständig.

Beweis. Folgt auf den nächsten Folien.

Das Theorem wurde 2x unabhängig von einander entdeckt:

I Stephen Cook (USA), 1971

I Leonid Levin (UdSSR), 1973 (veröffentlicht,Ergebnis schon ein paar Jahre vorher erwähnt)

I Levin betrachtet Such- statt Entscheidungsprobleme.

Page 281: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 275

SAT ist NP-vollständig: Beweis, 1/7

Cook-Levin Theorem. SAT ist NP -vollständig.

Beweisteil 1 : SAT ist in NP .

Gegeben eine SAT-Instanz der Größe n, mit k ≤ n BooleschenVariablen.

Rate (Nicht-Determinismus!) die richtige Belegung derVariablen, und überprüfe ob die Formel durch diese Belegungerfüllt ist.

(Alle 2k Möglichkeiten werden „gleichzeitig“ überprüft, alsoauch die erfüllende Belegung, falls sie existiert)

Dieser (nicht-deterministische) Algorithmus benötigt nurpolynomielle (lineare!) Zeit.⇒ SAT ∈ NP .

Page 282: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 276

SAT ist NP-vollständig: Beweis, 2/7

Cook-Levin Theorem. SAT ist NP -vollständig.

Beweisteil 2 : SAT ist NP-schwer.

I Sei X ein bel. Entscheidungsproblem (Sprache) aus NP .I Es existiert eine polynomiell-beschränkte nicht-determ.

Turingmaschine M := MX die X entscheidet.I Sei w = a0a1a2 . . . an−1 eine Probleminstanz für X

(=initiale Bandbelegung für M).I Sei π(n) das Polynom, dass die Laufzeit von M bei

Eingabelänge n beschränkt.I Wir können annehmen: Wenn M akzeptiert, endet sie

nach genau π(n) Schritten in einem Endzustand (vorhernichts-ändernde Endlosschleife, die nicht-deterministischverlassen wird).

→ baue SAT-Instanz, die erfüllbar ist genau dann wenn w ∈ X

Page 283: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 277

SAT ist NP-vollständig: Beweis, 3/7

Die SAT-Instanz benutzt die folgenden Booleschen Variablenfür alle mögl. TM-Zustände Z ∈ Z, Zeitpunkte 0 ≤ t ≤ π(n),Bandpositionen −π(n) ≤ p ≤ π(n) und Symbole a ∈ Γ .

Zum Zeitpunkt t. . .

Zt,Z = true⇐⇒ . . . befindet sich M im Zustand ZSLt,p = true⇐⇒ . . . steht der SL-Kopf an Position pBt,p,a = true⇐⇒ . . . steht an Band-Position p das Symbol a

Unsere SAT-Formel F hat die Gestalt R ∧ S ∧ E ∧ U1 ∧ U2:

I Randbedingungen

I Startsituation

I Endsituation

I Übergänge (U1,U2)

Page 284: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 278

SAT ist NP-vollständig: Beweis, 4/7

Randbedingungen RZu jedem Zeitpunkt ist der Zustand, die Position des SL-Kopfsund der Bandinhalt eindeutig:

R :=∧t

∨•Z

(Zt,Z) ∧∧t

∨•p

(SLt,p) ∧∧t

∧p

∨•a

(Bt,p,a)

wobei∨•i

(xi) :=∨i

xi ∧∧i6=j

¬(xi ∧ xj) = genau ein xi ist true.

Beobachtung. R ist nur polynomiell groß und kann inpolynomieller Zeit erstellt werden.

Page 285: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 279

SAT ist NP-vollständig: Beweis, 5/7

Startsituation SVariablenbelegung zum Zeitpunkt 0 soll der Anfangssituationder TM entsprechen (Eingabe: w = a0a1a2 . . . an−1):

S := Z0,Zstart ∧ SL0,0 ∧n−1∧p=0

B0,p,ap ∧∧p<0

B0,p,

∧p≥n

B0,p,

Endsituation EVariablenbelegung zum Zeitpunkt π(n) soll „M in einemEndzustand“ entsprechen:

E :=∨

Z∈Zend

Zπ(n),Z

Beobachtung. S und E sind nur polynomiell groß und könnenin polynomieller Zeit erstellt werden.

Page 286: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 280

SAT ist NP-vollständig: Beweis, 6/7

Übergänge U1

Zwischen zwei Zeitpunkten ändert sich

I der aktuellen Zustand,

I das Symbol unter dem SL-Kopf und

I die Position des SL-Kopfs.

Die Menge δ(Z, a) ⊆ Z ×Γ ×−1,0,1 von 3-Tupeln (Zustand,neues Bandsymbol, SL-Kopf Bewegung) bezeichnet diemöglichen Übergänge, ausgehend vom Zustand Z wenn avom Band gelesen wird.

U1 :=∧

t,Z,p,a

(Zt,Z ∧ SLt,p ∧ Bt,p,a)→∨

(Z′,a′,d)∈δ(Z,a)

Zt+1,Z′ ∧ SLt+1,p+d ∧ Bt+1,p,a′

Page 287: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Beweisen von NP-Vollständigkeit: SAT 281

SAT ist NP-vollständig: Beweis, 7/7

Übergänge U2

Das Band bleibt an allen anderen Stellen unverändert:

U2 :=∧t,p,a

((Bt,p,a ∧ ¬SLt,p)→ Bt+1,p,a

)Beobachtung. U1 und U2, und damit auch insgesamtF = R ∧ S ∧ E ∧ U1 ∧ U2, sind nur polynomiell groß und könnenin polynomieller Zeit erstellt werden.

Hauptbeobachtung.Ein akzeptierendes (M,w) führt zu einer erfüllbaren Formel F.Eine erfüllbare Formel F beschreibt einen akzeptierendenRechenweg für (M,w).⇒Wenn man SAT lösen kann, kann man jedes Problem aus NP(kodiert als (M,w)) lösen.

Page 288: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

KomplexitätstheorieWeitere NP-vollständige Probleme

Page 289: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 283

Weitere NP-vollständige Probleme

Wir haben bereits besprochen:

I Wir müssen also nur für ein einziges Problem Y∗ zeigen,dass sich alle Probleme aus NP auf Y∗ reduzieren lassen.

I Ab dann, für ein Problem X , nur mehr eine Reduktionenvon irgendeinem bekannten NP -vollständigen Problem(am Anfang nur Y∗) auf X .

Nun, dank Cook-Levin: Y∗ = SAT.Ab nun gehts einfacher...

Page 290: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 284

3SAT

Gegeben: Eine aussagenlogische Formel F in KNF,wobei jede Klausel aus maximal 3 Literalen besteht.

Gefragt: Ist F erfüllbar?

Theorem. 3SAT ist NP -vollständig.

Beweis (3SAT ∈ NP ). Trivial, da 3SAT Spezialfall von SAT.

Beweis (3SAT ist NP -schwer) durch Reduktion von SAT.

Gegeben eine SAT-Formel (nach polynom. Aufwand: in KNF).Ersetze jede Klausel (`1 ∨ `2 ∨ `3 ∨ . . . ∨ `k) mit k ≥ 4 durchk Klauseln mit jeweils maximal 3 Literalen. Dabei benutzenwir k − 1 neue Variablen y1, . . . , yk−1:(`1, y1), (y1, `2, y2), (y2, `3, y3), . . . , (yk−2, `k−1, yk−1), (yk−1, `k)

Behauptung: SAT Instanz erfüllbar⇔ 3SAT Instanz erfüllbar.

→ Wenn man 3SAT lösen kann, löst man mit nurpolynomiellem Mehraufwand auch SAT!

Page 291: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 285

SUBSETSUM

Gegeben: Eine Menge von natürlichen ZahlenA = a1, a2, . . . , an und ein b ∈ N.

Gefragt: Existiert eine Teilmenge S ⊆ A mit∑

a∈S a = b?

Theorem. SUBSETSUM ist NP -vollständig.

Beweis (SUBSETSUM ∈ NP ). Gegeben ein Zeuge S, prüfeS ⊆ A, berechne die Summe und vergleiche mit b.

Beweis (NP -schwer) durch Reduktion von 3SAT.

I Sei F eine 3SAT-Formel mit k Klauseln K1, . . . ,Kk undinsgesamt r Variablen x1, . . . , xr.

I Jede Zahl in unserer generierten SUBSETSUM-Instanz hatk + r Stellen im Dezimalsystem: k vordere, r hintere.

I Wir setzen b := 444 . . .4︸ ︷︷ ︸k Stellen

111 . . .1︸ ︷︷ ︸r Stellen

.

Page 292: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 286

SUBSETSUM, Fortsetzung

3SAT-Instanz F: Klauseln K1, . . . ,Kk, Variablen x1, . . . , xr.⇒SUBSETSUM-Instanz: jede Zahl k vordere, r hintere Stellen.

I b := 444 . . .4︸ ︷︷ ︸k Stellen

111 . . .1︸ ︷︷ ︸r Stellen

I Für jede Variable xi erzeuge zwei Zahlen ai, ai:

I Hintere Stellen: die i-te Stelle (von ai und ai) ist 1,alle anderen 0.

I Vordere Stellen: die j-te Stelle von ai/ai ist 1, genaudann wenn das Literal xi/xi in Klausel Kj vorkommt.

I Für jedes 1 ≤ j ≤ k erzeuge zwei Zahlen cj,dj die an allenStellen 0 sind; nur an Stelle j hat cj eine 1 und dj eine 2.

⇒SUBSETSUM-Instanz: A := ai, ai1≤i≤r ∪ ci,di1≤j≤k,b.

Behauptung: SUBSETSUM (A,b) erfüllbar⇔ 3SAT F erfüllbar.(siehe nächste Folie)

Page 293: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 287

SUBSETSUM, Fortsetzung

Beispiel. F = (x1 ∨ x2 ∨ x3) ∧ (x2 ∨ x3 ∨ x4) ∧ (x1 ∨ x2 ∨ x4).

a1 100 0001a1 001 0001a2 101 0010a2 010 0010a3 000 0100a3 110 0100a4 011 1000a4 000 1000c1 100 0000d1 200 0000c2 010 0000d2 020 0000c3 001 0000d3 002 0000

b 444 1111

I Bei der Addition kann keinÜbertrag entstehen.

I Hintere Stellen: Um b zu erhalten,muss man, für jedes i, immerentweder ai oder ai wählen. ⇐⇒Jede Variable ist true oder false.

I Vordere Stellen: Um (inklusive cjund dj) auf 4 zu kommen, muss fürjede Stelle j (=für jede Klausel)mindestens ein Literal auf truegesetzt (entsprechendes ai, aigewählt) sein. (cj,dj erhöht dannimmer bis 4.)

Page 294: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 288

PARTITION

Gegeben: Menge von natürlichen Zahlen A = a1, a2, . . . , an.Gefragt: Existiert Teilmenge S ⊆ A mit

∑a∈S a =

∑a∈A\S a?

Theorem. PARTITION ist NP -vollständig.

Beweis (PARTITION ∈ NP ).Gegeben Zeuge S, prüfe S ⊆ A und berechne die Summe vonS und A \ S.

Beweis (NP -schwer) durch Reduktion von SUBSETSUM.

ACHTUNG!PARTITION ist Spezialfall von SUBSETSUM bei dem b := 1

2

∑ni=1 ai.

→ Das hilft nicht für den Beweis der NP -Härte!→ Es könnteja sein, dass dieser Spezialfall leichter (∈ P ) ist!

Page 295: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 289

PARTITION, Fortsetzung

Beweis (NP -schwer) durch Reduktion von SUBSETSUM.

Gegeben eine SUBSETSUM-Instanz (A = a1, a2, . . . , an,b).→ Für B ⊆ A, sei [B] :=

∑a∈B a. Sei M := [A].

PARTITION-Instanz: A′ := a1, a2, . . . , an,M− b + 1,b + 1.→ [A′] = M + (M− b + 1) + (b + 1) = 2M + 2→ PARTITION-Lösung S′ hätte [S′] = [A′ \S′] = [A′]/2 = M+ 1.

Behauptung: PARTITION A′ erfüllbar⇔ SUBSETSUM (A,b) erfüllb.I Angenommen SUBSETSUM (A,b) erfüllbar durch S ⊆ A.⇒ PARTITION A′ erfüllbar durch S′ := S ∪ M− b + 1, da

[S′] = b + (M− b + 1) = M + 1I Angenommen PARTITION A′ erfüllbar durch S′.

Da (M− b+ 1) + (b+ 1) > M+ 1 sind nicht beide in selberPartitionsmenge→ o.B.d.A. (M− b + 1) ∈ S′.⇒ SUBSETSUM (A,b) erfüllbar durch S := S′ \ (M− b+ 1),

da [S] = [S′]− (M− b + 1) = b.

Page 296: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 290

BINPACKING

Gegeben: Eine Menge von natürlichen ZahlenA = a1, a2, . . . , an, eine „Behältergröße“ b ∈ N undeine „Behälteranzahl“ k ∈ N.

Gefragt: Existiert Aufteilung von A in k disjunkte TeilmengenB1, . . . ,Bk, so dass [Bi] ≤ b für alle 1 ≤ i ≤ k?

Theorem. BINPACKING ist NP -vollständig.

Beweis (BINPACKING ∈ NP ).Gegeben Zeugen B1, . . . ,Bk, prüfe

⋃i Bi = A und alle [Bi] ≤ b.

Beweis (NP -schwer) durch Reduktion von PARTITION.

I PARTITION ist tatsächlich ein Spezialfall von BINPACKING!

I Sei A eine PARTITION-Instanz.⇒BINPACKING-Instanz (A,b = [A]/2, k = 2)

Page 297: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 291

CLIQUE

Gegeben: Ein ungerichteter Graph G = (V,E) und ein k ∈ N.Gefragt: Existiert eine Knoten-Teilmenge C ⊆ V mit |C| ≥ k,so dass v,w ∈ E für alle v,w ∈ C, v 6= w?

Theorem. CLIQUE ist NP -vollständig.

Beweis (CLIQUE ∈ NP ). Überprüfe Zeugen C. X

Beweis (NP -schwer) durch Reduktion von 3SAT.(Nächste Folie)

Page 298: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 292

CLIQUE, Fortsetzung

Gegeben: Ein ungerichteter Graph G = (V,E) und ein k ∈ N.Gefragt: ∃C ⊆ V mit |C| ≥ k ∧ ∀v 6= w ∈ C : v,w ∈ E?

Beweis (NP -schwer) durch Reduktion von 3SAT.I 3SAT-Formel F mit m Klauseln (`i,1 ∨ `i,2 ∨ `i,3), 1 ≤ i ≤ m.I Erstelle CLIQUE-Instanz G = (V,E), k := m mit:

V := vi,j | 1 ≤ i ≤ m, 1 ≤ j ≤ 3 ,E :=

vi,j, vp,q | i 6= p, `i,j 6= ¬`p,q

1 Knoten der selben Klausel sind nicht verbunden→ pro Klausel kann nur ein Knoten in C sein

2 Knoten von sich widerspr. Literalen sind nicht verbunden

Behauptung: 3SAT F erfüllbar⇔ CLIQUE (G, k) erfüllbarI Idee: vi,j ∈ C⇒ `i,j = true (entspr. Klausel erfüllt).I (⇒) ∃C mit |C| ≥ k = m: C ist gültige (Teil)Belegung ( 1 , 2 !)I (⇐) F erfüllbar: Wähle pro Klausel eines der positiven

Literale aus→ C mit |C| = m = k.

Page 299: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 293

VERTEXCOVER

Gegeben: Ein ungerichteter Graph G = (V,E) und ein k ∈ N.Gefragt: Existiert eine Knoten-Teilmenge W ⊆ V mit |W| ≤ k,so dass für jede Kante mindestens einer der beidenEndknoten in W liegt (d.h. ∀v,w ∈ E : v ∈ W ∨ w ∈ W)?

Theorem. VERTEXCOVER ist NP -vollständig.

Beweis (VERTEXCOVER ∈ NP ). Überprüfe Zeugen W. X

Beweis (NP -schwer) durch Reduktion von CLIQUE.

I Sei (G = (V,E), k) eine CLIQUE-Instanz.I Erstelle VERTEXCOVER-Instanz (G = (V, E), k) mitE := v,w | v,w ∈ V, v 6= w, v,w 6∈ E und k := |V| − k.(G ist der Komplementgraph von G.)

I Behauptung: VERTEXCOVER (G, k) erfüllbar⇔CLIQUE (G, k) erfüllbar.

(Beweis nächste Folie)

Page 300: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 294

VERTEXCOVER, Fortsetzung des Beweises

I Falls G eine Clique C der Größe k enthält, dann hat G einVC der Größe k = |V| − k.Wähle W := V \ C. Wir zeigen, dass W ein VC ist.In G sind innerhalb von C alle Knoten verbunden.⇒ In G gibt es keine Kanten innerhalb von C.⇒ In G haben alle Kanten mindestens einen Endknoten

aus V \ C = W.⇒ W ist ein VC.

I Falls G ein VC W der Größe k = |V| − k hat, dann hat Geine Clique der Größe k.Wähle C := V \W. Wie zeigen, dass C eine Clique ist.In G hat jede Kante mindestens einen Endknoten aus W.⇒ In G gibt es innerhalb von V \W = C keine Kanten.⇒ In G bildet C eine Clique.

Page 301: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 295

GERICHTETERHAMILTONKREIS

Gegeben: Ein gerichteter Graph G = (V,A).Gefragt: Existiert eine Rundtour, die jeden Knoten genaueinmal besucht?

Theorem. GERICHTETERHAMILTONKREIS ist NP -vollständig.

Beweis (GERICHTETERHAMILTONKREIS ∈ NP ). X

Beweis (NP -schwer) durch Reduktion von 3SAT.

I Sei F eine 3SAT-Formel mit Klauseln K1, . . . ,Km undVariablen x1, . . . , xn.

I Erstelle einen Graph G aus mehreren Bestandteilen...(siehe nächste Folie)

Page 302: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 296

GERICHTETERHAMILTONKREIS, Klauselgadget

Hilfskonstruktion: Betrachte folgenden Teilgraphen H.

a1 a2

b1 b2

c1 c2

Beobachtungen.

I Wenn ein Hamiltonkreis ina1 (b1, c1) eintritt, musser H über a2 (b2, c2)verlassen.

I Ein Hamiltonkreis läuft 1–3mal durch H. Bei jedemDurchlauf „sammelt“ erentsprechend 1–3vollständige Knotenpaare(a1, a2; b1,b2; c1, c2) auf.

⇒ „Klauselgadget“: Mind. ein Eingang muss angelaufenwerden (und das Gadget wird konsistent verlassen)

Page 303: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 297

GERICHTETERHAMILTONKREIS, Konstruktion

x1 x2 x3 xn

Idee. Baue einen Graph der genau dann einen Hamiltonkreiserlaubt, wenn die Formel erfüllbar ist.I Ein Knoten für jede Variable. Rundtour soll von x1 nachx2, nach x3, etc. bis nach xn und dann zurück nach x1.

I Von jedem Variablen-Knoten gibt es einen „grünen“ undeinen „roten“ Weg zum nächsten Variablen-Knoten. Wirdder grüne ausgehende Weg gewählt⇒ die Variable isttrue, sonst false.

Page 304: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 298

GERICHTETERHAMILTONKREIS, Konstruktion

x1 x2 x3 xn

Ki

Kj

Kk

K`

KpEin Klauselgadget pro Klausel

Der grüne (rote) Pfadder Variable xi verlässt,durchläuft alle Klauseln

in denen xi positiv(negiert) vorkommt.

Page 305: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 299

GERICHTETERHAMILTONKREIS, Beweis

Behauptung: 3SAT F erfüllbar⇔ HAMILTONKREIS G erfüllbar

I Falls F erfüllbar ist, enthält G einen Hamiltonkreis.Betrachte eine erfüllende Belegung x′ für F, und wähle dieroten/grünen Pfade in G entsprechend. Da x′ erfüllend ist, istjede Klausel erfüllt. Für jedes Klauselgadget ist also mindestensein Pfad (max. 3) gewählt, der durch es läuft. Entsprechendkönnen alle Knoten des Gadgets genau 1x angelaufen werden.

I Falls G einen Hamiltonkreis enthält, ist F erfüllbar.Betrachte einen Hamiltonkreis. Durch die Eigenschaften desKlauselgadgets, wissen wir, dass ein in a1 eingehender Pfaddas Gadget über a2 verlassen muss (analog für b, c). Daherkönnen wir eindeutige Pfade von xi nach x(i+1) mod n extrahierenund als Variablenbelegung interpretieren. Da jeder Knotenbesucht wird, wird jede Klausel passiert. Die extrahierteVariablenbelegung erfüllt also alle Klauseln. Die Belegung isteindeutig, da jeder Variablenknoten nur entlang der grünenoder roten Ausgangskante verlassen werden kann.

Page 306: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere NP-vollständige Probleme 300

HAMILTONKREIS

Gegeben: Ein ungerichteter Graph G = (V,E).Gefragt: Existiert eine Rundtour, die jeden Knoten genaueinmal besucht?

Theorem. HAMILTONKREIS ist NP -vollständig.

Beweis. 1 ∈ NP X; 2 NP -schwer durch Reduktion vonGERICHTETERHAMILTONKREIS.

I Sei G′ ein gerichteter Graph für GERICHTETERHAMILTONKREIS.

I Ersetze jeden Knoten (mit gerichteten Kanten) durch dreiKnoten mit ungerichteten Kanten:

Um den mittleren Knoten zu erreichen, muss man nacheiner blauen Kante eine violette Kante entlanggehen.⇒ G′ ist true-Instanz g.d.w. G ist true-Instanz.

Page 307: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

KomplexitätstheorieWeitere Komplexitätsklassen

Page 308: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 302

Starke & Schwache NP-Vollständigkeit

I Komplexität wird stets relativ zu n, der Länge derkodierten Eingabe, betrachtet.

I Sei a eine (binär kodierte) Zahl in der Eingabe.→ a benötigt mindestens log2(a) Platz.

I Bei Eingabelänge n kann der Wert einer Zahlexponentiell groß sein (2O(n))!

Definition. Sei X ein NP -vollständiges Problem, und Xp dasselbe Problem eingeschränkt auf Instanzen bei denen derWert aller Zahlen durch ein Polynom von n beschränkt ist.

X ist stark NP -vollständig, falls sogar Xp NP -vollständig ist,und schwach NP -vollständig sonst.

Page 309: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 303

Stark vs. Schwach, Pseudopolynomiell

I Stark NP -vollständige Probleme bleiben also selbst bei„kleinen“ Eingabezahlen schwer.

I Schwach NP -vollständige Probleme werden nur durchsehr große Zahlen schwer.

I NP -vollständige Probleme bei denen keine Zahlengegeben sind (z.B. SAT, 3SAT) sind stark NP -vollständig.

Definition.Sei a der größte in der Eingabe vorkommende Zahlenwert.Ein pseudopolynomieller Algorithmus hat eine Laufzeitpolynomiell in n und a, d.h. O(nc · ad) für Konstanten c,d ≥ 0.

Beobachtung. Schwach NP -vollständige Probleme erlaubenpseudopolynomielle Algorithmen (i.d.R. basierend aufDynamischer Programmierung), stark NP -vollständigeProbleme nicht.

Page 310: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 304

SUBSETSUM: Pseudopolynomiell

BINPACKING ist stark NP -vollständig (ohne Beweis).

SUBSETSUM ist nur schwach NP -vollständig→ es erlaubt einen Algorithmus polynomiell in n und [A].

Pseudopolynomieller Algorithmus für SUBSETSUM.Gegeben. A = a1, . . . , an, b ∈ N.Gefragt. Existiert S ⊆ A mit [S] = b?

Idee einer Dynamischen Programmierung: Berechne allemöglicherweise interessanten Teillösungen, speichere diese ineinem Array, und kombiniere aus kleinen Teillösungen immergrössere, bis volle Lösung erreicht.

Sei Q ein Bool-Array mit Einträgen für 0 ≤ i ≤ n und 0 ≤ s ≤ b.Wir möchten:

Q[i, s] = true ⇐⇒ ∃ Teilmenge von a1, . . . , ai mit Summe s.

Page 311: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 305

SUBSETSUM: Pseudopolynomiell

Q[i, s] = true ⇐⇒ ∃ Teilmenge von a1, . . . , ai mit Summe s.

// Initialisierung∀0 ≤ i ≤ n : Q[i,0] := true, ∀0 < s ≤ b : Q[0, s] := false

// Dynamische Programmierungfor s = 1,2, . . . ,b:

for i = 1,2, . . . ,n:Q[i, s] := Q[i− 1, s] ∨ (s− ai ≥ 0 ∧ Q[i− 1, s− ai]) (?)

return Q[n,b] // Ergebnis

(?) Damit Q[i, s] = true muss: ∃ S′ ⊆ a1, . . . , ai mit [S′] = s.Fall „ ai 6∈ S′“:S′ ⊆ a1, . . . , ai−1 ⇐⇒ Q[i− 1, s] = true

Fall „ ai ∈ S′“:[S′] = s ⇐⇒ [S′ \ ai] = s− ai ⇐⇒ Q[i− 1, s− ai] = true

Page 312: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 305

SUBSETSUM: Pseudopolynomiell

Q[i, s] = true ⇐⇒ ∃ Teilmenge von a1, . . . , ai mit Summe s.

// Initialisierung∀0 ≤ i ≤ n : Q[i,0] := true, ∀0 < s ≤ b : Q[0, s] := false

// Dynamische Programmierungfor s = 1,2, . . . ,b:

for i = 1,2, . . . ,n:Q[i, s] := Q[i− 1, s] ∨ (s− ai ≥ 0 ∧ Q[i− 1, s− ai])

return Q[n,b] // Ergebnis

Laufzeit: O(b · n)

Dies ist i.A. nicht polynomiell, da b = 2Θ(n) sein kann!→ Algorithmus ist nur pseudopolynomiell.

ABER: Falls b = O(poly(n))→ Gesamtlaufzeit polynomiell.⇒ SUBSETSUM ist nur schwach NP -vollständig.

Page 313: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 306

Co-NP

Wir erinnern uns:

I P = Entscheidungsprobleme, die wir deterministisch inpolynomieller Zeit entscheiden können.

I NP = Entscheidungsprobleme, bei denen wirdeterministisch in polynomieller Zeit einen Zeugen füreine ja-Instanz überprüfen können.

Äquivalente Definitionen.

Co-NP = Entscheidungsprobleme, bei denen wirdeterministisch in polynomieller Zeit einen Zeugen für einenein-Instanz überprüfen können.

Co-NP = Entscheidungsprobl., deren Komplement in NP liegt.

Co-NP = ∃ nicht-determ. TM die gdw. akzeptiert wenn allemöglichen Rechenwege in polynomieller Zeit akzeptieren.

Page 314: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 307

Co-NP , Beispiel

Betrachte:

SUBSETSUM

Gegeben: Eine Menge von natürlichen ZahlenA = a1, a2, . . . , an und ein b ∈ N.

Gefragt: Existiert eine Teilmenge S ⊆ A mit∑

a∈S a = b?

Dann ist das Komplement von SUBSETSUM:

Co-SUBSETSUM

Gegeben: Eine Menge von natürlichen ZahlenA = a1, a2, . . . , an und ein b ∈ N.

Gefragt: Gilt für alle Teilmengen S ⊆ A, dass∑

a∈S a 6= b?

Da SUBSETSUM ∈ NP , ist Co-SUBSETSUM ∈ Co-NP .

Page 315: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 308

Co-NP-Vollständigkeit

Man kann Co-NP -Schwere und Co-NP -Vollständigkeit („dieschwersten Probleme in Co-NP “) analog zu NP definieren:

Definition. X ist Co-NP-schwer genau dann wenn:

I Jedes Problem aus Co-NP lässt sich deterministisch undin polynomieller Zeit auf X reduzieren

Definition. X ist Co-NP-vollständig genau dann wenn:

1 X ∈ Co-NP , und

2 X ist Co-NP -schwer.

Beispiel:

TAUTOLOGIE

Gegeben. Aussagenlogische Formel F.Gefragt. Ist F immer erfüllt?

Page 316: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 309

Co-NP

NP -vollständig

NP

P

Co-NP -vollständig

Co-NP

leicht

Kom

ple

xit

ät

schwer

Wichtige Eigenschaften.

I P ⊆ NP ∩ Co-NP .

I Sei X NP -vollständig und X das zugehörige Co-Problem(z.B. X=SUBSETSUM, X=Co-SUBSETSUM).Dann ist X Co-NP -vollständig.

Page 317: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 310

Co-NP

NP -vollständig

NP

P

Co-NP -vollständig

Co-NP

leicht

Kom

ple

xit

ät

schwer

Vermutungen. (Ähnlich zur Vermutung, dass P 6= NP )

I NP 6= Co-NP .

I P 6= Co-NP .

I Man weiß, dass Faktorisieren in NP ∩ Co-NP liegt, aberman weiß nicht ob in P . (Vielleicht liegt es in NPI ).

Page 318: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 311

Co-NP

NP -vollständig

NP

P

Co-NP -vollständig

Co-NP

leicht

Kom

ple

xit

ät

schwer

Wissenswertes.

I Falls P = NP : NP = Co-NP = P

I Falls Co-NP = NP : Frage P?= NP bleibt

I Sei X NP -vollständig: X ∈ Co-NP =⇒ NP = Co-NP .

I Sei X Co-NP -vollständig: X ∈ NP =⇒ NP = Co-NP .

Page 319: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 312

Primzahlproblem: PRIMES

PRIMES

Gegeben. Gegeben eine Zahl p.Gefragt. Ist p eine Primzahl?

I Eingabegröße: n = dlog2 pe = O(logp).

I Naïver Algorithmus: Teste jede Zahl d = 2, ...,√p ob d|p.

Laufzeit: O(√p) = O(2n/2) Teilbarkeitstests⇒ exponentiell!

I PRIMES liegt in Co-NP :Zeuge: Ein Teiler d von p beweist, dass p keine Primzahlist. Da d < p ist dieser Zeuge nur dlog2 de = O(n) groß.Überprüfen des Zeugen benötigt nur poly(n) Zeit(Division durchführen und auf Rest=0 testen).

I Komplizierter: PRIMES liegt auch in NP . (∃ positive Zeugen!)

Page 320: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 313

Faktorisierung: FACTORIZATION

FACTORIZATION

Gegeben. Gegeben eine Zahl p.Gesucht. Finde einen Teiler von p, oder schlussfolgere, dass pprim ist.

Kein Entscheidungsproblem⇒ Function Problem!

Komplexitätsklassen FP und FNP („function(non-deterministic) polynomial time“) analog zu P /NP :

I FP ≈ ∃ determ. TM die das Problem in polynom. Zeit löst.

I FNP ≈ man kann eine Lösung mittels einerdeterministischen TM in polynomieller Zeit überprüfen.

FACTORIZATION liegt in FNP , aber es ist unbekannt ob in FP .

Page 321: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 314

FACTORIZATION (Entscheidungsproblem)

FACTORIZATION (als Funktionsproblem)Gegeben. Gegeben eine Zahl p.Gesucht. Finde einen Teiler von p, oder schlussfolgere, dass pprim ist.

FACTORIZATION (als Entscheidungsproblem)Gegeben. Gegeben eine Zahl p und eine Zahl m ≤ p.Gefragt. Gibt es ein d < m so dass d|p?

I Mittels binärer Suche kann man dann das Funktionsprobl.lösen. (≤ log2 2n = O(n) viele Suchschritte)

I FACTORIZATION (als EP) ist in NP :Zeuge d mit Größe O(n) in O(poly(n)) prüfbar(Teilbarkeitstest)

I FACTORIZATION (als EP) ist in Co-NP→ später genauer

Page 322: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 315

PRIMES vs. FACTORIZATION: Gegeben p...

PRIMES. Ist p prim?

Co-PRIMES. ∃ Teiler von p?

FACTOR./FP. Finde Teiler von p falls ∃.

FACTOR./EP. ∃ Teiler < m von p?

I Teiler-Zeuge: PRIMES ∈ Co-NP ,Co-PRIMES & FACTOR./EP ∈ NP , FACTOR./FP ∈ FNP

I ∃ „Primalitätszeuge“→ PRIMES ∈ NP ,Co-PRIMES ∈ Co-NP , FACTOR./FP ∈ Co-FNP

I FACTOR./EP ∈ Co-NP , denn ∃ Nein-Zeuge „Primfaktorenvon p (alle ≥ m), inkl. ihrer Primalitätszeugen“; Faktorenals prim validieren, und dann ausmultiplizieren.

Durchbruch „AKS“ (Agrawal, Kayal, Saxena, 2002)PRIMES (und damit auch Co-PRIMES) liegt sogar in P!⇒ Algorithmus der PRIMES determ. in poly-Zeit beantwortet.

AKS liefert keinen Teiler-Zeugen bei Nicht-Primalität!⇒ Es ist offen ob FACTOR./EP ∈ P (bzw. FACTOR./FP ∈ FP )

Page 323: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Heinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz Zemanekösterr. Computerpionier1. Januar 1920 – 16. Juli 2014

Heinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz ZemanekHeinz Zemanekösterr. Computerpionier1. Januar 1920 – 16. Juli 2014

EEEEEEEEEEEEEEEEErster Transistorrechnerin Kontinentaleuropa

1955-57: gebaut1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958: positiver Primzahltest

für 5 073 548 261 in 66 min

EEEEEEEEEEEEEEEEErster Transistorrechnerin Kontinentaleuropa

1955-57: gebaut1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958:1958: positiver Primzahltest

für 5 073 548 261 in 66 min

Photo (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum WienPhoto (c) Technisches Museum Wien

Page 324: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 317

Mehr... Zwischen allen benachbarten Klassen ist offen ob ⊂ oder = !

EXPSPACE (= NEXPSPACE )

NEXPTIME

EXPTIME

PSPACE (= NPSPACE )

NP -vollständig

NP

P

NL

L

Co-NP -vollständig

Co-NP

ExpontiellerPlatzverbrauch

ExpontielleLaufzeit

PolynomiellerPlatzverbrauch

PolynomielleLaufzeit

LogarithmischerPlatzverbrauch

leicht

Kom

ple

xit

ät

schwer

Page 325: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 318

Wissenswertes...

Beobachtung. Ein Problem aus PSPACE kann immer inexponentiell viel Zeit gelöst werden!→ Wieso?

Beispiele:

I PSPACE-vollständig (PSPACE-complete):I Wortproblem in kontextsensitiven SprachenI Canadian Traveler Problem

I NL-vollständig (NL-complete):I st-connectivity in gerichteten Graphen

Rätsel und Spiele:

I Viele Puzzle und Rätsel sind NP-vollständig:Kreuzworträtsel, verallgemeinertes Sudoku,Minesweeper, Lemmings, Bejeweled/CandyCrush,...

I Viele Spiele sind PSPACE-vollständig: verallg. Dame,vereinfachtes Go, Sokoban, Prince of Persia (1989),...

Page 326: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 319

Und noch mehr...

Aber in der Praxis am wichtigsten: Optimierungsproblememit zugehörigen Entscheidungsproblemen aus NP\P .

Für diese gibt es weitere Algorithmen-bezogeneKomplexitätsklassen zwischen P und NP :

I FPT (fixed parameter tractable): polynomielleLaufzeit, wenn man von einem Parameter (z.B. derZielfunktion) ausgehen kann, dass er kleiner-gleich einerKonstante ist.

I Approximationsalgorithmen: Finde eine Lösung für einOptimierungsproblem, die beweisbar nicht allzu weitvom Optimum entfernt ist. Komplexitätsklassen (z.B.APX, PTAS, FPTAS,...) geben an, wie gut sich einOptimierungsproblem approximieren lässt (additiveKonstante, konstanter Faktor, etc.)

Page 327: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 320

Und noch noch mehr...

I Randomisierte Algorithmen: Statt deterministischenAlgorithmen betrachtet man Algorithmen die sich zufälligzwischen mehreren Möglichkeiten entscheiden können(nicht zu Verwechseln mit Algorithmen auf einernicht-deterministischen Maschine!).Solche Algorithmen haben dann z.B. eine mit hoherWahrscheinlichkeit polynomiell beschränkte Laufzeit,beantworten das Entscheidungsproblem mit hoherWahrscheinlichkeit korrekt, o.ä.→ Welche Problemeerlauben effektive randomisierte Methoden?

I Abzählprobleme: Wieviele zulässige Lösungen hat einEntscheidungsproblem. Beispiel: Gegeben ein Graph G;wie viele verschiedene Cliquen der Größe ≥ k enthält G?→ Was ist die Komplexität solcher Fragestellungen?

Page 328: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 321

Ende?

Für all das und viele weitere Dinge haben wir in dieser VOleider keine Zeit...

Apropos...

Page 329: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 322

Jedes Ende ist ein neuer Anfang...

Tolle Vorlesungen im nächstes Wintersemester!

I Algorithmen II2VO + 2UE, 6 ETCS, Bachelor„Algorithmen die in Info-A leider keinen Platz hatten, abereigentlich wichtig oder zumindest schön zu wissen sind“

I bessere Suchstrukturen als AVL-Bäume,I bessere PriorityQueues als Binäre Heaps,I besseres Hashing,I Textsuche-Algorithmen,I Geometrische Algorithmen (Konvexe Hülle,

Voronoi-Diagramme,...),I schnelle Matritzenmultiplikation,I ...

Page 330: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 323

Jedes Ende ist ein neuer Anfang...

Tolle Vorlesungen im nächstes Wintersemester!

I Fortgeschrittene Graphenalgorithmen4VO + 2UE, 9 ETCS, Master

I Matchings,I Planaritätstest,I Baumweite und FPT Algorithmen,I Dreizusammenhangszerlegung,I Min-Cost-Flows,...

Vorwissen aus der BSc-Vorlesung „Graphenalgorithmen“erfreulich, aber nicht Voraussetzung.

Page 331: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 324

Jedes Ende ist ein neuer Anfang...

Leider erst im übernächsten Wintersemester wieder:

I Approximationsalgorithmen2VO + 2UE, 6 ETCS, Bachelor&Master

I Algorithm Engineering2VO + 2UE +2PR, 9 ETCS, MasterTheoretische vs. Praktische Algorithmik,Speichereffiziente Algorithmen,Effektives Lösen NP -schwerer Probleme in der Praxis,...

Page 332: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Komplexitätstheorie Weitere Komplexitätsklassen 325

Ende

Vielen Dank für Ihre Aufmerksamkeit undviel Erfolg bei der Klausur!

Fragen?

Page 333: Informatik D: Einführung in die Theoretische Informatiktcs.informatik.uos.de/_media/teaching/theoinf/theoinf_folien2016.pdf · Einleitung Organisatorisches 5 Vorlesungsprüfung Zulassung

Inhaltsverzeichnis

1 EinleitungOrganisatorischesThema der VorlesungFormale Grundlagen

2 Formale Sprachen & Chomsky-HierarchieLinguistikFormale SprachenGrammatikenProbleme & Chomsky-Hierarchie

3 Reguläre Sprachen & endliche AutomatenReguläre AusdrückeEndliche AutomatenBeschreibungsäquivalenzBeispiele zum Äquivalenzbeweis (Wiederholungdes Tafelbilds)Pumping LemmaKomplexität und AbschlusseigenschaftenZusammenfassung

4 Kontextfreie SprachenKontextfreie SprachenDeterminismus vs. Nicht-DeterminismusAnwendungen: ProgrammiersprachenKellerautomatenNDKA = KFNormalformenPumping LemmaAlgorithmische Fragen undAbschlusseigenschaftenZusammenfassung

5 Turingmaschinen & BerechenbarkeitSprachen jenseits von kontextfreiTuringmaschinenFormale Sprachen: Zusammenstellungwichtiger EigenschaftenTuringmaschinen, reloadedBerechenbarkeitEntscheidbarkeit und HalteproblemWeitere unentscheidbare Probleme

6 KomplexitätstheorieP vs. NPBeweisen von NP-Vollständigkeit: SATWeitere NP-vollständige ProblemeWeitere Komplexitätsklassen