Beruflich Dokumente
Kultur Dokumente
&
Syntax-Analyse
Volker Diekert
Universitat Stuttgart
1/??
B
aume sind u
berall
Trees are everywhere
[
(
)
[
)
[
(
[
..
..
(
[
)
)
[
[
(
)
[
)
[
(
[
[
)
..
.. .
(
[
2/??
Uber
die Motivation
3/??
Uber
die Motivation
3/??
Dyck-Sprachen
Dyck-Gruppe
4/??
Dyck-Sprachen
Dyck-Gruppe
F2 = freie Gruppe uber zwei Erzeugern a, b
mit a = a1 , b = b1 .
4/??
Dyck-Sprachen
Dyck-Gruppe
F2 = freie Gruppe uber zwei Erzeugern a, b
mit a = a1 , b = b1 .
Andere Darstellung durch Regeln (Dyck 1882):
abc = 1
bca = 1
cab = 1
Dies liefert eine Darstellung der F2 ohne negative Exponenten.
4/??
Dyck-Sprachen
Chomsky/Schutzenberger (1963): We define the Dyck language . . .
D = {w {a, a, b, b} | w ergibt die Eins in F2 }
= symmetrische Dyck-Sprache.
5/??
Dyck-Sprachen
Chomsky/Schutzenberger (1963): We define the Dyck language . . .
D = {w {a, a, b, b} | w ergibt die Eins in F2 }
= symmetrische Dyck-Sprache.
Bsp.: baabbaab D
5/??
Dyck-Sprachen
Chomsky/Schutzenberger (1963): We define the Dyck language . . .
D = {w {a, a, b, b} | w ergibt die Eins in F2 }
= symmetrische Dyck-Sprache.
Bsp.: baabbaab D
D2 = Menge der richtig geklammerten Ausdrucke mit zwei
a=]
b=(
b=)
Klammerpaaren: a = [
5/??
Dyck-Sprachen
Chomsky/Schutzenberger (1963): We define the Dyck language . . .
D = {w {a, a, b, b} | w ergibt die Eins in F2 }
= symmetrische Dyck-Sprache.
Bsp.: baabbaab D
D2 = Menge der richtig geklammerten Ausdrucke mit zwei
a=]
b=(
b=)
Klammerpaaren: a = [
Bsp.: [[([])([])]]
)[[)]
[(])
D2
6 D2
6 D2
5/??
Chomsky/Schu
tzenberger
6/??
Chomsky/Schu
tzenberger
6/??
Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i
h Subjekt i
h Punkt i
..
.
h Objekt i
7/??
Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i
h Subjekt i
h Punkt i
..
.
h Objekt i
Beispielableitungen
h Satz i Der groe Hund beit die kleine Katze
7/??
Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i
h Subjekt i
h Punkt i
..
.
h Objekt i
Beispielableitungen
h Satz i Der groe Hund beit die kleine Katze
Der erfahrene Linguist liebt einen mehrdeutigen Satz
.
.
7/??
Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i
h Subjekt i
h Punkt i
..
.
h Objekt i
Beispielableitungen
h Satz i Der groe Hund beit die kleine Katze
Der erfahrene Linguist liebt einen mehrdeutigen Satz
Ich sah den Mann auf dem Berg mit dem Fernrohr
.
.
.
7/??
Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i
h Subjekt i
h Punkt i
..
.
h Objekt i
Beispielableitungen
h Satz i Der groe Hund beit die kleine Katze
Der erfahrene Linguist liebt einen mehrdeutigen Satz
Ich sah den Mann auf dem Berg mit dem Fernrohr
I saw the man on the hill with the telescope
.
.
.
7/??
8/??
8/??
((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)
(((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)
(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
5 Klammerungen
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
8/??
((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)
(((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)
(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
5 Klammerungen
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
8/??
((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)
(((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)
(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
5 Klammerungen
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
8/??
((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)
(((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)
(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
5 Klammerungen
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
8/??
((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)
(((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)
(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
5 Klammerungen
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
8/??
((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)
(((Ich sah den Mann) (auf dem Berg mit dem Fernrohr)
(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
5 Klammerungen
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
8/??
Exponentielle Mehrdeutigkeit
9/??
Exponentielle Mehrdeutigkeit
9/??
Exponentielle Mehrdeutigkeit
9/??
Exponentielle Mehrdeutigkeit
C(n) =
= n-te Catalansche Zahl
n+1 n
(n + 1) n
9/??
Exponentielle Mehrdeutigkeit
C(n) =
= n-te Catalansche Zahl
n+1 n
(n + 1) n
9/??
Kontextfreie Grammatiken
10/??
Kontextfreie Grammatiken
10/??
Kontextfreie Grammatiken
Alphabet
= {a, b, c, . . .}
Regelmenge
P = {A a, . . . , A BC, . . .}
Axiom
SV
10/??
Kontextfreie Grammatiken
Alphabet
= {a, b, c, . . .}
Regelmenge
P = {A a, . . . , A BC, . . .}
Axiom
SV
10/??
S
a
a
S
S
b
S
b
11/??
Syntaxanalyse
12/??
Syntaxanalyse
12/??
13/??
13/??
13/??
13/??
13/??
14/??
Samelson/Bauer (1956)
14/??
Samelson/Bauer (1956)
Greibach (1965)
14/??
Samelson/Bauer (1956)
Greibach-Normalform
A
A
A
Greibach (1965)
=
read a; pop A
h(a) = A
aB
=
read a; pop A; push B
h(a) = AB
aBC
=
read a; pop A; push C; push B
h(a) = ACB
14/??
S
$
A
B
$
15/??
S
$
A
B
$
C
B
$
15/??
S
$
A
B
$
C
B
$
B
$
15/??
S
$
A
B
$
C
B
$
read
read
read
read
B
$
E
F
$
15/??
S
$
A
B
$
C
B
$
read
read
read
read
read
B
$
E
F
$
F
$
15/??
S
$
A
B
$
C
B
$
read
read
read
read
read
read
B
$
E
F
$
F
$
15/??
A
B
$
S
$
C
B
$
read
read
read
read
read
read
E
F
$
B
$
F
$
SBA
AC |{z}
C |BF
E |{z}
F SD2 (nach Codierung)
{zE} |{z}
| {z } |{z}
a
15/??
Aquivalenz
determ. Kellerautomaten
16/??
Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
16/??
Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
Analyse mit deterministischen Kellerautomaten.
16/??
Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
Analyse mit deterministischen Kellerautomaten.
Sei A ein C-Compiler und B eine optimierte Version.
Problem: Entscheide, ob L(A) = L(B) gilt.
16/??
Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
Analyse mit deterministischen Kellerautomaten.
Sei A ein C-Compiler und B eine optimierte Version.
Problem: Entscheide, ob L(A) = L(B) gilt.
DPDA-Problem:
Eingabe: Deterministische Kellerautomaten A und B.
Frage: L(A) = L(B)?
16/??
Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
Analyse mit deterministischen Kellerautomaten.
Sei A ein C-Compiler und B eine optimierte Version.
Problem: Entscheide, ob L(A) = L(B) gilt.
DPDA-Problem:
Eingabe: Deterministische Kellerautomaten A und B.
Frage: L(A) = L(B)?
Satz (G
eraud S
enizergues, 1997):
Das DPDA-Problem ist entscheidbar.
16/??
Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
Analyse mit deterministischen Kellerautomaten.
Sei A ein C-Compiler und B eine optimierte Version.
Problem: Entscheide, ob L(A) = L(B) gilt.
DPDA-Problem:
Eingabe: Deterministische Kellerautomaten A und B.
Frage: L(A) = L(B)?
Satz (G
eraud S
enizergues, 1997):
Das DPDA-Problem ist entscheidbar.
Satz (Colin Stirling, 2002):
Das DPDA-Problem ist primitiv rekursiv.
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
16/??
Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
Analyse mit deterministischen Kellerautomaten.
Sei A ein C-Compiler und B eine optimierte Version.
Problem: Entscheide, ob L(A) = L(B) gilt.
DPDA-Problem:
Eingabe: Deterministische Kellerautomaten A und B.
Frage: L(A) = L(B)?
Satz (G
eraud S
enizergues, 1997):
Das DPDA-Problem ist entscheidbar.
Satz (Colin Stirling, 2002):
Das DPDA-Problem ist primitiv rekursiv. Es reichen also for-Schleifen.
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
16/??
17/??
17/??
17/??
17/??
17/??
17/??
TC0 -Algorithmus fu
r D2
18/??
TC0 -Algorithmus fu
r D2
Eine Beschreibung der Worter in einer Logik.
18/??
TC0 -Algorithmus fu
r D2
Eine Beschreibung der Worter in einer Logik.
level (i) = Zahl der offnenden Klammern bis Position i
Zahl der schlieenden Klammern bis Position i
+ i {], )}.
18/??
TC0 -Algorithmus fu
r D2
Eine Beschreibung der Worter in einer Logik.
level (i) = Zahl der offnenden Klammern bis Position i
Zahl der schlieenden Klammern bis Position i
+ i {], )}.
2. level (n) = 1
18/??
Komplexit
atsklassen
19/??
Komplexit
atsklassen
L0
19/??
Komplexit
atsklassen
L0
Satz: Das Wortproblem fur freie Gruppen liegt in LOGSPACE und ist
NC1 -schwierig.
19/??
Komplexit
atsklassen
L0
Satz: Das Wortproblem fur freie Gruppen liegt in LOGSPACE und ist
NC1 -schwierig.
Methode: F2 SL(2, Z) GL(n, Q).
19/??
Komplexit
atsklassen
L0
Satz: Das Wortproblem fur freie Gruppen liegt in LOGSPACE und ist
NC1 -schwierig.
Methode: F2 SL(2, Z) GL(n, Q).
Satz: Das Wortproblem fur die GL(n, Q) kann in LOGSPACE gelost
werden.
19/??
Aktuelle Forschung
20/??
Aktuelle Forschung
L0
20/??
Aktuelle Forschung
L0
Phase 1:
Zeige D N C 1 .
20/??
Aktuelle Forschung
L0
Phase 1:
Zeige D N C 1 .
Phase 2:
Zeige D T C 0 . Konsequenz: T C 0 = N C 1
20/??
Aktuelle Forschung
L0
Phase 1:
Zeige D N C 1 .
Phase 2:
Zeige D T C 0 . Konsequenz: T C 0 = N C 1
oder alternativ:
Zeige D 6 T C 0 . Konsequenz: T C 0 $ N C 1
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003
20/??
21/??
21/??
21/??