Formale Sprachen und Komplexit¨ at
Sommersemester 2019
Zentral¨ ubung 25.07.2019:
Wiederholung und Fragen
Prof. Dr. David Sabel
LFE Theoretische Informatik
Inhalts¨ ubersicht
Teil I: Formale Sprachen und Automatentheorie
Chomsky-Grammatiken und die Chomsky-Hierarchie Regul¨ are Sprachen: DFAs, NFAs, regul¨ are Ausdr¨ ucke, Aquivalenz der Formalismen, Pumping-Lemma, Satz von ¨ Myhill-Nerode, Minimierung von DFAs,
Abschlusseigenschaften, Entscheidbarkeitsresultate Kontextfreie Sprachen: Chomsky-Normalform,
(Greibach-Normalform), Pumping-Lemma, CYK-Algorithmus, Kellerautomaten (PDA und DPDA), Abschlusseigenschaften und Entscheidbarkeitsresultate
Kontextsensitive und Typ 0-Sprachen: Kuroda-Normalform, Turingmaschinen (DTM und NTM), LBAs,
Abschlusseigenschaften
Inhalts¨ ubersicht
Teil II: Berechenbarkeitstheorie Berechenbarkeit
Turingmaschinen und Turingberechenbarkeit
LOOP-, WHILE-, GOTO-Programme und Berechenbarkeit Primitiv-rekursive und µ-rekursive Funktionen
Unentscheidbarkeit: Halteproblem
Reduktionen, PCP, Satz von Rice
Inhalts¨ ubersicht
Teil III: Komplexit¨ atstheorie P und N P
NP-Vollst¨ andigkeit
Polynomialzeitreduktionen Satz von Cook
NP-vollst¨ andige Probleme
Eingesendete Fragen
Frage
Worin liegt der Unterschied zwischen einem Nerode-Automaten, Aquivalenzklassenautomaten und Minimalautomaten? ¨
SeiLdie akzeptierte regul¨are Sprache Nerode-Automat
DFA, der konstruiert wird als: Zust¨ande sind ¨Aquivalenzklassen der Nerode-Relation
∼L⊆(Σ∗)×(Σ∗)wobei: u∼Lv ⇐⇒ f¨ur allew∈Σ∗:uw∈L ⇐⇒ vw∈L
Aquivalenzklassenautomat¨
DFA, der konstruiert wird aus gegebenem DFA f¨urL:
Zust¨ande sind ¨Aquivalenzklassen der ¨Aquivalenzrelation≡⊆(Z×Z), wobei: zi≡zj ⇐⇒ f¨ur allew∈Σ∗:δ(zb i, w)∈E ⇐⇒ bδ(zj, w)∈E
Minimalautomat
DFA, derLerkennt und eine minimale Anzahl von Zust¨anden hat
Alle drei Automaten sind isomorph (gleich bis auf Umbenennung): Bewiesen in VL
Eingesendete Fragen
Frage
Worin liegt der Unterschied zwischen einem Nerode-Automaten, Aquivalenzklassenautomaten und Minimalautomaten? ¨
SeiLdie akzeptierte regul¨are Sprache Nerode-Automat
DFA, der konstruiert wird als: Zust¨ande sind ¨Aquivalenzklassen der Nerode-Relation
∼L⊆(Σ∗)×(Σ∗)wobei: u∼Lv ⇐⇒ f¨ur allew∈Σ∗:uw∈L ⇐⇒ vw∈L
Aquivalenzklassenautomat¨
DFA, der konstruiert wird aus gegebenem DFA f¨urL:
Zust¨ande sind ¨Aquivalenzklassen der ¨Aquivalenzrelation≡⊆(Z×Z), wobei: zi≡zj ⇐⇒ f¨ur allew∈Σ∗:δ(zb i, w)∈E ⇐⇒ bδ(zj, w)∈E
Minimalautomat
DFA, derLerkennt und eine minimale Anzahl von Zust¨anden hat
Alle drei Automaten sind isomorph (gleich bis auf Umbenennung): Bewiesen in VL
Eingesendete Fragen
Frage
Worin liegt der Unterschied zwischen einem Nerode-Automaten, Aquivalenzklassenautomaten und Minimalautomaten? ¨
SeiLdie akzeptierte regul¨are Sprache Nerode-Automat
DFA, der konstruiert wird als: Zust¨ande sind ¨Aquivalenzklassen der Nerode-Relation
∼L⊆(Σ∗)×(Σ∗)wobei: u∼Lv ⇐⇒ f¨ur allew∈Σ∗:uw∈L ⇐⇒ vw∈L Aquivalenzklassenautomat¨
DFA, der konstruiert wird aus gegebenem DFA f¨urL:
Zust¨ande sind ¨Aquivalenzklassen der ¨Aquivalenzrelation≡⊆(Z×Z), wobei: zi≡zj ⇐⇒ f¨ur allew∈Σ∗:δ(zb i, w)∈E ⇐⇒ bδ(zj, w)∈E
Minimalautomat
DFA, derLerkennt und eine minimale Anzahl von Zust¨anden hat
Alle drei Automaten sind isomorph (gleich bis auf Umbenennung): Bewiesen in VL
Eingesendete Fragen
Frage
Worin liegt der Unterschied zwischen einem Nerode-Automaten, Aquivalenzklassenautomaten und Minimalautomaten? ¨
SeiLdie akzeptierte regul¨are Sprache Nerode-Automat
DFA, der konstruiert wird als: Zust¨ande sind ¨Aquivalenzklassen der Nerode-Relation
∼L⊆(Σ∗)×(Σ∗)wobei: u∼Lv ⇐⇒ f¨ur allew∈Σ∗:uw∈L ⇐⇒ vw∈L Aquivalenzklassenautomat¨
DFA, der konstruiert wird aus gegebenem DFA f¨urL:
Zust¨ande sind ¨Aquivalenzklassen der ¨Aquivalenzrelation≡⊆(Z×Z), wobei: zi≡zj ⇐⇒ f¨ur allew∈Σ∗:δ(zb i, w)∈E ⇐⇒ bδ(zj, w)∈E Minimalautomat
DFA, derLerkennt und eine minimale Anzahl von Zust¨anden hat
Alle drei Automaten sind isomorph (gleich bis auf Umbenennung): Bewiesen in VL
Eingesendete Fragen
Frage
Worin liegt der Unterschied zwischen einem Nerode-Automaten, Aquivalenzklassenautomaten und Minimalautomaten? ¨
SeiLdie akzeptierte regul¨are Sprache Nerode-Automat
DFA, der konstruiert wird als: Zust¨ande sind ¨Aquivalenzklassen der Nerode-Relation
∼L⊆(Σ∗)×(Σ∗)wobei: u∼Lv ⇐⇒ f¨ur allew∈Σ∗:uw∈L ⇐⇒ vw∈L Aquivalenzklassenautomat¨
DFA, der konstruiert wird aus gegebenem DFA f¨urL:
Zust¨ande sind ¨Aquivalenzklassen der ¨Aquivalenzrelation≡⊆(Z×Z), wobei: zi≡zj ⇐⇒ f¨ur allew∈Σ∗:δ(zb i, w)∈E ⇐⇒ bδ(zj, w)∈E Minimalautomat
DFA, derLerkennt und eine minimale Anzahl von Zust¨anden hat
Klassiker:
” Rechenaufgaben“
Transformation NFA in DFA mit Potenzmengenkonstruktion Minimierung von DFAs
Chomsky-Normalform berechnen
CYK-Algorithmus ausf¨ uhren
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z
0z
1z
2z
3a, b
a b
a
b
a)
Welche Sprache erkennt der gezeigte NFA?
b)
Geben Sie die Sprache durch einen regul¨ aren Ausdruck an.
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch die Potenz- mengenkonstruktion (erreichbare Zust¨ ande reichen aus).
d)
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z
0z
1z
2z
3a, b
a b
a
b
a)
Welche Sprache erkennt der gezeigte NFA?
L ={a, b} ∪ {bia|i≥0} ∪ {aib|i≥0}
={bia|i≥0} ∪ {aib|i≥0}
b)
Geben Sie die Sprache durch einen regul¨ aren Ausdruck an.
L=L(α) mitα=a∗b|b∗aBeispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z
0z
1z
2z
3a, b
a b
a
b
a)
Welche Sprache erkennt der gezeigte NFA?
L ={a, b} ∪ {bia|i≥0} ∪ {aib|i≥0}
={bia|i≥0} ∪ {aib|i≥0}
b)
Geben Sie die Sprache durch einen regul¨ aren Ausdruck an.
L=L(α) mitα=a∗b|b∗aBeispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z
0z
1z
2z
3a, b
a b
a
b
a)
Welche Sprache erkennt der gezeigte NFA?
L ={a, b} ∪ {bia|i≥0} ∪ {aib|i≥0}
={bia|i≥0} ∪ {aib|i≥0}
b)
Geben Sie die Sprache durch einen regul¨ aren Ausdruck an.
L=L(α) mitα=a∗b|b∗a
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z
0z
1z
2z
3a, b
a b
a
b
a)
Welche Sprache erkennt der gezeigte NFA?
L ={a, b} ∪ {bia|i≥0} ∪ {aib|i≥0}
={bia|i≥0} ∪ {aib|i≥0}
b)
Geben Sie die Sprache durch einen regul¨ aren Ausdruck an.
L=L(α) mitα=a∗b|b∗a
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a
z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a
z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a
a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende NFA ¨ uber Σ = {a, b}.
z0
z1
z2 z3
a, b
a b
a
b
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
c)
Erzeugen Sie einen ¨ aquivalenten DFA durch
Potenzmengenkonstruktion (erreichbare Zust¨ ande reichen aus)
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b
A
D B
G C
E F
B
×
1C
×
1×
2D
×
1×
2×
2E
×
2×
1×
1×
1F
×
2×
1×
1×
1×
2G
×
2×
1×
1×
1×
2×
2A B C D E F
Alle Paare nicht-¨ aquivalent, Automat war schon minimal!
d)
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b A
D B
G C
E F
B
×
1C
×
1×
2D
×
1×
2×
2E
×
2×
1×
1×
1F
×
2×
1×
1×
1×
2G
×
2×
1×
1×
1×
2×
2A B C D E F
Alle Paare nicht-¨ aquivalent, Automat war schon minimal!
d)
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b A
D B
G C
E F
B
×
1C
×
1×
2D
×
1×
2×
2E
×
2×
1×
1×
1F
×
2×
1×
1×
1×
2G
×
2×
1×
1×
1×
2×
2A B C D E F
Alle Paare nicht-¨ aquivalent, Automat war schon minimal!
d)
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b A
D B
G C
E F
B ×
1C ×
1×
2D ×
1×
2×
2E
×
2×
1×
1×
1F
×
2×
1×
1×
1×
2G
×
2×
1×
1×
1×
2×
2A B C D E F
Alle Paare nicht-¨ aquivalent, Automat war schon minimal!
d)
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b A
D B
G C
E F
B ×
1C ×
1×
2D ×
1×
2×
2E ×
2×
1×
1×
1F ×
2×
1×
1×
1×
2G ×
2×
1×
1×
1×
2×
2A B C D E F
Alle Paare nicht-¨ aquivalent, Automat war schon minimal!
d)
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu endlichen Automaten
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
z0, z1, z2
z1, z3
a z2, z3
b
z1
a z3 b
z2
b a
b
a a
b
∅ a, b
a, b A
D B
G C
E F
B ×
1C ×
1×
2D ×
1×
2×
2E ×
2×
1×
1×
1F ×
2×
1×
1×
1×
2G ×
2×
1×
1×
1×
2×
2A B C D E F
Alle Paare nicht-¨ aquivalent, Automat war schon minimal!
d)
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu Minimierung
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
A
B
C
D
E
F
G H
a
b
a b
a a
b
a b
a b b
b
a a, b
B
×
2C
×
2×
2D
×
1×
1×
1E
×
1×
1×
1×
2F
×
1×
1×
1×
2G
×
1×
1×
1×
2×
2H
×
3×
2×
2×
1×
1×
1×
1A B C D E F G
Das Paar (D,G) und das Paar (E,F) sind
¨ aquivalent
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu Minimierung
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
A
B
C
D
E
F
G H
a
b
a b
a a
b
a b
a b b
b
a a, b
B
×
2C
×
2×
2D
×
1×
1×
1E
×
1×
1×
1×
2F
×
1×
1×
1×
2G
×
1×
1×
1×
2×
2H
×
3×
2×
2×
1×
1×
1×
1A B C D E F G
Das Paar (D,G) und das Paar (E,F) sind
¨ aquivalent
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu Minimierung
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
A
B
C
D
E
F
G H
a
b
a b
a a
b
a b
a b b
b
a a, b
B
×
2C
×
2×
2D ×
1×
1×
1E ×
1×
1×
1×
2F ×
1×
1×
1×
2G ×
1×
1×
1×
2×
2H
×
3×
2×
2×
1×
1×
1×
1A B C D E F G
Das Paar (D,G) und das Paar (E,F) sind
¨ aquivalent
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu Minimierung
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
A
B
C
D
E
F
G H
a
b
a b
a a
b
a b
a b b
b
a a, b
B ×
2C ×
2×
2D ×
1×
1×
1E ×
1×
1×
1×
2F ×
1×
1×
1×
2G ×
1×
1×
1×
2×
2H
×
3×
2×
2×
1×
1×
1×
1A B C D E F G
Das Paar (D,G) und das Paar (E,F) sind
¨ aquivalent
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu Minimierung
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
A
B
C
D
E
F
G H
a
b
a b
a a
b
a b
a b b
b
a a, b
B ×
2C ×
2×
2D ×
1×
1×
1E ×
1×
1×
1×
2F ×
1×
1×
1×
2G ×
1×
1×
1×
2×
2H ×
3×
2×
2×
1×
1×
1×
1A B C D E F G
Das Paar (D,G) und das Paar (E,F) sind
¨ aquivalent
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
Beispielaufgabe zu Minimierung
Gegeben sei der folgende DFA ¨ uber Σ = {a, b}.
A
B
C
D
E
F
G H
a
b
a b
a a
b
a b
a b b
b
a a, b
B ×
2C ×
2×
2D ×
1×
1×
1E ×
1×
1×
1×
2F ×
1×
1×
1×
2G ×
1×
1×
1×
2×
2H ×
3×
2×
2×
1×
1×
1×
1A B C D E F G
Das Paar (D,G) und das Paar (E,F) sind
¨ aquivalent
Minimieren Sie den DFA (Rechenweg erforderlich (Tabelle)).
A
B
C
D
E
F
G H
a
b
a b
a a
b
a b
b b a
b
a
a, b A
B
C
D,G
E,F H a
b
a b
a
b
a
b b a
a, b
Chomsky-Normalform berechnen
Sei G = (V, Σ, P, S) mit V = {S, A, B, C}, Σ = {a, b}
P = {S → CS | C, A → a, B → b, C → ACA | B}
Berechne die Chomsky-Normalform:
1
Entfernen von ε-Produktionen: Gibt keine.
2
Entfernen von Einheitsproduktionen: Keine Zyklen, aber Einheitsproduktionen (topologische Sortierung S < C )
Setze B→bein:S →CS|C, A→a, B→b, C→ACA |b Setze C→ACAundC→bein:
S→CS |ACA| b, A→a, B→b, C→ACA |b
3
Abk¨ urzungen einf. (wir verwenden A → a und B → b wieder): S → CS | ACA | b, A → a, B → b, C → ACA | b
4
Rechte Seiten auf 2 Variablen k¨ urzen:
S → CS | AN
1| b, A → a, B → b, C → AN
2| b,
N
1→ CA, N
2→ CA
Chomsky-Normalform berechnen
Sei G = (V, Σ, P, S) mit V = {S, A, B, C}, Σ = {a, b}
P = {S → CS | C, A → a, B → b, C → ACA | B}
Berechne die Chomsky-Normalform:
1
Entfernen von ε-Produktionen: Gibt keine.
2
Entfernen von Einheitsproduktionen: Keine Zyklen, aber Einheitsproduktionen (topologische Sortierung S < C )
Setze B→bein:S→CS|C, A→a, B→b, C→ACA |b Setze C→ACAundC→bein:
S→CS |ACA|b, A→a, B→b, C→ACA |b
3
Abk¨ urzungen einf. (wir verwenden A → a und B → b wieder): S → CS | ACA | b, A → a, B → b, C → ACA | b
4
Rechte Seiten auf 2 Variablen k¨ urzen:
S → CS | AN
1| b, A → a, B → b, C → AN
2| b,
N
1→ CA, N
2→ CA
Chomsky-Normalform berechnen
Sei G = (V, Σ, P, S) mit V = {S, A, B, C}, Σ = {a, b}
P = {S → CS | C, A → a, B → b, C → ACA | B}
Berechne die Chomsky-Normalform:
1
Entfernen von ε-Produktionen: Gibt keine.
2
Entfernen von Einheitsproduktionen: Keine Zyklen, aber Einheitsproduktionen (topologische Sortierung S < C )
SetzeB →bein:S→CS|C, A→a, B→b, C→ACA |b SetzeC→ACA undC→bein:
S→CS |ACA|b, A→a, B→b, C→ACA |b
3
Abk¨ urzungen einf. (wir verwenden A → a und B → b wieder): S → CS | ACA | b, A → a, B → b, C → ACA | b
4
Rechte Seiten auf 2 Variablen k¨ urzen:
S → CS | AN
1| b, A → a, B → b, C → AN
2| b,
N
1→ CA, N
2→ CA
Chomsky-Normalform berechnen
Sei G = (V, Σ, P, S) mit V = {S, A, B, C}, Σ = {a, b}
P = {S → CS | C, A → a, B → b, C → ACA | B}
Berechne die Chomsky-Normalform:
1
Entfernen von ε-Produktionen: Gibt keine.
2
Entfernen von Einheitsproduktionen: Keine Zyklen, aber Einheitsproduktionen (topologische Sortierung S < C )
SetzeB →bein:S→CS|C, A→a, B→b, C→ACA |b SetzeC→ACA undC→bein:
S→CS |ACA|b, A→a, B→b, C→ACA |b
3
Abk¨ urzungen einf. (wir verwenden A → a und B → b wieder):
S → CS | ACA | b, A → a, B → b, C → ACA | b
4
Rechte Seiten auf 2 Variablen k¨ urzen:
S → CS | AN
1| b, A → a, B → b, C → AN
2| b,
N
1→ CA, N
2→ CA
Chomsky-Normalform berechnen
Sei G = (V, Σ, P, S) mit V = {S, A, B, C}, Σ = {a, b}
P = {S → CS | C, A → a, B → b, C → ACA | B}
Berechne die Chomsky-Normalform:
1
Entfernen von ε-Produktionen: Gibt keine.
2
Entfernen von Einheitsproduktionen: Keine Zyklen, aber Einheitsproduktionen (topologische Sortierung S < C )
SetzeB →bein:S→CS|C, A→a, B→b, C→ACA |b SetzeC→ACA undC→bein:
S→CS |ACA|b, A→a, B→b, C→ACA |b
3
Abk¨ urzungen einf. (wir verwenden A → a und B → b wieder):
S → CS | ACA | b, A → a, B → b, C → ACA | b
4
Rechte Seiten auf 2 Variablen k¨ urzen:
S → CS | AN
1| b, A → a, B → b, C → AN
2| b,
N
1→ CA, N
2→ CA
CYK
Sei G = (V, Σ, P, S) mit V = {S, A, B, C } Σ = {a, b}
P = {S → CS | b, A → a, B → b, C → AC | b}
F¨ uhre den CYK-Algorithmus f¨ ur aaaaab aus. Liegt das Wort in L(G)?
a a a a a b
1 2 3 4 5 6
1 A A A A A B,C,S
2 C
3 C
4 C
5 C
6 C
Da unten links nicht das Startsymbol S in der Tabelle steht, liegt das Wort
nicht in L(G)
CYK
Sei G = (V, Σ, P, S) mit V = {S, A, B, C } Σ = {a, b}
P = {S → CS | b, A → a, B → b, C → AC | b}
F¨ uhre den CYK-Algorithmus f¨ ur aaaaab aus. Liegt das Wort in L(G)?
a a a a a b
1 2 3 4 5 6
1 A A A A A B,C,S
2 C
3 C
4 C
5 C
6 C
Da unten links nicht das Startsymbol S in der Tabelle steht, liegt das Wort
nicht in L(G)
CYK
Sei G = (V, Σ, P, S) mit V = {S, A, B, C } Σ = {a, b}
P = {S → CS | b, A → a, B → b, C → AC | b}
F¨ uhre den CYK-Algorithmus f¨ ur aaaaab aus. Liegt das Wort in L(G)?
a a a a a b
1 2 3 4 5 6
1 A A A A A B,C,S
2 C
3 C
4 C
5 C
6 C
Da unten links nicht das Startsymbol S in der Tabelle steht, liegt das Wort
nicht in L(G)
CYK
Sei G = (V, Σ, P, S) mit V = {S, A, B, C } Σ = {a, b}
P = {S → CS | b, A → a, B → b, C → AC | b}
F¨ uhre den CYK-Algorithmus f¨ ur aaaaabb aus. Liegt das Wort in L(G)?
a a a a a b b
1 2 3 4 5 6 7
1 A A A A A B,C,S B,C,S
2 C S
3 C S
4 C S
5 C S
6 C S
7 S
Da unten links das Startsymbol S in der Tabelle steht, liegt das Wort L(G)
CYK
Sei G = (V, Σ, P, S) mit V = {S, A, B, C } Σ = {a, b}
P = {S → CS | b, A → a, B → b, C → AC | b}
F¨ uhre den CYK-Algorithmus f¨ ur aaaaabb aus. Liegt das Wort in L(G)?
a a a a a b b
1 2 3 4 5 6 7
1 A A A A A B,C,S B,C,S
2 C S
3 C S
4 C S
5 C S
6 C S
7 S
Da unten links das Startsymbol S in der Tabelle steht, liegt das Wort L(G)
CYK
Sei G = (V, Σ, P, S) mit V = {S, A, B, C } Σ = {a, b}
P = {S → CS | b, A → a, B → b, C → AC | b}
F¨ uhre den CYK-Algorithmus f¨ ur aaaaabb aus. Liegt das Wort in L(G)?
a a a a a b b
1 2 3 4 5 6 7
1 A A A A A B,C,S B,C,S
2 C S
3 C S
4 C S
5 C S
6 C S
7 S
Da unten links das Startsymbol S in der Tabelle steht, liegt das Wort L(G)
Klassiker:
” Beweisaufgaben“
Nichtregul¨ arit¨ at einer Sprache zeigen mit Pumping-Lemma Nichtregul¨ arit¨ at einer Sprache zeigen mit Satz von
Myhill-Nerode
Nicht-Kontextfreiheit einer Sprache zeigen mit Pumping-Lemma f¨ ur CFLs
Unentscheidbarkeit zeigen mit Reduktion Unentscheidbarkeit zeigen mit Satz von Rice
NP-Vollst¨ andigkeit zeigen, u.a. mit Polynomialzeitreduktionen
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar.
Mit dem Pumping-Lemma:
Sei n > 0 beliebig.
Sei z = a
n$b
n. Dann gilt |z| ≥ n und z ∈ L. Sei z = uvw ein beliebige Zerlegung von z mit |uv| ≤ n und |v| ≥ 1.
Damit muss gelten u = a
i, v = a
j, w = a
k$b
nmit
i + j + k = n und j ≥ 1. Dann gilt uv
0w = a
n−j$b
n6∈ L.
Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher
auch nicht regul¨ ar sein.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar.
Mit dem Pumping-Lemma:
Sei n > 0 beliebig.
Sei z = a
n$b
n. Dann gilt |z| ≥ n und z ∈ L. Sei z = uvw ein beliebige Zerlegung von z mit |uv| ≤ n und |v| ≥ 1.
Damit muss gelten u = a
i, v = a
j, w = a
k$b
nmit
i + j + k = n und j ≥ 1. Dann gilt uv
0w = a
n−j$b
n6∈ L.
Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher
auch nicht regul¨ ar sein.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar.
Mit dem Pumping-Lemma:
Sei n > 0 beliebig.
Sei z = a
n$b
n. Dann gilt |z| ≥ n und z ∈ L. Sei z = uvw ein beliebige Zerlegung von z mit |uv| ≤ n und |v| ≥ 1.
Damit muss gelten u = a
i, v = a
j, w = a
k$b
nmit
i + j + k = n und j ≥ 1. Dann gilt uv
0w = a
n−j$b
n6∈ L.
Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher
auch nicht regul¨ ar sein.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar.
Mit dem Pumping-Lemma:
Sei n > 0 beliebig.
Sei z = a
n$b
n. Dann gilt |z| ≥ n und z ∈ L.
Sei z = uvw ein beliebige Zerlegung von z mit |uv| ≤ n und |v| ≥ 1.
Damit muss gelten u = a
i, v = a
j, w = a
k$b
nmit
i + j + k = n und j ≥ 1. Dann gilt uv
0w = a
n−j$b
n6∈ L.
Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher
auch nicht regul¨ ar sein.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar.
Mit dem Pumping-Lemma:
Sei n > 0 beliebig.
Sei z = a
n$b
n. Dann gilt |z| ≥ n und z ∈ L.
Sei z = uvw ein beliebige Zerlegung von z mit |uv| ≤ n und |v| ≥ 1.
Damit muss gelten u = a
i, v = a
j, w = a
k$b
nmit
i + j + k = n und j ≥ 1. Dann gilt uv
0w = a
n−j$b
n6∈ L.
Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher
auch nicht regul¨ ar sein.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar.
Mit dem Pumping-Lemma:
Sei n > 0 beliebig.
Sei z = a
n$b
n. Dann gilt |z| ≥ n und z ∈ L.
Sei z = uvw ein beliebige Zerlegung von z mit |uv| ≤ n und |v| ≥ 1.
Damit muss gelten u = a
i, v = a
j, w = a
k$b
nmit i + j + k = n und j ≥ 1. Dann gilt uv
0w = a
n−j$b
n6∈ L.
Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher
auch nicht regul¨ ar sein.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar.
Mit dem Pumping-Lemma:
Sei n > 0 beliebig.
Sei z = a
n$b
n. Dann gilt |z| ≥ n und z ∈ L.
Sei z = uvw ein beliebige Zerlegung von z mit |uv| ≤ n und |v| ≥ 1.
Damit muss gelten u = a
i, v = a
j, w = a
k$b
nmit i + j + k = n und j ≥ 1. Dann gilt uv
0w = a
n−j$b
n6∈ L.
Somit erf¨ ullt L die Pumping-Eigenschaft nicht und kann daher
auch nicht regul¨ ar sein.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar durch Verwendung des Satzes von Myhill und Nerode.
Es gilt [a
j$]
∼L6= [a
i$]
∼Lf¨ ur alle i 6= j:
f¨ ur w = b
igilt a
i$w ∈ L, aber a
j$w 6∈ L
damit a
j$ 6∼
La
i$ f¨ ur i 6= j.
Es gibt unendlich viele disjunkte ¨ Aquivalenzklassen bez. ∼
L: [a
1$]
∼L, [a
2$]
∼L, [a
3$]
∼L, . . .
Das zeigt: Index(∼
L) = ∞.
Der Satz von Myhill-Nerode zeigt nun, dass L nicht regul¨ ar
sein kann.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar durch Verwendung des Satzes von Myhill und Nerode.
Es gilt [a
j$]
∼L6= [a
i$]
∼Lf¨ ur alle i 6= j:
f¨ ur w = b
igilt a
i$w ∈ L, aber a
j$w 6∈ L
damit a
j$ 6∼
La
i$ f¨ ur i 6= j.
Es gibt unendlich viele disjunkte ¨ Aquivalenzklassen bez. ∼
L: [a
1$]
∼L, [a
2$]
∼L, [a
3$]
∼L, . . .
Das zeigt: Index(∼
L) = ∞.
Der Satz von Myhill-Nerode zeigt nun, dass L nicht regul¨ ar
sein kann.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar durch Verwendung des Satzes von Myhill und Nerode.
Es gilt [a
j$]
∼L6= [a
i$]
∼Lf¨ ur alle i 6= j:
f¨ ur w = b
igilt a
i$w ∈ L, aber a
j$w 6∈ L damit a
j$ 6∼
La
i$ f¨ ur i 6= j.
Es gibt unendlich viele disjunkte ¨ Aquivalenzklassen bez. ∼
L: [a
1$]
∼L, [a
2$]
∼L, [a
3$]
∼L, . . .
Das zeigt: Index(∼
L) = ∞.
Der Satz von Myhill-Nerode zeigt nun, dass L nicht regul¨ ar
sein kann.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar durch Verwendung des Satzes von Myhill und Nerode.
Es gilt [a
j$]
∼L6= [a
i$]
∼Lf¨ ur alle i 6= j:
f¨ ur w = b
igilt a
i$w ∈ L, aber a
j$w 6∈ L damit a
j$ 6∼
La
i$ f¨ ur i 6= j.
Es gibt unendlich viele disjunkte ¨ Aquivalenzklassen bez. ∼
L: [a
1$]
∼L, [a
2$]
∼L, [a
3$]
∼L, . . .
Das zeigt: Index(∼
L) = ∞.
Der Satz von Myhill-Nerode zeigt nun, dass L nicht regul¨ ar
sein kann.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar durch Verwendung des Satzes von Myhill und Nerode.
Es gilt [a
j$]
∼L6= [a
i$]
∼Lf¨ ur alle i 6= j:
f¨ ur w = b
igilt a
i$w ∈ L, aber a
j$w 6∈ L damit a
j$ 6∼
La
i$ f¨ ur i 6= j.
Es gibt unendlich viele disjunkte ¨ Aquivalenzklassen bez. ∼
L: [a
1$]
∼L, [a
2$]
∼L, [a
3$]
∼L, . . .
Das zeigt: Index(∼
L) = ∞.
Der Satz von Myhill-Nerode zeigt nun, dass L nicht regul¨ ar
sein kann.
Nichtregul¨ arit¨ at beweisen
Aufgabe
Zeige L = {a
j$b
j| j ∈
N} ist nicht-regul¨ ar durch Verwendung des Satzes von Myhill und Nerode.
Es gilt [a
j$]
∼L6= [a
i$]
∼Lf¨ ur alle i 6= j:
f¨ ur w = b
igilt a
i$w ∈ L, aber a
j$w 6∈ L damit a
j$ 6∼
La
i$ f¨ ur i 6= j.
Es gibt unendlich viele disjunkte ¨ Aquivalenzklassen bez. ∼
L: [a
1$]
∼L, [a
2$]
∼L, [a
3$]
∼L, . . .
Das zeigt: Index(∼
L) = ∞.
Der Satz von Myhill-Nerode zeigt nun, dass L nicht regul¨ ar
sein kann.
Kontextfreiheit widerlegen
Aufgabe
Zeige L = {ab
iab
iab
iab
i| i ∈
N} ist nicht kontextfrei.
Sein >0beliebig. Seiz= abn
|{z}r1
abn
|{z}r2
abn
|{z}r3
abn
|{z}r4
. Dann ist |z| ≥nund z∈L.
Seiz=uvwxy eine beliebige Zerlegung mit|vwx| ≤nund|vx|>0 Dann kannvwx nur Teilwort vonr1r2,r2r3 oderr3r4sein.
Wennvoderxeinaenth¨alt, dannuv2wx2y6∈L, da es mehr als 4a’s enth¨alt Wennv undxkeinaenthalten, dann istuv0wx0y6∈L, da das L¨oschen vonb’s in 1-2 der Teilworter1, r2, r3, r4 passiert. D.h. es gibt nochabn (mindestens 2) aber es gibt auchabj mitj < n
Daher erf¨ulltLdie Pumping-Eigenschaft f¨ur CLFs nicht.
Das Pumping-Lemma f¨ur CFLs zeigt nun, dassLnicht kontextfrei ist.
Kontextfreiheit widerlegen
Aufgabe
Zeige L = {ab
iab
iab
iab
i| i ∈
N} ist nicht kontextfrei.
Sein >0beliebig.
Seiz= abn
|{z}r1
abn
|{z}r2
abn
|{z}r3
abn
|{z}r4
. Dann ist |z| ≥nund z∈L.
Seiz=uvwxy eine beliebige Zerlegung mit|vwx| ≤nund|vx|>0 Dann kannvwx nur Teilwort vonr1r2,r2r3 oderr3r4sein.
Wennvoderxeinaenth¨alt, dannuv2wx2y6∈L, da es mehr als 4a’s enth¨alt Wennv undxkeinaenthalten, dann istuv0wx0y6∈L, da das L¨oschen vonb’s in 1-2 der Teilworter1, r2, r3, r4 passiert. D.h. es gibt nochabn (mindestens 2) aber es gibt auchabj mitj < n
Daher erf¨ulltLdie Pumping-Eigenschaft f¨ur CLFs nicht.
Das Pumping-Lemma f¨ur CFLs zeigt nun, dassLnicht kontextfrei ist.
Kontextfreiheit widerlegen
Aufgabe
Zeige L = {ab
iab
iab
iab
i| i ∈
N} ist nicht kontextfrei.
Sein >0beliebig.
Seiz= abn
|{z}r1
abn
|{z}r2
abn
|{z}r3
abn
|{z}r4
. Dann ist |z| ≥nund z∈L.
Seiz=uvwxy eine beliebige Zerlegung mit|vwx| ≤nund|vx|>0 Dann kannvwx nur Teilwort vonr1r2,r2r3 oderr3r4sein.
Wennvoderxeinaenth¨alt, dannuv2wx2y6∈L, da es mehr als 4a’s enth¨alt Wennv undxkeinaenthalten, dann istuv0wx0y6∈L, da das L¨oschen vonb’s in 1-2 der Teilworter1, r2, r3, r4 passiert. D.h. es gibt nochabn (mindestens 2) aber es gibt auchabj mitj < n
Daher erf¨ulltLdie Pumping-Eigenschaft f¨ur CLFs nicht.
Das Pumping-Lemma f¨ur CFLs zeigt nun, dassLnicht kontextfrei ist.
Kontextfreiheit widerlegen
Aufgabe
Zeige L = {ab
iab
iab
iab
i| i ∈
N} ist nicht kontextfrei.
Sein >0beliebig.
Seiz= abn
|{z}r1
abn
|{z}r2
abn
|{z}r3
abn
|{z}r4
. Dann ist |z| ≥nund z∈L.
Seiz=uvwxy eine beliebige Zerlegung mit|vwx| ≤nund|vx|>0
Dann kannvwx nur Teilwort vonr1r2,r2r3 oderr3r4sein.
Wennvoderxeinaenth¨alt, dannuv2wx2y6∈L, da es mehr als 4a’s enth¨alt Wennv undxkeinaenthalten, dann istuv0wx0y6∈L, da das L¨oschen vonb’s in 1-2 der Teilworter1, r2, r3, r4 passiert. D.h. es gibt nochabn (mindestens 2) aber es gibt auchabj mitj < n
Daher erf¨ulltLdie Pumping-Eigenschaft f¨ur CLFs nicht.
Das Pumping-Lemma f¨ur CFLs zeigt nun, dassLnicht kontextfrei ist.
Kontextfreiheit widerlegen
Aufgabe
Zeige L = {ab
iab
iab
iab
i| i ∈
N} ist nicht kontextfrei.
Sein >0beliebig.
Seiz= abn
|{z}r1
abn
|{z}r2
abn
|{z}r3
abn
|{z}r4
. Dann ist |z| ≥nund z∈L.
Seiz=uvwxy eine beliebige Zerlegung mit|vwx| ≤nund|vx|>0 Dann kannvwx nur Teilwort vonr1r2,r2r3 oderr3r4sein.
Wennvoderxeinaenth¨alt, dannuv2wx2y6∈L, da es mehr als 4a’s enth¨alt Wennv undxkeinaenthalten, dann istuv0wx0y6∈L, da das L¨oschen vonb’s in 1-2 der Teilworter1, r2, r3, r4 passiert. D.h. es gibt nochabn (mindestens 2) aber es gibt auchabj mitj < n
Daher erf¨ulltLdie Pumping-Eigenschaft f¨ur CLFs nicht.
Das Pumping-Lemma f¨ur CFLs zeigt nun, dassLnicht kontextfrei ist.
Kontextfreiheit widerlegen
Aufgabe
Zeige L = {ab
iab
iab
iab
i| i ∈
N} ist nicht kontextfrei.
Sein >0beliebig.
Seiz= abn
|{z}r1
abn
|{z}r2
abn
|{z}r3
abn
|{z}r4
. Dann ist |z| ≥nund z∈L.
Seiz=uvwxy eine beliebige Zerlegung mit|vwx| ≤nund|vx|>0 Dann kannvwx nur Teilwort vonr1r2,r2r3 oderr3r4sein.
Wennvoderxeinaenth¨alt, dannuv2wx2y6∈L, da es mehr als 4a’s enth¨alt
Wennv undxkeinaenthalten, dann istuv0wx0y6∈L, da das L¨oschen vonb’s in 1-2 der Teilworter1, r2, r3, r4 passiert. D.h. es gibt nochabn (mindestens 2) aber es gibt auchabj mitj < n
Daher erf¨ulltLdie Pumping-Eigenschaft f¨ur CLFs nicht.
Das Pumping-Lemma f¨ur CFLs zeigt nun, dassLnicht kontextfrei ist.