8. Übung, theoretische grundlagen der informatik · guido br uckner 8.¨ ubung, theoretische...

88
Theoretische Grundlagen der Informatik 8. ¨ Ubungstermin · 24. Januar 2019 Guido Br ¨ uckner KIT – Die Forschungsuniversit¨ at in der Helmholtz-Gemeinschaft I NSTITUT F ¨ UR T HEORETISCHE I NFORMATIK · L EHRSTUHL ALGORITHMIK www.kit.edu ¨ Ubung

Upload: others

Post on 31-Aug-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Theoretische Grundlagen der Informatik

8. Ubungstermin · 24. Januar 2019Guido Bruckner

KIT – Die Forschungsuniversitat in der Helmholtz-Gemeinschaft

INSTITUT FUR THEORETISCHE INFORMATIK · LEHRSTUHL ALGORITHMIK

www.kit.edu

Ubung

Page 2: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Ubersicht

Inhalt

Anmeldung zur Hauptklausur:

Anmeldeschluss

Eine Anmeldung zur Hauptklausur ist nach Anmeldeschluss nichtmehr moglich!Anmeldung erfolgt in der Regel online uber das Studierendenportal.

Kontextfreie Grammatiken

Bei Problemen bitte bei Ioana Gheta melden.

19.03.2019

Greibach-Normalform

Kellerautomaten

Pumpinglemma

1

Page 3: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Evaluation

Geschwindigkeit

Lernzuwachs

Insgesamt

2

Page 4: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Evaluation

Arbeitsaufwand

2

Page 5: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Evaluation

”Nicht gut gefallen hat mir:“Mikrofon zu leise

Beamer unscharf

Stufen im Horsall

Schwierigkeit der Beweise / Ubungsblatter

”Gut gefallen hat mir:“Folien

Beispiele

step-by-step Konstruktionen

Ubungsblatter

2

Page 6: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Wiederholung: Pumpingl. fur regulare Sprachen

Sei L eine regulare Sprache. Dann existiert eine Zahl n ∈ N, so dass fur jedes Wort w ∈ Lmit |w | > n eine Darstellung

w = uvx mit |uv | ≤ n und v 6= ε

existiert, bei der auch uv i x ∈ L ist fur alle i ∈ N0.

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

3

Page 7: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Wiederholung: Pumpingl. fur regulare Sprachen

Sei L eine regulare Sprache. Dann existiert eine Zahl n ∈ N, so dass fur jedes Wort w ∈ Lmit |w | > n eine Darstellung

w = uvx mit |uv | ≤ n und v 6= ε

existiert, bei der auch uv i x ∈ L ist fur alle i ∈ N0.

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Erklarung: Sei L regulare Sprache und A entsprechender endlicher Automat.

3

Page 8: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Wiederholung: Pumpingl. fur regulare Sprachen

Sei L eine regulare Sprache. Dann existiert eine Zahl n ∈ N, so dass fur jedes Wort w ∈ Lmit |w | > n eine Darstellung

w = uvx mit |uv | ≤ n und v 6= ε

existiert, bei der auch uv i x ∈ L ist fur alle i ∈ N0.

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Egal wie viele Zustande fur A verwendet werden, fur jedes Wort w ∈ L, das mehr Zeichenhat als A Zustande, gilt:

Erklarung: Sei L regulare Sprache und A entsprechender endlicher Automat.

Wahrend der Abarbeitung von w durchlauft man einen Zyklus Z in A.

3

Page 9: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Wiederholung: Pumpingl. fur regulare Sprachen

Sei L eine regulare Sprache. Dann existiert eine Zahl n ∈ N, so dass fur jedes Wort w ∈ Lmit |w | > n eine Darstellung

w = uvx mit |uv | ≤ n und v 6= ε

existiert, bei der auch uv i x ∈ L ist fur alle i ∈ N0.

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Egal wie viele Zustande fur A verwendet werden, fur jedes Wort w ∈ L, das mehr Zeichenhat als A Zustande, gilt:

Seiu das Teilwort von w , das vor Z ,v das Teilwort von w , das in Z , undx das Teilwort von w , das nach Z

abgearbeitet wird.

Erklarung: Sei L regulare Sprache und A entsprechender endlicher Automat.

Wahrend der Abarbeitung von w durchlauft man einen Zyklus Z in A.

3

Page 10: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Wiederholung: Pumpingl. fur regulare Sprachen

Sei L eine regulare Sprache. Dann existiert eine Zahl n ∈ N, so dass fur jedes Wort w ∈ Lmit |w | > n eine Darstellung

w = uvx mit |uv | ≤ n und v 6= ε

existiert, bei der auch uv i x ∈ L ist fur alle i ∈ N0.

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Egal wie viele Zustande fur A verwendet werden, fur jedes Wort w ∈ L, das mehr Zeichenhat als A Zustande, gilt:

Seiu das Teilwort von w , das vor Z ,v das Teilwort von w , das in Z , undx das Teilwort von w , das nach Z

abgearbeitet wird.uv i x (mit i ∈ N0) ist auch in L enthalten.Durchlaufe Z entsprechend haufig.

Erklarung: Sei L regulare Sprache und A entsprechender endlicher Automat.

Wahrend der Abarbeitung von w durchlauft man einen Zyklus Z in A.

3

Page 11: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Pumpinglemma fur kontextfreie Sprachen

T

T

S0

u v w x y

4

Page 12: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Pumpinglemma fur kontextfreie Sprachen

T

T

S0

u v w x y""

4

Page 13: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Pumpinglemma fur kontextfreie Sprachen

T

T

S0

T

S0

u w y

ersetze den rotenTeilbaum durch denblauen Teilbaum

(= uv0wx0y )

u v w x y""

4

Page 14: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Pumpinglemma fur kontextfreie Sprachen

T

T

T

S0

T

T

S0 ersetze den blauenTeilbaum durch eineKopie des roten Teil-baums

T

S0

u v v w x x y

u w y

ersetze den rotenTeilbaum durch denblauen Teilbaum

(= uv0wx0y )

(= uv2wx2y )

ersetze wiederholt, umuv iwx iy fur i > 2 abzu-leiten

u v w x y""

4

Page 15: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Pumpinglemma fur kontextfreie Sprachen

T

T

T

S0

T

T

S0 ersetze den blauenTeilbaum durch eineKopie des roten Teil-baums

T

S0

u v v w x x y

u w y

ersetze den rotenTeilbaum durch denblauen Teilbaum

(= uv0wx0y )

(= uv2wx2y )

ersetze wiederholt, umuv iwx iy fur i > 2 abzu-leiten

u v w x y""

Ersetzen erfordert Kontextfreiheit.

4

Page 16: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Pumpinglemma fur kontextfreie Sprachen

T

T

T

S0

T

T

S0 ersetze den blauenTeilbaum durch eineKopie des roten Teil-baums

T

S0

u v v w x x y

u w y

ersetze den rotenTeilbaum durch denblauen Teilbaum

(= uv0wx0y )

(= uv2wx2y )

ersetze wiederholt, umuv iwx iy fur i > 2 abzu-leiten

u v w x y""

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N, so dasssich jedes Wort z ∈ L mit |z| ≥ n so in z = uvwxy zerlegen lasst, dassgilt:|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

4

Page 17: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegen L1 = {ak ba2k ba3k ∈ {a, b}? | k ≥ 0}

Fall 1: v oder x enthalt ein bBetrachte Zerlegung anba2nba3n = uvwxy

Fall 2: vwx enthalt kein b

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

Fall 3: vwx uberspannt ein b.

5

Page 18: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegen L1 = {ak ba2k ba3k ∈ {a, b}? | k ≥ 0}

Fall 1: v oder x enthalt ein bBetrachte Zerlegung anba2nba3n = uvwxy

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

Fall 2: vwx enthalt kein b

Betrachte w ′ = uv2wx2ywegen |vx | ≥ 1 muss w ′ mehr als zwei b’s enthalten.

uv2wx2y ∈ L

Fall 3: vwx uberspannt ein b.

5

Page 19: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegen L1 = {ak ba2k ba3k ∈ {a, b}? | k ≥ 0}

Fall 1: v oder x enthalt ein bBetrachte Zerlegung anba2nba3n = uvwxy

Fall 2: vwx enthalt kein b

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

Fall 2.1:Betrachte das Wort w ′ = uv0wx0y

wegen |vx | ≥ 1 gilt w ′ = am b a2n b a3n mit m < nvwx tritt vor vor dem ersten b auf.

w ′ ∈ L1

Fall 3: vwx uberspannt ein b.

5

Page 20: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegen L1 = {ak ba2k ba3k ∈ {a, b}? | k ≥ 0}

Fall 1: v oder x enthalt ein bBetrachte Zerlegung anba2nba3n = uvwxy

Fall 2: vwx enthalt kein b

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

Fall 2.1:Betrachte das Wort w ′ = uv0wx0y

wegen |vx | ≥ 1 gilt w ′ = am b a2n b a3n mit m < n

Fall 2.2:wegen |vx | ≥ 1 gilt w ′ = an b am b a3n mit m < 2n

vwx liegt zwischen den b’s.

vwx tritt vor vor dem ersten b auf.

w ′ ∈ L1

w ′ ∈ L1

Fall 3: vwx uberspannt ein b.

5

Page 21: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegen L1 = {ak ba2k ba3k ∈ {a, b}? | k ≥ 0}

Fall 1: v oder x enthalt ein bBetrachte Zerlegung anba2nba3n = uvwxy

Fall 2: vwx enthalt kein b

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

Fall 2.1:Betrachte das Wort w ′ = uv0wx0y

wegen |vx | ≥ 1 gilt w ′ = am b a2n b a3n mit m < n

Fall 2.2:wegen |vx | ≥ 1 gilt w ′ = an b am b a3n mit m < 2n

Fall 2.3:wegen |vx | ≥ 1 giltw ′ = an b a2n b am mit m < 3n

vwx liegt zwischen den b’s.

vwx tritt vor vor dem ersten b auf.

vwx liegt hinter dem zweiten b.

w ′ ∈ L1

w ′ ∈ L1

Fall 3: vwx uberspannt ein b.

5

Page 22: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c auf

Betrachte das Wort w ′ = uv2wx2y = w1cw2 fur w1, w2 ∈ {a, b}?

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 23: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein c

Betrachte w ′ = uv2wx2y ∈ L2

wegen |vx | ≥ 1 muss w ′ mehr als ein c enthalten.

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 24: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c auf

Betrachte das Wort w ′ = uv2wx2y = w1cw2 fur w1, w2 ∈ {a, b}?wegen |vx | ≥ 1 gilt |w1| > |w2|

w1 ist nicht Teilwort von w2w ′ ∈ L2

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 25: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c aufFall 3: vwx tritt nach c auf

Betrachte das Wort w ′ = uv0wx0y = w1cw2 fur w1, w2 ∈ {a, b}?wegen |vx | ≥ 1 gilt |w1| > |w2|

w1 ist nicht Teilwort von w2w ′ ∈ L2

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 26: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c aufFall 3: vwx tritt nach c aufFall 4: w uberspannt c

Fall 4.1: x beginnt mit einem a

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 27: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c aufFall 3: vwx tritt nach c aufFall 4: w uberspannt c

Fall 4.1: x beginnt mit einem aBetrachte das Wort w ′ = uv0wx0y = w1cw2 fur w1, w2 ∈ {a, b}?

w1 enthalt ein a, wahrend w2 nur aus b’s besteht.w1ist kein Teilwort von w2

w ′ ∈ L2Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 28: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c aufFall 3: vwx tritt nach c aufFall 4: w uberspannt c

Fall 4.1: x beginnt mit einem aFall 4.2: x beginnt mit einem b

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 29: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c aufFall 3: vwx tritt nach c aufFall 4: w uberspannt c

Fall 4.1: x beginnt mit einem aFall 4.2: x beginnt mit einem b (Wegen |vwx | ≤ n nicht moglich)Fall 4.3: x = ε

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 30: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreiheit widerlegenL2 = {wcv ∈ {a, b, c}? |w ist ein Teilwort von v

mit v ∈ {a, b}?}Betrachte Zerlegung anbncanbn = uvwxy

Fall 1: v oder x enthalt ein cFall 2: vwx tritt vor c aufFall 3: vwx tritt nach c aufFall 4: w uberspannt c

Fall 4.1: x beginnt mit einem aFall 4.2: x beginnt mit einem b (Wegen |vwx | ≤ n nicht moglich)Fall 4.3: x = εBetrachte das Wort w ′ = uv2wx2y = w1cw2 fur w1, w2 ∈ {a, b}?

wegen |vx | ≥ 1 gilt |w1| > |w2|w1 ist nicht Teilwort von w2

Fur jede kontextfreie Sprache L gibt es eine Konstante n ∈ N,so dass sich jedes Wort z ∈ L mit |z| ≥ n in

z = uvwxy

zerlegen lasst und

|vx | ≥ 1,

|vwx | ≤ n und

uv iwx iy ∈ L fur alle i ≥ 0.

6

Page 31: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kellerautomaten

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Ein (nichtdet.) Kellerautomat (Q,Σ, Γ , q0, Z0, δ, F ) besteht aus

StackZ0

7

Page 32: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kellerautomaten

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Ein (nichtdet.) Kellerautomat (Q,Σ, Γ , q0, Z0, δ, F ) besteht ausQ endliche Zustandsmenge und Anfangszustand q0 ∈ QF Menge akzeptierender ZustandeΣ endliches EingabealphabetΓ endliches Stackalphabet und Stackinitialisierung Z0 ∈ Γ

StackZ0

7

Page 33: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kellerautomaten

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Ein (nichtdet.) Kellerautomat (Q,Σ, Γ , q0, Z0, δ, F ) besteht aus

δ : Q × (Σ ∪ {ε})× Γ → 2Q×Γ?

δ(q, a, Z ) ⊆ {(q,γ) : q ∈ Q,γ ∈ Γ?}δ(q, ε, Z ) ⊆ {(q,γ) : q ∈ Q,γ ∈ Γ?}

StackZ0

7

Page 34: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

StackZ0

o o x o o x

8

Page 35: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

8

Page 36: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

Z0

Z1

8

Page 37: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

Z0

Z1

Z1

8

Page 38: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

Z0

Z1

Z1

8

Page 39: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

Z0

Z1

8

Page 40: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

Z0

8

Page 41: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

Z0

8

Page 42: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Abarbeitung eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

o o x o o x

8

Page 43: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Determinismus

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

Ein Kellerautomat ist deterministisch, falls

|δ(q, a, Z )| = 1 und δ(q, ε, Z ) = ∅

fur alle q ∈ Q, a ∈ Σ, Z ∈ Γ gilt.

9

Page 44: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Determinismus

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

Ein Kellerautomat ist deterministisch, falls

|δ(q, a, Z )| = 1 und δ(q, ε, Z ) = ∅

fur alle q ∈ Q, a ∈ Σ, Z ∈ Γ gilt.

nicht

deter

ministi

sch

9

Page 45: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Akzeptanz eines Wortes

Es gibt zulassige Folge von Konfigurationen aus der Anfangskonfiguration(q0, w , Z0) in eine Konfiguration (q, ε, ε), q ∈ Q,.

Akzeptanz durch leeren Stack

Es gibt zulassige Folge von Konfigurationen aus der Anfangskonfiguration(q0, w , Z0) in eine Konfiguration (q, ε,γ) mit q ∈ F und γ ∈ Γ∗ gibt.

Akzeptanz durch Endzustande

Sei w ∈ Σ? das Eingabewort.

Konfiguration (q, w ,α):q= Zustand,w= der Teil der Eingabe, der noch nicht gelesen wurde,α= Stackinhalt.

10

Page 46: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Akzeptanz eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

StackZ0

11

Page 47: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Akzeptanz eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

Gesucht: Sprache LF , die A mit Endzustanden akzeptiert.

Z0

11

Page 48: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Akzeptanz eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

Gesucht: Sprache LF , die A mit Endzustanden akzeptiert.

LF ={

oi1 xoi1 xoi2 xoi2 x . . . oik xoik xoixoj | i1, i2, . . . , ik , i ≥ 1, i ≥ j}

Z0

11

Page 49: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Akzeptanz eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

Gesucht: Sprache Lε, die A durch leeren Stack akzeptiert.

Z0

11

Page 50: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Akzeptanz eines Wortes

o, Z1 → Z1Z1

ε, Z0 → ε

o, Z0 → Z1Z0

x , Z1 → Z1

x , Z0 → Z0

o, Z1 → ε

q0 q1

Stack

Gesucht: Sprache Lε, die A durch leeren Stack akzeptiert.

Sei L = {oixoix | i > 0}, dann ist Lε = L?

Z0

11

Page 51: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Grammatik von Lε

Die kontextfreie Grammatik G = ({o, x}, {S, B}, S, R) fur Lε mit

R = {S → ε | SS | oBox ,

B → oBo | x}

Sei L = {oixoix | i > 0}, dann ist Lε = L?

12

Page 52: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Greibach-Normalform

Eine kontextfreie Grammatik ist in Greibach-Normalform, wenn alle Ab-leitungsregeln von der Form

A→ aα mit A ∈ V , a ∈ Σ und α ∈ V∗

sind.

Fur jede kontextfreie Grammatik G, fur die L(G) das leere Wort nichtenthalt, kann eine (aquivalente) kontextfreie Grammatik G′ mit L(G) =L(G′) in Greibach-Normalform konstruiert werden.

13

Page 53: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Greibach-Normalform

Ersetzung (i). Eine Regel

A→ α1Bα2

wobeiB → β1, B → β2, . . . , B → βr

alle Regeln sind, deren linke Seite B ist, kann durch die Regeln

A→ α1β1α2

A→ α1β2α2

. . .

A→ α1βrα2

ersetzt werden.

14

Page 54: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Greibach-Normalform

Ersetzung (ii). Seien

A → Aα1, . . . , A→ Aαr

A → β1, . . . , A→ βs

alle Regeln, deren linke Seite A ist, wobei βi nicht mit A beginnen. Dannkonnen die Regeln

A→ Aα1, . . . , A→ Aαr

durch die Regeln

A → β1B, . . . , A→ βsB

B → α1, . . . , B → αr ,

B → α1B, . . . , B → αr B

ersetzt werden. Dabei sei B eine neu eingefuhrte Variable.15

Page 55: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Verfahren

Annahme: G befindet sich in Chomsky-Normalform

1. Schritt:

2. Schritt:

Falls Ai → Ajα Regel ist, so gilt j > i .

Bringe Regeln mit linker Seite in V in Form

Ak → aα, a ∈ Σ,α ∈ (V ′)?

3. Schritt: Ersetze Regeln Bi → Ajα, α ∈ (Σ ∪ V ′)∗ mit Ersetzung (i).

16

Page 56: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

G = (Σ, V , S, R) mit Σ = {a, b, c} und V = {S, B, C}

S → BC | aB → SC | cC → BS | b

17

Page 57: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

G = (Σ, V , S, R) mit Σ = {a, b, c} und V = {S, B, C}

S → BC | aB → SC | cC → BS | b

0. Schritt: Nichtterminale umbenennen.

A1 → A2A3 | aA2 → A1A3 | cA3 → A2A1 | b

17

Page 58: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

1. Schritt: Falls Ai → Ajα Regel ist, so gilt j > i .

A1 → A2A3 | aA2 → A1A3 | cA3 → A2A1 | b

18

Page 59: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

1. Schritt: Falls Ai → Ajα Regel ist, so gilt j > i .

Ersetzung (i)auf A2

A1 → A2A3 | aA2 → A1A3 | cA3 → A2A1 | b

A1 → A2A3 | aA2 → A2A3A3 | aA3 | cA3 → A2A1 | b

18

Page 60: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

1. Schritt: Falls Ai → Ajα Regel ist, so gilt j > i .

Ersetzung (i)auf A2

A1 → A2A3 | aA2 → A1A3 | cA3 → A2A1 | b

Ersetzung (ii)auf A2

A1 → A2A3 | aA2 → A2A3A3 | aA3 | cA3 → A2A1 | b

A1 → A2A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → A2A1 | bB1 → A3A3 | A3A3B1

18

Page 61: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

1. Schritt: Falls Ai → Ajα Regel ist, so gilt j > i .

Ersetzung (i)auf A2

A1 → A2A3 | aA2 → A1A3 | cA3 → A2A1 | b

Ersetzung (ii)auf A2

A1 → A2A3 | aA2 → A2A3A3 | aA3 | cA3 → A2A1 | b

Ersetzung (ii)auf A3

A1 → A2A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → A2A1 | bB1 → A3A3 | A3A3B1

A1 → A2A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → A3A3 | A3A3B1

18

Page 62: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

2. Schritt: Bringe Regeln mit linker Seite in V in Form

Ak → aα, a ∈ Σ,α ∈ (V ′)?

A1 → A2A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → A3A3 | A3A3B1

19

Page 63: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

2. Schritt: Bringe Regeln mit linker Seite in V in Form

Ak → aα, a ∈ Σ,α ∈ (V ′)?

Ersetzung (i)auf A2

A1 → A2A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → A3A3 | A3A3B1

A1 → aA3A3 | cA3 | aA3B1A3 | cB1A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → A3A3 | A3A3B1

19

Page 64: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

3. Schritt: Ersetze Regeln Bi → Ajα, α ∈ (Σ ∪ V ′)? mit Ersetzung (i).

Ersetzung (i)auf A3

A1 → aA3A3 | cA3 | aA3B1A3 | cB1A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → A3A3 | A3A3B1

20

Page 65: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Konstruktion von Greibach-Normalform

3. Schritt: Ersetze Regeln Bi → Ajα, α ∈ (Σ ∪ V ′)? mit Ersetzung (i).

Ersetzung (i)auf A3

A1 → aA3A3 | cA3 | aA3B1A3 | cB1A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → aA3A1A3 | cA1A3 | aA3B1A1A3 | cB1A1A3 |

bA3 | aA3A1A3B1 | cA1A3B1 | aA3B1A1A3B1 | cB1A1A3B1 | bA3B1

A1 → aA3A3 | cA3 | aA3B1A3 | cB1A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → A3A3 | A3A3B1

20

Page 66: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Greibach-Normalform und Kellerautomaten

Sei G = (Σ, V , S, R) eine Grammatik in Greibach-Normalform.

Kellerautomat A = (Q,Σ, Γ , δ, q0, Z0)

Q := {q0}Γ := V

Z0 := S

δ(q0, a, A) := {(q0,α)|(A→ aα) ∈ R}

21

Page 67: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Greibach-Normalform und Kellerautomaten

δ(q0, a, A) := {(q0,α)|(A→ aα) ∈ R}

A1 → aA3A3 | cA3 | aA3B1A3 | cB1A3 | aA2 → aA3 | c | aA3B1 | cB1

A3 → aA3A1 | cA1 | aA3B1A1 | cB1A1 | bB1 → aA3A1A3 | cA1A3 | aA3B1A1A3 | cB1A1A3 |

bA3 | aA3A1A3B1 | cA1A3B1 | aA3B1A1A3B1 | cB1A1A3B1 | bA3B1

δ(q0, a, A1) = {(q0, A3A3), (q0, A3B1A3), (q0, ε)}

δ(q0, b, A1) = {}δ(q0, c, A1) = {(q0, A3), (q0, B1A3)}

Fur A1

Analog fur A1, A2, A3, B1.

22

Page 68: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

UPN: Schreibweise von arithmetischen Ausdrucken(5

7− (1 + 1)× 3

)− (2 + (1 + 1))

wird geschrieben als

5 7 1 1 +−/ 3× 2 1 1 + +−

23

Page 69: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

UPN: Schreibweise von arithmetischen Ausdrucken(5

7− (1 + 1)× 3

)− (2 + (1 + 1))

wird geschrieben als

5 7 1 1 +−/ 3× 2 1 1 + +−

23

Page 70: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

UPN: Schreibweise von arithmetischen Ausdrucken(5

7− (1 + 1)× 3

)− (2 + (1 + 1))

wird geschrieben als

5 7 1 1 +−/ 3× 2 1 1 + +−

23

Page 71: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

UPN: Schreibweise von arithmetischen Ausdrucken(5

7− (1 + 1)× 3

)− (2 + (1 + 1))

wird geschrieben als

5 7 1 1 +−/ 3× 2 1 1 + +−

Gesucht: kontextfr. Gr., die arithmetische Ausdrucke in UPN erzeugt.

Ausdruck

A→ Z

A→ AAV

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

23

Page 72: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

Gesucht: aquivalente Grammatik in Greibach-Normalform.

Ausdruck

A→ Z

A→ AAV

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Kontextfreie Grammatik, die arithmetische Ausdrucke in UPN erzeugt:

24

Page 73: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

Gesucht: aquivalente Grammatik in Greibach-Normalform.

Ausdruck

A→ Z

A→ AAV

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Kontextfreie Grammatik, die arithmetische Ausdrucke in UPN erzeugt:

Verknupfung

V → + | − | × | /

24

Page 74: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

Gesucht: aquivalente Grammatik in Greibach-Normalform.

Ausdruck

A→ Z

A→ AAV

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Kontextfreie Grammatik, die arithmetische Ausdrucke in UPN erzeugt:

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

24

Page 75: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

Gesucht: aquivalente Grammatik in Greibach-Normalform.

Ausdruck

A→ Z

A→ AAV

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Kontextfreie Grammatik, die arithmetische Ausdrucke in UPN erzeugt:

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

24

Page 76: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

Gesucht: aquivalente Grammatik in Greibach-Normalform.

Ausdruck

A→ Z

A→ AAV

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Kontextfreie Grammatik, die arithmetische Ausdrucke in UPN erzeugt:

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → AV

R → AVR

24

Page 77: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

Gesucht: aquivalente Grammatik in Greibach-Normalform.

Ausdruck

A→ Z

A→ AAV

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Kontextfreie Grammatik, die arithmetische Ausdrucke in UPN erzeugt:

Zahl

Z → 0 | 1 | . . . | 9

Verknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest: ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

24

Page 78: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische Notation

Gesucht: Ableitung von 5 7 1 1 +−/ 3×

Verknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

25

Page 79: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

A

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 80: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

R

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 81: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

RVR

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 82: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

RVVR

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 83: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

RVVV

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 84: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

RVV

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 85: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

RV

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 86: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

R

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 87: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

V

×5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25

Page 88: 8. Übung, Theoretische Grundlagen der Informatik · Guido Br uckner 8.¨ Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl Algorithmik

Guido Bruckner – 8. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Umgekehrte Polnische NotationVerknupfung

V → + | − | × | /

Ausdruck

A→ 0 | 1 | . . . | 9A→ 0R | 1R | . . . | 9R

Rest ”R → AV | AVAV | . . .“

R → 0V | 1V | . . .R → 0RV | 1RV | . . .R → 0VR | 1VR | . . .R → 0RVR | 1RVR | . . .

A

5R

7RVR

3V/1RV

1V

+

A

5R

7RVR

3V/

×1RV

1V

+

Gesucht: PDA-Abarbeitung von 5 7 1 1 +−/ 3×

Akzeptiert durch leeren Stack

5 7 1 1 + − / 3×

Benutze den Ab-leitungsbaum, umgunstige Ubergangezu finden.

25