Teil IV
Kontextfreie Sprachen, Bonus:
Die Tripelkonstruktion
Einfache ¨Uberg¨ange
p q
a, K|ε
δ(p, a, K)3(q, ε)
[p, K, q]→a
Kontextfreie Sprachen Deterministische Kellerautomaten 1 / 3
Einfache ¨Uberg¨ange
p q
a, K|ε
δ(p, a, K)3(q, ε)
[p, K, q]→a
Kontextfreie Sprachen Deterministische Kellerautomaten 1 / 3
Einfache ¨Uberg¨ange
p q
a, K|ε
δ(p, a, K)3(q, ε)
[p, K, q]→a
Kontextfreie Sprachen Deterministische Kellerautomaten 1 / 3
Einfache ¨Uberg¨ange
p q
a, K|ε
δ(p, a, K)3(q, ε)
[p, K, q]→a
Kontextfreie Sprachen Deterministische Kellerautomaten 1 / 3
Einfache ¨Uberg¨ange
p q
a, K|ε
δ(p, a, K)3(q, ε)
[p, K, q]→a
Kontextfreie Sprachen Deterministische Kellerautomaten 1 / 3
Einfache ¨Uberg¨ange
p q
a, K|ε
δ(p, a, K)3(q, ε)
[p, K, q]→a
Kontextfreie Sprachen Deterministische Kellerautomaten 1 / 3
Einfache ¨Uberg¨ange
p q
a, K|ε
δ(p, a, K)3(q, ε)
[p, K, q]→a
Kontextfreie Sprachen Deterministische Kellerautomaten 1 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln
allgemein:|Q||γ| daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln allgemein:|Q||γ|
daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Nicht ganz so einfache ¨Uberg¨ange
p q
a, K|ABC
δ(p, a, K)3(q, ABC)
[p, K, p4]→a[q, A, p2][p2, B, p3][p3, C, p4] f¨ur alle p2, p3, p4 ∈Q
insgesamt|Q|3 Regeln allgemein:|Q||γ|
daher: Optimierungen
Kontextfreie Sprachen Deterministische Kellerautomaten 2 / 3
Optimierungstips
Allgemeiner Ansatz
erkenne Variablen, die niemals fertig abgeleitet werden k¨onnen verzichte auf Regeln, die solche nutzlosen Variablen enthalten
Hinreichende Bedingungen [p, K, q]ist nutzlos wenn:
q ist vonp aus nicht erreichbar δ(p, a, K) =∅ f¨ur alle a∈(Σ∪ {ε})
Andere Optimierungen sind m¨oglich, m¨ussen aber erl¨autert werden. Optimierungen sind optional.
Kontextfreie Sprachen Deterministische Kellerautomaten 3 / 3
Optimierungstips
Allgemeiner Ansatz
erkenne Variablen, die niemals fertig abgeleitet werden k¨onnen verzichte auf Regeln, die solche nutzlosen Variablen enthalten
Hinreichende Bedingungen [p, K, q]ist nutzlos wenn:
q ist vonp aus nicht erreichbar
δ(p, a, K) =∅ f¨ur alle a∈(Σ∪ {ε})
Andere Optimierungen sind m¨oglich, m¨ussen aber erl¨autert werden. Optimierungen sind optional.
Kontextfreie Sprachen Deterministische Kellerautomaten 3 / 3
Optimierungstips
Allgemeiner Ansatz
erkenne Variablen, die niemals fertig abgeleitet werden k¨onnen verzichte auf Regeln, die solche nutzlosen Variablen enthalten
Hinreichende Bedingungen [p, K, q]ist nutzlos wenn:
q ist vonp aus nicht erreichbar δ(p, a, K) =∅ f¨ur alle a∈(Σ∪ {ε})
Andere Optimierungen sind m¨oglich, m¨ussen aber erl¨autert werden. Optimierungen sind optional.
Kontextfreie Sprachen Deterministische Kellerautomaten 3 / 3
Optimierungstips
Allgemeiner Ansatz
erkenne Variablen, die niemals fertig abgeleitet werden k¨onnen verzichte auf Regeln, die solche nutzlosen Variablen enthalten
Hinreichende Bedingungen [p, K, q]ist nutzlos wenn:
q ist vonp aus nicht erreichbar δ(p, a, K) =∅ f¨ur alle a∈(Σ∪ {ε})
Andere Optimierungen sind m¨oglich, m¨ussen aber erl¨autert werden.
Optimierungen sind optional.
Kontextfreie Sprachen Deterministische Kellerautomaten 3 / 3
Optimierungstips
Allgemeiner Ansatz
erkenne Variablen, die niemals fertig abgeleitet werden k¨onnen verzichte auf Regeln, die solche nutzlosen Variablen enthalten
Hinreichende Bedingungen [p, K, q]ist nutzlos wenn:
q ist vonp aus nicht erreichbar δ(p, a, K) =∅ f¨ur alle a∈(Σ∪ {ε})
Andere Optimierungen sind m¨oglich, m¨ussen aber erl¨autert werden.
Optimierungen sind optional.
Kontextfreie Sprachen Deterministische Kellerautomaten 3 / 3