You are on page 1of 85

Dyck-Sprachen

&
Syntax-Analyse
Volker Diekert
Universitat Stuttgart

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

1/??

B
aume sind u
berall
Trees are everywhere
[
(

)
[

)
[

(
[

..

..
(

[
)

)
[

[
(

)
[

)
[

(
[

[
)

..

.. .

(
[

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

2/??


Uber
die Motivation

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

3/??


Uber
die Motivation

M. P. Schutzenberger, Harvard Medical School (April 1962):


In contrast with the more usual approach, the motivation for this
study is purely formal.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

3/??

Dyck-Sprachen

Dyck-Gruppe

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

4/??

Dyck-Sprachen

Dyck-Gruppe
F2 = freie Gruppe uber zwei Erzeugern a, b
mit a = a1 , b = b1 .

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

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.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

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.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

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

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

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 = [

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

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

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

5/??

Chomsky/Schu
tzenberger

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

6/??

Chomsky/Schu
tzenberger

Jede kontextfreie Sprache ist homomorphes Bild des Durchschnitts


einer regularen Sprache mit einer Dyck-Sprache.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

6/??

Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i

h Subjekt i h Pradikat i h Objekt i h Punkt i

h Subjekt i

h Artikel i h Attribut i h Substantiv i

h Punkt i

..
.

h Objekt i

h Artikel i h Attribut i h Substantiv i

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

7/??

Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i

h Subjekt i h Pradikat i h Objekt i h Punkt i

h Subjekt i

h Artikel i h Attribut i h Substantiv i

h Punkt i

..
.

h Objekt i

h Artikel i h Attribut i h Substantiv i

Beispielableitungen
h Satz i Der groe Hund beit die kleine Katze

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

7/??

Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i

h Subjekt i h Pradikat i h Objekt i h Punkt i

h Subjekt i

h Artikel i h Attribut i h Substantiv i

h Punkt i

..
.

h Objekt i

h Artikel i h Attribut i h Substantiv i

Beispielableitungen
h Satz i Der groe Hund beit die kleine Katze
Der erfahrene Linguist liebt einen mehrdeutigen Satz

.
.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

7/??

Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i

h Subjekt i h Pradikat i h Objekt i h Punkt i

h Subjekt i

h Artikel i h Attribut i h Substantiv i

h Punkt i

..
.

h Objekt i

h Artikel i h Attribut i h Substantiv 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

.
.
.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

7/??

Syntaxanalyse
Grammatik der deutschen Sprache
h Satz i

h Subjekt i h Pradikat i h Objekt i h Punkt i

h Subjekt i

h Artikel i h Attribut i h Substantiv i

h Punkt i

..
.

h Objekt i

h Artikel i h Attribut i h Substantiv 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

.
.
.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

7/??

Ich sah den Mann . . .

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

8/??

Ich sah den Mann . . .


und was soll es bedeuten?

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

8/??

Ich sah den Mann . . .


und was soll es bedeuten?
(((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))

(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 . . .


und was soll es bedeuten?
(((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))

(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 . . .


und was soll es bedeuten?
(((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))

(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 . . .


und was soll es bedeuten?
(((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))

(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 . . .


und was soll es bedeuten?
(((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))

(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 . . .


und was soll es bedeuten?
(((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))

(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))

5 Klammerungen
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

8/??

Exponentielle Mehrdeutigkeit

4 Akteure (Ich, Mann, Berg, Fernrohr) Klammerung


entspricht vollstandigem Binarbaum mit 3 inneren Knoten.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

9/??

Exponentielle Mehrdeutigkeit

4 Akteure (Ich, Mann, Berg, Fernrohr) Klammerung


entspricht vollstandigem Binarbaum mit 3 inneren Knoten.
. . .,3,4,5,. . .

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

9/??

Exponentielle Mehrdeutigkeit

4 Akteure (Ich, Mann, Berg, Fernrohr) Klammerung


entspricht vollstandigem Binarbaum mit 3 inneren Knoten.
. . .,3,4,5,. . .

Anzahl solcher Baume: C(3) = 5, wobei

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

9/??

Exponentielle Mehrdeutigkeit

4 Akteure (Ich, Mann, Berg, Fernrohr) Klammerung


entspricht vollstandigem Binarbaum mit 3 inneren Knoten.
. . .,3,4,5,. . .

Anzahl solcher Baume: C(3) = 5, wobei


 
1
2n
4n

C(n) =
= n-te Catalansche Zahl
n+1 n
(n + 1) n

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

9/??

Exponentielle Mehrdeutigkeit

4 Akteure (Ich, Mann, Berg, Fernrohr) Klammerung


entspricht vollstandigem Binarbaum mit 3 inneren Knoten.
. . .,3,4,5,. . .

Anzahl solcher Baume: C(3) = 5, wobei


 
1
2n
4n

C(n) =
= n-te Catalansche Zahl
n+1 n
(n + 1) n

Aufgabe: Finde Satz mit 5 Akteuren


und 14 verschiedenen

Bedeutungen, 14 = C(4) = 15 84 .

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

9/??

Kontextfreie Grammatiken

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

10/??

Kontextfreie Grammatiken

Formalsprachler betrachten Grammatiken G = (V, , S, P ) mit

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

10/??

Kontextfreie Grammatiken

Formalsprachler betrachten Grammatiken G = (V, , S, P ) mit


Variablenmenge V = {S, A, B, . . .}

Alphabet

= {a, b, c, . . .}

Regelmenge

P = {A a, . . . , A BC, . . .}

Axiom

SV

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

10/??

Kontextfreie Grammatiken

Formalsprachler betrachten Grammatiken G = (V, , S, P ) mit


Variablenmenge V = {S, A, B, . . .}

Alphabet

= {a, b, c, . . .}

Regelmenge

P = {A a, . . . , A BC, . . .}

Axiom

SV

Dadurch definierte Sprache:


L(G) = {w | S w}
= Worter, die sich aus S ableiten lassen

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

10/??

Kontextfreie Grammatiken: Beispiel


Regelmenge P = {S aSa | bSb | SS | }.
Dann gilt: L(G) = D2 .
Ableitung fur abbaaa:

S
a

a
S

S
b

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

S
b

11/??

Syntaxanalyse

Es gibt eine schwierigste kontextfreie Sprache:





n 1, y1 yn c/D2 ,
L0 = x1 cy1 cz1 d dxn cyn czn d
xi , zi {a, a, b, b, c, c/}

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

12/??

Syntaxanalyse

Es gibt eine schwierigste kontextfreie Sprache:





n 1, y1 yn c/D2 ,
L0 = x1 cy1 cz1 d dxn cyn czn d
xi , zi {a, a, b, b, c, c/}
Satz (Sheila Greibach, 1973): Sei 6 L und L kontextfrei. Dann
gibt es einen Homomorphismus h mit h1 (L0 ) = L.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

12/??

Wortproblem kontextfreier Sprachen


Sei G eine kontextfreie Grammatik.
Eingabe: w = a1 an
Frage: w L(G)?

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

13/??

Wortproblem kontextfreier Sprachen


Sei G eine kontextfreie Grammatik.
Eingabe: w = a1 an
Frage: w L(G)?
Eingabe: Himmi Herrgott - lu - uuu - iah.
Frage: Deutsch?

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

13/??

Wortproblem kontextfreier Sprachen


Sei G eine kontextfreie Grammatik.
Eingabe: w = a1 an
Frage: w L(G)?
Eingabe: Himmi Herrgott - lu - uuu - iah.
Frage: Deutsch?
L
osung:
Berechne w0 = h(w) = h(a1 ) h(an ) parallel (oder in
linearer Zeit). Dann lose, ob w0 L0 .

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

13/??

Wortproblem kontextfreier Sprachen


Sei G eine kontextfreie Grammatik.
Eingabe: w = a1 an
Frage: w L(G)?
Eingabe: Himmi Herrgott - lu - uuu - iah.
Frage: Deutsch?
L
osung:
Berechne w0 = h(w) = h(a1 ) h(an ) parallel (oder in
linearer Zeit). Dann lose, ob w0 L0 .
Bemerkung: Kann das Wortproblem fur L0 in Zeit O(nr ) gelost
werden, so auch das Wortproblem fur L.
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

13/??

Wortproblem kontextfreier Sprachen


Sei G eine kontextfreie Grammatik.
Eingabe: w = a1 an
Frage: w L(G)?
Eingabe: Himmi Herrgott - lu - uuu - iah.
Frage: Deutsch?
L
osung:
Berechne w0 = h(w) = h(a1 ) h(an ) parallel (oder in
linearer Zeit). Dann lose, ob w0 L0 .
Bemerkung: Kann das Wortproblem fur L0 in Zeit O(nr ) gelost
werden, so auch das Wortproblem fur L.
Valiant, Strassen: r = log2 7 2, 81 ist moglich.
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

13/??

Grundidee zum Beweis von Greibach

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

14/??

Grundidee zum Beweis von Greibach

Analyse mit einem Kellerautomaten

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

Samelson/Bauer (1956)

14/??

Grundidee zum Beweis von Greibach

Analyse mit einem Kellerautomaten


Greibach-Normalform

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

Samelson/Bauer (1956)
Greibach (1965)

14/??

Grundidee zum Beweis von Greibach

Analyse mit einem Kellerautomaten

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

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

14/??

abcdef : Ein Beispiel


S

read a; pop S; push B; push A

S
$

A
B
$

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

15/??

abcdef : Ein Beispiel


S
a

read a; pop S; push B; push A


read b; pop A; push C

S
$

A
B
$

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

C
B
$

15/??

abcdef : Ein Beispiel


S
a

read a; pop S; push B; push A


read b; pop A; push C
read c; pop C

S
$

A
B
$

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

C
B
$

B
$

15/??

abcdef : Ein Beispiel


S
a

S
$

A
B
$

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

C
B
$

read
read
read
read

B
$

a; pop S; push B; push A


b; pop A; push C
c; pop C
d; pop B; push F ; push E

E
F
$

15/??

abcdef : Ein Beispiel


S
a

S
$

A
B
$

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

C
B
$

read
read
read
read
read

B
$

E
F
$

a; pop S; push B; push A


b; pop A; push C
c; pop C
d; pop B; push F ; push E
e; pop E

F
$

15/??

abcdef : Ein Beispiel


S
a

S
$

A
B
$

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

C
B
$

read
read
read
read
read
read

B
$

E
F
$

a; pop S; push B; push A


b; pop A; push C
c; pop C
d; pop B; push F ; push E
e; pop E
f ; pop F

F
$

15/??

abcdef : Ein Beispiel


S
a

A
B
$

S
$

C
B
$

read
read
read
read
read
read

E
F
$

B
$

a; pop S; push B; push A


b; pop A; push C
c; pop C
d; pop B; push F ; push E
e; pop E
f ; pop F

F
$

SBA
AC |{z}
C |BF
E |{z}
F SD2 (nach Codierung)
{zE} |{z}
| {z } |{z}
a

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

15/??


Aquivalenz
determ. Kellerautomaten

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

16/??


Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

16/??


Aquivalenz
determ. Kellerautomaten
In der Praxis benotigen wir schnellere Verfahren
Analyse mit deterministischen Kellerautomaten.

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.

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)?

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.

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.
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/??

Parallele Erkennung kontextfreier Sprachen

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

17/??

Parallele Erkennung kontextfreier Sprachen


Parallele Erkennung kontextfreier Sprachen am Beispiel von
Dyck-Sprachen

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

17/??

Parallele Erkennung kontextfreier Sprachen


Parallele Erkennung kontextfreier Sprachen am Beispiel von
Dyck-Sprachen
Mayr/Werchner (1993) Optimal Routing of Parentheses on the
Hypercube

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

17/??

Parallele Erkennung kontextfreier Sprachen


Parallele Erkennung kontextfreier Sprachen am Beispiel von
Dyck-Sprachen
Mayr/Werchner (1993) Optimal Routing of Parentheses on the
Hypercube
Barrington/Corbet (1989): On the relative complexity of some
languages in NC1

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

17/??

Parallele Erkennung kontextfreier Sprachen


Parallele Erkennung kontextfreier Sprachen am Beispiel von
Dyck-Sprachen
Mayr/Werchner (1993) Optimal Routing of Parentheses on the
Hypercube
Barrington/Corbet (1989): On the relative complexity of some
languages in NC1
D2 = Dyck-Sprache mit zwei Klammerpaaren.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

17/??

Parallele Erkennung kontextfreier Sprachen


Parallele Erkennung kontextfreier Sprachen am Beispiel von
Dyck-Sprachen
Mayr/Werchner (1993) Optimal Routing of Parentheses on the
Hypercube
Barrington/Corbet (1989): On the relative complexity of some
languages in NC1
D2 = Dyck-Sprache mit zwei Klammerpaaren.
Ein Dyck-Wort kann als Klammergebirge dargestellt werden:
3
2
1
0
[ ( [ ] ) [ ] ( ) ]
Rutishausers Klammergebirge
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

17/??

TC0 -Algorithmus fu
r D2

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

18/??

TC0 -Algorithmus fu
r D2
Eine Beschreibung der Worter in einer Logik.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

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 {], )}.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

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 {], )}.

w D2 genau dann, wenn


1. i : level(i) 1

2. level (n) = 1

3. i < j : falls j eine schlieende Klammer ist, muss i zu j


passen, sofern i und j auf dem selben Level liegen und
dazwischen das Level stets hoher war.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

18/??

Komplexit
atsklassen

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

19/??

Komplexit
atsklassen

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

L0

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

19/??

Komplexit
atsklassen

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

L0

Satz: Das Wortproblem fur freie Gruppen liegt in LOGSPACE und ist
NC1 -schwierig.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

19/??

Komplexit
atsklassen

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

L0

Satz: Das Wortproblem fur freie Gruppen liegt in LOGSPACE und ist
NC1 -schwierig.
Methode: F2 SL(2, Z) GL(n, Q).

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

19/??

Komplexit
atsklassen

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

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.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

19/??

Aktuelle Forschung

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

20/??

Aktuelle Forschung

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

L0

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

20/??

Aktuelle Forschung

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

L0

Phase 1:
Zeige D N C 1 .

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

20/??

Aktuelle Forschung

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

L0

Phase 1:
Zeige D N C 1 .
Phase 2:
Zeige D T C 0 . Konsequenz: T C 0 = N C 1

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

20/??

Aktuelle Forschung

AC0 $ TC0 NC1 LOGSPACE NL SAC1 NC P NP


D2

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/??

Gruppentheorie und kontextfreie Sprachen


D = {w {a, a, b, b} | w = 1 in F2 }

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

21/??

Gruppentheorie und kontextfreie Sprachen


D = {w {a, a, b, b} | w = 1 in F2 }
Satz (Muller/Schupp, Dunwoody): Sei h : G ein

surjektiver Homomorphismus auf eine Gruppe G. Aquivalent


sind:
1. G ist virtuell frei, d.h. G enthalt eine freie Untergruppe von
endlichem Index.
2. Die Menge der Worter, die unter h auf die 1 abgebildet werden,
ist kontextfrei.

Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

21/??

Gruppentheorie und kontextfreie Sprachen


D = {w {a, a, b, b} | w = 1 in F2 }
Satz (Muller/Schupp, Dunwoody): Sei h : G ein

surjektiver Homomorphismus auf eine Gruppe G. Aquivalent


sind:
1. G ist virtuell frei, d.h. G enthalt eine freie Untergruppe von
endlichem Index.
2. Die Menge der Worter, die unter h auf die 1 abgebildet werden,
ist kontextfrei.
Satz (Hotz,Valkema): Sei L = L(G) kontextfrei und G
reduziert. Dann induziert die Inklusion V einen kanonischen
Isomorphismus
F ()/(L L)F
( V )/P.
Insbesondere ist F ()/(L L) endlich prasentiert.
Dyck-Sprachen & Syntax-Analyse, TUM, 25. Juni 2003

21/??