• Keine Ergebnisse gefunden

Grundlagen der theoretischen Informatik

N/A
N/A
Protected

Academic year: 2022

Aktie "Grundlagen der theoretischen Informatik"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

M.Ed. Dennis Peuter 21. Juni 2018 Übung zur Vorlesung

Grundlagen der theoretischen Informatik

Aufgabenblatt 9 Lösungen

Aufgabe 9.1

a) Gegeben sei der folgende PDA:

A= ({s0, s1},{a, b},{A, Z0},∆, s0, Z0,{s1}) mit der folgenden Übergangsrelation

∆ ={((s0, a, Z0),(s1, AZ0)), ((s1, a, A),(s1, AA)), ((s1, b, A),(s1, ε)), ((s1, b, Z0),(s0, ε))}

Entscheiden Sie, obAdas Wortw=aabbüber leeren Keller und/oder über nalen Zustand akzeptiert. Vervollständigen Sie dazu die Rechnung.

s

0

, aabb, Z

0

` s

1

, abb, AZ

0

`

s

1

, bb, AAZ

0

` s

1

, b, AZ

0

` s

1

, ε, Z

0

w∈Ll(A)

Aakzeptiertwüber leeren Keller

ja

nein

w∈Lf(A)

Aakzeptiertwüber nalen Zustand

ja

nein

b) Gegeben die folgende SpracheL über dem AlphabetΣ ={a, b}: L={aibjajbi ∈Σ |i, j∈N+} Zeichnen Sie einen PDA, der Lüber leeren Keller akzeptiert.

(2)

Lösung:

s0

a, Z0|Z0B a, Z0|CB

b, C|CA b, C|A a, A|ε b, B|ε

Aufgabe 9.2

Konstruieren Sie einen PDA der die Sprache L ={w ∈ {a, b} | w ist ein Palindrom}1 über leeren Keller akzeptiert.

Lösung:

Eine Grammatik für Lin Greibach-Normalform ist: G= ({S, S0, A, B},{a, b}, R, S) mit R ={S →aS0A|bS0B |aA|bB |a|b|ε,

S0 →aS0A|bS0B|a|b|aA|bB, A→a,

B →b}

Der entsprechende PDA ist also:

s0

a, S |S0A b, S |S0B a, S|A b, S |B a, S|ε b, S|ε ε, S|ε a, S0 |S0A b, S0|S0B a, S0|ε b, S0 |ε a, S0 |A b, S0|B

a, A|ε b, B|ε

mitZ0:=S

Alternative Lösung:

Wir konstruieren den Automaten ohne Umweg über die GNF. Dabei verwenden wir den Stack, um den ersten Teil des Wortes in umgekehrter Reihenfolge zu speichern. Dann können wir beim Lesen der zweiten Hälfte einfach entscheiden, ob diese mit dem Stackinhalt übereinstimmt.

Ins0speichern wir also zunächst einen Teil des Eingabewortes auf dem Stack. Dann entscheiden wir indeterminiert, dass wir die Wortmitte erreicht haben und wechseln zus2. In diesem Zustand in dem der Stack geleert und mit dem Rest des Eingabewortes verglichen.

M = (K,Σ,Γ,∆, s0, Z0,∅) mit K = {s0, s1}, Σ = {a, b}, Γ = {Z0, A, B} und ∆ gegeben durch:

1wist ein Palindrom gdw. w=wR.

2

(3)

∀X∈Γ : (s0, a, X)∆(s0, AX)

∀X∈Γ : (s0, b, X)∆(s0, BX)

Stackaufbau

∀X∈Γ : (s0, a, X)∆(s1, X)

∀X∈Γ : (s0, b, X)∆(s1, X)

∀X∈Γ : (s0, ε, X)∆(s1, X)









Raten der Wortmitte

(s1, a, A)∆(s1, ε) (s1, b, B)∆(s1, ε) (s1, ε, Z0)∆(s1, ε)









Stackabbau

Aufgabe 9.3

Entscheiden Sie durch Ankreuzen, ob die folgenden Aussagen richtig oder falsch sind.

Seien L1 und L2 beliebige kontextfreie Sprachen. Dann ist auch L3 = L1∪ ¬L2 kontextfrei.

richtig falsch SeienL1,L2 undL3 beliebige kontextfreie Sprachen. Dann ist auchL4 =

(L2∩ ¬L3)∩(L3∩ ¬L1) kontextfrei.

richtig falsch SeienL1,L2 undL3 beliebige kontextfreie Sprachen. Dann ist auchL4 =

L1∪L2L3 kontextfrei.

richtig falsch SeienL1,L2 und L3 beliebige rationale Sprachen. Dann ist L4 = (L1

L2)∪ ¬L3 kontextfrei.

richtig falsch

(4)

Wiederholung: Cocke-Younger-Kasami

Input: eine Grammatik G= (V,Σ, R, S) in CNF, ein Wort w=a1. . . an∈Σ Output: w∈L(G)gdw. w∈L(G), sonstw6∈L(G)

for i←1. . . ndo /*Initialisierung*/

Vi,i← {A∈V |A→ai ∈R}; end

for h←1. . . n−1do /*Rechnung*/

for i←1. . . n−h do Vi,i+h ←Si+h−1

j=i Vi,j∗Vj+1,i+h

end end

if S∈V1,n then /*Ausgabe*/

return w∈L(G) elsereturn w6∈L(G) end

dabei ist M∗N deniert durch

M∗N :={A∈V | ∃B ∈M,∃C∈N :A→BC ∈R}

Aufgabe 9.4

Gegeben Sei die folgende GrammatikG= ({S, A, B, C, D, E, F},{a, b}, R, S) mit R={S→AB|CD|ED,

A→b,

B→CS|AE|a, C→a,

D→AS|CF|b, E→BB, F →DD}

Entscheiden Sie mit dem Algorithmus von Cocke-Younger-Kasami, ob w=ba3b2 ∈L(G) ist.

Lösung:

4

(5)

b a a a b b b {A,D}

a {S} {B,C}

a {B} {E} {B,C}

a {E} ∅ {E} {B,C}

b {B,S} {E,B} {B,S} {S} {A,D}

b {S,D} {B,S} {S} {D} {F} {A,D}

DaS ∈V1,n, giltw∈L(G).

Referenzen

ÄHNLICHE DOKUMENTE

M mindestens eine Rechnung gibt, so dass eine Konguration erreicht wird, für die es keine Nachfolgekonguration (deniert durch ∆ ) gibt.. richtig falsch M akzeptiert ein Wort

Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik. Dennis

Hinweis: Falls die Sprache regulär ist, geben sie eine rechtslineare Grammatik, einen regulären Ausdruck oder einen endlichen Automaten an. Ein Beweis, dass dieser der gegebenen

Konstruieren Sie jeweils I(r i ) für die folgenden Ausdrücke mithilfe der Denition der Semantik der

M hält bei Eingabe

Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4:

Wenn M in den nalen Zustand übergeht, geht M 0 in einen neuen Zustand s l über, in dem nur noch der Stack geleert werden

In diesem Fall führt Aufpumpen dazu, dass das Wort unter- schiedlich viele a und c enthält.. In diesem Fall führt Aufpumpen dazu, dass das Wort unter- schiedlich viele b und