• Keine Ergebnisse gefunden

Musterl¨ osung zu ¨ Ubungsblatt 9

N/A
N/A
Protected

Academic year: 2021

Aktie "Musterl¨ osung zu ¨ Ubungsblatt 9"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universit¨at Siegen

Lehrstuhl Theoretische Informatik Markus Lohrey

Grundlagen der Theoretischen Informatik SS 2020

Musterl¨ osung zu ¨ Ubungsblatt 9

Aufgabe 1. Geben Sie Kellerautomaten und kontextfreie Grammatiken an, die die folgenden Sprachen akzeptieren.

(a) {anbn |n ≥0}

(b) {w ∈ {a,b} |Die Anzahl der a’s und b’s ist gleich.}

(c) {ambn |m,n ≥0, m 6=n}

(d) {w ∈ {a,b} |w =wr}

L¨osung zu Aufgabe 1. Die Grammatiken, die im Folgenden angegeben sind, erf¨ullen zum Teil nicht dieε-Sonderregel und sind daher streng genom- men nicht kontextfrei im Sinne der Definition.

Zus¨atzliche Aufgabe: Modifizieren Sie die angegebenen Grammatiken so, dass die ε-Sonderregel erf¨ullt ist und die Grammatiken somit auch im strengeren Sinne kontextfrei sind.

(a) Grammatik

• G1 = (V,Σ,P,S)

• V ={S}

• Σ ={a,b}

• P ={S →ε | aSb}

Kellerautomat

• M1 = (Z,Σ,Γ, δ,z0,#)

• Z ={z0,z1}

• Σ ={a,b}

(2)

δ : (z0, ε,#) →(z1, ε) (z0,a,#)→(z0,A#) (z0,a,A)→(z0,AA) (z0,b,A)→(z1, ε) (z1,b,A)→(z1, ε) (z1, ε,#) →(z1, ε)

Die einfache Idee hinter diesem Kellerautomaten ist, dass f¨ur jedes a im an Bereich einAauf den Keller gelegt wird, und f¨ur jedesb imbn Bereich ein A vom Keller entfernt wird.

(b) Grammatik

• G2 = (V,Σ,P,S)

• V ={S}

• Σ ={a,b}

• P ={S →ε | aSbS | bSaS}

Idee: Auf jedes a muss irgendwann ein zugeh¨origes b folgen und um- gekehrt. Davor und dahinter k¨onnen wir mit einem S das Wort weiter verl¨angern oder die Konstruktion durch die ε-Transition beenden.

Kellerautomat, Variante 1

• M2 = (Z,Σ,Γ, δ,z0,#)

• Z ={z0}

• Σ ={a,b}

• Γ ={#,P,N}

(3)

Dabei istδ wie folgt definiert:

δ : (z0, ε,#)→(z0, ε) (z0,a,#)→(z0,P#) (z0,b,#)→(z0,N#) (z0,a,P)→(z0,PP) (z0,b,P)→(z0, ε) (z0,a,N)→(z0, ε) (z0,b,N)→(z0,NN)

Wir verwenden den Keller um die Differenz #a(w)−#b(w) zu speichern, wobei #a(w) die Anzahl a’s im Wort w ist, #b(w) die Anzahl an b’s.

Positive Werte werden durch eine Folge vonP’s codiert, negative Werte durch eine Folge vonN’s.

Enth¨alt das eingelesene Wort gleichviele a’s und b’s, ist der Keller am Ende leer.

Kellerautomat, Variante 2

• M2 = (Z,Σ,Γ, δ,z0,S)

• Z ={z0}

• Σ ={a,b}

• Γ ={S,A,B}

Dabei istδ wie folgt definiert:

δ: (z0, ε,#)→(z0,S#) (z0, ε,S)→(z0,ASBS) (z0, ε,S)→(z0,BSAS)

(4)

wenn wieder ein S oben auf dem Keller liegt, mit Hilfe der beiden ε- Uberg¨¨ ange ((z0, ε,S) → (z0,ASBS), (z0, ε,S) → (z0,BSAS)) r¨at, wie das Wort in der Zukunft weiter geht und die entsprechenden Symbole auf den Keller packt. Anschließend werden mit den beiden ¨Uberg¨angen (z0,a,A) → (z0, ε) und (z0,b,B) → (z0, ε) die entsprechenden Symbole vom Keller entfernt.

(c) Grammatik

• G3 = (V,Σ,P,S)

• V ={S,A,B}

• Σ ={a,b}

• P ={S →aSb | A | B, A→aA |a, B →bB |b}

Uber die Regel¨ S →aSb erzeugen wir W¨orter mit gleich vielen a’s und b’s.

Die ¨Uberg¨ange S → A und S → B f¨ugen in der Mitte dann noch ein Wortan oderbn mitn ≥1 ein, so dass am Ende entweder mehra’s oder mehrb’s erzeugt wurden.

Kellerautomat

• M3 = (Z,Σ,Γ, δ,z0,#)

• Z ={z0,z1,z2,z3,z4,z5}

• Σ ={a,b}

• Γ ={#,A,B}

(5)

Dabei istδ wie folgt definiert:

δ: (z0,a,#)→(z1,#) (1)

(z1,a,#)→(z1,#) (1) (z1, ε,#)→(z1, ε) (1) (z0,b,#)→(z2,#) (2) (z2,b,#)→(z2,#) (2/4) (z2, ε,#)→(z2, ε) (2/4) (z0,a,#)→(z3,A#) (3/4) (z3,a,A)→(z3,AA) (3/4) (z3,b,A)→(s0, ε) (3) (s0,b,A)→(s0, ε) (3) (s0, ε,A)→(s1, ε) (3) (s1, ε,A)→(s1, ε) (3) (s1, ε,#)→(s1, ε) (3) (z3,b,A)→(q0, ε) (4) (q0,b,A)→(q0, ε) (4) (q0,b,#)→(z2,#) (4)

Lassen Sie sich nicht abschrecken von den vielen Transitionen, denn das Prinzip ist einfacher als es aussieht. Wir unterscheiden nichtdeterminis- tisch 4 Typen von W¨ortern, die zur Sprache geh¨oren:

(1) an f¨ur n ≥1 (2) bn f¨ur n ≥1

(3) ambn mit m,n ≥1 und m >n (4) ambn mit m,n ≥1 und m <n

(6)

schließend den Keller ohne weitere Buchstaben zu lesen. Beachten Sie, dass falls man den ε- ¨Ubergang anwendet bevor das Wort zu Ende ge- lesen wurde, so wird am Ende nicht akzeptiert, da im Zustands1 keine weiteren Buchstaben gelesen werden.

Im Fall (4) wird ebenfalls f¨ur jedes b ein A vom Keller entfernt, aber anschließend wechselt man in den Zustand z2, falls man das Kellerbo- densymbol # erreicht und ein b gelesen wird (und somit mehr b’s als a’s gelesen wurden). Im Zustand z2 werden dann noch beliebig viele b’s gelesen bevor man das Kellerbodensymbol entfernt.

(d) Grammatik

• G4 = (V,Σ,P,S)

• V ={S}

• Σ ={a,b}

• P ={S →ε | a | b | aSa | bSb}

Kellerautomat

• M4 = (Z,Σ,Γ, δ,z0,#)

• Z ={z0,z1}

• Σ ={a,b}

• Γ ={#,A,B}

(7)

Dabei istδ wie folgt definiert:

δ: (z0, ε,#)→(z0, ε) (1)

(z0,a,#)→(z0,A#) (1) (z0,b,#)→(z0,B#) (1) (z0,a,A)→(z0,AA) (1) (z0,b,A)→(z0,BA) (1) (z0,a,B)→(z0,AB) (1) (z0,b,B)→(z0,BB) (1) (z0, ε,A)→(z1,A) (2) (z0, ε,B)→(z1,B) (2) (z0,a,A)→(z1,A) (2) (z0,b,A)→(z1,A) (2) (z0,a,B)→(z1,B) (2) (z0,b,B)→(z1,B) (2) (z1,a,A)→(z1, ε) (3) (z1,b,B)→(z1, ε) (3) (z1, ε,#)→(z1, ε) (3)

Falls w ∈ L, muss w = xxr oder xmxr aufgebaut sein mit x ∈ {a,b}, m ∈ {a,b}.

In (1) wird das Wort in richtiger Reihenfolge auf den Stack gelegt und in (3) r¨uckw¨arts ausgelesen und mit dem Rest des Wortes verglichen.

Der ¨Ubergang, d.h. die Mitte des Wortes, wird mit (2) nicht-deterministisch geraten, mit einem ε- ¨Ubergang f¨ur den Fall w = xxr und einem a/b- Ubergang f¨¨ ur den Fall w =xmxr.

(8)

• Regul¨are Sprachen

• Kontextfreie Sprachen

• Endliche Sprachen

• Un¨are Sprachen (alle Sprachen Lmit L⊆ {a}) L¨osung zu Aufgabe 2.

endliche Sprachen

regul¨are Sprachen

kontext- freie Sprachen

un¨are Sprachen

• endlich und un¨ar: {a}

• endlich und nicht un¨ar: {ab}

• regul¨ar, un¨ar und nicht endich: {an |n ∈N}

• regul¨ar, nicht un¨ar und nicht endlich: {abn |n ∈N}

• un¨ar, nicht endlich, nicht kontextfrei: {ap |p ist Primzahl}

• nicht un¨ar, nicht regul¨ar, kontextfrei:{anbn |n ∈N}

Hinweis: Jede kontextfreie, un¨are Sprache ist auch regul¨ar (siehe Vorlesung).

Referenzen

ÄHNLICHE DOKUMENTE

Gilt so nur f¨ur Gravitation, im Allgemeinen ist die Bahn nicht eine geschlossene Ellipse, und/oder der Ursprung liegt nicht im Brennpunkt.. Kepler 2

In Wirklichkeit muß man aber von einer Sequenz von 2-Kugel-Stoßprozessen (N = 2) ausgehen, die nacheinander stattfinden, denn der Impuls braucht eine kleine endliche Zeit f¨ur den

[r]

Prof. Dann addieren wir die Gleichungen. Dies eliminiert λ und ergibt.. Das bedeutet, dass ein Teil der Gewichtskr¨afte zur Beschleunigung der Massen dient.. 3. Das h¨ angende

(Um alle anderen Zwangsbedingungen nicht zu verletzen, m¨ ussen wir erlauben, dass sich die Punkte C und E bewegen. Allerdings ist die Verletzung der Zwangsbedingungen F C D und F

Theoretische Physik B, SS 2005 Musterl¨ osung zum ¨ Ubungsblatt 4..

Theoretische Physik B, SS 2005 Musterl¨ osung zum ¨ Ubungsblatt 8..

Dass bedeutet, dass das Minimum immer noch bei θ ≈ π/2 liegt. Jetzt sehen wir