• 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 14. Juni 2018 Übung zur Vorlesung

Grundlagen der theoretischen Informatik

Aufgabenblatt 8 Lösungen

Wiederholung: Push-Down-Automat Syntax:

Ein Push-Down-Automat (PDA) ist ein TupelM= (K,Σ,Γ,∆, s0, Z0, F)mit:

K einer endlichen Menge von Zuständen, Σ einem Eingabealphabet,

Γ einem Stack- oder Kelleralphabet, s0 ∈K einem Startzustand,

Z0∈Γ einem Anfangssymbol im Keller, F ⊆K einer Menge von nalen Zuständen,

∆ einer endlichen Übergangsrelation (∆⊆(K×(Σ∪ {ε})×Γ)×(K×Γ)) Graphische Notation:

ˆ Für jeden Zustandq ∈K gibt es einen Knoten.

ˆ Startzustand und nale Zustände werden wie bei endlichen Automaten notiert.

ˆ Für jedes Element e= ((q1, a, A),(q2, γ))∈ ∆gibt es eine Kante von q1 nach q2

beschriftet mita, A|γ.

Konguration: Ein Tupel C= (q, w, γ)∈K×Σ×Γ heiÿt Konguration vonM. Startkonguration: Das Tupel(s0, w, Z0) heiÿt Startkonguration von Mmit Eingabew.

Nachfolgekonguration: C2 ist eine Nachfolgekonguration vonC1 (C1`C2), falls

ˆ C1 = (q1, aw, Aγ), C2 = (q2, w, ηγ) und es gibt einen Übergang ((q1, a, A),(q2, η))∈∆ (für geeigneteq1, q2, a, A, η, γ, w), oder

ˆ C1 = (q1, w, Aγ), C2 = (q2, w, ηγ) und es gibt einen Übergang ((q1, ε, A),(q2, η))∈∆(für geeignete q1, q2, A, η, γ, w)

Hinweis: Da∆im Allgemeinen indeterminiert ist, hatC1 im Allgemeinen auch mehrere Nachfolgezustände.

Rechnung: Die Folge C0, C1, . . . Cn heiÿt Rechnung von M, falls Ci ` Ci+1 für alle i < n gilt. Man schreibt kurzC0 `Cn.

(2)

akzeptierte Sprache:

(a) über nalen Zustand:

Lf(M) :={w∈Σ| ∃qf ∈F :∃γ ∈Γ : (s0, w, Z0)`(qf, ε, γ)}

(b) über leeren Keller:

Ll(M) :){w∈Σ | ∃q0 ∈K : (s0, w, Z0)` (q0, ε, ε)}

Aufgabe 8.1

Konstruieren Sie einen PDA, der die Sprache

L={wabicabjcwR|w∈ {a, b, c}∧i, j∈N, i≥j,} erkennt.

Lösung:

M = (K,Σ,Γ,∆, Z0, s, F)mit K={s, q1, q2, q3, q4, f},Σ ={a, b, c},Γ ={A, B, C, J, Z0}, F ={f}und für alle X ∈Γ:

(s, a, X)∆(s, AX) (s, b, X)∆(s, BX) (s, c, X)∆(s, CX) (s, a, X)∆(q1, X)

(q1, b, X)∆(q1, J X) (q1, c, X)∆(q2, X) (q1, b, X)∆(q1, X)

(q2, a, X)∆(q3, X)

(q3, b, J)∆(q3, ε) (q3, c, X)∆(q4, X) (q4, a, A)∆(q4, ε) (q4, b, B)∆(q4, ε) (q4, c, C)∆(q4, ε) (q4, ε, Z0)∆(f, ε)

Aufgabe 8.2

(3)

SeiMein beliebiger PDA. Es gilt stets: Lf(M) =Ll(M). richtig falsch Sei M = (K,Σ,Γ,∆, s0, Z0, F) ein PDA mit F = ∅. Es gilt stets:

Lf(M) =∅.

richtig falsch Sei M = (K,Σ,Γ,∆, s0, Z0, F) ein PDA mit F = ∅. Es gilt stets:

Ll(M) =∅.

richtig falsch Sei L eine beliebige formale Sprache. Es existiert ein PDA M mit

Ll(M)⊆L.

richtig falsch

Aufgabe 8.3

Gegeben der folgende PDAM.

s0

s1

a, Z0 |A a, A|AA c, A|A

a, A|ε

Geben Sie einen PDA M0 an, mitLf(M) =Ll(M0). Lösung:

Am Anfang liegt ein neues StacksymbolZ1 auf dem Keller, dasM nicht entfernen kann, daZ1 nicht im Stackalphabet von M enthalten ist. Auf dieses Stacksymbol wird Z0 gelegt und M0 arbeitet wie M. Wenn M in den nalen Zustand übergeht, geht M0 in einen neuen Zustand sl über, in dem nur noch der Stack geleert werden kann.

(4)

sneu

s0

s1

sl

a, Z0 |A a, A|AA c, A|A

ε, Z1|Z0Z1

a, A|ε ε, X |ε

ε, X |ε

X∈ {Z0, Z1, A}

Aufgabe 8.4

Gegeben die Grammatik G= ({S, S0, A, B},{a, b}, R, S)in Greibach-Normal-Form mit:

R={S →ε|aB|bA, S0 →aB|bA,

A→a|aS0|bAA, B →b|bS0 |aBB}

a) Geben Sie einen PDAM0 an, mitLl(M0) =L(G). Lösung:

Zu einer beliebigen cf-GrammatikG= (V, T, R, S)in Greibach-Normalform konstruiert man einen äquivalenten PDA wie folgt: M= (K,Σ,Γ,∆, s0, Z0, F) mit

K :={s0}, Σ :=T, Γ :=V,

Z0 :=S, F :=∅, ∆ :={((s0, a, A),(s0, α))|A→aα∈R}

also ist M0 gegeben durch:

(5)

Lösung:

Wir führen einen neuen nalen Zustand und ein neues Stack-Symbol Z1 ein, das wir zu Beginn unten auf den Stack legen. Wenn dieses sichtbar wird, wäre der Stack des ur- sprünglichen Automaten leer und wir wechseln in den nalen Zustand.

sneu

s0

sf

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

a, A|ε a, A|S0 b, A|AA b, B |ε b, B |S0 a, B |BB

ε, Z1 |ε ε, Z1 |SZ1

mitZ0:=S

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

Dann können wir beim Lesen der zweiten Hälfte einfach entscheiden, ob diese mit dem Stackinhalt übereinstimmt.. In s 0 speichern wir also zunächst einen Teil des Eingabewortes auf

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

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