244
Theoretische Informatik Automaten und formale Sprachen Prof. Dr. Sibylle Schwarz HTWK Leipzig, Fakultät IMN Gustav-Freytag-Str. 42a, 04277 Leipzig Zimmer Z 411 (Zuse-Bau) http://www.imn.htwk-leipzig.de/~schwarz [email protected] Wintersemester 2015/16 1

Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Theoretische InformatikAutomaten und formale Sprachen

Prof. Dr. Sibylle SchwarzHTWK Leipzig, Fakultät IMN

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

http://www.imn.htwk-leipzig.de/[email protected]

Wintersemester 2015/16

1

Page 2: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Einordnung der Theoretischen InformatikInformatik Lehre von der Darstellung und Verarbeitung von

Information durch Algorithmen

Teilgebiete der Informatik:

theoretisch I Sprachen zur Formulierung von Information undAlgorithmen,

I Möglichkeiten und Grenzender maschinellen Berechenbarkeit,

I Grundlagen für technische und praktische(und angewandte) Informatik

technisch I maschinelle Darstellung von InformationI Mittel zur Ausführung von Algorithmen

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

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

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

2

Page 3: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Anwendungen der theoretischen InformatikFormale Sprachen

I Repräsentation von Problemen in maschinenlesbarer Form(Mensch-Maschine-Kommunikation, Modellierung)

I Ausdrucksstärke und Flexibilität von ProgrammiersprachenI Übersetzung von Programmiersprachen (z.B. in ausführbaren Code)

Maschinenmodelle (Automaten)I Möglichkeiten und Grenzen verschiedener Modelle zur Ausführung

von Algorithmen

Berechenbarkeitstheorie (hier Ausblick, mehr dazu im Mastermodul)I Welche Probleme sind überhaupt algorithmisch

(mit Hilfe verschiedener Maschinenmodelle) lösbar?Auch negative Antworten sind sehr hilfreich(sparen Aufwand für ungeeignete Lösungsansätze)

Komplexitätstheorie (hier Ausblick, mehr dazu im Mastermodul)I Welche Probleme sind mit beschränkten Ressourcen

(z.B. Zeit, Speicherplatz) lösbar?I Für welche Probleme können schnelle Algorithmen existieren?

3

Page 4: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Prinzipien der theoretischen Informatikältester Zweig der Informatik (lange vor dem ersten Computer)Mathematische Prinzipien:

I AbstraktionI ermöglicht verallgemeinerte Aussagen und breit einsetzbare

Verfahren,I Ergebnisse und Verfahren oft nicht sofort praktisch anwendbar,

müssen auf spezielle Situationen angepasst werden.I Beweisbarkeit

I erfordert präzise Modellierung des ProblemsI Nachweis der Korrektheit von Hard- und Software

(Tests können dies nicht !)

Wissen aus der theoretischen InformatikI veraltet über viele Jahre kaumI Grundlage für Verständnis von (schnelllebigem) Spezialwissen,

z.B. konkrete Programmiersprachen, Domain-spezifischeSprachen, Transformationen

4

Page 5: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Aus der Modulbeschreibung3010 Theoretische Informatik: Automaten und formale Sprachen

Arbeitsaufwand: Präsenzzeit 60 h (= 2 h V + 2 h Ü je Woche)Vor- und Nachbereitungszeit 90 h (≈ 6 h je Woche)

Voraussetzungen: anwendungsbereite Kenntnisse auf den GebietenModellierung, Logik, Algorithmen undDatenstrukturen, Aufwandsabschätzungen

Lernziele: Die Studierenden sind in der Lage, wichtige Klassenformaler Sprachen als Grundlage von Programmier-und Beschreibungssprachen einzuordnen und kennendie wesentlichen Eigenschaften der Sprachklassen.Sie kennen die entsprechenden abstraktenMaschinenmodelle und Algorithmen und können siezur Darstellung und Lösung praktischerAufgabenstellungen einsetzen.Die Studierenden wissen, dass nicht jedes formaldarstellbare Problem algorithmisch lösbar ist.

5

Page 6: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Inhalt der LehrveranstaltungI Formale Sprachen

I Wiederholung: Alphabet, Wort, Sprache, Operationen daraufI reguläre AusdrückeI Wiederholung: WortersetzungI Grammatiken, Chomsky-Hierarchie

I MaschinenmodelleI Endliche AutomatenI KellerautomatenI Turing-Maschinen

I Berechenbarkeit (Ausblick auf Master-Modul)I berechenbare FunktionenI BerechnungsmodelleI These von ChurchI algorithmische Entscheidbarkeit / Unentscheidbarkeit

I Komplexität (Ausblick auf Master-Modul)I KomplexitätsmaßeI Komplexitätsklassen P, NP, PSPACE

jeweils mit vielen Beispielen6

Page 7: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

LiteraturI Uwe Schöning:

Theoretische Informatik - kurzgefasst (Spektrum 2001)I John E. Hopcroft, Jeffrey D. Ullman:

Einführung in die Automatentheorie, Formale Sprachen undKomplexitätstheorie (Addison-Wesley 1990)

I Dirk W. Hoffmann:Theoretische Informatik (Hanser 2009)

I Rolf Socher:Theoretische Grundlagen der Informatik (Hanser 2008)

I Ulrich Hedtstück:Einführung in die Theoretische Informatik (Oldenbourg 2007)

I Gottfried Vossen, Kurt-Ulrich Witt:Grundkurs Theoretische Informatik (Vieweg 2006)

I Alexander Asteroth, Christel Baier:Theoretische Informatik. Eine Einführung in Berechenbarkeit,Komplexität und formale Sprachen (Pearson 2002)

I Renate Winter:Theoretische Informatik (Oldenbourg 2002)

7

Page 8: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Lehrveranstaltungen

Folien, Übungsserien, aktuelle Informationen unterwww.imn.htwk-leipzig.de/~schwarz/lehre/ws15/ti

Vorlesung jeden Freitag (2 h / Woche)Selbststudium (Hausaufgaben): (6 h / Woche)

schriftliche Übungsserien (ca. zu jeder Vorlesung)Besprechung in der nächsten Übung

Autotool je Freitag bis DonnerstagÜbung (2 Gruppen) jeden Dienstag: (2 h / Woche)

alle Folien, Aufgaben, Lösungen mitbringen !I Besprechung der Übungsserien (Vorrechnen),I Fragen zum aktuellen Vorlesungsinhalt

8

Page 9: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Prüfung

Prüfungsvorleistungen:I ≥ 50% aller Punkte für

Autotool-Pflichtaufgaben undI ≥ 3 Vorrechen-Punkte (Übungen)

Prüfung: Klausur 90 minAufgabentypen ähnlich Übungsaufgaben(Hilfsmittel: beidseiting handbeschriebenes A4-Blatt)

9

Page 10: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Formale Sprachen

Syntax natürlicher Sprachen:I Rechtschreibung: korrekte WörterI Grammatik: Aufbau korrekter Sätze

Definition von Programmiersprachen:Syntax Form der Sprachelemente

Semantik Bedeutung der Sprachelemente und -strukturenPragmatik Regeln zur zweckmäßigen Anwendung

Syntax von Programmiersprachen:I Schlüsselwörter, Bezeichner, Darstellung von Zahlen, . . .I Programmstrukturen:

Form der Ausdrücke, Anweisungen, Deklarationen, . . .

10

Page 11: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Formale Sprachen: BeispieleProgrammiersprachen:

while (b != 0) { if (a > b) a = a - b; else b = b - a; }

Regeln für korrekte Syntax (EBNF):

Statement ::= ... | IfStmt | WhileStmt | ... ;WhileStmt ::= "while" "(" Expr ")" Statement;IfStmt ::= "if" "(" Expr ")" Statement ( "else" Statement )?;Expr ::= ...

Domain-spezifische Sprachen , z.B. Autotool-Lösungen zu AL-ModelllistToFM[(x,True),(y,False),(z,False)]

Regeln für korrekte Syntax (EBNF):

belegung ::= "listToFM" "[" var-wert-paare "]"var-wert-ps ::= "" | var-wert-paar | var-wert-paar "," var-wert-psvar-wert-paar ::= "(" var-name, wert ")"wert ::= "True" | "False"var-name ::= ...

Graphische Sprachen , z.B.11

Page 12: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Maschinenmodell: endlicher Automat

Beschreibung des dynamischen Verhaltens von Systemen

Modellierung von Abläufen (Zustandsübergangssysteme)

Beispiele:I Bedienoperationen an Geräten oder SoftwareI Schaltfolgen von AmpelanlagenI Steuerung von ProduktionsanlagenI Ablauf von (Geschäfts-)Prozessen

12

Page 13: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel: (Pool-)Einlass mit Karte

Automat definiert durchI Zustände: gesperrt, freiI Startzustand: gesperrtI Aktionen (Eingabesymbole): Karte (anlegen), Durchgehen,

TimeoutI Zustandsübergänge(gesperrt, Karte) → frei

(frei, Karte) → frei(frei, Durchgehen) → gesperrt(frei, Timeout) → gesperrt

definiert mögliche (erlaubte) Folgen von Aktionen

Diese Folgen lassen sich durch reguläre Ausdrücke darstellen:( Karte Karte∗( Durchgehen + Timeout ))∗

13

Page 14: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Anwendung bei der Übersetzung von Programmen

Übersetzung von Quell- in Zielsprache(z.B. C, Java in Maschinen- oder Byte-Code)

meist in zwei Phasen über eine (gemeinsame) Abstraktion:

Quellcode↓ Analyse-Phase (Front-End)

Zwischendarstellung(oft Baumstruktur)

↓ Synthese-Phase (Back-End)Code in Zielsprache

14

Page 15: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Analyse-Phase

Quellcode Scanner Folge von Token Parser Syntaxbaum

lexikalische Analyse (Scanner)lineare Analyse des Quelltextes,Aufteilung in Einheiten (Token)z.B. Schlüsselwörter, Bezeichner, Zahlenreguläre Sprachen, endliche Automaten

Syntaxnalyse (Parser)hierarchische Struktur des Quelltextesz.B. Ausdrücke, Verzweigungen, Schleifenkontextfreie Sprachen, Kellerautomaten

semantische Analyse Annotationen im Syntaxbaum,z.B. Typprüfungen

15

Page 16: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Einsatz ähnlicher Transformations- und Analyse-MethodenI Compiler für Programmiersprachen (z. B. Java → Bytecode)I Interpreter für Programmiersprachen (z. B. Java-Bytecode)I Übersetzung von Daten zwischen verschiedenen Formaten

z. B. LilyPond (http://www.lilypond.org) übersetzt\repeat volta 3 { c’ e’ g’ e’ | }\alternative { { c’2 g’ | } { g’1 | } }

u. A. inI Verarbeitung von Domain-spezifischen SprachenI TextformatierungI DokumentbeschreibungssprachenI kontextabhängige Hilfe in EntwicklungsumgebungenI statische Analyse zur Fehlersuche in ProgrammenI graphische Editoren (z.B. für UML-Diagramme) mit

automatischer Programmgenerierung16

Page 17: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Berechenbarkeit / Entscheidbarkeit

Halteproblem:Kann ein (Test-)programm U existieren, welches für jedes beliebige(Dienst-)Programm P (Eingabe als Quelltext) entscheidet, ob Pnach endlich vielen Schritten anhält?

Nein

Folgerungen:I Alle Versuche, ein solches Programm zu schreiben, müssen

fehlschlagen.I Suche nach Verfahren, die für eine möglichst große Teilmenge

aller (Dienst-)Programme P entscheiden, ob P nach endlichvielen Schritten anhält, ist sinnvoller.

I Entwickler von P (Dienstleister) muss nachweisen, dass seinProgramm P nach endlich vielen Schritten anhält

17

Page 18: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

KomplexitätBeispiel Primzahltest

Problem: Ist eine gegebene Zahl n eine Primzahl?

Instanz des Problems: Ist 12347 eine Primzahl?

lösbar durch den Algorithmus:1. Für alle i ∈ {2, . . . , n}:

Test: Ist n durch i teilbar?I ja: Ende mit Ausgabe n ist nicht prim.I nein: weiter (mit Test für i + 1)

2. Ausgabe: n ist prim.

Test ist für große Zahlen aufwendig. Geht es besser?

I Was bedeutet aufwendig und besser?I Wie aufwendig ist eine Berechnung?I Wie aufwendig ist die Lösung eines Problemes?

18

Page 19: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: Alphabet, Wort, SpracheFür jede Menge A heißt

An = A× · · · × A︸ ︷︷ ︸n

= {w1 · · ·wn | ∀i : wi ∈ A}

Menge aller Wörter der Länge n über A(n-Tupel, Vektoren, Folgen, Listen, Zeichenketten)

A∗ =⋃{n∈N} A

n Menge aller Wörter über A(endliche Folgen, Listen, Zeichenketten)

A0 = {ε} mit leerem Wort ε

Alphabet (endliche) Menge A von SymbolenWort endliche Folge von Symbolen w = w1 · · ·wn mit

∀i ∈ {1, . . . , n} : wi ∈ A

Länge eines Wortes |w | = Anzahl der Symbole in w

Anzahl der Vorkommen eines Symboles in einem Wort|w |a = Anzahl der a in w (für a ∈ A)

Sprache Menge von Wörtern L ⊆ A∗

19

Page 20: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele

I Alphabet A = {0, 1}Wörter ∈ A∗ = {0, 1}∗: Menge aller Binärwörter

Sprachen ⊆ A∗, z.B.I {w ∈ {0, 1}∗ | w1 6= 0} Menge aller Binärzahlen

ohne führende NullenI {w ∈ {0, 1}∗ | w1 6= 0 ∧ w|w |−1 = w|w | = 0}

Menge aller Binärdarstellungen durch 4 teilbarerZahlen ohne führende Nullen

I Alphabet A = {a, b}Wörter ∈ A∗ = {a, b}∗: Menge aller Wörter, die

höchstens die Buchstaben a und b enthaltenSprachen ⊆ A∗, z.B.

I ∅I {a, b}I {a}∗ = {ε, a, aa, aaa, . . .}I {w ∈ {a, b}∗ | w1 = a ∧ w|w | = a} ={a, aa, aaa, aba, aaaa, abaa, aaba, abba, . . .}

20

Page 21: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele für SprachenI Menge aller englischen Wörter L1 ⊂ {a, . . . , z}∗

I Menge aller deutschen Wörter L2 ⊂ {a, . . . , z , ß,ä,ö,ü}∗

I Menge aller möglichen DNA L3 ⊆ {A,T ,G ,C}∗

I Menge aller natürlichen Zahlen in DezimaldarstellungL4 ⊆ {0, . . . , 9}∗ (evtl. mit führenden Nullen)

I Menge aller natürlichen Zahlen in Binärdarstellung(Bitfolgen beliebiger Länge) L5 ⊆ {0, 1}∗

I Menge aller aussagenlogischen Formeln in AL({p, q, r})L6 ⊆ {p, q, r , t, f,¬,∨,∧,→,↔, (, )}∗,

I Menge aller arithmetischen Ausdrücke über Z (ohne Variablen)L7 ⊂ {0, . . . , 9,+, ·,−, /, (, )},

I Menge aller deutschen Sätze L8 ⊂ (L2 ∪ {., , , !, ?, (, ),−})∗

Wie lassen sich unendliche Sprachen endlich darstellen?(Voraussetzung für maschinelle Verarbeitung)verschiedene Darstellungen später in dieser LV

21

Page 22: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Darstellung von Wörtern

extensional durch Angabe der Symbole in ihrer ReihenfolgeBeispiele: u = 321,v = abababababa,w = w1 · · ·w4 mit w1 = w2 = w3 = a, w4 = b

intensional durch Angabe einer Eigenschaft, die für jeden Index idas i-te Symbol eindeutig bestimmt.

Beispiele:u ∈ {0, . . . , 4}3 mit ∀i ∈ {1, . . . , 3} : ui = 4− i ,

v ∈ {a, b}11 mit ∀i ∈ {1, . . . , 11} : vi =

{a falls i ∈ 2N+ 1b sonst

w ∈ {a, b}4 mit w4 = b ∧ ∀i ∈ {1, . . . , 3} : wi = a

22

Page 23: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Darstellung von Sprachen

extensional durch Angabe der Elemente(nur Beschreibung endlicher Sprachen möglich)Beispiele: {ε, a, aa, aaa}, {b, ba, baa, baaa},{a, b, aa, bb, aaa, bbb}

intensional durch Angabe einer Eigenschaft, die genau alleWörter der Sprache haben.(auch Beschreibung unendlicher Sprachen möglich)Beispiele: {w ∈ {a}∗ | |w | ≤ 3},{w ∈ {a, b}∗ | w1 = b ∧ ∀i ≥ 2 : wi = a},{w ∈ {a, b}∗ | ∀i ≥ 2 : wi = w1}

später in dieser LV noch mehr Formalismen zur endlichenBeschreibung von eingeschränkten Sprachklassen(reguläre Ausdrücke, Grammatiken, Automaten, . . . )

23

Page 24: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Operationen auf WörternOperationen auf Wörtern u, v ∈ A∗:Verkettung ◦ : A∗ × A∗ → A∗, wobei

∀u ∈ A∗ ∀v ∈ A∗ ∀i ∈ {1, . . . , |u|+ |v |} :

(u ◦ v)i =

{ui falls i ≤ |u|vi−|u| sonst

Beispiel: anne ◦marie = annemarieassoziativ, nicht kommutativ, ε ist neutralDamit ist (A∗, ◦, ε) ein Monoid.

Spiegelung R : A∗ → A∗, wobei

∀u ∈ A∗ ∀i ∈ {1, . . . , |u|} : uRi = u|u|+1−i

Beispiel: marieR = eiram, annaR = annau ∈ A∗ heißt Palindrom gdw. uR = u

FaktI Für jedes Wort u ∈ A∗ gilt

(uR)R

= u.I Für je zwei beliebige Wörter u, v ∈ A∗ gilt (u ◦ v)R = vR ◦ uR .

24

Page 25: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Anwendung: Java-StandardbibliothekRotieren einer Liste in java.util.Collections:x0, . . . , xmid−1︸ ︷︷ ︸

u

, xmid, . . . , xsize︸ ︷︷ ︸v

durch v ◦ u = (uR ◦ vR)R

private static void rotate2(List<?> list, int distance) {int size = list.size();if (size == 0)return;int mid = -distance % size;if (mid < 0)mid += size;if (mid == 0)return;

reverse(list.subList(0, mid));reverse(list.subList(mid, size));reverse(list);

}

25

Page 26: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Relationen auf Wörtern

Präfix v (Anfangswort):

∀u ∈ A∗ ∀v ∈ A∗ : ((u v v) ↔ (∃w ∈ A∗ (u ◦ w = v)))

z.B. tom v tomate (mit w = ate)

Postfix (Suffix):

∀u ∈ A∗ ∀v ∈ A∗ : (u Postfix von v ↔ (∃w ∈ A∗ (w ◦ u = v)))

z.B. enten ist Postfix von studenten (mit w = stud)

Infix (Faktor, zusammenhängendes Teilwort):

∀u ∈ A∗ ∀v ∈ A∗ : (u Infix von v ↔ (∃w ∈ A∗ ∃w ′ ∈ A∗ : (w ◦ u ◦ w ′ = v)))

z.B. oma ist Infix von tomate (mit w = t und w ′ = te)

26

Page 27: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Mehr Relationen auf WörternOrdnungen bei gegebener Reihenfolge < auf dem Alphabet A:lexikographisch Ordnung auf A∗:

∀u, v ∈ A∗ : u ≤lex v gdw.1. u v v oder2. ∃w ∈ A∗ ∃a, b ∈ A : a < b ∧ wa v u ∧ wb v v

quasi-lexikographische Ordnung auf A∗:∀u, v ∈ A∗ : u ≤qlex v gdw.1. |u| ≤ |v | oder2. |u| = |v | ∧ u ≤lex v

Beispiele: für A = {a, b} mit a < b

I ab v aba, ab ≤lex aba, ab ≤qlex aba

I abab 6v abba, aber abab ≤lex abba und abab ≤qlex abba,I aaa ≤lex ab, aber aaa 6≤qlex ab

I ab 6≤lex aaba, aber ab ≤qlex aaba

27

Page 28: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Sprachen als MengenSprachen L ⊆ A∗ sind Mengen von WörternEigenschaften: leer, endlich, abzählbar, überabzählbarMengenrelationen auf Sprachen:

L ⊆ L′ gdw. ∀w ∈ A∗ : w ∈ L→ w ∈ L′ giltL = L′ gdw. ∀w ∈ A∗ : w ∈ L↔ w ∈ L′ gilt

Mengenoperationen auf Sprachen:

L ∪ L′ = {w | w ∈ L ∨ w ∈ L′}L ∩ L′ = {w | w ∈ L ∧ w ∈ L′}L \ L′ = {w | w ∈ L ∧ w 6∈ L′}L∆L′ = (L \ L′) ∪ (L′ \ L)

Komplement einer Sprache L ⊆ A∗: L = A∗ \ LBeispiel:

L =⋃

n∈3N

An L =⋃

n∈{3i+1|i∈N}

An ∪⋃

n∈{3i+2|i∈N}

An

28

Page 29: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Weitere Operationen auf Sprachen

Verkettung ◦ von Sprachen:

L1 ◦ L2 = {u ◦ v | u ∈ L1 ∧ v ∈ L2}

Beispiel:

L1 = {111, 1, 10} L2 = {00, 0}L1 ◦ L2 = {111, 1, 10} ◦ {00, 0}

= {1110, 11100, 10, 100, 1000}

Spiegelung LR = {wR | w ∈ L}

Beispiel: L = {a, ab, aba, abab}LR = {a, ba, aba, baba}

29

Page 30: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Iterierte VerkettungI für Sprachen L ⊆ A∗

L0 = {ε} ∀n ∈ N : Ln+1 = Ln ◦ L = L ◦ · · · ◦ L︸ ︷︷ ︸n+1−mal

L∗ =⋃n∈N

Ln L+ =⋃

n∈N\{0}

Ln

I für Wörter u ∈ A∗:

un = u · · · u︸ ︷︷ ︸n−mal

∈ A∗, u∗ = {u}∗ = {un | n ∈ N} ⊆ A∗

u+ = u∗ \ {ε} = {u}+ = {un | n ∈ N \ {0}} ⊆ A∗

Beispiele:

(101)3 = 101101101 und 1013 = 10111a∗ = {ai | i ∈ N} = {ε, a, aa, aaa, . . .}

(ab)∗ = {(ab)i | i ∈ N} = {ε, ab, abab, ababab, . . .}

30

Page 31: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Reguläre Ausdrücke – Syntax

Die Menge RegExp(A) aller regulären Ausdrücke über einemAlphabet A ist (induktiv) definiert durch:IA ∅ ∈ RegExp(A),

ε ∈ RegExp(A) undfür jedes Symbol a ∈ A gilt a ∈ RegExp(A)

IS für alle E ∈ RegExp(A) und F ∈ RegExp(A) gilt(E + F ),EF , (E )∗ ∈ RegExp(A).

Beispiele: ε+ a, ε+ ∅, (a + ∅)∗, ε+ ((ab)∗a)∗

dieselbe Definition kürzer: RegExp(A) = Term(ΣF , ∅)für die SignaturΣF = {(∅, 0), (ε, 0), (∗, 1), (+, 2), (·, 2)} ∪ {(a, 0) | a ∈ A}(Baumdarstellung)

31

Page 32: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele(ohne überflüssige Klammern)

I Für A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} gilt0+(1+2+3+4+5+6+7+8+9)(0+1+2+3+4+5+6+7+8+9)∗

∈ RegExp(A)I Für A = {0, 1} gilt

I (1 + ε)∗ + (10)∗ ∈ RegExp(A)I (0 + 11)∗ + ((0 + (1)∗)0)∗ ∈ RegExp(A)

Oft werden

A

E+ = EE ∗

En = E · · ·E︸ ︷︷ ︸n−mal

En∗ =

E · · ·E︸ ︷︷ ︸n−mal

∗für n ∈ N als Kurzbezeichnungen verwendet.

32

Page 33: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Reguläre Ausdrücke – Semantik

Jeder reguläre Ausdruck E ∈ RegExp(A) repräsentiert eine SpracheL(E ) ⊆ A∗.

L(∅) = ∅L(ε) = {ε}

∀a ∈ A : L(a) = {a}∀E ,F ∈ RegExp(A) : L(E + F ) = L(E ) ∪ L(F )∀E ,F ∈ RegExp(A) : L(EF ) = L(E ) ◦ L(F )∀E ,F ∈ RegExp(A) : L(E∗) = (L(E ))∗

Eine Sprache L ⊆ A∗ heißt genau dann regulär, wenn ein regulärerAusdruck E ∈ RegExp(A) mit L = L(E ) existiert.

Beispiel: Die Menge L aller Dezimaldarstellungen natürlicher Zahlen istregulär wegen L = L (0 + (1 + 2 + · · ·+ 9)(0 + 1 + · · ·+ 9)∗)

33

Page 34: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele

Für A = {a, b} gilt

L(ab∗) = {a, ab, abb, abbb, abbbb, . . .} = {abi | i ∈ N}L((ab)∗) = {ε, ab, abab, ababab, . . .} = {(ab)i | i ∈ N}

L((a + b)∗) = {a, b}∗

L(a∗b∗) = {u ◦ v | u ∈ a∗ ∧ v ∈ b∗}L((a∗b∗)∗) = {a, b}∗

L((a + b)∗aba) = {u ◦ aba | u ∈ A∗}∗

Reguläre Ausdrücke ermöglichen eine endliche Darstellungunendlicher Sprachen.

34

Page 35: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Äquivalenz regulärer Ausdrücke

Zwei reguläre Ausdrücke E ,F ∈ RegExp(A) heißen genau dannäquivalent, wenn L(E ) = L(F ) gilt.

Beispiele:I (a + b)∗, (a∗ + b∗)∗ und a∗(ba∗)∗ sind äquivalentI ab∗ und (ab)∗ sind nicht äquivalentI (11 + 0 + 110 + 011)∗ und (11 + 0)∗ sind . . .

FaktDie Äquivalenz regulärer Ausdrücke ist eine Äquivalenzrelation.

35

Page 36: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschahAlphabet, Wort, SpracheWörter w ∈ A∗

I Operationen: Spiegelung R , Verkettung ◦I PalindromeI Relationen: Präfix, Infix, Postfix,

lexikographische, quasi-lexikographische Ordnung

Sprachen L ⊆ A∗ (L ∈ 2(A∗))

I Relationen: Mengenrelationen ⊆,=I Operationen: Mengenoperationen ∪,∩, , \

Verkettung ◦, iterierte Verkettung ∗, Spiegelung R

Reguläre AusdrückeI endliche Darstellung evtl. unendlicher SprachenI Syntax: RegExp(A) = Term(ΣF , ∅) (Baumstruktur) für

ΣF = {(∅, 0), (ε, 0), ( ∗, 1), (·, 2), (+, 2)} ∪ {(a, 0)|a ∈ A}I Semantik des regulären Ausdrucks E ∈ RegExp(A):

Sprache L(E ) ⊆ A∗

36

Page 37: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Interessante Fragen für SprachenI Ist ein gegebenes Wort w in der Sprache L enthalten?

(heißt oft Wortproblem)I Enthält die Sprache L nur endlich viele Wörter?I Gilt L1 ⊆ L2 für zwei gegebene Sprachen L1 und L2?I Gilt L1 = L2 für zwei gegebene Sprachen L1 und L2?

Fragen zur Regularität:

I Lässt sich die Sprache L durch einen regulären Ausdruck definieren?(Gilt ∃E ∈ RegExp(A) : L = L(E ) ?)

I Woran erkennt man, ob sich eine Sprache durch einen regulärenAusdruck definieren lässt?

I Gilt L(E ) = ∅ für einen gegebenen regulären Ausdruck E?I Gilt L(E ) = A∗ für einen gegebenen regulären Ausdruck E?I Ist ein gegebenes Wort w in der durch den regulären Ausdruck E

definierten Sprache L(E ) enthalten?

Alle Antworten sind für endliche Sprachen einfach,aber für unendliche Sprachen meist schwierig.

37

Page 38: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wortersetzungssysteme

Alphabet A

Wortersetzungsregel (l , r) ∈ A∗ × A∗ (geschrieben l → r)Wortersetzungssystem endliche Menge von Wortersetzungsregeln

Beispiele:I Regel ba→ ab,I Wortersetzungssystem S = {a→ ab, ba→ c , abc → ε}

38

Page 39: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Anwendung von Wortersetzungsregeln

Eine Regel l → r ist auf ein Wort w ∈ A∗ anwendbar,falls l ein Infix von w ist.

Beispiel: Regel ma→ ε istI auf tomate anwendbar, u = to, v = te,I auf am, motte und meta nicht anwendbar.

Eine Anwendung der Regel l → r auf ein Wortw = u ◦ l ◦ v ∈ ergibt das Wort u ◦ r ◦ v .(Ersetzung des Teilwortes l durch r)

Beispiel: ab → a angewendet auf baababa = u ◦ l ◦ vI mit u = ba und v = aba ergibt baaabaI mit u = baab und v = a ergibt baabaa

39

Page 40: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ableitungsschritt

Ableitungsschritt (u, (l → r), p, v) im Wortersetzungssystem S mitI Ausgangswort u,I auf u anwendbare Regel l → r aus S ,I Position p ∈ {1, . . . , |u|} im Wort u, an der das Teilwort l

beginntI v ist das nach Anwendung der Regel l → r an Position p auf u

entstandene Wort.

Beispiel:S = {ab → ba, a→ b}, u = abamögliche Ableitungsschritte in S(aba, (ab → ba), 1, baa)(aba, (a→ b), 3, abb)(aba, (a→ b), 1, bba)

40

Page 41: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ein-Schritt-Ableitungsrelation

Jedes Wortersetzungssystem S ⊆ A∗ × A∗ definiert eine Relation→S ⊆ A∗ × A∗, wobei genau dannu →S v gilt, wenn ein Ableitungsschritt (u, (l → r), p, v) mit(l → r) ∈ S existiert.

Beispiel: Für S = {ab → ba, a→ b} giltI aba→S baa wegen (aba, (ab → ba), 1, bba)

I aba→S bba wegen (aba, (a→ b), 1, bba)

I aba→S abb wegen (aba, (a→ b), 3, abb)

I aba 6→S bbb

41

Page 42: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: Hüllen binärer RelationenR ∪ IM heißt reflexive Hülle von R ⊆ M2

(mit Identität IM = {(x , x) | x ∈ M})

R ∪ R−1 heißt symmetrische Hülle von R ⊆ M2

(mit inverser Relation R−1 = {(y , x) | (x , y) ∈ R})

Wiederholung: Verkettung ◦ der Relationen R ⊆ M2 und S ⊆ M2

R ◦ S = {(x , z) ∈ M2 | ∃y ∈ M : (x , y) ∈ R ∧ (y , z) ∈ S}

Iterierte Verkettung von R ⊆ M2 mit sich selbst:

R0 = IM

Rn+1 = Rn ◦ RR+ =

⋃n∈N\{0}

Rn ⊆ M2 transitive Hülle

R∗ =⋃n∈N

Rn ⊆ M2 reflexiv-transitive Hülle

42

Page 43: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ableitungen

Eine Folge von Ableitungsschritten

(u, (l1 → r1), p1, u2), (u2, (l2 → r2), p2, u3), · · · , (un−1, (ln−1 → rn−1, pn−1, v)

im Wortersetzungssystem S heißt Ableitung von u nach v in S .

Beispiel: S = {ab → ba, a→ b}, u = abaFolge von Ableitungsschritten(aba, (ab → ba), 1, baa), (baa, (a→ b), 3, bab), (bab, (a→ b), 2, bbb)

abaab→ba−→ baa

a→b−→ baba→b−→ bbb

Länge der Ableitung = Anzahl der Ableitungsschritte

In jedem System S existiert für jedes u ∈ A∗ die leere Ableitung(der Länge 0) von u nach u.

43

Page 44: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele

S1 = {||| → |} mit u = ||||||| und v = ||||Was wird hier „berechnet“?Anderes Wortersetzungssystem mit derselben Wirkung?

S2 = {11→ 1, 00→ 1, 01→ 0, 10→ 0} und u = 1101001Wirkung verschiedener Ableitungreihenfolgen?

S3 = {c → aca, c → bcb, c → a, c → b, c → ε} und u = cMenge aller in S3 ableitbaren Wörter, die kein c enthalten?

44

Page 45: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ersetzungsrelation

Jedes Wortersetzungssystem S ⊆ (A∗ × A∗) definiert dieErsetzungsrelation →∗S ⊆ (A∗ × A∗), wobei genau dannu →∗S v gilt, wenn eine Ableitung von u nach v existiert.

Beispiel: S = {a→ aa},I für jedes n ≥ 1 gilt ba→∗S b a · · · a︸ ︷︷ ︸

nwegen ba→S baa→S baaa→S · · · →S b a · · · a︸ ︷︷ ︸

n

I b →∗S b, aber für kein Wort w 6= b gilt b →∗S w

(→∗S ist die reflexive transitive Hülle von →S)

45

Page 46: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Modellierungsbeispiel: lineares SolitaireStartkonfiguration : n Spielsteine auf n benachbarten Spielfeldern.

Spielzug : Springe mit einem Stein über einen benachbarten Steinauf das nächste freie Feld und entferne denübersprungenen Stein.

Spielende , wenn kein Zug mehr möglich ist.

Modellierung als Wortersetzungssystem:I Konfiguration: w ∈ {◦, •}∗ (• - Stein, ◦ - leer, 2 - Rand)I Startkonfiguration: 2 •n 2

I zulässige Spielzüge: ◦ • • → •◦ ◦, • • ◦ → ◦◦ •, 2 • •2→ 2 •2, . . .

Fragen:I Welche Konfigurationen / Endkonfigurationen sind von der

Startkonfiguration erreichbar?I Wieviele Züge sind mindestens / höchstens notwendig, um eine

Endkonfiguration zu erreichen?

Jedes Paar (Wortersetzungssystem, Anfangskonfiguration) definiert dieMenge (Sprache) aller erreichbaren Konfigurationen.

46

Page 47: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Sprachen aus WortersetzungssystemenJedes Paar (Wortersetzungssystem S , Anfangswort w) über einemAlphabet A definiert die Sprache

L(S ,w) = {v ∈ A∗ | w →∗S v}

(alle Wörter v , die von w durch eine Ableitung in S erreichtwerden)B: S = {c → aca, c → bcb, c → ε}, w = cL(S ,w) = {w ◦ c ◦ wR} (Menge aller Palindrome über {a, b, c},die höchstens an der mittleren Position ein c enthalten)Jedes Paar (Wortersetzungssystem S , Menge M von Wörtern) übereinem Alphabet A definiert die Sprache

L(S ,M) =⋃w∈L

L(S ,w)

(alle Wörter v , die von irgendeinem w ∈ M durch eine Ableitung inS erreicht werden)

47

Page 48: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ausdrucksstärke von Wortersetzungssystemen

WortersetzungssystemeI ermöglichen eine endliche Darstellung unendlicher Sprachen.

(als Erzeugungsvorschrift für alle Wörter der Sprache)Beispiele: L ({ε→ aaa}, ε) = {a3n | n ∈ N} = (aaa)∗

L ({2→ 020, 2→ 121}, 2) = {w2wR | w ∈ {0, 1}∗}

I können zur Modellierung von Zuständen und Übergängendazwischen verwendet werdenz.B. Spiele, Ausführung von Programmen,ProgrammverifikationBeispiel: Lineares Solitaire

I können Berechnungen simulieren(Bestimmung von erreichbaren Wörtern ohne Nachfolger)Beispiel: ε ∈ L ({||| → |}, ||||||)

48

Page 49: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wortproblem für durch Wortersetzungssysteme definierteSprachen

Ist ein gegebenes Wort w in der Sprache L(S , u) enthalten?

alternative Formulierung: Gilt u →∗S w?

Ableitungsrelation →S als(unendlicher) gerichteter Graph GS = (V ,E ) mitKnoten: V = A∗

Kanten: E = {(u, v) | u →S v}

u →∗S w gilt genau dann, wenn in GS ein Pfad von u nach wexistiert.

Beispiel: (Tafel) S = {ab → ba},abab →∗S baba, aber abab 6→∗S abaa, abab 6→∗S aabb

49

Page 50: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Sprachen aus Wortersetzungssystemen

Lösung des Wortproblems und anderer Fragen zu Sprachen ist fürendliche Sprachen einfach, für unendliche Sprachen oft nicht.

Darstellung der Sprache durch ein Wortersetzungssystem kannhelfen.

Lösung des Wortproblem w ∈ L(S , u) durch Standardverfahren:Suche eines Pfades von u nach w im Ableitungsgraphen desWortersetzungssystems S

Problem:I Pfadsuche ist Standardverfahren für endliche Graphen.I Ableitungsgraphen von Wortersetzungssystemen sind meist

unendlich.

Standardverfahren anwendbar, wenn Suche in einem endlichenTeilgraphen genügt

50

Page 51: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Nichtverlängernde WortersetzungssystemeEin Wortersetzungssystem S heißt genau dann nichtverlängernd,wenn für jede Regel (l → r) ∈ S gilt: |l | ≥ |r |.Wortproblem (L,w):

Eingabe : Sprache L ⊆ A∗, Wort w ∈ A∗

Frage: Gilt w ∈ L?Ausgabe ja oder nein

Beispiel: S = {ab → ba, ac → a}, u = abcac , v = aacb

SatzEs gibt einen Algorithmus, welcher für für jedes nichtverlängerndeWortersetzungssystem S ⊆ A∗×A∗ und beliebige Wörter u,w ∈ A∗

das Wortproblem (L(S , u),w) in endlicher Zeit korrekt löst.

Idee:Suche im endlichen Teilgraphen aller Wörter v ∈ A∗ mit |v | ≤ |u|

51

Page 52: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Nichtverkürzende Wortersetzungssysteme

Ein Wortersetzungssystem S heißt genau dann nichtverkürzend,wenn für jede Regel (l → r) ∈ S gilt: |l | ≤ |r |.

Beispiel: S = {a→ ba, b → a}, u = ba, w = aaba, w ′ = abab

SatzEs gibt einen Algorithmus, welcher für für jedes nichtverkürzendeWortersetzungssystem S ⊆ A∗×A∗ und beliebige Wörter u,w ∈ A∗

das Wortproblem (L(S , u),w) in endlicher Zeit korrekt löst.

Idee: Suche im endlichen Teilgraphen aller Wörter v ∈ A∗ mit|u| ≤ |v | ≤ |w |

52

Page 53: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wortersetzungssysteme mit verlängernden und verkürzendenRegeln

Beispiel:

S =

c → baaca,c → aacba,c → bbcabb,aca → d ,bcb → d ,ada → d ,bdb → d

Für Wortersetzungssysteme S mit verlängernden und verkürzendenRegeln existiert im Allgemeinen kein Algorithmus, der für beliebigeWörter u,w ∈ A∗ feststellt, ob u →∗s w gilt.

53

Page 54: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah

I Alphabet, Wort, Sprache

I Operationen und Relationen auf Wörtern und Sprachen

I interessante Fragen für Sprachen und Wörter

Reguläre Ausdrücke

I Syntax, Semantik

I endliche Darstellung evtl. unendlicher Sprachen

Wortersetzungssysteme P ⊆ A∗ × A∗

I Wortersetzungssregel l → r mit l , r ∈ A∗

I Ableitung in P: endliche Folge von Ersetzungsschritten

I Ausdrucksstärke:

I Darstellung von (evtl. unendlichen) SprachenI Modellierung von ZustandsübergängenI Ausführen von Berechnungen

54

Page 55: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung Wortersetzungssysteme

I A = {s,w},R = {ww → s, ss → s,ws → w , sw → w}(nichtverlängernd)Ist ww aus wsww ableitbar? (Gilt wsww →R ww?)L(R,wsww) ={wsww ,www ,wss, sw ,ws,w}

I A = {b, r ,w},S = {wr → rw , br → rb, bw → wb}(nichtverlängernd und nichtverkürzend)Ist wbbr aus brwb ableitbar?L(S , brwb) ={brwb, rbwb, rwbb}

I A = {a, b, c}, T = {a→ ba, b → cc}(nichtverkürzend)Ist aabbcc aus a ableitbar?L(T , a) =L ((b + cc)∗a)

55

Page 56: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ableitbare Wörter über Teilalphabet

Beispiele: A = {a, b, c},

S =

c → aca,c → bcb,c → ε,c → a,c → b

L(S , c) = {u ◦ d ◦ uR | u ∈ {a, b}∗ ∧ d ∈ {a, b, c , ε}}

Menge aller Wörter in L(S , c) ∩ {a, b}∗:Palindrome über {a, b}

c ist Hilfssymbol zur Erzeugung der Palindrome

56

Page 57: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Natürliche Sprache

Wortersetzungssystem S enthält die Regeln:Satz → Subjekt Prädikat .Subjekt → mArtikel mSubstantivSubjekt → wArtikel wSubstantivmArtikel → DerwArtikel → DiemSubstantiv → HundwSubstantiv → SonnePrädikat → belltPrädikat → scheint

Alphabet A = {Der,Die,Hund, Sonne, scheint, bellt, .}∪{ Satz,Subjekt, Prädikat, wArtikel, mArtikel, wSubstantiv, mSubstantiv}

Ableitbare Wörter in L(S , Satz ) ohne Hilfssymbole aus der Menge {Satz,Subjekt, Prädikat, mArtikel, wArtikel, mSubstantiv, wSubstantiv}:Menge korrekter deutscher Sätze (dieser einfachen Form mitausschließlich den Worten Der, Die, Hund, Sonne, scheint, bellt).

57

Page 58: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Aussagenlogische Formeln

Wortersetzungssystem S enthält die RegelnFormel → VariableFormel → KonstanteFormel → ( ¬ Formel )Formel → ( Formel ∨ Formel )Formel → ( Formel ∧ Formel )Variable → pVariable → qKonstante → tKonstante → f

Alphabet A = {t, f, p, q,¬,∨,∧, (, )} ∪ { Formel,Variable, Konstante}

Formel→S (Formel ∧ Formel)→2S (Formel ∧ f)→∗S ((p ∨ (¬q)) ∧ f)

Wörter in L(S , Formel ) ∩ {t, f, p, q,¬,∨,∧, (, )}∗ :Menge AL({p, q}) aller aussagenlogischen Formeln mitAussagenvariablen aus der Menge {p, q}

58

Page 59: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Aussagenlogische DNF

Wortersetzungssystem S enthält die RegelnDNF → Minterm ∨ DNFDNF → MintermMinterm → Literal ∧ MintermMinterm → LiteralLiteral → ¬ VariableLiteral → VariableVariable → pVariable → q

Alphabet A = {p, q,¬,∨,∧}∪{ DNF, Minterm, Literal,Variable}

DNF→S Minterm ∨ DNF→3S p ∨ DNF→∗S p ∨ q ∧ ¬p ∨ ¬q

Wörter in L(S , Formel ) ∩ {t, f, p, q,¬,∨,∧, (, )}∗ :Menge AL({p, q}) aller disjunktiven Normalformen mitAussagenvariablen aus der Menge {p, q}

59

Page 60: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Dezimaldarstellung natürlicher ZahlenWortersetzungssystem S enthält die RegelnZahl → 0Zahl → 1Ziffernfolge

...Zahl → 9ZiffernfolgeZiffernfolge → 0Ziffernfolge

...Ziffernfolge → 9ZiffernfolgeZiffernfolge → ε

Alphabet {0, . . . , 9} ∪ { Zahl, Ziffernfolge }

Zahl→S 3Ziffernfolge→S 32Ziffernfolge→S 327Ziffernfolge→S 327

Wörter in L(S , Zahl ) ∩ {0, . . . , 9}∗ :Menge aller Dezimaldarstellungen natürlicher Zahlen

60

Page 61: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Programmiersprachen

Java-Syntax (Ausschnitt) in Backus-Naur Form (BNF)(John Backus, Peter Naur)

a→ r1|r2| . . . |rn statt mehrerer Regeln a→ r1, . . . , a→ rn::= statt → (in ASCII darstellbar)Hilfssymbole markiert durch < und >

61

Page 62: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Definition Grammatik

Grammatik G = (N,T ,P, S) mitNichtterminalsymbole endliche Menge N

(Hilfssymbole)Terminalsymbole endliche Menge T

(Alphabet der Sprache)Wortersetzungssystem P ⊆ (N ∪ T )+ × (N ∪ T )∗ (Produktionen)Startsymbol S ∈ N

Beispiel: G = (N,T ,P, S) mit

N = {S},T = {0, 1},

P =

{S → 0S1S → ε

}

62

Page 63: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Grammatiken: BeispieleI G = (N,T ,P,E ) mit N = {E ,F ,G}, T = {(, ), a,+, ·} und

P =

E → G ,E → E + G ,G → F ,G → G · F ,F → a,F → (E )

I G = (N,T ,P,S) mit N = {S ,A,B,C}, T = {a, b, c}

P =

S → aSBC ,S → aBC ,CB → BC ,aB → ab,bB → bb,bC → bc,cC → cc

63

Page 64: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ableitungen in Grammatiken

Ableitung in Grammatik G = (N,T ,P, S):Ableitung im Ersetzungssystem P mit Startwort S

Beispiel: G = (N,T ,P, S) mit

N = {S ,A,B}T = {0, 1}

P =

S → 0SAS → 0AA → 1B → A

64

Page 65: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Durch Grammatiken definierte Sprachen

Grammatik G = (N,T ,P,S) definiert die Sprache

L(G ) = {w ∈ T ∗ | S →∗P w} = L(P, S) ∩ T ∗

Beispiel: G = (N,T ,P, S) mit

N = {S ,Z}T = {0, 1}

P =

S → 1Z ,S → 0,Z → 0Z ,Z → 1Z ,Z → ε

definiert die Sprache L(G ) = . . .

65

Page 66: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Äquivalenz von Grammatiken

Zwei Grammatiken G1 und G2 heißen genau dann äquivalent, wennL(G1) = L(G2) gilt.

Beispiel: G1 = (N1, {0, 1},P1,S) mit N1 = {S ,A,B} und

P1 =

S → 0SAS → 0AA → 1B → A

und G2 = (N2, {0, 1},P2, S

′) mit N2 = {S ′} und

P2 ={S ′ → 0S ′1, S ′ → 01

}sind äquivalent wegen L(G1) = L(G2) = . . .

Äquivalenz von Grammatiken ist eine Äquivalenzrelation. (ÜA)

66

Page 67: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Grammatiken mit ε-Regeln

ε-Regel : Grammatik-Regel der Form l → ε

Beispiele:I G1 = ({A,B}, {0, 1},P1,A) mit

P1 = {A→ 1B0,B → 1B0,B → ε}äquivalent zu G2 = ({A}, {0, 1},P2,A) mitP2 = {A→ 1A0,A→ 10}(ohne ε-Regel)

I G = ({A}, {0, 1},P,A) mit P = {A→ 1A0,A→ ε}nicht äquivalent zu einer Grammatik ohne ε-Regel

67

Page 68: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Chomsky-Hierarchie(Noam Chomsky)Eine Grammatik G = (N,T ,P,S) ist vom Chomsky-Typ

0 immer,1 , falls für jede Regel (l → r) ∈ P gilt: |l | ≤ |r |

(monoton, kontextsensitiv)2 , falls Typ 1 und für jede Regel (l → r) ∈ P gilt: l ∈ N

(kontextfrei)3 , falls Typ 2 und für jede Regel (l → r) ∈ P gilt:l ∈ N und r ∈ (T ∪ (T ◦ N))(regulär)

Eine Sprache L ⊆ T ∗ heißt vom (Chomsky-)Typ i füri ∈ {0, . . . , 3}, falls eine Grammatik G vom Typ i mitL \ {ε} = L(G ) existiert.Li bezeichnet die Menge aller Sprachen vom Typ i .Achtung: Nicht jede Sprache wird durch eine Grammatik erzeugt.

68

Page 69: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

BeispieleI G = ({S}, {a, b},P, S) mit

P = {S → aSb, S → ab, S → a,S → b} ist vom Typ 2I G = ({S}, {a, b},P, S) mit

P = {S → aSb, S → a,S → b, S → ε} ist vom Typ 0I G = ({S ,A,B}, {a, b},P, S) mit

P = {S → aA,A→ aB,B → bB,B → b} ist vom Typ 3I G = ({A,B,C}, {a, b, c},P,A) mit

P =

A → aABC ,A → aBC ,CB → BC ,aB → ab,bB → bb,bC → bc,cC → cc

ist vom Typ 1definiert L(G ) = {anbncn | n ∈ N \ {0}}

69

Page 70: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah: Formale SprachenI Alphabet, Wort, Sprache

Operationen und Relationen auf Wörtern und SprachenI reguläre Ausdrücke: Syntax, Semantik, ÄquivalenzI Wortersetzungssysteme

I Wortersetzungsregeln und -systemeI Ableitungen, AbleitungsgraphI durch Wortersetzungssysteme definierte SprachenI Wortproblem in Wortersetzungssystemen

im Allgemeinen nicht algorithmisch lösbar,aber algorithmisch lösbar für

I nichtverlängernde SystemeI nichtverkürzende Systeme

I GrammatikenI Terminal-, NichtterminalsymboleI Ableitungen in GrammatikenI durch Grammatiken definierte SprachenI Äquivalenz von GrammatikenI Chomsky-Hierarchie für Grammatiken und Sprachen

70

Page 71: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wortproblem für Typ-1-Sprachen

gegeben : Grammatik G = (N,T ,P, S) vom Chomsky-Typ 1,Wort w ∈ T ∗

Frage : Gilt w ∈ L(G ) ?

SatzEs existiert ein Algorithmus, welcher für jede beliebige Eingabe(G ,w), wobei

I T ein endliches Alphabet,I w ∈ T ∗ undI G eine monotone Grammatik (Chomsky-Typ 1) über T sind

die Wahrheit der Aussage w ∈ L(G ) korrekt beantwortet.

(folgt aus entsprechendem Satz für nichtverkürzendeWortersetzungssysteme)demnächst spezielle (effizientere) Verfahren für Grammatiken vomChomsky-Typ 2 und 3

71

Page 72: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Dyck-SpracheKlammerpaar ( und )

Dyck-Sprache: Menge aller korrekt geklammerten Ausdrückeerzeugt durch Grammatik

G = ({S}, {(, )},P,S) mit

P =

S → εS → SSS → (S)

Beispiele:

I ()(()()) ∈ L(G )

I ())(6∈ L(G )

I ε ∈ L(G )

Achtung:I G hat Chomsky-Typ 0I Dyck-Sprache hat Chomsky-Typ 2

72

Page 73: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Allgemeine Dyck-Sprachen

Menge aller korrekt geklammerten Ausdrückemit n Paaren von Klammern: (i , )i für i ∈ {1, . . . , n}erzeugt durch Grammatik

G = ({S}, {(i , )i | i ∈ {1, . . . , n}},P, S) mit

P =

{S → εS → SS

}∪ {S → (iS)i | i ∈ {1, . . . , n}}

Symbole müssen nicht notwendig Klammern sein, z.B.aacdacababdbbcabdb ∈ Dyck-Sprache mita statt (1, b statt )1, c statt (2 und d statt )2

73

Page 74: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel HTML

mehrere Paare öffnender und schließender Klammern (Tags)

<html><head>

<title>Theoretische Informatik

</title></head><body>

<h1>Theoretische Informatik

</h1>...

</body></html>

74

Page 75: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: abzählbare Mengen

(Mathematik 1. Semester)

Eine Menge M heißt genau dann abzählbar, wenn sie höchstens somächtig wie N ist.(also eine surjektive Funktion f : N→ M existiert)

Mit dem ersten Diagonalverfahren von Cantor lässt sich z.B. zeigen:

I Z und Q sind abzählbar.I Für jedes endliche Alphabet A ist die Menge A∗ aller Wörter

über A abzählbar.I Für jedes endliche Alphabet A ist jede Sprache L ⊆ A∗

abzählbar.

Mengen, die nicht abzählbar sind, heißen überabzählbar.

75

Page 76: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele überabzählbarer MengenMit dem zweiten Diagonalverfahren von Cantor lässt sich zeigen:

R ist überabzählbar (mächtiger als N).(Es gibt überabzählbar viele reelle Zahlen.)

[0, 1] ⊂ R ist überabzählbar.(Intervall [0, 1] enthält überabzählbar viele reelle Zahlen.)

2N (Menge aller Mengen natürlicher Zahlen) ist mächtiger alsN.(Überabzählbarkeit der Menge 2N)Es gibt überabzählbar viele Mengen natürlicher Zahlen.

2{0,1}∗

Menge aller Sprachen L ⊆ {0, 1}∗ ist mächtiger als{0, 1}∗.(Es gibt überabzählbar viele Sprachen über dem Alphabet{0, 1}.)

2(A∗) ist für beliebiges endliches Alphabet A mächtiger als A∗

(Für jedes endliche Alphabet A ist die Menge allerSprachen über A überabzählbar. )

76

Page 77: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Lässt sich jede Sprache durch eine Grammatik erzeugen?Existiert für jedes endliche Alphabet A zu jeder Sprache L ⊆ A∗ eineGrammatik G mit L = L(G )?

Nein (Gegenbeispiel später)

Begründung:

1. Wieviele Sprachen L ⊆ A∗ gibt es? (Mächtigkeit von 2(A∗))

überabzählbar viele

2. Wieviele Grammatiken über dem endlichen Alphabet A gibt es?abzählbar viele, weil

I Alphabet A′ = A ∪ {(, ), , , {, },→, ε} endlichI Menge (A′)

∗ aller Wörter über A′ abzählbarI jede Grammatik über A ist ein Wort aus (A′)

(endliche Beschreibung)I Menge aller Grammatiken über A ist Teilmenge der

abzählbaren Menge (A′)∗, also selbst abzählbar

Damit existieren sogar sehr viel mehr (überabzählbar viele) Sprachen, dienicht durch Grammatiken beschrieben werden können.

77

Page 78: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Zustandsübergangssystem Münzschließfach

fg

fo bo bg

b

OS

GS

Z

O

A

Aktionen: A aufschließenZ zuschließenO Tür öffnenS Tür schließenG Geld einwerfen

Zustände : fg frei, Tür zufo frei, Tür offenbo bezahlt, Tür offenbg bezahlt, Tür zub belegt

78

Page 79: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Endliche Automaten – Definition

NFA (nondeterministic finite automaton)A = (X ,Q, δ, I ,F ) mit

X endliches Alphabet,Q endliche Menge von Zuständen,δ Übergangsrelationen δ : X → (Q × Q),I ⊆ Q Startzustände,F ⊆ Q akzeptierende Zustände.

79

Page 80: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA: BeispielA = (X ,Q, δ, {0, 3}, {2, 3, 4}) mit

X = {a, b, c}Q = {0, 1, 2, 3, 4}

δ(a) = {(0, 0), (0, 1), (1, 3)}δ(b) = {(0, 0), (1, 2)}δ(c) = {(0, 3), (3, 3), (4, 1)}

0

3

1 2

4

a,b

c

c

a b

ca

80

Page 81: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Eigenschaften endlicher Automaten

NFA A = (X ,Q, δ, I ,F ) heißtvollständig , falls ∀a ∈ X∀p ∈ Q : |{q | (p, q) ∈ δ(a)}| ≥ 1

deterministisch (DFA) , falls1. |I | = 1 und2. ∀a ∈ X∀p ∈ Q : |{q | (p, q) ∈ δ(a)}| ≤ 1

Beispiele:

0 1

a,b

b

a

b

0 1

a

b

b

0 1

a

b

a

b

vollständig nicht vollständig vollständignicht deterministisch deterministisch deterministisch

81

Page 82: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: zweistellige Relationen

Verkettung der Relationen R ⊆ M ×M und S ⊆ M ×M:

R ◦ S = {(a, b) | ∃c ∈ M : (a, c) ∈ R ∧ (c , b) ∈ S}

Beispiel:

M = {a, b, c}R = {(a, a), (b, c)}S = {(a, c), (c , b)}

R ◦ S = {(a, c), (b, b)}S ◦ R = {(c , c)}

82

Page 83: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Darstellung als Graph

als gerichteter Graph G = (V ,E ) mit V = M und E = R

M = {a, b, c}R = {(a, a), (b, c)}S = {(a, c), (c , b)} a

b

c

Verkettung als Wege mit passender Markierung

R ◦ S = {(a, c), (b, b)}S ◦ R = {(c , c)}

a

b

c

83

Page 84: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Darstellung als Matrixmit Booleschen Einträgen

M = {a, b, c}

R = {(a, a), (b, c)}

1 0 00 0 10 0 0

S = {(a, c), (c , b)}

0 0 10 0 00 1 0

Verkettung als Matrixmultiplikation mit Booleschen Operationen

R ◦ S =

1 0 00 0 10 0 0

0 0 10 0 00 1 0

=

0 0 10 1 00 0 0

S ◦ R =

0 0 10 0 00 1 0

1 0 00 0 10 0 0

=

0 0 00 0 00 0 1

84

Page 85: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Übergangsrelation auf Wörtern

Fortsetzung der Übergangsrelationen δ : X → (Q × Q)auf Wörter δ : X ∗ → (Q × Q):

δ(ε) = {(q, q) | q ∈ Q} = IQ (Identität auf Q)δ(wa) = δ(w) ◦ δ(a)

= {(p, q) | ∃r ∈ Q : (p, r) ∈ δ(w) ∧ (r , q) ∈ δ(a)}

für alle w ∈ X ∗, a ∈ X

Für w = w1 · · ·wn ∈ X n gilt also δ(w) = δ(w1) ◦ · · · ◦ δ(wn)

(Multiplikation der Matrizen δ(w1), . . . , δ(wn))

85

Page 86: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel

A = ({a, b}, {0, 1}, δ, I ,F ) mitδ(a) = {(0, 0)} undδ(b) = {(0, 0), (0, 1), (1, 1)} 0 1

a,b

b

b

δ(a) =

(1 00 0

)δ(b) =

(1 10 1

)

δ(ba) = δ(b)δ(a) =

(1 10 1

)(1 00 0

)=

(1 00 0

)

δ(abb) = δ(a)δ(b)δ(b) =

(1 00 0

)(1 10 1

)(1 10 1

)=

(1 10 0

)

86

Page 87: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah

I Alphabet, Wort, Sprache

I Operationen auf Wörtern und Sprachen

I Grammatiken, Chomsky-Hierarchie

I Wiederholung zweistellige Relationen, deren Verknüpfung undDarstellungen (Graph, Matrix)

I endlicher Automat (NFA) A = (X ,Q, δ, I ,F )

I Eigenschaften eines NFA A = (X ,Q, δ, I ,F ):

vollständig: für jedes Symbol a ∈ X und jeden Zustand p ∈ Qexistiert mindestens ein Zustand q ∈ Q mit(p, q) ∈ δ(a)

deterministisch: genau ein Startzustand undfür jedes Symbol a ∈ X und jeden Zustand p ∈ Qexistiert höchstens ein Zustand q ∈ Q mit(p, q) ∈ δ(a)

87

Page 88: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: Übergangsrelation auf Wörtern

Fortsetzung der Übergangsrelationen δ : X → (Q × Q)auf Wörter δ : X ∗ → (Q × Q):

δ(ε) = {(q, q) | q ∈ Q} = IQ (Identität auf Q)δ(wa) = δ(w) ◦ δ(a)

= {(p, q) | ∃r ∈ Q : (p, r) ∈ δ(w) ∧ (r , q) ∈ δ(a)}

für alle w ∈ X ∗, a ∈ X

Für w = w1 · · ·wn ∈ X n gilt also δ(w) = δ(w1) ◦ · · · ◦ δ(wn)

(Multiplikation der Matrizen δ(w1), . . . , δ(wn))

88

Page 89: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel

A = ({a, b}, {0, 1}, δ, I ,F ) mitδ(a) = {(0, 0)} undδ(b) = {(0, 0), (0, 1), (1, 1)} 0 1

a,b

b

b

δ(a) =

(1 00 0

)δ(b) =

(1 10 1

)

δ(ba) = δ(b)δ(a) =

(1 10 1

)(1 00 0

)=

(1 00 0

)

δ(abb) = δ(a)δ(b)δ(b) =

(1 00 0

)(1 10 1

)(1 10 1

)=

(1 10 0

)

89

Page 90: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Von einem NFA akzeptierte Wörter

NFA A = (X ,Q, δ, I ,F ) akzeptiert ein Wort w ∈ X ∗ genau dann,wenn δ(w) ∩ (I × F ) 6= ∅.

alternative Formulierung:A akzeptiert w genau dann, wenn ein akzeptierender Weg, d.h. eineFolge (q0, . . . , q|w |) von Zuständen qi ∈ Q existiert, für die gilt:1. ∀i ∈ {1, . . . , |w |} : (qi−1, qi ) ∈ δ(wi ),2. q0 ∈ I (Startzustand) und3. q|w | ∈ F (akzeptierender Zustand).

q0w1→ q1

w2→ · · · wn→ qn mit q0 ∈ I und qn ∈ F

90

Page 91: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

BeispielA = ({a, b}, {0, 1}, δ, {0}, {0}) mit δ(a) = {(0, 1)},δ(b) = {(0, 1), (1, 0)}

0 1

a,b

b

I akzeptiert abbb über den Weg

0 a→ 1 b→ 0 b→ 1 b→ 0 ∈ F

I akzeptiert bbb nicht

0 b→ 1 b→ 0 b→ 1 6∈ F

I akzeptiert aaba nicht0 a→ 1 a→?

91

Page 92: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA-akzeptierbare Sprachen

NFA A = (X ,Q, δ, I ,F ) akzeptiert die Sprache

L(A) = {w ∈ X ∗ | ∃s ∈ I ∃f ∈ F : (s, f ) ∈ δ(w)}

Beispiel: A = ({a, b}, {0, 1, 2}, δ, {0}, {2}) mitδ(a) = {(0, 0), (2, 2)} und δ(b) = {(0, 0), (0, 1), (1, 2), (2, 2)}akzeptiert L(A) = . . .

Sprache L ⊆ X ∗ heißt genau dann NFA-akzeptierbar, wenn ein NFAA mit L = L(A) existiert.

Menge aller NFA-akzeptierbaren Sprachen: REC(NFA)(recognizable)

Beispiel: L = {w | w enthält ein Infix aa oder bba}ist NFA-akzeptierbar.

92

Page 93: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele NFA-akzeptierbarer Sprachen

I L1 = {w ∈ {0, 1}∗ | |w |0 ist ungerade }I L2 = {w ∈ {a, b}∗ | w beginnt mit ab und endet mit ba}I L3 = L(G ) mit G = ({S ,T}, {0, 1},P, S) mit

P = {S → 11T ,T → 0S ,T → 0}I L4 = L(E ) mit E = (a + b)∗ab∗

I L5 = L(F ) mit F = ((a + b)c)∗

93

Page 94: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Isomorphie endlicher AutomatenZwei NFA A = (X ,Q, δ, I ,F ) und B = (X ,Q ′, δ′, I ′,F ′) sind genaudann isomorph,wenn eine bijektive Funktion h : Q → Q ′ existiert, so daß1. genau dann s ∈ I , wenn h(s) ∈ I ′,2. genau dann f ∈ F , wenn h(f ) ∈ F ′ und3. für jedes a ∈ X :

genau dann (p, q) ∈ δ(a), wenn (h(p), h(q)) ∈ δ′(a).Beispiel: A = ({a, b}, {0, 1, 2}, δ, {0}, {0}) mitδ(a) = {(0, 1), (1, 2), (2, 0)} und δ(b) = {(0, 2), (1, 0), (2, 1)}undB = ({a, b}, {α, β, γ}, δ, {β}, {β}) mitδ(a) = {(α, β), (β, γ), (γ, α)} und δ(b) = {(α, γ), (β, α), (γ, β)}sind isomorph mit h(0) = β, h(1) = γ, h(2) = α.(Graphisomorphie zwischen gerichteten Graphen mit markiertenKanten)

FaktIsomorphie von NFA ist eine Äquivalenzrelation.

94

Page 95: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Äquivalenz endlicher Automaten

Zwei NFA A,B heißen genau dann äquivalent, wenn L(A) = L(B)gilt.

Beispiel: Der NFA A = ({a, b}, {0, 1, 2}, δ, {0}, {2}) mitδ(a) = {(0, 1), (1, 1)} und δ(b) = {(1, 1), (1, 2)}

und der NFA B = ({a, b}, {0, 1, 2, 3}, δ, {0}, {2}) mitδ(a) = {(0, 1), (1, 1), (2, 1), (3, 3)} undδ(b) = {(0, 3), (1, 2), (2, 2), (3, 3)}

sind äquivalent. Warum?

FaktÄquivalenz endlicher Automaten ist eine Äquivalenzrelation.

FaktIsomorphe endliche Automaten sind immer auch äquivalent.

95

Page 96: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Vervollständigung von NFA

Motivation:In vollständigen NFA existiert zu jedem Wort wenigstens ein Weg,Akzeptanz jedes Wortes durch Menge der mit dem letzten Symbolerreichten Zustände auf allen Wegen feststellbar.

SatzZu jedem NFA existiert ein äquivalenter vollständiger NFA.

(Hinzufügen eines zusätzlichen nichtakzeptierenden Zustandes, fallsnotwendig)

Beispiel: A = ({a, b, c}, {0, 1, 2, 3, 4}, δ, {0}, {2, 4}) mitδ(a) = {(0, 0), (1, 2), (3, 4), (4, 4)},δ(b) = {(0, 1), (0, 3)} und δ(c) = {(3, 0)}

96

Page 97: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Konstruktion von DFA aus NFAMotivation: In DFA existiert zu jedem Wort höchstens ein akzeptierenderWeg, schnelles Feststellen der Akzeptanz möglich.Beispiel: A = ({a, b}, {0, 1, 2, 3, 4}, δ, {0, 4}, {3}) mitδ(a) = {(0, 0), (4, 4)(0, 1), (1, 3), (3, 3)} undδ(b) = {(0, 0), (4, 4), (4, 2), (2, 3), (3, 3)}allgemeines Verfahren:

gegeben: NFA A = (X ,QA, δA, IA,FA)

gesucht: DFA B = (X ,QB , δB , IB ,FB) mit L(A) = L(B)

Potenzmengenkonstruktion: NFA B = (X ,QB , δB , IB ,FB) mit

QB = 2QA (Einschränkung auf von IB erreichbare genügt)IB = {IA}FB = {M ⊆ QA | FA ∩M 6= ∅}

∀a ∈ X : δB(a) = {(M,N) | N = {q | ∃p ∈ M : (p, q) ∈ δA(a)}}

FaktDer nach der Potenzmengenkonstruktion aus dem NFA A konstruierteAutomat B ist vollständig, deterministisch und äquivalent zu A.

97

Page 98: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschahI endlicher Automat (NFA) A = (X ,Q, δ, I ,F )

I NFA-Eigenschaften: vollständig, deterministischI akzeptierender Weg für Wort w = w1 · · ·wn in einem NFA

A = (X ,Q, δ, I ,F ):Folge (q0, . . . , qn) von Zuständen aus Q mit1. q0 ∈ I ,2. qn ∈ F und3. ∀i ∈ {1, . . . , n} : (qi−1, qi ) ∈ δ(wi )

I vom NFA A akzeptierte Sprache L(A)

I Menge aller NFA-akzeptierbaren Sprachen: REC(NFA)

I Isomorphie von NFAI Äquivalenz von NFAI Zu jedem NFA existiert ein äquivalenter vollständiger NFA.

(Vervollständigung)I Zu jedem NFA existiert ein äquivalenter DFA.

(Potenzmengenkonstruktion)98

Page 99: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: Operationen auf Sprachen

I Mengenoperationen ∪,∩, \,I Sprachoperationen R , ◦, ∗

I reguläre Ausdrücke RegExp(X ):Syntax: Menge aller Grundterme über der Signatur mit

I Konstantensymbolen ∅, ε, jedes a ∈ XI Operationssymbolen +, ∗

oder erzeugt durch Grammatik (ÜA 4.3.a)Semantik: Zuordnung

E ∈ RegExp(X ) → Sprache L(E ) ⊆ X ∗

Konstantensymbole → Basissprachen(Einermengen bzw. ∅)

Operationssymbole → Sprachoperationen

99

Page 100: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA für Spiegelung(ÜA 5.6)

Beispiel: DFA A = ({a, b}, {0, 1, 2, 3}, δA, {0}, {2, 3}) mitδA(a) = {(0, 1), (1, 3), (3, 3)} und δA(b) = {(1, 2), (2, 2)}allgemeines Verfahren:

gegeben: NFA A = (X ,Q, δA, IA,FA)

gesucht: NFA B mit L(B) = (L(A))R

Konstruktion: NFA B = (X ,Q, δB , IB ,FB) mit1. IB = FA2. FB = IA3. ∀a ∈ X : δB(a) = δA(a)−1 = {(q, p) | (p, q) ∈ δA(a)}

FaktDer oben definierte NFA B akzeptiert die Sprache (L(A))R .

Die Menge REC(NFA) ist abgeschlossen unter Spiegelung.

100

Page 101: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA für Komplement NFA-akzeptierbarer Sprachen

Beispiel:vollständiger DFA A = ({a, b}, {0, 1, 2, 3}, δ, {0}, {2}) mitδ(a) = {(0, 1), (1, 3), (2, 2), (3, 3)} undδ(b) = {(0, 3), (1, 2), (2, 2), (3, 3)}

allgemeines Verfahren:gegeben: vollständiger DFA A = (X ,Q, δ, I ,F )

gesucht: NFA B mit L(B) = L(A)

Konstruktion: DFA B = (X ,Q, δ, I ,Q \ F )

FaktDer oben definierte NFA B akzeptiert die Sprache L(A).

Die Menge REC(NFA) ist abgeschlossen unter Komplementbildung.

101

Page 102: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA für Vereinigung NFA-akzeptierbarer SprachenBeispiel: NFA A = ({a, b}, {0, 1}, δA, {0}, {0}) mitδA(a) = {(0, 1), (1, 0)} und δA(b) = ∅NFA B = ({a, b}, {2, 3, 4}, δB , {2}, {4}) mitδB(a) = {(2, 3), (4, 3)} und δB(b) = {(3, 4)}

allgemeines Verfahren:

gegeben: NFA A = (X ,QA, δA, IA,FA) undNFA B = (X ,QB , δB , IB ,FB) mit QA ∩ QB = ∅(Zustände umbenennen, falls notwendig)

gesucht: NFA C mit L(C ) = L(A) ∪ L(B)

Konstruktion: NFA C = (X ,QA ∪ QB , δC , IA ∪ IB ,FA ∪ FB) mit∀a ∈ X : δC (a) = δA(a) ∪ δB(a)

FaktDer oben definierte NFA C akzeptiert die Sprache L(A) ∪ L(B).Die Menge REC(NFA) ist abgeschlossen unter Vereinigung.Zu gegebenen NFA A und B lässt sich damit auch ein Automat C mitL(C ) = L(A) ∩ L(B) = L(A) ∪ L(B) (deMorgan) konstruieren.

102

Page 103: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

DFA für SchnittmengeBeispiel: DFA A = ({a, b}, {0, 1}, δA, {0}, {1}) mitδA(a) = {(0, 0)} und δA(b) = {(0, 1), (1, 1)}DFA B = ({a, b}, {2, 3}, δB , {2}, {3}) mitδB(a) = {(2, 3), (3, 3)} und δB(b) = {(3, 3)}allgemeines Verfahren:

gegeben: DFA A = (X ,QA, δA, IA,FA), DFA B = (X ,QB , δB , IB ,FB)

gesucht: DFA C = (X ,QC , δC , IC ,FC ) mit L(C ) = L(A) ∩ L(B)

Produkt-Konstruktion: DFA C = (X ,QA × QB , δC , IA × IB ,FA × FB) mit∀a ∈ X : δC (a) = {((p, q), (r , s)) | (p, r) ∈ δA(a) ∧ (q, s) ∈ δB(a)}

FaktDer oben definierte DFA C akzeptiert die Sprache L(A) ∩ L(B).Die Menge REC(NFA) ist abgeschlossen unter Schnitt.Modifikation (Tafel):dieselbe Konstruktion des DFA C aus vollständigen DFA A und B

I mit akzeptierenden Zuständen FC = FA × FB

akzeptiert L(A) ∩ L(B)

I mit akzeptierenden Zuständen FC = (FA × QB) ∪ (QA × FB)akzeptiert L(A) ∪ L(B) 103

Page 104: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA mit ε-Übergängenε-NFA: NFA ohne Einschränkung δ(ε) = IQ , stattdessen δ(ε) ⊇ IQ(zusätzliche Kanten im Automatengraphen mit Beschriftung ε)

ε-NFA vereinfachen oft die Modellierung von Sprachen und Abläufen.

Beispiel:A = ({a, b, c}, {0, 1, 2}, δ, {0}, {2}) mit δ(a) = {(0, 0)}, δ(b) = {(1, 1)},δ(c) = {(2, 2)} und δ(ε) = {(0, 1), (1, 2)}Akzeptanz von Wörtern analog zu NFA:ε-NFA A = (X ,Q, δ, I ,F ) akzeptiert ein Wort w ∈ X ∗ genau dann, wennδ∗(w) ∩ (I × F ) 6= ∅.

δ∗(w) = δ∗(ε) ◦ δ(w1) ◦ δ∗(ε) ◦ · · · ◦ δ∗(ε) ◦ δ(wn) ◦ δ∗(ε)

ε-NFA A im Beispiel oben akzeptiert die Sprache L(A) = a∗b∗c∗

FaktZu jedem NFA A existiert ein äquivalenter ε-NFA B mit genau einemStartzustand und genau einem akzeptierenden Zustand.

104

Page 105: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Eliminierung der ε-Übergänge aus ε-NFAδ∗(ε) ist der transitive Abschluß der Relation δ(ε)ε-Hülle eines Zustandes q ∈ Q: Hε(q) = {p | (q, p) ∈ δ∗(ε)}allgemeines Verfahren:

gegeben: ε-NFA A = (X ,Q, δ, I ,F ) mit δ(ε) ⊇ IQ

gesucht: NFA B ohne ε-Übergänge mit L(B) = L(A)

Konstruktion (ε-Eliminierung): B = (X ,Q, δ′, I ′,F ) mit

I ′ =⋃q∈I

Hε(q)

∀ : a ∈ X : δ′(a) = δ(a) ∪{

(p, q′) | (p, q) ∈ δ(a) ∧ q′ ∈ Hε(q)}

FaktDer durch ε-Eliminierung aus dem ε-NFA A konstruierte NFA Benthält keine ε-Übergänge und ist äquivalent zu A.

105

Page 106: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA für Verkettung NFA-akzeptierbarer SprachenBeispiel:NFA A = ({a, b}, {0}, δA, {0}, {0}) mit δA(a) = ∅ und δA(b) = {(0, 0)}NFA B = ({a, b}, {1, 2, 3}, δB , {1, 3}, {2}) mitδB(a) = {(3, 2), (3, 3)} und δB(b) = {(1, 2)}allgemeines Verfahren:

gegeben: NFA A = (X ,QA, δA, IA,FA) undNFA B = (X ,QB , δB , IB ,FB) mit QA ∩ QB = ∅

gesucht: NFA C mit L(C ) = L(A) ◦ L(B)Konstruktion:

1. (A′ ≡ A ∧ |FA′ | = 1): ε-NFA A′ = (X ,QA ∪ {fA}, δ′A, IA, {fA}) mit∀a ∈ X : δ′A(a) = δA(a) und δ′A(ε) = δA(ε) ∪ {(q, fA) | q ∈ FA}

2. (B ′ ≡ B ∧ |IB′ | = 1): ε-NFA B ′ = (X ,QB ∪ {sB}, δ′B , {sB},FB) mit∀a ∈ X : δ′B(a) = δB(a) und δ′B(ε) = δB(ε) ∪ {(sB , q) | q ∈ IB}

3. (◦): ε-NFA C = (X ,QA ∪ QB ∪ {fA, sB}, δC , IA,FB) mit∀a ∈ X : δC (a) = δ′A(a) ∪ δ′B(a) δC (ε) = δ′A(ε) ∪ δ′B(ε) ∪ {(fA, sB)}

FaktDer oben definierte ε-NFA C akzeptiert die Sprache L(A) ◦ L(B).

Die Menge REC(NFA) ist abgeschlossen unter Verkettung.106

Page 107: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA für iterierte VerkettungBeispiel: NFA A = ({a, b}, {0, 1, 2, 3}, δA, {0}, {3}) mitδA(a) = {(0, 1), (2, 3)} und δA(b) = {(1, 2)}

allgemeines Verfahren:gegeben: NFA A = (X ,Q, δA, I ,F )gesucht: NFA B mit L(B) = L(A)∗

Konstruktion:1. (A′ ≡ A ∧ |IA′ | = 1 ∧ |FA′ | = 1):ε-NFA A′ = (X ,QA ∪ {sA, fA}, δ′A, {sA}, {fA}) mit∀a ∈ X : δ′A(a) = δA(a) undδ′A(ε) = {(sA, q) | q ∈ IA} ∪ {(q, fA) | q ∈ FA}

2. (∗): ε-NFA B = (X ,QA ∪ {sA, fA}, δB , {sA}, {fA}) mit∀a ∈ X : δB(a) = δ′A(a) undδB(ε) = δ′A(ε) ∪ {(sA, fA), (fA, sA)}

FaktDer oben definierte ε-NFA B akzeptiert die Sprache L(A)∗.Die Menge REC(NFA) ist abgeschlossen unter iterierter Verkettung.

107

Page 108: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Abschlusseigenschaften der Menge REC(NFA)

SatzSind L und L′ NFA-akzeptierbare Sprachen, dann sind auch dieSprachen

I L ∪ L′ (Vereinigung)I L (Komplement)I L ∩ L′ (Durchschnitt)I L ◦ L′ (Verkettung)I Ln, L∗ (iterierte Verkettung)I LR (Spiegelung)

NFA-akzeptierbar.

dieselbe Aussage kürzer:Die Menge REC(NFA) ist abgeschlossen unter

I Mengenoperationen: ∪, (und damit auch ∩ und \)I Sprachoperationen ◦, ∗, R

108

Page 109: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Regulärer Ausdruck → NFA

FaktJede durch einen regulären Ausdruck definierte Sprache istNFA-akzeptierbar.Beispiel: ab∗ + b

induktiver Beweis:(Induktion über die Struktur des regulären Ausdruckes)IA L(∅), L(ε) und L(a) für alle a ∈ X sind NFA-akzeptierbar

(Tafel)IS sind L(E ) und L(F ) NFA-akzeptierbar, dann sind auch

I L(E + F ) = L(E ) ∪ L(F ),I L(EF ) = L(E ) ◦ L(F ) undI L(E∗) = L(E )∗

NFA-akzeptierbar(wegen Abgeschlossenheit von REC(NFA) unter ∪, ◦, ∗)

109

Page 110: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah

I NFA A = (X ,Q, δ, I ,F )

I Akzeptanz von Wörtern durch NFA, DFA, ε-NFAI von NFA, DFA, ε-NFA akzeptierte Sprache L(A)

I NFA-akzeptierbare Sprachen REC(NFA)I Für jede Sprache L ⊆ X ∗ sind die folgenden Aussagen

äquivalent:1. L ∈ REC(NFA), d.h. es existiert ein NFA A mit L = L(A).2. Es existiert ein vollständiger NFA B mit L = L(B).3. Es existiert ein DFA C mit L = L(C ).4. Es existiert ein vollständiger DFA D mit L = L(D).

I REC(NFA) ist abgeschlossen unter:I Mengenoperationen ∪,∩, , \I Sprachoperationen R , ◦, ∗

I Jede reguläre Sprache ist NFA-akzeptierbar.Transformation E ∈ RegExp(X ) in NFA A = (X ,Q, δ, I ,F )

110

Page 111: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

DFA-Minimierung

Ein vollständiger DFA A heißt genau dann minimal für die SpracheL(A), wenn kein vollständiger DFA B mit L(A) = L(B) und wenigerZuständen als A existiert.

Beispiel: DFA A = ({a, b}, {0, 1, 2, 3, 4}, δ, {0}, {4}) mitδ(a) = {(0, 1), (1, 4), (2, 3), (3, 4), (4, 4)} undδ(b) = {(0, 2), (1, 2), (2, 2), (3, 0), (4, 4)}

Idee (für vollständigen DFA A = (X ,Q, δ, I ,F )):I für jedes Paar (p, q) von Zuständen in Q:

Suche nach einem (kürzesten) unterscheidenden WortI Zustände sind äquivalent, wenn kein unterscheidendes Wort

existiertI Zerlegung von Q in Äquivalenzklassen von ZuständenI diese Klassen sind die Zustände des minimalen DFA.

111

Page 112: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Äquivalente Zustände in einem DFA

Beispiel: A = ({a, b}, {0, 1, 2, 3}, δ, {0}, {3}) mitδ(a) = {(0, 1)} und δ(b) = {(0, 2), (1, 3), (2, 3)}

allgemein:DFA A = (X ,Q, δ, I ,F ) und Zustand q ∈ Qdefinieren einen DFA Aq = (X ,Q, δ, {q},F )

Zustände p, q ∈ Q heißen genau dann äquivalent in A, wennL(Ap) = L(Aq) gilt.

Ein Wort w ∈ X ∗ unterscheidet die Zustände p ∈ Q und q ∈ Q,falls w ∈ L(Ap)∆L(Aq) (= (L(Ap) ∪ L(Aq)) \ (L(Ap) ∩ L(Aq))).(symmetrische Differenz von L(Ap) und L(Aq))

112

Page 113: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Algorithmus zur Bestimmung äquivalenter Zuständegegeben: DFA A = (X ,Q, δ, I ,F )

FaktFalls das Wort w ∈ X ∗ die Zustände p′, q′ ∈ Q in A unterscheidet undfür ein a ∈ X gilt (p, p′) ∈ δ(a) und (q, q′) ∈ δ(a), dann unterscheidetdas Wort aw ∈ X ∗ die Zustände p, q ∈ Q in A.Induktive Berechnung einer Folge Ti von Mengen von unterscheidbarenZustandspaaren (Beispiel Tafel):

T0 = {{p, q} | p ∈ F , q 6∈ F}

Ti+1 = Ti ∪

{p, q} | ∃a ∈ X ∃p′, q′ ∈ Q :

{p′, q′} ∈ Ti

∧(p, p′) ∈ δ(a)∧(q, q′) ∈ δ(a)

(Ti : Menge aller durch ein w mit |w | ≤ i unterscheidbaren Paare)Alternative Darstellung: Folge von Äquivalenzrelationen ∼i ⊆ Q2 mit

p ∼i q gdw. ∀w ∈ X ∗ : |w | ≤ i → (w ∈ Ap ↔ w ∈ Aq)

Für jeden vollständigen DFA A existiert ein n ∈ N mit Tn = Tn+1.Für jedes Paar {p, q} 6∈ Tn sind p und q äquivalent in A.

113

Page 114: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Minimalautomatgegeben: DFA A = (X ,QA, δA, IA,FA)

Minimalautomat für L(A):DFA B = (X ,QB , δB , IB ,FB) mit

QB = {[q]A | q ∈ Q} Äquivalenzklassen in A

∀a ∈ X : δB(a) = {([p]A, [qA]) | (p, q) ∈ δA(a)}IB = {[q]A | q ∈ IA}FB = {[q]A | q ∈ FA}

SatzZu jeder NFA-akzeptierbaren Sprache L ⊆ X ∗ existiert ein (bis aufIsomorphie) eindeutiger äquivalenter vollständiger DFA A mitL = L(A) und einer minimalen Anzahl von Zuständen(Minimalautomat für L).

114

Page 115: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Entscheidung der Äquivalenz von NFA

Eingabe: NFA A,BAusgabe: ja, falls A und B äquivalent (also L(A) = L(B))

nein, sonst

Algorithmus:1. Konstruktion der DFA A′ und B ′ mit

L(A′) = L(A) und L(B ′) = L(B) (Potenzmengenkonstruktion),2. Konstruktion der Minimalautomaten

A′′ zu A′ und B ′′ zu B ′ (Minimierungsalgorithmus),3. Test, ob A′′ und B ′′ isomorph sind

(Isomorphietest für Graphen).

FaktDie NFA A und B sind genau dann äquivalent, wenn dieAutomaten A′′ und B ′′ isomorph sind.

115

Page 116: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Entscheidung der Äquivalenz regulärer Ausdrücke

Eingabe: Reguläre Ausdrücke E ,FAusgabe: ja, falls E und F äquivalent

nein, sonst

Algorithmus:

1. Bestimmung von NFA AE und AF

mit L(AE ) = L(E ) und L(AF ) = L(F ),

2. Berechnung der DFA A′E und A′F mitL(A′E ) = L(E ) und L(A′F ) = L(F ) (Potenzmengenkonstruktion),

3. Berechnung der MinimalautomatenA′′E zu A′E und A′′F zu A′F (Minimierungsalgorithmus),

4. Test, ob A′′E und A′′F isomorph sind (Isomorphietest für Graphen).

FaktDie regulären Ausdrücke E und F sind genau dann äquivalent, wenn dieAutomaten A′′E und A′′F isomorph sind.

Beispiel: (ab)+a und a(ba)∗ba116

Page 117: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA und reguläre Grammatiken

Beispiel: NFA A = ({a, b}, {0, 1, 2}, δ, {0}, {2}) mitδ(a) = {(0, 1)} und δ(b) = {(1, 0), (1, 2)}

reguläre Grammatik G = ({S ,B}, {a, b},P,S) mitP = {S → aB,B → bS ,B → b}

definieren beide die SpracheL(A) = L(G ) = {(ab)n | n ∈ N \ {0}}

SatzEine Sprache L ⊆ X ∗ ist genau dann NFA-akzeptierbar, wennL \ {ε} von einer regulären Grammatik (Chomsky-Typ 3) erzeugtwird.

117

Page 118: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Konstruktion: reguläre Grammatik → NFAgegeben: reguläre Grammatik G = (N,X ,P,S) (Chomsky 3)Konstruktion: NFA A = (X ,Q, δ, I ,F ) mit

Q = N ∪ {f } mit f 6∈ N

I = {S}F = {f }

für jedes a ∈ X : δ(a) = {(A,B) | (A→ aB) ∈ P}∪{(A, f ) | (A→ a) ∈ P}

Beispiel: Zur regulären Grammatik G = ({S ,B}, {0, 1},P,S) mitP = {S → 0B,B → 0B,B → 1S ,B → 0}wird der NFA A = ({0, 1}, {S ,B, f }, δ, {S}, {f }) mitδ(0) = {(S ,B), (B,B), (B, f )} und δ(1) = {(B,S)} konstruiert.FaktFür den wie oben zur Grammatik G konstruierten NFA A giltL(G ) = L(A).

118

Page 119: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Konstruktion: NFA → reguläre Grammatikgegeben: NFA A = (X ,Q, δ, I ,F )Konstruktion: reguläre Grammatik G = (N,X ,P, S) mit

N = Q ∪ {S} mit S 6∈ Q

P =⋃a∈X{p → aq | (p, q) ∈ δ(a)}

∪⋃a∈X{S → aq | ∃s ∈ I : (s, q) ∈ δ(a)}

∪⋃a∈X{p → a | ∃f ∈ F : (p, f ) ∈ δ(a)}

Beispiel: A = ({a, b}, {0, 1, 2}, δ, {0}, {2}) mitδ(a) = {(0, 1), (1, 2)} und δ(b) = {(1, 1), (2, 1)}konstruierte Grammatik G = ({S , 0, 1, 2}, {a, b},P, S) mitP = {0→ a1, 1→ b1, 1→ a2, 2→ b1,S → a1, 1→ a}FaktFür die wie oben aus dem NFA A konstruierte Grammatik G giltL(G ) = L(A) \ {ε}. 119

Page 120: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschahI NFA A = (X ,Q, δ, I ,F )

I vollständig (Vervollständigung)I deterministisch, DFA (Potenzmengenkonstruktion)I Minimalautomat: minimaler vollständiger DFA

I Für jede Sprache L ⊆ X ∗ sind die folgenden Aussagenäquivalent:1. L ∈ REC(NFA), d.h. es existiert ein NFA A mit L = L(A).2. Es existiert ein DFA B mit L = L(B).3. Es existiert ein eindeutiger minimaler vollständiger DFA C mit

L = L(C ).4. Es existiert eine reguläre Grammatik G mit L = L(G ).

I Automatenkonstruktionen für Operationen auf Sprachen:I Mengenoperationen ∪,∩, , \,∆I Sprachoperationen R , ◦, ∗

I Die Menge REC(NFA) aller NFA-akzektierbaren Sprachen istabgeschlossen unter

I Mengenoperationen ∪,∩, , \,∆ undI Sprachoperationen ◦, ∗, R

120

Page 121: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

DFA → regulärer AusdruckBeispiel: A = ({a, b}, {1, 2}, δ, {1}, {1}) mitδ(a) = {(1, 2)} und δ(b) = {(1, 1)(2, 1)}gegeben: DFA A = (X ,Q, δ, I ,F ) mit Q = {1, . . . , n} und I = {1}schrittweise Konstruktion regulärer Ausdrücke(Dynamische Programmierung):

R(k , i , j) beschreibt die Menge aller Wörter, für die ein Pfadvon i zu j nur über (Zwischen-)Zustände ≤ k existiert

R(0, i , j) =

{{a ∈ X | (i , j) ∈ δ(a)} falls i 6= j

ε+ {a ∈ X | (i , j) ∈ δ(a)} falls i = j

R(k + 1, i , j) = R(k , i , j) + (R(k , i , k + 1)R(k , k + 1, k + 1)∗R(k, k + 1, j))

FaktFür den so konstruierten regulären Ausdruck E =

⋃f ∈F R(n, 1, f )

gilt L(E ) = L(A).121

Page 122: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

NFA und reguläre Ausdrücke

Schon gezeigt:

FaktJede NFA-akzeptierbare Sprache wird durch einen regulärenAusdruck definiert.

FaktJede durch einen regulären Ausdruck definierte Sprache istNFA-akzeptierbar.

Das ergibt zusammen:

SatzEine Sprache ist genau dann NFA-akzeptierbar (∈ REC(NFA)),wenn sie regulär (durch einen regulären Ausdruck definiert) ist.REC(NFA) ist genau die Menge aller regulären Sprachen.

122

Page 123: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Schubfachschluss-Prinzip(Pigeonhole principle)Verteilt man mehr als n Objekte in n Schubfächer, dann gibt es(wenigstens) ein Schubfach, welches (wenigstens) zwei Objekte enthält.

∀O∀S∀f : ((|O| > |S | ∧ f : O → S)→ ∃x∃y : (x 6= y ∧ f (x) = f (y)))

Für |O| > |S | existiert keine injektive Funktion f : O → S .Beispiele:

I Von 13 Personen haben mindestens zwei im selben MonatGeburtstag.

I Wieviele Karten aus einem Skatblatt muss man ziehen, damit zweiderselben Farbe dabei sind?

I vier verschiedene Paare Socken im Dunklen:Wieviele Socken muss man (blind) nehmen, damit ein vollständigesPaar dabei ist?

123

Page 124: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Nicht NFA-akzeptierbare SprachenFaktDie Sprache L = {anbn | n > 0} ist nicht NFA-akzeptierbar.Beweisschema (indirekter Beweis):

L nicht NFA-akzeptierbar gdw. ¬∃A : (L(A) = L) gdw. ∀A : ¬(L(A) = L)

gdw. ∀A : ( (L(A) = L)︸ ︷︷ ︸Annahme P(A)

→ ¬(L(A) = L)︸ ︷︷ ︸Folgerung ¬P(A)

)

Beweis: Annahme: für NFA A = (X ,Q, δ, I ,F ) mit k = |Q| gilt L(A) = LWegen akbk ∈ L existiert ein akzeptierender Pfad für akbk in A:

q0a→ q1

a→ · · · a→ qkb→ qk+1

b→ · · · b→ q2k

SFS: |Q| = k (Schubfächer) und |{0, . . . , k}| > k (Objekte)Daher existieren i , j ∈ {0, . . . , k} mit i < j und qi = qj .

q0a→ q1

a→ · · · a→ qia→ qj+1

a→ · · · a→ qkb→ qk+1

b→ · · · b→ q2k

ist also akzeptierender Pfad für ak−(j−i)bk in A, d.h ak−(j−i)bk ∈ L(A)Aus ak−(j−i)bk 6∈ L folgt ¬(L(A) = L) im Widerspruch zur Annahme.Also ist die Annahme falsch und es existiert kein NFA A mit L = L(A).

124

Page 125: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Nicht NFA-akzeptierbare Sprache

Die Grammatik G = (N,T ,P, S) mit N = {S},T = {a, b} undP = {S → aSb, S → ab}ist kontextfrei und erzeugt die nicht NFA-akzeptierbare SpracheL(G ) = {anbn | n > 0}

Also ist nicht jede kontextfreie Sprache(Chomsky-Typ 2) NFA-akzeptierbar.

L(G ) ∈ L2 \ REC(NFA) also L2 6⊆ REC(NFA)

125

Page 126: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Weitere nicht NFA-akzeptierbare Sprachensehr hilfreiches Prinzip:Da REC(NFA) unter ∩ abgeschlossen ist, gilt für alleSprachen L, L′, L′′:

( L ∩ L′ = L′′ ∧ L′ ∈ REC(NFA) ∧ L′′ 6∈ REC(NFA) )→ L 6∈ REC(NFA)

I L = {w ∈ {a, b}∗ | |w |a = |w |b > 0} 6∈ REC(NFA)(wegen L ∩ a∗b∗ = {anbn | n > 0} 6∈ REC(NFA) )

I L = {w ∈ {a, b}∗ | 2|w |a = |w |b ∈ N} 6∈ REC(NFA)(wegen L ∩ a∗b∗ = {anb2n | n > 0} 6∈ REC(NFA) nachSchubfachschluss).

I L = {w ∈ {a, b}∗ | w = wR} 6∈ REC(NFA) (Palindrome)(wegen L ∩ a∗ba∗ = {anban | n ∈ N} 6∈ REC(NFA))

I L = {a(n2) | n ∈ N} 6∈ REC(NFA)(wegen Schubfachschluss, Wortlängen)

126

Page 127: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Anwendung von NFA und regulären Sprachen

I Modellierung vom Verhalten von Zustandsübergangssystemen,z.B.

I reale Geräte und AnlagenI Softwaresysteme

Überprüfung, ob Zustandsübergangssystem bestimmteAnforderungen erfüllt

I Beschreibung der Syntax von Programmiersprachen z.B.I endlicher Mengen (Mengen von Schlüsselwörtern)I Folgen von Zeichen und ZeichenkettenI Zahlendarstellungen

I lexikalische Analyse im CompilerI Suche nach Zeichenketten in Texten

(string matching)I Textverarbeitung, z.B. Wortvervollständigung

127

Page 128: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ergebnisse über reguläre SprachenFür jede Sprache L ⊆ X ∗ sind die folgenden Aussagen äquivalent:

I L hat den Chomsky-Typ 3.I L = L(E ) für einen regulären Ausdruck E .I L ist NFA-akzeptierbar.I Es existiert ein DFA A mit L = L(A).I Es existiert eine reguläre Grammatik G mit L \ {ε} = L(G ).I Es existiert eine reguläre Grammatik G mit ε-Regel und L = L(G ).I Es existiert eine rechtslineare Grammatik Gr mit L = L(Gr ) \ {ε}.I Es existiert eine rechtslineare Grammatik G ′r mit ε-Regel mit

L = L(Gr ).I Es existiert eine linkslineare Grammatik Gl mit L = L(Gl) \ {ε}.I Es existiert eine linkslineare Grammatik G ′l mit ε-Regel mit

L = L(G ′l ).

Die Menge aller Sprachen vom Chomsky-Typ 3 ist abgeschlossen unter

I Mengenoperationen: ∪,∩, , \,∆I Sprachoperationen: ◦, ∗, R

128

Page 129: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Algorithmische Lösungen für reguläre Sprachenalle Sprachen in Eingaben endlich beschrieben, z.B. als NFA

Wortproblem Eingabe: (L,w),Ausgabe: ja, falls w ∈ L, sonst nein(Suche nach mit w markiertem Pfad imAutomatengraphen)

Leerheit Eingabe: L, Ausgabe: ja, falls L = ∅, sonst nein(Erreichbarkeit akzeptierender Zustände in NFA für L)

Vollständigkeit Eingabe: L, Ausgabe: ja, falls L = X ∗, sonst nein(Erreichbarkeit im Automaten für L)

(Un-)Endlichkeit Eingabe: L, Ausgabe: ja, falls L (un-)endlich, sonst nein(Suche nach akzeptierendem Weg mit Schleife)

Inklusion Eingabe: L1, L2,Ausgabe: ja, falls L1 ⊆ L2, sonst nein(Test L1 ∩ L2 = ∅)

Gleichheit Eingabe: L1, L2,Ausgabe: ja, falls L1 = L2, sonst nein(isomorphe Minimalautomaten oder Test L1∆L2

?= ∅)

Disjunktheit Eingabe: L1, L2,Ausgabe: ja, falls L1 ∩ L2 = ∅, sonst nein

129

Page 130: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschahChomsky-Hierarchie für Sprachen:L0 Menge aller durch (beliebige) Grammatiken beschriebenen

SprachenL1 Menge aller monotonen (Kontextsensitive) SprachenL2 Menge aller kontextfreien SprachenL3 = REG Menge aller regulären SprachenREG ist abgeschlossen unter ∪,∩, , ◦, ∗, R

I reguläre Ausdrücke beschreibenI reguläre Grammatiken (Chomsky-Typ 3) erzeugenI endliche Automaten akzeptieren

genau alle regulären Sprachen.einige nicht-reguläre Sprachen (mit Nachweis):{anbn | n ∈ N}, Palindromsprachen,

{a(2

n) | n ∈ N}

Anwendung z.B. beiSuche nach Zeichenketten, lexikalischer Analyse im Compiler

130

Page 131: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

WH: Algorithmische Lösungen für reguläre Sprachenalle Sprachen in Eingaben endlich beschrieben, z.B. als NFA

Wortproblem Eingabe: (L,w),Ausgabe: ja, falls w ∈ L, sonst nein(Suche nach mit w markiertem Pfad imAutomatengraphen)

Leerheit Eingabe: L, Ausgabe: ja, falls L = ∅, sonst nein(Erreichbarkeit akzeptierender Zustände in NFA für L)

Vollständigkeit Eingabe: L, Ausgabe: ja, falls L = X ∗, sonst nein(Erreichbarkeit im Automaten für L)

Endlichkeit Eingabe: L, Ausgabe: ja, falls L endlich, sonst nein(Suche nach akzeptierendem Weg mit Schleife)

Inklusion Eingabe: L1, L2,Ausgabe: ja, falls L1 ⊆ L2, sonst nein(Test L1 ∩ L2 = ∅)

Gleichheit Eingabe: L1, L2,Ausgabe: ja, falls L1 = L2, sonst nein(isomorphe Minimalautomaten oder Test L1∆L2

?= ∅)

Disjunktheit Eingabe: L1, L2,Ausgabe: ja, falls L1 ∩ L2 = ∅, sonst nein

131

Page 132: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Analoge Fragen für kontextfreie Sprachen

Wiederholung:Eine Sprache L ⊆ X ∗ heißt genau dann kontextfrei, wenn für einekontextfreie Grammatik (Chomsky-Typ 2) G gilt L \ {ε} = L(G ).

CF: Menge aller kontextfreien Sprachen

Unter welchen der Operationen ∪,∩, , ◦, ∗, R ist die Menge CFabgeschlossen?

Gibt es ein passendes Maschinenmodell für kontextfreie Sprachen?

Wie zeigt man, dass eine Sprache nicht kontextfrei ist?

Gibt es algorithmische Lösungen für die folgenden Probleme fürkontextfreie Sprachen:

I WortproblemI Leerheit, Vollständigkeit, EndlichkeitI Inklusion, Gleichheit, Disjunktheit

132

Page 133: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Kontextfreie Grammatiken – Wiederholung

Grammatik G = (N,T ,P,S) vom Chomsky-Typ 2

Alle Regeln in P haben die Form l → r mitl ∈ N und r ∈ (N ∪ T )+

Grammatik G = (N,T ,P,S) erzeugt die Sprache

L(G ) = {w ∈ T ∗ | S →∗P w}

I Syntax regulärer (arithmetischer, logischer) AusdrückeI Syntax von Programmiersprachen

(zusammengesetzte Ausdrücke und Anweisungen)

133

Page 134: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ableitungsbäume für kontextfreie GrammatikenBeispiel: Grammatik G = (N,T ,P,E ) mit N = {E ,F},T = {a, b, c, (, ),+, ∗},

P = {E → (E + E ),E → F ∗ F ,F → E ,E → a,E → b,E → c}

Ableitung für w = (c ∗ a + (b + a ∗ a))

allgemein: Grammatik G = (N,T ,P, S)Ableitung S →P w1 →P w2 →P · · · →P wn = w für w in G

Ableitungsbaum zu einem Wort w in der kontextfreien GrammatikG (induktive Definition):

I Wurzel mit Markierung S

I für jeder Anwendung einer Regel A→P r1 · · · rn :Verzweigung bei Symbol A in n Kinder mit Markierungenr1 . . . , rn

I Markierung der Blätter (von links nach rechts): Wort w

Ein Ableitungsbaum repräsentiert i.A. mehrere Ableitungen.134

Page 135: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Rechts- und Linksableitungen

Eine Ableitung für w in G heißtLinksableitung , falls in jedem Schritt das am weitesten links

stehende NichtterminalRechtsableitung , falls in jedem Schritt das am weitesten rechts

stehende Nichtterminalersetzt wird.

Zu jedem Ableitungsbaum für w in G existierenI genau eine Linksableitung für w in G undI genau eine Rechtsableitung für w in G .

135

Page 136: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Mehrdeutige kontextfreie GrammatikenGrammatik G heißt

eindeutig , falls für jedes Wort w ∈ L(G ) genau einAbleitungsbaum in G existiert.

mehrdeutig , sonst.

Beispiel: Grammatik G = (N,T ,P,E ) mit N = {S}, T = {a} undP = {S → SS ,S → a}für w = aaa

Eindeutigkeit von Grammatiken ist wichtig beim Entwurf vonProgrammiersprachen (Syntax)

„dangling else“-Problem:

<Anw> ::= if <Ausdr> then <Anw><Anw> ::= if <Ausdr> then <Anw> else <Anw>

Was bedeutet:if C1 then if C2 then A else B

136

Page 137: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Inhärent mehrdeutige Sprachen

Sprachen L, für die keine eindeutige Grammatik G mit L = L(G )existieren, heißen inhärent mehrdeutig.

FaktDie Sprache L = {albmcn | l ,m, n > 0 ∧ (l = m ∨m = n)}ist inhärent mehrdeutig.

137

Page 138: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Abschlusseigenschaften von CFSatzSind L1 und L2 kontextfreie Sprachen, dann sind auch

I L1 ∪ L2

I L1 ◦ L2

I L∗1

kontextfreie Sprachen.Konstruktionen (Tafel):gegeben: Li = L(Gi ) mit Gi = (Ni ,Ti ,Pi ,Si ) für i ∈ {1, 2}, wobeiN1 ∩ N2 = ∅ (falls nötig, umbenennen)neues Nichtterminal S ′ 6∈ N1 ∪ N2

I L1 ∪ L2 = L(G∪) mitG∪ = (N1 ∪ N2 ∪ {S ′},T1 ∪ T2,P1 ∪ P2 ∪ {S ′ → S1,S

′ → S2},S ′)I L1 ◦ L2 = L(G◦) mit

G◦ = (N1 ∪ N2 ∪ {S ′},T1 ∪ T2,P1 ∪ P2 ∪ {S ′ → S1S2},S ′)I L∗1 = L(G∗) mit

G∗ = (N1 ∪ {S ′},T1,P1 ∪ {S ′ → ε, S ′ → S1S′},S ′)

138

Page 139: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Erreichbare und erzeugende Nichtterminale

kontextfreie Grammatik G = (N,T ,P,S)

Nichtterminal A ∈ N heißterreichbar aus B ∈ N, falls

∃u, v ∈ (N ∪ T )∗ : B →∗P uAv

erreichbar in G falls A aus Startsymbol S erreichbar isterzeugend falls ∃w ∈ T ∗ : A→∗P w

Beispiel:Grammatik G = (N,T ,P,S) mit N = {S ,A,B,C ,D,E},T = {a, b, c},

P = {S → AB,A→ C ,A→ a,D → ScA,B → b,C → BbC}

139

Page 140: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Eliminierung nutzloser Nichtterminalegegeben: kontextfreie Grammatik G = (N,T ,P, S)

induktive Bestimmung aller erzeugenden Nichtterminale aus N:

M0 = {A | (A→ w) ∈ P ∧ w ∈ T ∗}Mi+1 = Mi ∪ {A | (A→ w) ∈ P ∧ w ∈ (T ∪Mi )

∗}

Es gibt ein n ∈ N : Mn = Mn+1, Mn enthält alle erzeugenden NTEliminierung aller nicht-erzeugenden NT:Löschen aller Regeln, die nicht-erzeugende NT enthalten

induktive Bestimmung aller aus S erreichbaren Nichtterminale:

M ′0 = {S}M ′i+1 = M ′i ∪ {A | (B → uAv) ∈ P ∧ B ∈ M ′i ∧ u, v ∈ (N ∪ T )∗}

Es gibt ein n ∈ N : M ′n = M ′n+1, M′n enthält alle erreichbaren NT

Eliminierung aller nicht-erreichbaren NT:Löschen aller Regeln, die nicht-erreichbare NT enthalten

140

Page 141: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Reduzierte kontextfreie Grammatiken

reduzierte Grammatik enthält nur erreichbare und erzeugendeNichtterminale

FaktZu jeder kontextfreien Grammatik existiert eine äquivalentereduzierte Grammatik.

Erzeugung einer reduzierten Grammatik aus beliebiger kontextfreierGrammatik G :

nacheinander in dieser Reihenfolge:1. G ′ entsteht durch Eliminierung aller nicht-erzeugenden

Nichtterminale in G ,2. G ′′ entsteht durch Eliminierung aller nicht-erreichbaren

Nichtterminale in G ′

G ′′ ist reduziert und äquivalent zu G .

141

Page 142: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Kettenregeln

Kettenregel Regel l → r mit l ∈ N und r ∈ N

Beispiel: G = ({A,B,S}, {0, 1},P,S) mitP = {S → 0S0, S → 00,S → A,A→ 1A,A→ B,B → 1}Eliminierung der Kettenregeln aus G = (N,T ,P, S):

I induktive Bestimmung aller Ketten-Paare

M0 = {(A,A) | A ∈ N}Mi+1 = Mi ∪ {(A,C ) | (A,B) ∈ Mi ∧ (B → C ) ∈ P}

Es existiert ein n ∈ N mit Mn = Mn+1.I P ′ = {A→ w | (A,B) ∈ Mn ∧ (B → w) ∈ P ∧ w 6∈ N}

I Hinzufügen aller Nicht-Kettenregeln A→ w , für welche P eineRegel B → w enthält und (A,B) ∈ Mn (Ketten-Paar)

I Löschen aller Kettenregeln

Die so erzeugte Grammatik G ′ ist äquivalent zu G .142

Page 143: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Chomsky-NormalformKontextfreie Grammatiken G = (N,T ,P, S) mit∀(l → r) ∈ P : r ∈ (N2 ∪ T ) heißen in Chomsky-Normalform.(binäre Ableitungsbäume)

SatzZu jeder kontextfreien Grammatik G mit ε 6∈ L(G ) existiert eineäquivalente Grammatik in Chomsky-Normalform.Konstruktion:1. ε-Regeln und Kettenregeln eliminieren2. N ′ = N ∪ {Xc | c ∈ T}

P ′ = P ∪ {Xc → c | c ∈ T}Ersetzung jedes Terminals c in jeder rechten Regelseite r mit|r | > 1 durch Xc

3. Ersetzung jeder Regel A→ B1 . . .Bn in P ′ mit n > 2 durch diefolgenden n − 1 Regeln:A→ B1C2, . . . ,Ci → BiCi+1, . . . ,Cn−1 → Bn−1Bn mit neuenNichtterminalen Ci

143

Page 144: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschahREG: Menge aller regulären Sprachen (Chomsky-Typ 3)

I abgeschlossen unter ∪,∩, , ◦, ∗, R

I Wortproblem algorithmisch entscheidbar(Suche im Automaten-Graphen)

I Beschreibung durchI reguläre GrammatikenI NFA (Maschinenmodell)I reguläre Ausdrücke

I prominente nicht-reguläre Sprachen (Nachweis):{anbn | n ∈ N}, Palindromsprachen,

{a(2

n) | n ∈ N}

CF: Menge aller kontextfreien Sprachen (Chomsky-Typ 2)I abgeschlossen unter ∪, ◦, ∗, R

auch unter ∩, ?I Algorithmus zur Lösung des Wortproblems ?I Maschinenmodell ?I nicht-kontextfreie Sprachen (Nachweis) ?

144

Page 145: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wortproblem für kontextfreie Sprachen

Eingabe: kontextfreie Grammatik G = (N,T ,P,S)(in Chomsky-Normalform)Wort w = w1 . . .wn ∈ T ∗

Ausgabe: ja, falls w ∈ L(G ), sonst nein

Beispiel: G = ({S ,A,B}, {a, b, c},P,S) mit

P = {S → SA,S → a,A→ BS ,B → BB,B → BS ,B → b,B → c}

abc 6∈ L(G ), abacba ∈ L(G ),

Idee:I für jedes Teilwort wi . . .wj Suche nach Nichtterminal, welches

wi . . .wj erzeugt,I Beginn bei Teilworten der Länge 1I alle Zerlegungen von wi . . .wj in zwei Teilworte testen

145

Page 146: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

CYK-Algorithmus

(Cocke, Younger, Kasami)

löst Wortproblem für kontextfreie Sprachen in O(|w |3)

induktive Berechnung der Mengen Ni,j = {A ∈ N | A→∗P wi . . .wj}durch die Rekursionsgleichung:

Ni,j =

{{A | A→ wi ∈ P} falls i = j⋃

i≤k≤j−1{A | A→ BC ∈ P ∧ B ∈ Ni,k ∧ C ∈ Nk+1,j} falls i < j

dynamische Programmierung: Tabelle (Tafel)

Faktw ∈ L(G ) gilt genau dann, wenn S ∈ N1,|w | gilt.

146

Page 147: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Nicht-kontextfreie Sprachen

Die Grammatik G = ({A,B,C}, {a, b, c},P,A) mit

P =

A → aABC ,A → aBC ,CB → BC ,aB → ab,bB → bb,bC → bc,cC → cc

erzeugt die Sprache L(G ) = {anbncn | n > 0}.(Chomsky-Typ 1, kontextsensitiv)

FaktDie Sprache L = {anbncn | n > 0} ist nicht kontextfrei.

147

Page 148: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Pumping-Lemma für kontextfreie SprachenSprache L ⊆ X ∗ hat die Pump-Eigenschaft gdw.∃ n ∈ N ∀ w ∈ L (|w | ≥ n→

∃ u, v , x , y , z ∈ X ∗ (w = uvxyz ∧ |vxy | ≤ n ∧ |vy | ≥ 1→∀ i ∈ N : uv ixy iz ∈ L

))n heißt hier Pumping-Konstante.

Satz (Pumping-Lemma für CF)Jede kontextfreie Sprache hat die Pump-Eigenschaft.

Ausführlichere Formulierung desselben Satzes:

Satz (Pumping-Lemma für CF)Für jede kontextfreie Sprache Lexistiert eine Zahl n ∈ N (Pumping-Konstante), so dassfür jedes Wort w ∈ L mit |w | ≥ neine Zerlegung w = uvxyz existiert mitu, v , x , y , z ∈ X ∗, |vy | ≥ 1, |vxy | ≤ n undfür jede Zahl i ∈ N gilt uv ixy iz ∈ L.

148

Page 149: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele nicht-kontextfreier Sprachen

I {anbncn | n ∈ N}I {anbmanbm | m, n ∈ N}I {w ∈ {a, b, c}∗ | |w |a = |w |b = |w |c}I {ww | w ∈ {a, b}∗}I {a(2k) | k ∈ N}

Das Pumping-Lemma ist geeignet, um zu zeigen, dass eine Sprachenicht kontextfrei ist.

ABER:Es gibt nicht-kontextfreie Sprachen mit Pump-Eigenschaft,z.B. L = {ajbkc ldm | j = 0 ∨ k = l = m}

149

Page 150: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Abschlusseigenschaften von CF

schon gezeigt:Sind L1 und L2 kontextfreie Sprachen, dann sind auch

I L1 ∪ L2

I L1 ◦ L2

I L∗1kontextfreie Sprachen.

Die Menge aller kontextfreien Sprachen ist nicht abgeschlossenunter

I Schnitt ∩,Gegenbeispiel:L1 = {aibick | i , k > 0} ∈ CF undL2 = {aibkck | i , k > 0} ∈ CF,aber L1 ∩ L2 = {aibic i | i > 0} 6∈ CF

I Komplement (Warum ?)

150

Page 151: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschahreguläre Sprachen:

I endliche Repräsentation durchI reguläre GrammatikenI NFA (DFA, ε-NFA, . . . )I reguläre Ausdrücke

I abgeschlossen unter ∪,∩, , ◦, ∗, R

I algorithmische Entscheidbarkeit von

Wortproblem w?∈ L (O(|w |)),

Leerheit, Endlichkeit, Gleichheit usw.

kontextfreie Sprachen:I repräsentiert durch

I kontextfreie Grammatiken (reduziert, Chomsky-NF)

I abgeschlossen unter ∪, ◦, ∗aber nicht abgeschlossen unter ∩,

I Wortproblem algorithmisch entscheidbar (CYK, O(|w |3))

151

Page 152: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

MaschinenmodelleDefinition (endliche Beschreibung) durch

I interne Steuerung(z.B. endliche Menge von Zuständen)

I externen Speicher mit speziellenZugriffsmöglichkeiten

I Typ des Speicherinhaltes(z.B. endliches Wort über endlichem Alphabet)

I Zugriffsmethode (z.B. Lesen / Schreiben,einmal / wiederholt, feste Reihenfolge)

Konfigurationen (Momentaufnahmen)und endliche Menge zulässiger lokaler Übergänge zwischenKonfigurationen

schrittweise Berechnung : Folge von Konfigurationen von einerStartkonfiguration über zulässige Konfigurationsübergänge

Akzeptanz einer Eingabe durch akzeptierende Berechnung:endliche Konfigurationenfolge zu einer akzeptierendenKonfiguration

152

Page 153: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Definition des Maschinenmodells NFA

algorithmische Lösung des Wortproblems w ∈ L für reguläreSprachen L (gegeben durch NFA A mit L = L(A))

NFA A = (X ,Q, δ, I ,F ) als abstrakte Maschine:externer Speicher Eingabeband aus einzelnen linear angeordneten

Speicherzellen (enthält ein Wort w ∈ X ∗, jede Zelleein Symbol aus dem Alphabet )

interner Speicher enthält Zustand aus QSteuerelement Zugriff auf

I Eingabeband (externer Speicher): LesenBewegung in jedem Schritt eine Zelle nach rechts

I Zustand (interner Speicher): Lesen undSchreiben

153

Page 154: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Arbeitsweise des Maschinenmodells NFA

Start Steuerelement (Lesekopf) in einem Startzustandüber der ersten Zelle des Eingabewortes

Schritt I NFA liest Zeichen in der Zelle unter demLesekopf

I Zustandsübergang im Steuerelement(entsprechend Übergangsrelation und gelesenemSymbol)

I Lesekopf bewegt sich zur rechten NachbarzelleEnde Lesekopf auf Zelle ohne Eingabesymbol

NFA akzeptiert das Eingabewort,falls akzeptierender Zustand im internen Speicher

154

Page 155: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Konfigurationen eines NFANFA A = (X ,Q, δ, I ,F )

Konfiguration (q,w) mitaktuellem Zustand q ∈ Q undungelesenem Teil des Eingabewortes w ∈ X ∗

Startkonfiguration (s, u) mitStartzustand s ∈ I und Eingabewort u ∈ X ∗

Akzeptierende Konfiguration (f , ε) mit akzeptierendem Zustand f ∈ F

Folgekonfiguration zur Konfiguration (p, aw) mit a ∈ X und w ∈ X ∗:Konfiguration (q,w) mit (p, q) ∈ δ(a)Notation: (p, aw) ` (q,w)

Berechnung für Eingabewort w ∈ X ∗ in A:Folge ((q0, u0), . . . , (qn, un)) von Konfigurationen, wobeifür alle i ∈ {0, . . . , n − 1} gilt (qi , ui ) ` (qi+1, ui+1)

akzeptierende Berechnung für Eingabewort w ∈ X ∗ in A:Berechnung für w mit Endkonfiguration (qn, vn) = (f , ε)(analog zu akzeptierendem Pfad für w in A)

155

Page 156: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

BeispielA = ({a, b}, {0, 1, 2}, δ, {0}, {2}) mitδ(a) = {(0, 0), (1, 2)} und δ(b) = {(0, 1), (2, 2)}

0 1 2

a

ab

b

Eingabewort aababStartkonfiguration (0, aabab)Endkonfiguration (2, ε)akzeptierende Berechnung für Eingabewort aabab in A:

(0, aabab) ` (0, abab) ` (0, bab) ` (1, ab) ` (2, b) ` (2, ε)

Man bemerke die Analogie zum akzeptierenden Pfad

0 a→ 0 a→ 0 b→ 1 a→ 2 b→ 2

für aabab in A156

Page 157: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Maschinenmodelle und AlgorithmenI endliche BeschreibungI schrittweise BearbeitungI (Ergebnis nach endlich vielen Schritten)

Jede abstrakte Maschine führt einen Algorithmus aus.(z.B. zur Lösung des Wortproblems (L,w) für reguläre Sprachen L)verschiedene Maschinenmodelle unterscheiden sich in

I Art und Kapazität des internen und externen SpeichersI Art des Zugriffs auf internen und externen SpeicherI Reihenfolge der Zugriffe (einmalig, wiederholt)I Determinismus

Maschinen definieren Sprachen:Menge aller Eingaben mit akzeptierenden Berechnungen

Maschinenmodelle definieren Sprachklassen:Menge aller durch eine solche Maschine definiertenSprachen

157

Page 158: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Kellerautomaten – Motivation

L = {wcwR | w ∈ {a, b}∗} ist kontextfrei, aber nicht regulär (nichtNFA-akzeptierbar).

gesucht:(einfaches) Maschinenmodell, welches die Sprache L akzeptiert

Maschine benötigt Speicher für Reihenfolge der Symbole in w , umauf diese in umgekehrter Reihenfolge zugreifen zu können (LIFO)

geeignete Datenstruktur für Speicher mit dieser Eigenschaft:Stack (Keller)

Kellerautomat (pushdown automaton, PDA):Erweiterung von NFA (mit ε-Übergängen)um internen Speicher (vom Typ Keller, Stack)

158

Page 159: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Kellerautomaten (PDA) – Definition

nichtdeterministischer Kellerautomat (PDA)A = (X ,Q, Γ, δ, q0,F ,⊥) mit

X Alphabet (endlich, nichtleer)Q Menge von Zuständen (endlich, nichtleer)Γ Kelleralphabet (endlich, nichtleer)q0 ∈ Q StartzustandF ⊆ Q Menge der akzeptierenden Zuständeδ : (X ∪ {ε})→ (Q × Q × Γ× Γ∗)Übergangsrelationen mit Änderung des Kellerinhaltes

⊥ ∈ Γ Kellerboden-Symbol

159

Page 160: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA – Beispiel

PDA A = ({a, b, c}, {q0, p, q}, {⊥,A,B}, δ, q0, {q},⊥) mitδ(a) = {(q0, q0,K ,AK ), (p, p,A, ε)} mit K ∈ {⊥,A,B}δ(b) = {(q0, q0,K ,BK ), (p, p,B, ε)} mit K ∈ {⊥,A,B}δ(c) = {(q0, p,K ,K )} mit K ∈ {⊥,A,B}δ(ε) = {(p, q,⊥,⊥)}

q0 p q

a : K | AKb : K | BK

c : K | K

a : A | εb : B | ε

ε : ⊥ | ⊥

mit K ∈ {⊥,A,B}

160

Page 161: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA – KonfigurationenKonfiguration (q,w , k) ∈ Q × X ∗ × Γ∗ mit

I Zustand q ∈ Q

I (noch zu lesendes) Eingabewort w ∈ X ∗

I Kellerinhalt k ∈ Γ∗

I Startkonfigurationen (q0,w ,⊥) mit w ∈ X ∗ beliebig

I Übergang zwischen Konfigurationen:(p, aw ,Gk) ` (q,w , k ′k) mit (p, q,G , k ′) ∈ δ(a) für k ∈ Γ∗

und (p,w ,Gk) ` (q,w , k ′k) mit (p, q,G , k ′) ∈ δ(ε) für k ∈ Γ∗

I akzeptierende Konfigurationen (q, ε, k) mit q ∈ F , k ∈ Γ∗

akzeptierende Berechnung (Konfigurationenfolge) für w in A:Folge (q0,w0, k0) ` · · · ` (qn,wn, kn) von Konfigurationen mit

I (q0,w0, k0) eine Startkonfiguration mit w0 = w

I (qn,wn, kn) eine akzeptierende Konfiguration mit wn = ε

I für jedes i ∈ {1, . . . , n} gilt (qi−1,wi−1, ki−1) ` (qi ,wi , ki )

161

Page 162: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Von PDA akzeptierte Sprachen

PDA A = (X ,Q, Γ, δ, q0,F ,⊥) akzeptiert das Wort w ∈ X ∗ gdw.eine akzeptierende Berechnung (Konfigurationenfolge) mit derStartkonfiguration (q0,w ,⊥) existiert.

PDA A = (X ,Q, Γ, δ, q0,F ,⊥) akzeptiert die Sprache

L(A) = {w ∈ X ∗ | A akzeptiert w}

Sprache L heißt PDA-akzeptierbar gdw. ein PDA A mit L = L(A)existiert.

PDA A und B heißen äquivalent gdw. L(A) = L(B)

162

Page 163: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA-Akzeptanz – BeispielPDA A = ({a, b}, {q0, p, q}, {⊥, x}, δ, q0, {q},⊥) mitδ(a) = {(q0, q0,K , xK )} für K ∈ {x ,⊥}δ(b) = {(p, p, x , ε)}δ(ε) = {(q0, p,K ,K ), (p, q,⊥,⊥)} mit K ∈ {x ,⊥}

q0 p q

a : K | xK

ε : K | K

b : x | ε

ε : ⊥ | ⊥

für K ∈ {x ,⊥}A akzeptiert das Wort aabb über die Konfigurationenfolge

(q0, aabb,⊥) ` (q0, abb, x⊥) ` (q0, bb, xx⊥) ` (p, bb, xx⊥)

` (p, b, x⊥) ` (p, ε,⊥) ` (q, ε,⊥)

und ε über die Konfigurationenfolge (q0, ε,⊥) ` (p, ε,⊥) ` (q, ε,⊥)aber nicht abb, abaEs gilt L(A) = {anbn | n ∈ N}Damit ist die Sprache {anbn | n ∈ N} PDA-akzeptierbar.

163

Page 164: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Deterministische PDA

PDA A = (X ,Q, Γ, δ, q0,F ,⊥) heißt deterministisch (DPDA) gdw.

∀a ∈ X ∀q ∈ Q ∀K ∈ Γ : |{(p,B) | (q, p,K ,B) ∈ δ(a)∪ δ(ε)}| ≤ 1

Sprache L heißt deterministisch kontextfrei gdw. eindeterministischer PDA A mit L = L(A) existiert.

Beispiele:I L = {anbn | n ∈ N} ist deterministisch kontextfrei,I L′ = {wcwR ∈ {a, b}∗ | w ∈ {a, b}∗} ist deterministisch

kontextfrei,I L′′ = {wawR ∈ {a, b}∗ | w ∈ {a, b}∗} nicht.

Die Menge aller durch deterministische PDA akzeptierbarenSprachen ist eine echte Teilmenge der Menge aller durch PDAakzeptierbaren Sprachen.

164

Page 165: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA – Akzeptanz durch leeren Kelleralternative Akzeptanzbedingungakzeptierende Konfigurationen: (q, ε, ε) mit q ∈ Q beliebigAngabe akzeptierender Zustände überflüssigBeispiel: L = {anbn | n ∈ N} ist PDA-akzeptierbar durchPDA A = ({a, b}, {q0, p}, {⊥, x}, δ, q0,⊥) mitδ(a) = {(q0, q0,K , xK )} für K ∈ Γδ(b) = {(p, p, x , ε)}δ(ε) = {(q0, p,K ,K ), (q0, p,⊥, ε), (p, p,⊥, ε)} für K ∈ {x ,⊥}

q0 p

a : K | xKε : K | Kε : ⊥ | ε

b : x | εε : ⊥ | ε

für K ∈ {x ,⊥}165

Page 166: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Akzeptanzbedingungen für PDAzwei Möglichkeiten zur Definition akzeptierender Konfigurationen:

1. Akzeptanz durch akzeptierenden Zustand (analog NFA):(q, ε, k) mit q ∈ F und k ∈ Γ∗ beliebig

2. Akzeptanz durch leeren Keller:(q, ε, ε) mit q ∈ Q beliebig

Beispiel: Die Sprache L = {anbn | n ∈ N} wird

durch akzeptierende Zustände ak-zeptiert durch den PDA A =({a, b}, {q0, p, q}, {⊥, x}, δ, q0, {q},⊥)mit

q0 p q

a : K | xK

ε : K | K

b : x | ε

ε : ⊥ | ⊥

mit leerem Keller akzep-tiert durch den PDA B =({a, b}, {q0, p, q}, {⊥, x}, δ, q0,⊥)mit

q0 p

a : K | xKε : K | Kε : ⊥ | ε

b : x | εε : ⊥ | ε

für K ∈ {x ,⊥}

166

Page 167: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Äquivalenz beider AkzeptanzbedingungenSatz

1. Zu jedem PDA mit akzeptierenden Zuständen existiert einäquivalenter PDA, der mit leerem Keller akzeptiert.

2. Zu jedem PDA, der mit leerem Keller akzeptiert, existiert einäquivalenter PDA mit akzeptierenden Zuständen.

Idee (PDA-Transformationen):

1. PDA mit akzeptierenden Zuständen → PDA mit leerem Keller:neues Kellerboden-Symbol und neuen Endzustand hinzufügen,ursprünglicher Automat arbeitet „darüber“,nach Übergang in einen akzeptierenden Zustand ε-Übergänge indiesem akzeptierenden Zustand zum Entfernen aller restlichenKellersymbole

2. PDA mit leerem Keller → PDA mit akzeptierenden Zuständen:neuen (einzigen) akzeptierenden Zustand hinzufügen,für jeden Übergang in eine Konfiguration mit leerem Keller einenÜbergang in diesen akzeptierenden Zustand hinzufügen.

167

Page 168: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah

reguläre Sprachen:I endliche Repräsentation durch

I reguläre GrammatikenI NFA (DFA, ε-NFA, . . . )I reguläre Ausdrücke

I abgeschlossen unter ∪,∩, , ◦, ∗, R

I algorithmische Entscheidbarkeit vonWortproblem, Leerheit, Endlichkeit, Gleichheit usw.

kontextfreie Sprachen:I repräsentiert durch

I kontextfreie Grammatiken (reduziert, Chomsky-NF)

I abgeschlossen unter ∪, ◦, ∗aber nicht abgeschlossen unter ∩,

I Wortproblem algorithmisch entscheidbar (CYK, O(n3))

168

Page 169: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Unendliche Konfigurationsfolgen

Automaten mit ε-Übergängen erlauben unendlicheKonfigurationsfolgen.

Beispiele:I ε-NFA A = ({a}, {0, 1}, δA, {0}, {1}) mitδA(a) = {(0, 1)}, δA(ε) = {(0, 0), (1, 0)}

I PDA B = ({a}, {0, 1}, {⊥,X}, δB , {0}, {0},⊥) mitδA(a) = {(0, 1,⊥,⊥), (0, 1,X ,X )},δA(ε) = {(0, 1,⊥,X⊥), (1, 0,X , ε)}

Akzeptierende Konfigurationsfolgen für endliche Wörter sind immerendlich.

Deshalb sind unendliche Konfigurationsfolgen für die Definition vonSprachen und Sprachklassen endlicher Wörter durch endlicheAutomaten irrelevant.

169

Page 170: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Schnitt PDA-akzeptierbarer mit regulären SprachenSatz

I Sind L eine PDA-akzeptierbare und L′ eine reguläre Sprache, dannist die Sprache L ∩ L′ PDA-akzeptierbarer.

I Sind L eine durch einen DPDA-akzeptierbare und L′ eine reguläreSprache, dann ist die Sprache L ∩ L′ durch einen DPDAakzeptierbarer.

gegeben: PDA A = (X ,QA, Γ, δA, iA,FA,⊥) mit L = L(A)(akzeptiert mit Zuständen)DFA B = (X ,QB , δB , iB ,FB) mit L′ = L(B)

Beispiel: Dyck-Sprache ∩ a∗b∗ = {anbn | n ∈ N}Produktkonstruktion:PDA C = (X ,QA × QB , Γ, δ, (iA, iB),FA × Fb,⊥) mit

∀a ∈ X : δ(a) =

{((pA, pB), (qA, qB),G , k) | (pA, qA,G , k) ∈ δA(a)

∧(pB , qB) ∈ δB(a)

}δ(ε) = {((pA, pB), (qA, pB),G , k) | (pA, qA,G , k) ∈ δA(ε)}

Für den oben konstruierten PDA C gilt L(C ) = L(A) ∩ L(B).

170

Page 171: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Kontextfreie Grammatiken und PDA

SatzDie Menge aller kontextfreien (d.h. durch eine kontextfreieGrammatik erzeugten) Sprachen ist genau die Menge allerPDA-akzeptierbaren Sprachen.

1. Konstruktion eines PDA A zu einer gegebenen kontextfreienGrammatik G mit L(A) = L(G )

2. Konstruktion einer kontextfreien Grammatik G zu einemgegebenen PDA A mit L(A) = L(G )

(Konstruktionen auf den folgenden Folien,2. im WS2015/16 nicht besprochen)

171

Page 172: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Kontextfreie Grammatik → PDABeispiel: Łukasiewicz-Sprache erzeugt durch die GrammatikG = ({S}, {a, b},P,S) mit P = {S → a,S → bSS}LemmaZu jeder kontextfreien Grammatik G existiert ein PDA A mitL(A) = L(G ).gegeben: kontextfreie Grammatik G = (N,X ,P,S)Idee: Tiefensuche im Ableitungsbaum (Linksableitung)PDA A = (X , {q},N ∪ X , δ, q,S) mit

δ(ε) = {(q, q,B,w) | B → w ∈ P}∀a ∈ X : δ(a) = {(q, q, a, ε)}

akzeptiert mit leerem KellerFür den so konstruierten PDA A gilt L(A) = L(G ).Nachweis: Eindeutige Zuordnung zwischen Linksableitungen

S → u1A1v1 → u1u2A2v

2 → · · · → u1 . . . um−1Am−1vm−1 → w = u1 . . . um

und akzeptierenden Berechnungen für w = u1 . . . um

(q,w ,S) ` (q, u1 . . . um, u1A1v1) ` · · · ` (q, u2 . . . um,A1v

1)

` (q, u2 . . . um, u2A2v2) ` · · · ` (q, um, um) ` · · · ` (q, ε, ε)

172

Page 173: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA → kontextfreie Grammatik

Beispiel: PDA A = ({a, b}, {q}, {X ,⊥}, δ, q,⊥} (LK-Akzeptanz)mit δ(a) = {(q, q,X ,XX )(q, q,⊥,X⊥)},δ(b) = {(q, q,X , ε)} und δ(ε) = {(q, q,⊥, ε)}

LemmaZu jedem PDA A existiert eine kontextfreie Grammatik G mitL(A) = L(G ).

Nacheinanderausführung der KonstruktionenPDA → kontextfreie Grammatik → PDAführt zur folgenden Aussage:

FolgerungZu jedem PDA existiert ein äquivalenter PDA mit einem Zustand,der mit leerem Keller akzeptiert.

173

Page 174: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA → kontextfreie Grammatik (Vorbereitung)FaktJeder PDA A = (X ,Q, Γ, δ, q0,⊥) (LK-Akzeptanz) ist äquivalentzu einem PDA B = (X ,Q ′, Γ′, δ′, q′0,⊥′) (LK-Akzeptanz) mit derEigenschaft

∀a ∈ X ∪ {ε} ∀(p, q,G ,w) ∈ δ′(a) : |w | ≤ 2

Konstruktion: für jedes a ∈ x ∪ {ε}Ersetzung jedes Überganges (p, q,G ,w) ∈ δ(a) für w = w1 . . .wn

mit n > 2 durch die Regeln

(p, p1,G ,wn−1wn) ∈ δ(a)

(p1, p2,wn−1,wn−2wn−1) ∈ δ(ε)...(pn−1, q,w2,w1w2) ∈ δ(ε)

mit neu hinzugefügten Zuständen p1, . . . , pn−1174

Page 175: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA → kontextfreie Grammatik (Idee)gegeben: PDA A = (X ,Q, Γ, δ, q0,⊥) (LK-Akzeptanz) mit∀a ∈ X ∪ {ε} ∀(p, q,G ,w) ∈ δ(a) : |w | ≤ 2Ziel: Konstruktion einer kontextfreien Grammatik G = (N,X ,P,S), sodass die Linksableitungen in G genau den akzeptierenden Berechnungenin A entsprechen.akzeptierende Berechnung für w in A:

(q0,w ,⊥) ` · · · ` (q, ε, ε)

mögliche Konfigurationsübergänge in A:

I oberes Kellersymbol löschen (p, q,A, ε) ∈ δ(a) für a ∈ X ∪ {ε}entspricht Grammatikregel (p,A, q)→ a

I oberes Kellersymbol durch genau ein neues ersetzen(p, q,A,B) ∈ δ(a) für a ∈ x ∪ {ε}entspricht Grammatikregel (p,A, q′)→ a(q,B, q′) für alle q′ ∈ Q

I oberes Kellersymbol durch genau zwei neue ersetzen(p, q,A,BC ) ∈ δ(a) für a ∈ x ∪ {ε}entspricht Grammatikregel (p,A, q′)→ a(q,B, r)(r ,C , q′) für alleq′, r ∈ Q

175

Page 176: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA → kontextfreie Grammatik (Konstruktion)

gegeben: PDA A = (X ,Q, Γ, δ, q0,⊥) (LK-Akzeptanz) mit∀a ∈ X ∪ {ε} ∀(p, q,G ,w) ∈ δ(a) : |w | ≤ 2

Konstruktion kontextfreier Grammatik G = (N,X ,P,S) mit

N = (Q × Γ× Q) ∪ {S}P = {S → (q0,⊥, q) | q ∈ Q}

∪ {(p,B, q)→ a | (p, q,B, ε) ∈ δ(a)}∪ {(p,B, q)→ a(p′,C , q) | (p, p′,B,C ) ∈ δ(a) ∧ q ∈ Q}∪ {(p,B, q)→ a(p′,C , q)(q,D, q′) | (p, p′,B,CD) ∈ δ(a) ∧ q, q′ ∈ Q}

Für die so konstruierte Grammatik G gilt L(A) = L(G ).

176

Page 177: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

PDA → kontextfreie Grammatik (Beispiel)

PDA A = ({a, b}, {q}, {X ,⊥}, δ, q,⊥} (LK-Akzeptanz) mitδ(a) = {(q, q,X ,XX )(q, q,⊥,X⊥)},δ(b) = {(q, q,X , ε)}, δ(ε) = {(q, q,⊥, ε)}

G = (N,X ,P, S) zu A mit

N = {S , (q,⊥, q), (q,X , q)}

P =

S → (q,⊥, q)(q,X , q)→ b wegen (q, q,X , ε) ∈ δ(b)(q,⊥, q)→ ε wegen (q, q,⊥, ε) ∈ δ(ε)(q,X , q)→ a(q,X , q)(q,X , q) wegen (q, q,X ,XX ) ∈ δ(a)(q,⊥, q)→ a(q,X , q)(q,⊥, q) wegen (q, q,⊥,X⊥) ∈ δ(a)

177

Page 178: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Zusammenfassung kontextfreie Sprachen (CF)CF = L2 (Chomsky-Typ 2)

Abschlusseigenschaften:Sind L1 und L2 kontextfreie Sprachen, dann sind auch

I L1 ∪ L2

I L1 ◦ L2

I L∗1I L1 ∩ L′ für jede reguläre Sprache L′

kontextfreie Sprachen.

Die Menge aller kontextfreien Sprachen ist nicht unter Schnitt undKomplement abgeschlossen.

passendes Maschinenmodell: PDA

deterministische PDA akzeptierenI eine echte Teilmenge aller kontextfreien SprachenI eine echte Teilmenge aller regulären Sprachen

178

Page 179: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

CF: Algorithmische Lösungenalgorithmisch lösbar sind

I Wortproblem: Eingabe (G ,w)Ausgabe: ja, falls w ∈ L(G ), sonst nein(CYK-Algorithmus)

I Leerheit: Eingabe G ,Ausgabe: ja, falls L(G ) = ∅, sonst nein(ja, falls Startsymbol der Grammatik nicht erzeugend, Reduktion)

I Endlichkeit: Eingabe G ,Ausgabe: ja, falls L(G ) endlich, sonst nein(Gilt ∃w ∈ L : n ≤ |w | < 2n für Pumping-Konstante n ?)

nicht algorithmisch entscheidbar sind (ohne Nachweis)I Inklusion ⊆: Eingabe G1,G2,

Ausgabe: ja, falls L(G1) ⊆ L(G2), sonst neinI Gleichheit =: Eingabe G1,G2,

Ausgabe: ja, falls L(G1) = L(G2), sonst neinI Disjunktheit: Eingabe G1,G2,

Ausgabe: ja, falls L(G1) ∩ L(G2) = ∅, sonst neinI Kontextfreiheit der Schnittsprache: Eingabe G1,G2,

Ausgabe: ja, falls L(G1) ∩ L(G2) kontextfrei, sonst nein179

Page 180: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

REG und CF: Anwendung (Wiederholung)

Übersetzung von Quell- in Zielsprache(z.B. C, Java in Maschinen- oder Byte-Code)

meist in zwei Phasen über eine (gemeinsame) Abstraktion:

Quellcode↓ Analyse-Phase (Front-End)

Zwischendarstellung(oft Baumstruktur)

↓ Synthese-Phase (Back-End)Code in Zielsprache

180

Page 181: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Analyse-PhaseQuellcode Scanner Folge von Token Parser Syntaxbaum

lexikalische Analyse (Scanner): lineare Analyse des Quelltextes,Aufteilung in Einheiten (Token), z.B. Schlüsselwörter,Bezeichner, Zahlenreguläre Sprachen, endliche Automaten

Syntaxnalyse (Parser): hierarchische Struktur des Quelltextesz.B. Ausdrücke, Verzweigungen, Schleifenkontextfreie Sprachen, Kellerautomaten

I Konstruktion des Syntaxbaumes (top-down oderbottom-up) beim Durchlaufen des Eingabewortes

I für deterministisch kontextfreie Sprachen miteindeutigen Grammatiken existieren schnelleVerfahren als CYK

I Automatische Erzeugung von Parsern ausGrammatiken durch Parsergeneratoren

semantische Analyse Annotationen im Syntaxbaum, z.B. Typprüfungen

mehr dazu in den LV Compilerbau, Prinzipien von Programmiersprachen181

Page 182: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Kontextsensitive SprachenLi (Chomsky-Typ 1)erzeugt durch Grammatiken G = (N,T ,P,S) mit Regeln der Forml → r , wobei

I l ∈ (N ∪ T )+

I r ∈ (N ∪ T )∗ undI |l | ≤ |r | (nichtverkürzend, monoton)

Beispiel: {anbncn | n > 0} istI nicht kontextfrei (Pumping-Lemma)I durch Grammatik G = ({A,B,C}, {a, b, c},P,A) mit

P =

A → aABC ,A → aBC ,CB → BC ,aB → ab,bB → bb,bC → bc,cC → cc

182

Page 183: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: MaschinenmodelleDefinition (endliche Beschreibung) durch

I interne Steuerung(z.B. endliche Menge von Zuständen)

I externen und internen Speicher mit speziellenZugriffsmöglichkeiten

I Typ des Speicherinhaltes(z.B. endliches Wort über endlichem Alphabet)

I Zugriffsmethode (z.B. Lesen / Schreiben,einmal / wiederholt, feste Reihenfolge)

Konfigurationen (Momentaufnahmen)und endliche Menge zulässiger lokaler Übergänge zwischenKonfigurationen

schrittweise Berechnung : Folge von Konfigurationen von einerStartkonfiguration über zulässige Konfigurationsübergänge

Akzeptanz einer Eingabe durch akzeptierende Berechnung:endliche Konfigurationenfolge zu einer akzeptierendenKonfiguration

183

Page 184: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: Sprachdefinition durch MaschinenI endliche BeschreibungI schrittweise BerechnungI Ergebnis nach endlich vielen Schritten

Jede Maschine führt einen Algorithmus aus.verschiedene Maschinenmodelle unterscheiden sich in

I Art und Kapazität des internen und externen SpeichersI Art des Zugriffs auf internen und externen SpeicherI Reihenfolge der Zugriffe (z.B. einmalig, wiederholt)I Determinismus

Jede Maschine definiert eine Sprache:Menge aller Eingaben mit akzeptierenden BerechnungenJedes Maschinenmodell definiert eine Sprachklasse:Menge aller durch eine solche Maschine definierten SprachenMaschinenmodelle zur Lösung des Wortproblems für Sprachen vomChomsky-Typ 3 (regulär): NFA, DFA, ε-NFAChomsky-Typ 2 (kontextfrei): PDAChomsky-Typ 1 (kontextsensitiv): ? 184

Page 185: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Linear beschränkter Automat (LBA) – IdeeZiel: Maschinenmodell für Sprachen vom Chomsky-Typ 1Definition (endliche Beschreibung) durch

I externer Speicher:1. Eingabeband aus Zellen

I Typ des Speicherinhaltes:endliches Wort über endlichem Alphabet (Eingabealphabet)

I Zugriffsmethode: LesenBewegung des Lese-Kopfes auf ein Nachbarfeld

I interner Speicher:2. endliche Menge von Zuständen (Lesen / Schreiben)3. Arbeitsband aus Zellen

I Typ des Speicherinhaltes:endliches Wort (Länge = Länge des Eingabewortes)über endlichem Alphabet (Arbeitsalphabet)

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

übliche Vereinfachung der Struktur:Zusammenfassen der Bänder im internen und externen Speicher zu einemEingabe- und Arbeitsband (2,3) mit Lese/Schreib-Zugriff

185

Page 186: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

LBA – DefinitionLinear beschränkter Automat (LBA) M = (X ,Q, Γ, δ, q0,F ,2) mit

X endliches EingabealphabetQ endliche Menge von ZuständenΓ ⊃ X endliches Arbeitsalphabetδ ⊆ (Γ× Q × Γ× Q × {L,R,N})Übergangsrelation

q0 StartzustandF akzeptierende Zustände2 ∈ Γ \ X Leere-Zelle-Symbol

(Markierung von Anfang und Ende der Eingabe)

LBA M heißt deterministisch gdw.für jedes a ∈ Γ und jedes q ∈ Q gilt

| {(a, q, b, p, x) | p ∈ Q, b ∈ Γ, x ∈ {L,R,N}} ∩ δ| ≤ 1

186

Page 187: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

LBA – BeispielLBA M = ({a, b, c}, {q0, q1, q2, q3, f }, {a, b, x ,2}, δ, q0, {f },2) mit

δ = { (2, q0,2, f ,N)

(2, q3,2, q0,R)

(a, q0, x , q1,R)

(a, q1, a, q1,R)

(a, q3, a, q3, L)

(b, q1, x , q2,R)

(b, q2, b, q2,R)

(b, q3, b, q3, L)

(c , q2, x , q3, L)

(x , q0, x , q0,R)

(x , q1, x , q1,R)

(x , q2, x , q2,R)

(x , q3, x , q3, L)}

187

Page 188: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Konfigurationen eines LBA

LBA M = (X ,Q, Γ, δ, q0,F ,2)

Konfiguration uqv ∈ (Γ∗ × q × Γ∗) bedeutet:I aktueller Bandinhalt: w = uvI aktueller Zustand des LBA: qI Schreib-/Lesekopf des LBA zeigt auf erstes Symbol von v

(Leere-Zelle-Symbol, falls v = ε)

Startkonfigurationen q0w mit w ∈ X ∗

akzeptierende Konfigurationen uqv mit q ∈ FKonfigurationsübergänge von upv mit u = u′a und v = bv ′:

für (b, p, c , q,R) ∈ δ : upv ` ucqv ′

für (b, p, c , q, L) ∈ δ : upv ` u′qacv ′

für (b, p, c , q,N) ∈ δ : upv ` uqcv ′

188

Page 189: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Akzeptanz durch LBA

LBA M = (X ,Q, Γ, δ, q0,F ,2)

M akzeptiert das Wort w ∈ X ∗ gdw.eine Folge k0, . . . , kn von Konfigurationen ki ∈ Γ∗ × Q × Γ∗

exisiert, so dass gilt:1. k0 = q0w ist die Startkonfiguration mit Eingabe w

2. k0 ∈ Γ∗ × F × Γ∗ ist eine akzeptierende Konfiguration3. für jedes i ∈ {1, . . . , n} ist ki−1 ` ki ein zulässiger

Konfigurationsübergang

M akzeptiert die Sprache L(M) = {w ∈ X ∗ | M akzeptiert w}

L ⊆ X ∗ heißt LBA-akzeptierbar gdw. ein LBA M mit L = L(M)existiert.

189

Page 190: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

LBA – BeispielLBA M = ({a, b, c}, {q0, q1, q2, q3, f }, {a, b, x ,2}, δ, q0, {f },2) mit

δ = { (2, q0,2, f ,N)

(2, q3,2, q0,R)

(a, q0, x , q1,R)

(a, q1, a, q1,R)

(a, q3, a, q3, L)

(b, q1, x , q2,R)

(b, q2, b, q2,R)

(b, q3, b, q3, L)

(c , q2, x , q3, L)

(x , q0, x , q0,R)

(x , q1, x , q1,R)

(x , q2, x , q2,R)

(x , q3, x , q3, L)}

akzeptiert L(M) = {anbncn | n ∈ N}190

Page 191: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Eigenschaften der Menge aller kontextsensitiven SprachenAbschlusseigenschaften:Sind L1 und L2 kontextsensitive Sprachen, dann sind auch

I L1 ∪ L2

I L1 ∩ L2

I L1

I L1 ◦ L2

I L∗1kontextsensitive Sprachen.Für kontextsensitive Sprachen ist das Wortproblem (Gilt w ∈ L?)algorithmisch entscheidbar.Die Menge aller durch (nichtdeterministische) LBA akzeptierbarenSprachen ist genau die Menge aller kontextsensitiven Sprachen.(hier ohne Beweis)Ob deterministische und nichtderteministische LBA die selbeSprachklasse akzeptieren, ist bisher unbekannt.

191

Page 192: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah – Chomsky-Typ 3

Reguläre Sprachen (REG):erzeugt durch reguläre Grammatik (Chomsky-Typ 3),

akzeptiert von NFA, DFA, ε-NFA, . . .abgeschlossen unter ∪,∩, , ◦, ∗, R

algorithmisch entscheidbar : Wortproblem (in O(|w |)), Leerheit, =,⊆, Endlichkeit

Anwendungen z.B. Suchen von Zeichenketten in Texten,Darstellung von Bezeichnern, KonstantenRechtschreibprüfung

nicht-reguläre Sprachen , z.B. {anbn | n ∈ N}, Dyck-Sprachen,{w ∈ {a, b}∗ | w = wR}, {an2 | n ∈ N}Nachweis Nicht-Regularität durch Schubfachschluss

Nichtdeterministische und deterministische endliche Automatendefinieren dieselbe Sprachklasse.

192

Page 193: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah – Chomsky-Typ 2Kontextfreie Sprachen (CF):

erzeugt durch kontextfreie Grammatik (Chomsky-Typ 2)akzeptiert von nichtdeterministischem Kellerautomaten (PDA)

abgeschlossen unter ∪, ◦, ∗, R

aber nicht unter ∩ undalgorithmisch entscheidbar : Wortproblem (in O(|w |3)), Leerheit,

EndlichkeitAnwendungen z.B. Parser, Beschreibung und Erkennung der

Syntax von natürlichen Sprachen, regulären undarithmetischen Ausdrücken und Programmiersprachen

nicht-kontextfreie Sprachen , z.B. {anbncn | n ∈ N},{ww | w ∈ {a, b}∗}, {an2 | n ∈ N}Nachweis Nicht-Kontextfreiheit durchPumping-Lemma für kontextfreie Sprachen

Deterministische Kellerautomaten definieren eine echte Teilmengeder von nichtdeterministischen Kellerautomaten definiertenSprachklasse.

193

Page 194: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah – Chomsky-Typ 1

Kontextsensitive Sprachen:erzeugt durch kontextsensitive Grammatik (Chomsky-Typ 1)

akzeptiert von nichtdeterministischen LBA (hier ohne Beweis)abgeschlossen unter ∪,∩, , ◦, ∗, R

algorithmisch entscheidbar : Wortproblem (in O(2|w |))nicht-kontextsensitive Sprachen ? (später)

Ob deterministische und nichtderteministische LBA die selbeSprachklasse akzeptieren, ist bisher unbekannt (LBA-Problem).

194

Page 195: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung LBA

Parameter des Maschinenmodelles LBA:I externer Speicher: Eingabeband aus Zellen (Länge = Länge

des Eingabewortes)I interner Speicher:

1. Zustand (Zugriff: Lesen und Schreiben) und2. Arbeitsband (mit Länge = Länge des Eingabewortes)

(Zugriff: Lesen und Schreiben, Bewegung auf Nachbarzelle)

I häufige (äquivalente) Darstellung:Arbeitsband = Eingabeband

195

Page 196: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Turing-Maschinen

(Verallgemeinerung von LBA mit beliebig langem Arbeitsband)

Parameter des Maschinenmodelles TM:I externer Speicher: Eingabeband aus ZellenI interner Speicher:

1. Zustand (Zugriff: Lesen und Schreiben) und2. beidseitig unendliches Arbeitsband

(Zugriff: Lesen und Schreiben, Bewegung auf Nachbarzelle)

I häufige (äquivalente) Darstellung:beidseitig unendliches Eingabeband = Arbeitsband

196

Page 197: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Turing-Maschine – Definition

Turing-Maschine (TM) M = (X ,Q, Γ, δ, q0,F ,2) mitX endliches EingabealphabetQ endliche Menge von ZuständenΓ ⊃ X endliches Arbeitsalphabetδ ⊆ (Γ× Q × Γ× Q × {L,R,N})Übergangsrelation

q0 StartzustandF akzeptierende Zustände2 ∈ Γ \ X Leere-Zelle-Symbol

TM M heißt deterministisch gdw.für jedes a ∈ Γ und jedes q ∈ Q gilt

| {(a, q, b, p, x) | p ∈ Q, b ∈ Γ, x ∈ {L,R,N}} ∩ δ| ≤ 1

197

Page 198: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele für Turing-MaschinenI TM M1 = ({a, b}, {q0, f }, {a, b,2}, δ, q0, {f },2) mit

δ = {(a, q0, a, q0, L), (b, q0, b, q0, L), (2, q0,2, f ,R)}

I TM M2 = ({a, b}, {q0, qa, qb, f }, {a, b,2}, δ, q0, {f },2) mit

δ =

(a, q0,2, qa,R), (b, q0,2, qb,R),(a, qa, a, qa,R), (b, qa, b, qa,R),(a, qb, a, qb,R), (b, qb, b, qb,R),(2, q0,2, f ,R), (2, qa, a, f ,R), (2, qb, b, f ,R)

I TM M3 = ({1}, {q0, q1, q2, q3, q4, f }, {1, x ,2}, δ, q0, {f },2) mit

δ = {(1, q0, 1, q1,R), (1, q1, x , q2,R), (1, q2, 1, q3,R)}∪ {(1, q3, x , q2,R), (1, q4, 1, q4, L), (x , q1, x , q1,R)}∪ {(x , q2, x , q2,R), (x , q3, x , q3,R), (x , q4, x , q4, L)}∪ {(2, q1,2, f , L), (2, q2,2, q4, L), (2, q4,2, q0,R)}

198

Page 199: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Konfigurationen einer TM

TM M = (X ,Q, Γ, δ, q0,F ,2)

Konfiguration uqv ∈ (Γ∗ × q × Γ∗) bedeutet:I aktueller Bandinhalt: w = uvI aktueller Zustand der TM: qI Schreib-/Lesekopf der TM zeigt auf erstes Symbol von v

(Leere-Zelle-Symbol, falls v = ε)

Startkonfigurationen q0w mit w ∈ X ∗

akzeptierende Konfigurationen uqv mit q ∈ FKonfigurationsübergänge von upv mit u = u′a und v = bv ′:

für (b, p, c , q,R) ∈ δ : upv ` ucqv ′

für (b, p, c , q, L) ∈ δ : upv ` u′qacv ′

für (b, p, c , q,N) ∈ δ : upv ` uqcv ′

199

Page 200: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Akzeptanz durch TM

TM M = (X ,Q, Γ, δ, q0,F ,2)

M akzeptiert das Wort w ∈ X ∗ gdw.eine Folge k0, . . . , kn von Konfigurationen ki ∈ Γ∗ × Q × Γ∗

exisiert, so dass gilt:1. k0 = q0w ist die Startkonfiguration mit Eingabe w

2. k0 ∈ Γ∗ × F × Γ∗ ist eine akzeptierende Konfiguration3. für jedes i ∈ {1, . . . , n} ist ki−1 ` ki ein zulässiger

Konfigurationsübergang

M akzeptiert die Sprache L(M) = {w ∈ X ∗ | M akzeptiert w}

L ⊆ X ∗ heißt Turing-akzeptierbar gdw. eine TM M mit L = L(M)existiert.

200

Page 201: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Ende der Berechnung einer Turing-Maschine

Möglichkeiten für Berechnungen der TM M für ein Eingabewort w :1. Berechnung endet in einer akzeptierenden Konfiguration upv

(d.h. p ∈ F ),2. Berechnung endet in einer nicht-akzeptierenden Konfiguration

upv (d.h. p 6∈ F ),3. Berechnung endet nicht (unendliche Berechnung).

Im Fall 1 akzeptiert M das Eingabewort w , in Fall 2 und 3 nicht.

Zu jeder TM M existiert eine TM M ′, so dass L(M) = L(M ′) undin M ′ jede endliche nicht-fortsetzbare Berechnung in einerakzeptierenden Konfiguration endet.(d.h. Fall 2 kommt in M ′ nicht vor)

201

Page 202: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Alternative Akzeptanzbedingung für TMTM M = (X ,Q, Γ, δ, q0,F ,2) hält in einer Konfigurationuqv ∈ Γ∗ × Q × Γ∗ gdw. aus uqv kein Konfigurationsübergang in Mmöglich ist.

Zu jeder TM M existiert eine TM M ′ mit L(M) = L(M ′) ohneNachfolgekonfigurationen aus akzeptierenden Konfigurationen.(evtl. neuen akzeptierenden Zustand hinzufügen)

FaktZu jeder TM M existiert eine TM M ′ mit L(M) = L(M ′), die nur inakzeptierenden Konfigurationen hält.(Schleifen in nicht-akzeptierenden Zuständen hinzufügen)

FaktZu jeder TM M existiert eine TM M ′, so dass für jedes w ∈ Γ∗:M akzeptiert w gdw. M ′ bei Eingabe von w hält.

akzeptierende Zustände bei Akzeptanz durch Halt irrelevant(analog PDA-Akzeptanz durch leeren Keller)

202

Page 203: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Nichtdeterministische TM

TM M = ({0, 1}, {q0, q1, f }, {0, 1,2}, δ, q0, {f },2) mit

δ = { (0, q0, 1, q0,R)

(1, q0, 1, q0,R)

(1, q0, 1, q1,R)

(1, q1, 1, q1,R)

(2, q1,2, f ,N)}

akzeptiert z.B. das Wort 11011 mit (u.A.) folgender Berechnung

q011011 ` 1q01011 ` 11q0011 ` 111q011 ` 1111q11` 11111q12 ` 11111f 2

203

Page 204: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Simulation nichtdeterministischer TM

SatzZu jeder nichtdeterministischen TM M existiert einedeterministische TM M ′ mit L(M) = L(M ′).

Beweisidee:Menge aller möglichen Berechnungen von M bei Eingabe von wbilden einen Baum (evtl. mit unendlichen Pfaden)

Knoten: KonfigurationenWurzel: Startkonfiguration (Startzustand, Eingabewort)Blätter: akzeptierende KonfigurationKanten: zulässige Konfigurationsübergänge in M

M ′ führt Breitensuche in diesem Baum durch(simuliert parallele Berechnung aller Möglichkeiten, dovetailing),Bandinhalt von M ′ sind Konfigurationen aus MM ′ akzeptiert, sobald eine akzeptierende Konfiguration von M aufdem Arbeitsband steht.

204

Page 205: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah

Turing-Maschine (X ,Q, Γ, δ, q0,F ,2)

I akzeptiert Sprache L ⊆ X ∗

(durch akzeptierende Zustände oder Halt)I ändert i.A. während der Berechnung den Inhalt (w ∈ Γ∗) des

Arbeitsbandes (Nebenwirkung)

deterministische und nichtdeterministische TM akzeptieren dieselbeSprachklasse(Breitensuche im Berechnungsbaum, dovetailing)

205

Page 206: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel

TM M = ({0, 1, •}, {q0, q1, q2, q3, q4, q5, f }, {0, 1, •,2}, δ, q0, {f },2)mit

δ = { (0, q0, 0, q0,R), (0, q1, •, q2, L)

(1, q0, 1, q0,R), (1, q1, •, q3, L)

(•, q0, •, q1,R), (2, q1,2, q4, L)

(•, q2, 0, q5,R), (•, q3, 1, q5,R)

(•, q4,2, f , L), (•, q5, •, q1,R)}

L(M) = L((0 + 1)∗ • (0 + 1)∗)

Auf dem Band verschiebt M während der Berechnungden Teil nach dem • um eine Zelle nach links (Nebenwirkung).

206

Page 207: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Operationen auf TM-akzeptierbaren Sprachengegeben: TM A, TM B (Akzeptanz durch Halt)gesucht: TM C mit

∩: L(C ) = L(A) ∩ L(B)(sequentieller Akzeptanztest durch beide TM)

∪: L(C ) = L(A) ∪ L(B)(verschränkter Akzeptanztest durch beide TM)

◦: L(C ) = L(A) ◦ L(B)(nichtdeterministische Zerlegung und verschränkter Test)

∗: L(C ) = L(A)∗

(nichtdeterministische Zerlegung und verschränkter Test)R : L(C ) = L(A)R

(Vorbereitung: auf dem Arbeitsband w durch wR ersetzen)

mit Turing-Maschinen für „Unterprogramme“,z.B. Verschieben, Kopieren, Zerlegen von Wörtern,Steuerung der sequentiellen und verschränkten (pseudo-parallelen)Ausführung mehrerer TM

207

Page 208: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel: Sprache vom Chomsky-Typ 0Regeln l → r mit l ∈ (T ∪ N)+, r ∈ (T ∪ N)∗

G = ({S ,T , }, {0, 1},P, S) mit

P =

S → 1S101S → 01S00S → 110S110S0 → T0T0 → T1S1 → T1T1 → TT → ε

Gilt ε ∈ L(G ) ?

S → 110S11→ 11001S0011→ 11001110S110011→ 110011101S101110011→ 11001110T01110011→∗ 110T011→ 11T11→ 1T1→ T → ε

208

Page 209: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

TM und Sprachen vom Chomsky-Typ 0SatzDie Menge aller Sprachen, die von einer TM akzeptiert werden, ist genaudie Menge aller Sprachen vom Chomsky-Typ 0.Idee der Konstruktionen:

I Grammatik → TM:M berechnet für das Eingabewort w (letztes Wort einer Ableitung)eine Ableitung in der Grammatik „rückwärts“.(Bei jeder Regelanwendung wird der aktuelle Bandinhalt geeignetverschoben.)TM akzeptiert, wenn Bandinhalt = Startsymbol

I TM → Grammatik:Grammatik erzeugt „Kandidaten“ w ′ für jedes Eingabewort w .Grammatik-Regeln beschreiben die lokalen Änderungen beiKonfigurationsübergängen der TM.(Simulation der Berechnung der TM auf w durch Ableitung in derGrammatik)Wird in der Ableitung ein akzeptierender Zustand errreicht,Übersetzung des Kandidaten w ′ in Terminalwort w .

209

Page 210: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel: Sprache vom Chomsky-Typ 1monotone GrammatikRegeln l → r mit l , r ∈ (T ∪ N)+ mit |l | ≤ |r |G = ({S ,R,T ,A,B}, {a, b},P, S) mit

P =

S → RTR → RBBT → AABA → AARA → baaA → aa

Ableitung für das Wort baaaa

S → RT → RBT → RBBT → RBBBT

→ RBBAA→ RBAAA→ RAAAA

→ baAAA→ baaAA→ baaaA→ baaaa

nichtverkürzende Grammatik, also sind Wörter in Zwischenschrittennie länger als das abgeleitete Wort

SatzDie Menge aller Sprachen, die von einer TM mit linearbeschränktem Band akzeptiert werden, ist genau die Menge allerSprachen vom Chomsky-Typ 1.

210

Page 211: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Zusammenfassung: Turing-akzeptierbare Sprachen

I Deterministische TM akzeptieren dieselbe Sprachklasse wienichtdeterministische TM,und zwar genau alle Sprachen vom Chomsky-Typ 0

I Die Menge aller TM-akzeptierbaren Sprachen ist abgeschlossenunter ∪,∩, ◦, ∗,aber nicht unter (Gegenbeispiel später)

I Wortproblem, Leerheit, Endlichkeit und Gleichheit sind fürTM-akzeptierbare Sprachen nicht algorithmisch entscheidbar

alternative Bezeichnung:Die Menge aller TM-akzeptierbaren Sprachen ist genau die Menge allerTuring-aufzählbaren Sprachen.

211

Page 212: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Zusammenfassung: LBA-akzeptierbare Sprachen

I (Nichtdeterministische) linear beschränkte TM (LBA)akzeptieren genau alle Sprachen vom Chomsky-Typ 1(kontextsensitiv)

I Ob deterministische und nichtdeterministische LBA dieselbeSprachklasse akzeptieren, ist unbekannt (LBA-Problem)

I Die Menge aller von LBA akzeptierten Sprachen(Chomsky-Typ 1) ist abgeschlossen unter ∪,∩, , ◦, ∗, R

I Wortproblem ist für LBA-akzeptierbare Sprachen algorithmischentscheidbar.(schon früher gezeigt: Wortproblem für nichtverlängerndeWortersetzungssysteme)

I Leerheit, Endlichkeit und Gleichheit kontextsensitiver Sprachensind nicht algorithmisch entscheidbar.

212

Page 213: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Wiederholung: TM für Verschiebung

(jetzt nur für Wörter aus {1}∗)

TM M = ({1, •}, {q0, q1, q2, q3, q4, q5, f }, {1, •,2}, δ, q0, {f },2) mit

δ = { (1, q0, 1, q0,R)

(•, q0, 1, q1,R)

(1, q1, 1, q1,R)

(2, q1,2, q2, L)

(1, q2,2, f , L)}

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

als Berechnung mit Unärdarstellungen natürlicher Zahlen: Addition

213

Page 214: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

TM zur Berechnung von Funktionen

Idee: deterministische TM M berechnet eine FunktionfM : X ∗ → Γ∗

Eingabe w ∈ X ∗: Inhalt des Arbeitsbandes bei Start derBerechnung (Eingabewort)

Ausgabe v ∈ Γ∗: Inhalt des Arbeitsbandes nach Halt der TM

Wenn M bei Eingabe von w nicht hält, ist der Wert fM(w) nichtdefiniert.

TM M berechnet i.A. eine partielle Funktion

fM : X ∗ → Γ∗

da fM nur für durch Halt akzeptierte Wörter w ∈ X ∗ definiert ist

214

Page 215: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Turing-berechenbare FunktionenJede deterministische TM M definiert die (partielle) FunktionfM : X ∗ → Γ∗, wobei ∀w ∈ X ∗

fM(w) =

{v falls Bandinhalt v , nachdem M hältnicht definiert falls M nicht hält

Beispiel: M = ({a, b}, {q0, q1, q2, q3}, {a, b,2}, δ, q0,2) mit

δ = {(a, q0,2, q1,R), (b, q0,2, q2,R), (2, q0,2, q0,N)}∪{(a, q1, a, q1,R), (b, q1, b, q1,R), (2, q1, a, q3,N)}∪{(a, q2, a, q2,R), (b, q2, b, q2,R), (2, q2, b, q3,N)}

definiert die Funktion

fM(w) =

{vx falls w = xv mit x ∈ {a, b} und v ∈ {a, b}∗

nicht definiert falls w = ε

Eine Funktion f : X ∗ → X ∗ heißt Turing-berechenbargdw. eine deterministische TM M mit f = fM existiert.

215

Page 216: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Turing-berechenbare Funktionen auf NCodierung natürlicher Zahlen, z.B. in

I Unärcodierung c1 : N→ {1}∗

I Binärcodierung c2 : N→ {0, 1}∗

Beispiele:I M = ({1}, {q0, q1}, {1,2}, δ, q0,2) mitδ = {(q0, 1, q0, 1,R), (q0,2, q1, 1,N)}berechnet die Funktion fM(x) = x + 1 in Unärcodierung

I M = ({0, 1}, {q0, q1, q2, q3, f }, {0, 1,2}, δ, q0,2) mit

δ = {(0, q0, 0, q0,R), (1, q0, 1, q0,R), (2, q0,2, q1, L)}∪{(0, q1, 1, q3, L), (1, q1, 0, q2, L), (2, q1,2, q1,N)}∪{(0, q2, 1, q3, L), (1, q2, 0, q2, L), (2, q2, 1, f ,R)}∪{(0, q3, 0, q3, L), (1, q3, 1, q3, L), (2, q3,2, f ,R)}

definiert die Funktion fM(x) = x + 1 in Binärcodierung (ohneführende 0)

216

Page 217: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiel: Unärcodierung → Binärcodierung

f : {1}∗ → {0, 1}∗ Transformation Unär-Binärcodierungwird (z.B.) berechnet von

TM M = ({1}, {q0, q1, q2, q3, q4, f }, {1, 0, x , y ,2}, δ, q0, {f },2)mit

δ =

(q0, 1, q0, x ,R), (q0,2, q1,2, L),(q1, x , q1, x , L), (q1,2, q2,2,R),(q2, x , q3, y , L), (q2,2, q4,2, L),(q2, y , q2, y ,R), (q2, 1, q2, 1,R), (q2, 0, q2, 0,R),(q3,2, q2, 1,R), (q3, 0, q2, 1,R),(q3, 1, q3, 0, L), (q3, y , q3, y , L),(q4, y , q4,2, L), (q4, 0, f , 0,N), (q4, 1, f , 1,N)

217

Page 218: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Mehrstellige Turing-berechenbare Funktionen auf NCodierung von Tupeln (x1, . . . , xk) ∈ Nk durch

c(x1) • c(x2) • · · · • c(xk) mit Trennzeichen •

Beispiel: TM M = ({1, •}, {q0, q1, q2, f }, {1, •,2}, δ, q0,2) mit

δ = {(1, q0, 1, q0,R), (•, q0, 1, q1,R), (2, q0,2, q0,N)}∪{(1, q1, 1, q1,R), (•, q1, •, q1,N), (2, q1,2, q2, L)}∪{(1, q2,2, f ,N)}

definiert die Funktion fM(x , y) = x + y (Unärcodierung)

Eine Funktion f : Nk → N heißt Turing-berechenbar gdw. einedeterministische TM M existiert, so dass für jede Eingabe(x1, . . . , xk) ∈ Rk gilt

f (x1, . . . , xk) = y gdw. fM(c(x1) • · · · • c(xk)) = c(y)

218

Page 219: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Nicht Turing-berechenbare FunktionenIst jede partielle Funktion f : X ∗ → X ∗

(f : X ∗ → Y ∗, f : N→ N, f : Nn → N) Turing-berechenbar?

Nein (Gegenbeispiel später)

Begründung: (Aussage für X = {0, 1} zu zeigen, genügt)

1. Wieviele Turing-Maschinen über einem endlichen Alphabet gibt es?abzählbar viele(weil TM endlich codiert werden können,nach erstem Diagonalverfahren von Cantor)

2. Wieviele partielle Funktionen f : X ∗ → X ∗ gibt es?überabzählbar viele(zweites Diagonalverfahren von Cantor)

Damit existieren sogar sehr viel mehr (überabzählbar viele) partielleFunktionen f : X ∗ → X ∗ (f : X ∗ → Y ∗, f : N→ N, f : Nn → N),die nicht von TM berechnet werden können.

Warum sind TM als Berechnungsmodell trotzdem interessant?

219

Page 220: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Intuitiver Berechenbarkeitsbegriff

Eine partielle Funktion f : X ∗ → X ∗ ist berechenbar, fallsI eine Rechenvorschrift oderI ein Algorithmus oderI ein Programm (in beliebiger Programmiersprache) oderI eine deterministische Turingmaschine

existiert, welche für jedes x ∈ N bei Eingabe von x den Wert f (x)ausgibt, falls f (x) definiert ist.

weitere Berechnungsmodelle:Registermaschinen, while-Programme,partiell rekursive Funktionen, λ-Kalkül, . . .

(mehr dazu in LV später im Studium)

220

Page 221: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

These von Church

(Alonzo Church 1903-1995)

Für alle bisher vorgeschlagenen intuitiven Definitionen derBerechenbarkeit lässt sich beweisen, dass sie dieselbe Klasse vonFunktionen repräsentieren.

These von Church:Die Menge aller Turing-berechenbaren Funktionen ist genau dieMenge aller intuitiv berechenbaren Funktionen.

(Diese Aussage ist sinnvoll, aber wegen des Bezugs auf denungenauen Begriff „Intuition“ nicht beweisbar.)

221

Page 222: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Was bisher geschah

Sprache L ⊆ X ∗ heißt Turing-akzeptierbargdw. eine TM M mit L(M) = L existiert

partielle Funktion f : X ∗ → X ∗ heißt Turing-berechnbargdw. eine deterministische TM M existiert, die fberechnet, d.h. bei Eingabe w

I falls f (w) nicht definiert ist, nicht hältI falls f (w) = v , mit Bandinhalt v hält,

Ausdrucksstärke von Berechnungsmodell TM undanderen Berechnungsmodellen (RAM, goto-Programme,while-Programme, λ-Kalkül,. . . )äquivalent (Nachweise in der Fachliteratur)

I intuitiver BerechenbarkeitsbegriffI These von Church

222

Page 223: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Universelle (programmiebare) TMDefinition von TM (X ,Q, Γ, δ, q0,F ,2) ist endliche Beschreibung für

I Maschinenmodell zur Akzeptanz von Sprachen L

Eingabe: w ∈ X ∗

Ausgabe: I Halt und Ja, falls w ∈ L oderI Halt und Nein, falls w 6∈ L oderI kein Halt

I (deterministische TM als) Berechnungsmodell zurBerechnung partieller Funktionen f : X ∗ → Γ∗

Eingabe: w ∈ X ∗

Ausgabe: I Halt und f (w) ∈ Γ∗ oderI kein Halt

nach These von Church (Ausdrucksstärke von TM) existierenuniverselle TM (programmierbare TM), die

I endliche Beschreibungen von TM interpretieren und damitI Berechnungen jeder TM simulieren (den durch die TM definierten

Algorithmus ausführen) kann

endliche Beschreibung einer TM ist Programm zur Berechnung einerFunktion / Ausführung eines Algorithmus (durch universelle TM) 223

Page 224: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Entscheidbarkeit von Sprachencharakteristische Funktion einer Menge (Sprache) L ⊆ X ∗:

χL : X ∗ → {0, 1},wobei ∀w ∈ X ∗ : χL(w) =

{1 falls w ∈ L

0 sonst

Sprache (Menge) L ∈ X ∗ heißt entscheidbar gdw.die Funktion χL berechenbar ist.

Jede entscheidende TM hält bei jeder Eingabe.

Sprache (Menge) L ∈ X ∗ heißt semi-entscheidbar gdw. die„halbe“ charakteristische Funktion χ′L : X ∗ → {0, 1} berechenbar ist:

∀w ∈ X ∗ : χ′L(w) =

{1 falls w ∈ L

nicht definiert sonst

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

224

Page 225: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Beispiele entscheidbarer Sprachen

I jede endliche Sprache L = {w1, . . . ,wn}(für jedes i nacheinander Test, ob Eingabe = wi )

I {a(2n) | n ∈ N},I jede reguläre , kontextfreie, kontextsensitive Sprache,I Menge aller Primzahlen (z.B. in Unärdarstellung),I Menge aller Primzahlzwillinge, d.h.

Paare (p, p + 2) mit Primzahlen p und p + 2

225

Page 226: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Abschlusseigenschaften

SatzEine Sprache L ist genau dann entscheidbar, wenn L und LTM-akzeptierbar sind.Idee: „parallele“ Ausführung der MaschinenM mit L(M) = L und N mit L(N) = L auf Eingabe w ,M hält, falls w ∈ L, sonst hält NDie Menge aller entscheidbaren Sprachen ist abgeschlossen unter

Vereinigung wegenχL∪L′(w) = max(χL(w), χL′(w)) berechenbar

Schnitt wegenχL∩L′(w) = min(χL(w), χL′(w)) berechenbar

Komplement wegenχL(w) = 1− χL(w) berechenbar

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

226

Page 227: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Spezielles Halteproblem für TM

c(M): endliche Codierung c(M) der TM M (z.B. als Binärwort)

Das spezielle Halteproblem ist die Sprache

S = {c(M) | M hält bei Eingabe c(M)}

SatzDie Sprache S ist Turing-akzeptierbar.

Frage: Ist die Sprache S entscheidbar?

227

Page 228: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Unentscheidbarkeit des speziellen Halteproblems

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

χS(w) =

1 falls w = c(M) für eine TM M undM hält bei Eingabe von w

0 sonst

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

Konstruktion einer TM N ′, so dass für jede TM M gilt:

fN′(c(M)) =

{nicht definiert falls M bei Eingabe von c(M) hält1 falls M bei Eingabe von c(M) nicht hält

Ist fN′(c(N ′)) definiert?

Widerspruch, eine solche TM N kann also nicht existieren.

228

Page 229: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Komplement des speziellen HalteproblemsSpezielles HP:

S = {c(M) | M hält bei Eingabe c(M)}Komplement des speziellen HP:

S =

{w | w ist keine Codierung einer TM oder

w = c(M) und M hält bei Eingabe c(M) nicht

}

FolgerungDie Sprache S ist nicht Turing-akzeptierbar.Beweisidee (indirekt):

I bekannt:1. S ist TM-akzeptierbar.2. S ist nicht entscheidbar.3. S TM-akzeptierbar ∧ S TM-akzeptierbar → S entscheidbar

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

229

Page 230: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Folgerungen aus der Unentscheidbarkeit von SKeine der folgenden Probleme (Sprachen) ist entscheidbar:

A = {c(M) • w | M hält bei Eingabe w}allgemeines Halteproblem

E = {c(M) | M hält bei Eingabe ε}Halteproblem mit leerer Eingabe

T = {c(M) | M hält für jede beliebige Eingabe}Totalitätsproblem

I = {c(M) | M hält für irgendeine Eingabe}

N = {c(M) | M hält für keine Eingabe}

230

Page 231: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Praktische Bedeutung

nach These von Church:Das Halteproblem ist für kein intuitives Berechnungsmodellentscheidbar.

Es existiert kein Programm, welches für jedes beliebige ProgrammP feststellt, ob P immer (für jede Eingabe) hält.(Unentscheidbarkeit des Totalitätsproblems)

Es existiert kein Programm, welches für jedes beliebige Paar (P, v)feststellt, ob das Programm P bei Eingabe von v anhält.(Unentscheidbarkeit des allgemeinen Halteproblems)

Solche negativen Aussagen sind nützlich,z.B. um Arbeitskraft- und -zeitverschwendung zu vermeiden.

231

Page 232: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Spezialfälle

Für spezielle Programme P und Eingaben w lässt sich häufigautomatisch feststellen, ob P bei Eingabe von w anhält.

realistische Ziele:Anwendung: Programme verwenden, für die Termination für alle

(relevanten) Eingaben bewiesen wurde(z.B. als Gerätetreiber)

Forschung: möglichst viele und große Klassen von Programmenund Eingaben finden, für die sich Termination (oderNicht-Termination) beweisen lässt,(Weiter-)Entwicklung von Verfahren zum Nachweisder Termination von Programmen

232

Page 233: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Zusammenfassung Theoretische Informatik WS15/16

Prüfung (Klausur):Montag, 8.2.2016 um 12:30 - 14:00 Uhr in HS LNW 006Zur Prüfung ist zugelassen, wer alle folgenden Bedingungen erfüllt:

Autotool: ≥ b23/2c = 11 Punkte für Pflicht-Aufgaben undÜbungen: ≥ 3 Punkte für erfolgreiches Vorrechnen

28 Zulassungen: 15 INB1, 13 INB2

Aufgabentypen wie in Übungsserien

zugelassene Hilfsmittel:ein (beidseitig) handbeschriebenes A4-Blatt

233

Page 234: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Inhalt – Theoretische Informatik WS15/16

(nach Modulbeschreibung)

I Formale SprachenI WortersetzungssystemeI Grammatiken

Chomsky-Hierarchie (für Grammatiken und Sprachen)I Maschinenmodelle

I Endliche AutomatenI KellerautomatenI Turingmaschinen

I Ausblick Berechenbarkeit (von partiellen Funktionen)I Ausblick Entscheidbarkeit (von Sprachen / Mengen)

(mehr in Master-LV zur theoretischen Informatik)

234

Page 235: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Formale Sprachen

I endliches Alphabet XI Wort w ∈ X ∗

Operationen auf Wörtern: ◦,∗ ,RRelationen auf Wörtern: Infix, Präfix, Postfix, lexikographischeund quasilexikographische Ordnung

I (formale) Sprache L ⊆ X ∗

Operationen auf Sprachen: ∪,∩, , \, ◦,∗ ,R

I Reguläre Ausdrücke(endliche Darstellung unendlicher Sprachen)

Wortersetzungssystem (SRS) S ⊆ X ∗ × X ∗

(endliche Darstellung unendlicher Sprachen)Ableitungsrelation →S zum SRS S , transitiver Abschluss →∗SWortproblem für Wortersetzungssysteme:{(S , u, v) | S ⊆ X ∗ × X ∗ (endlich) ∧v ∈ X ∗ ∧ v ∈ X ∗ ∧ u →∗s v}(Menge aller Tripel (S , u, v) mit u →∗s v)

235

Page 236: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Grammatiken

(endliche Darstellung unendlicher Sprachen)Grammatik G = (N,T ,P,S)

Ableitungen in Grammatiken

Ableitungsbäume

eindeutige / mehrdeutige Grammatiken

von Grammatik G erzeugte Sprache L(G )

Wortproblem für Grammatiken:{(G , v) | G = (N,T ,P,S) ∧ v ∈ T ∗ ∧ v ∈ L(G )}(Menge aller Paare (G , v) mit v ∈ L(G ))

236

Page 237: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Chomsky-HierarchieEine Grammatik G = (N,T ,P,S) ist vom Chomsky-Typ

0 immer,1 , falls für jede Regel (l → r) ∈ P gilt: |l | ≤ |r |

(monoton, kontextsensitiv)2 , falls Typ 1 und für jede Regel (l → r) ∈ P gilt: l ∈ N

(kontextfrei)3 , falls Typ 2 und für jede Regel (l → r) ∈ P gilt:l ∈ N und r ∈ (T ∪ TN)(regulär)

Sprache L hat Chomsky-Typ i gdw. eine Grammatik G mitChomsky-Typ i mit L(G ) = L \ {ε} existiertpraktisch: Zulassung der ε-Sonderregel:Grammatik G = (N,T ,P,S) hat auch dann Chomsky-Typ i , wennsie

I nur Regeln der für Chomsky-Typ i erlaubten FormI und evtl. die Regel S → ε enthält

237

Page 238: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Endliche AutomatenNFA A = (X ,Q, δ, I ,F )

I akzeptierende Pfade ∈ (I × Q∗ × F ) ∪ (I ∩ F )

I akzeptierte WörterI akzeptierte Sprache L(A) ⊆ X ∗

I Äquivalenz, IsomorphieI Eigenschaften:

vollständig, deterministisch, mit ε-Übergängen, MinimalautomatI Abschluss unter ∪,∩, , ◦,∗ ,R

I Nachweis Nicht-Regularität durch Schubfachschluss

NFA akzeptieren genau alle regulären Sprachen (Typ 3)= genau alle durch reguläre Ausdrücke darstellbaren Sprachen

Wortproblem für Typ-3-Sprachen in O(n) lösbar (Minimalautomat)(n – Länge des Eingabewortes)

Anwendung z.B. in String-Matching-Algorithmen(siehe LV Algorithmen und Datenstrukturen)

238

Page 239: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

KellerautomatenPDA A = (X ,Q, Γ, δ, q0,F ,⊥)

I Konfiguration, KonfigurationenfolgeI akzeptierte WörterI akzeptierte SpracheI ÄquivalenzI Akzeptanz durch akzeptierende Zustände / leeren Keller

PDA akzeptieren genau die kontextfreien Sprachen (Typ 2).(DPDA akzeptieren echte Teilmenge)kontextfreie Sprachen:

I Chomsky-NormalformI CYK-Algorithmus (dynamische Programmierung)

löst Wortproblem für Typ-2-Sprachen in O(n3)I Abschluss unter ∪, ◦,∗ ,R , Schnitt mit regulären Sprachen

aber nicht unter ∩,I Nachweis Nicht-Kontextfreiheit durch

Pumping-Lemma für kontextfreie Sprachen

Anwendung z.B. beim Parsen von Programmen und (arithmetischen,regulären, logischen, . . . ) Ausdrücken 239

Page 240: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Turing-MaschinenTM M = (X ,Q, Γ, δ, q0,F ,2)

I deterministisch / nichtdeterministisch

I Konfiguration, Konfigurationenfolge

I akzeptierte Wörter

I akzeptierte Sprache L(M) ⊆ X ∗

I Akzeptanz durch akzeptierende Zustände / Halt

I Abschluss Turing-akzeptierbarer Sprachen unter ∪,∩, ◦,∗ ,Raber nicht unter

TM akzeptieren genau alle durch eine Grammatik erzeugten Sprachen(Chomsky-Typ 0).LBA (TM mit linear beschränktem Band) akzeptieren genau allekontextsensitiven Sprachen (Chomsky-Typ 1).

LBA-Problem (ungelöst): Ist jede von einen nichtdeterministischen LBAakzeptierte Sprache durch einen deterministischen LBA akzeptierbar?

240

Page 241: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Berechenbarkeit

von (partiellen) Funktionen

deterministische TM M = (X ,Q, Γ, δ, q0,F ,2) definiert (partielle)Funktion fM : Γ∗ → Γ∗ durch

fM(w) =

{v falls Bandinhalt v , nachdem M hältnicht definiert falls M nicht hält

Codierung ein- und mehrstelliger Funktionen auf N

These von Church:Die Menge aller intuitiv berechenbaren Funktionen ist genau dieMenge aller Turing-berechenbaren Funktionen.

241

Page 242: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Entscheidbarkeit

von Sprachen / Mengen

Spache L ⊆ X ∗ ist entscheidbar gdw. χL : X ∗ → {0, 1} mit

χL(w) =

{1 falls w ∈ L

0 sonst

berechenbar ist.

Menge aller entscheidbaren SprachenI genau die Menge aller Sprachen L, für die L und L

Turing-akzeptierbar sind,I abgeschlossen unter ∪,∩, , ◦,∗ ,R

Codierung von TM

universelle TM (programmierbar)

242

Page 243: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Probleme als Sprachen

Problem =Menge (Sprache) der Codierungen aller korrekten Instanzen

z.B. Wortproblem für Typ-3-GrammatikenWortproblem WPG3 = {(G ,w) | w ∈ L(G )}Parameter (Eingaben für Lösungsverfahren):

I Typ-3-Grammatik G = (N,T ,P, S) undI w ∈ T ∗

Frage: Gilt w ∈ L(G ) ?Antwort (mögliche Ausgaben des Lösungsverfahrens):

I ja, falls w ∈ L(G )I nein, falls w 6∈ L(G )

Instanzen z.B. mit G = ({S}, {a, b}, {S → aS |b},S):I (G , aab) ∈WPG3 (korrekte Instanz),I (G , aba) 6∈WPG3

243

Page 244: Theoretische Informatik Automaten und formale …schwarz/lehre/ws15/ti/ti15-all.pdf1. juj jvjoder 2. juj= jvj^u lex v Beispiele:fürA = fa;bgmita

Entscheidbarkeit – Beispiele

Beispiele entscheidbarer Sprachen:I Wortproblem für Typ-1,2,3-Grammatiken,

z.B. WPG3 = {(G ,w) | w ∈ L(G )}I NFA-Äquivalenzproblem: EqNFA = {(A,B) | L(A) = L(B)}

Beispiele unentscheidbarer Sprachen:I Wortproblem für Typ-0-GrammatikenI spezielles Halteproblem für TM:

H = {c(M) | TM M hält bei Eingabe von c(M)}I weitere HalteproblemeI Erfüllbarkeitsproblem der Prädikatenlogik:

SATFOL = {ϕ ∈ FOL(Σ,X) | Mod(ϕ) 6= ∅}I Wortproblem für Typ-0-Grammatiken:

WPG0 = {(G ,w) | w in G ableitbar}

244