Theoretische Informatik

Werbung
Was bisher geschah: Formale Sprachen
Alphabet, Wort, Sprache
Operationen und Relationen auf Wörtern und Sprachen
Darstellung unendlicher Sprachen durch
I
reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)
I
Wortersetzungssysteme
I
Algorithmen für w ∈ L(S, u) für
?
I
I
I
nichtverlängernde Wortersetzungssysteme
nichtverkürzende Wortersetzungssysteme
Grammatiken (Ableitung, definierte Sprache, Äquivalenz)
91
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 ∪ TN)
(regulär)
Eine Sprache L ⊆ T ∗ heißt vom Typ i für i ∈ {0, . . . , 3}, falls
L \ {ε} = L(G) für eine Grammatik G vom Typ i.
Li bezeichnet die Menge aller Sprachen vom Typ i.
Es gibt Sprachen, die durch keine Grammatik erzeugt werden,
also keinen Chomsky-Typ haben (Begründung später).
92
Beispiele
I
G = ({S}, {a, b}, P, S) mit
P = {S → aSb, S → ab, S → a, S → b} ist vom Typ 2
I
G = ({S, A, B}, {a, b}, P, S) mit
P = {S → aA, A → aB, B → bB, B → b} ist vom Typ 3
I
G = ({A, B, C}, {a, b, c}, P, A) mit

A
→ aABC,




A
→ aBC,




CB
→ BC,

aB → ab,
P=


bB → bb,





bC → bc,


cC → cc



















93
Dyck-Sprache
Klammerpaar (, )
Dyck-Sprache: Menge aller korrekt geklammerten Ausdrücke
erzeugt durch Grammatik
G = ({S}, {(, )}, P, S) mit


 S → ε 
S → SS
P =


S → (S)
Beispiele:
I
()(()()) ∈ L(G)
I
())(6∈ L(G)
94
Allgemeine Dyck-Sprachen
Menge aller korrekt geklammerten Ausdrücke
mit n Paaren von Klammern: (i , )i für i ∈ {1, . . . , n}
erzeugt durch Grammatik
G = ({S}, {(i , )i | i ∈ {1, . . . , n}}, P, S) mit
S → ε
P =
∪ {S → (i S)i | i ∈ {1, . . . , n}}
S → SS
Symbole müssen nicht notwendig Klammern sein, z.B.
aacdacababdbbcabdb ∈ Dyck-Sprache mit
a statt (1 , b statt )1 , c statt (2 und d statt )2
95
Wortproblem für durch Grammatiken definierte
Sprachen
Satz
Es existiert ein Algorithmus, welcher
I für jede beliebige Eingabe (G, u), wobei
I
I
I
G eine monotone Grammatik (Chomsky-Typ 1) und
u ∈ A∗ sind,
die Wahrheit der Aussage u ∈ L(G)
korrekt beantwortet.
(folgt aus entsprechendem Satz für nichtverkürzende
Wortersetzungssysteme)
demnächst spezielle (schnellere) Verfahren für Grammatiken
vom Chomsky-Typ 2 und 3
96
Ordnungen auf A∗
Präfix-, Postfix-, Infix-Relation auf A∗ :
Halbordnungen
bei gegebener totaler Ordnung < auf dem Alphabet A:
lexikographische Ordnung auf A∗ :
∀u, v ∈ A∗ : u ≤lex v gdw.
1. u v v oder
2. ∃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 | oder
2. |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
97
Mächtigkeitsvergleich unendlicher Mengen
Eine Menge M heißt genau dann höchstens so mächtig wie die
Menge N, wenn eine surjektive Funktion f : N → M existiert.
(f : N → M ist surjektiv, gdw. ∀x ∈ M∃n ∈ N : f (n) = x)
Beispiele:
I
I
M = {1, 2, 3} ist höchstens so mächtig wie N = {a, b, c, d}
N ist höchstens so mächtig wie 3N
Zwei Mengen M und N heißen genau dann gleichmächtig,
wenn
I
M höchstens so mächtig wie N und
I
N höchstens so mächtig wie M ist.
(genau dann, wenn eine bijektive Funktion f : N → M existiert)
Beispiele:
I
I
M = {1, 2, 3, 4} und N = {a, b, c, d} sind gleichmächtig
N und 3N sind gleichmächtig.
98
Abzählbarkeit
Eine Menge M heißt genau dann abzählbar, wenn sie
höchstens so mächtig wie ist.
(also eine surjektive Funktion f : → M existiert)
N
N
(Unendliche) Mengen, die nicht abzählbar sind, heißen
überabzählbar.
Beispiele:
I
N, Menge aller geraden Zahlen, Menge aller Primzahlen,
jede endliche Menge,
Menge aller Paare natürlicher Zahlen, Q
sind abzählbar,
I
R ist überabzählbar.
99
Erstes Diagonalverfahren von Cantor
(z.B. zum Nachweis der Abzählbarkeit einer Menge)
Satz
Die Menge alle Paare natürlicher Zahlen ist abzählbar.
Beweisidee (Tafel):
zweidimensionale (unendliche) Darstellung
diagonale Durchquerung
Dovetailing: analoge Idee zur sequentiellen Simulation
paralleler Berechnungen
I
Für jedes endliche Alphabet A ist die Menge A∗ abzählbar.
I
Für jedes endliche Alphabet A ist jede Sprache L ⊆ A∗
abzählbar.
100
Zweites Diagonalverfahren von Cantor
(z.B. zum Nachweis der Überabzählbarkeit einer Menge)
Satz
Es existieren überabzählbar viele unendliche 01-Folgen.
({0, 1}ω ist überabzählbar.)
Beweisidee: indirekt (Tafel)
allgemeinere Aussage:
Satz (Cantor)
Für jede Menge M ist ihre Potenzmenge 2M von M mächtiger
als M.
101
Beispiele überabzählbarer Mengen
R
N
N
ist mächtiger als .
Es gibt überabzählbar viele reelle Zahlen.
[0, 1] ist mächtiger als .
Es gibt überabzählbar viele reelle Zahlen im
Intervall [0, 1].
N
2 (Menge aller Mengen natürlicher Zahlen) ist
mächtiger als .
(Überabzählbarkeit der Menge M = 2N )
Es gibt überabzählbar viele Mengen natürlicher
Zahlen.
∗
{0,1}
2
Menge aller Sprachen L ⊆ {0, 1}∗ ist mächtiger als
{0, 1}∗ .
Es gibt überabzählbar viele Sprachen über dem
Alphabet {0, 1}.
∗
A
2 für beliebiges endliches Alphabet A
Für jedes endliche Alphabet A ist die Menge aller
Sprachen über A überabzählbar.
N
102
Lässt sich jede Sprache durch eine Grammatik
repräsentieren?
Existiert zu jeder Sprache L ⊆ A∗ eine Grammatik G mit L = L(G)?
Nein (Gegenbeispiel später)
Begründung: (Aussage für A = {0, 1} zu zeigen, genügt)
1. Wieviele Grammatiken über dem endlichen Alphabet A gibt es?
abzählbar viele
(weil Grammatiken endliche Beschreibungen sind,
nach erstem Diagonalverfahren von Cantor)
2. Wieviele Sprachen L ⊆ {0, 1}∗ gibt es?
überabzählbar viele
(zweites Diagonalverfahren von Cantor)
Damit existieren sogar sehr viel mehr (überabzählbar viele)
Sprachen, die nicht durch Grammatiken beschrieben werden können.
103
Formale Sprachen – Zusammenfassung
I
Alphabet, Wort, Sprache
Operationen und Relationen auf Wörtern und Sprachen
I
reguläre Ausdrücke
Syntax, Semantik, Äquivalenz
I
Wortersetzungssysteme
I Wortersetzungsregeln und -systeme
I Ableitungen, Ableitungsgraph
I durch Wortersetzungssysteme definierte Sprachen
I Wortproblem in Wortersetzungssystemen
im Allgemeinen nicht algorithmisch lösbar,
aber algorithmisch lösbar für
I
I
I
nichtverlängernde Systeme
nichtverkürzende Systeme
Grammatiken
I Terminal-, Nichtterminalsymbole
I Ableitungen in Grammatiken
I durch Grammatiken definierte Sprachen
I Äquivalenz von Grammatiken
I Chomsky-Hierarchie für Grammatiken und Sprachen
104
Herunterladen