x a1a2 ¤¤¤an¡1an anan¡1 ¤¤¤a2a1 . L tw € Σ¦ P tpS, εqu ‰ tpS

Werbung
Fachbereich 6 Mathematik
Lehrstuhl für Mathematische Logik und
Theoretische Informatik
Prof. Dr. Dieter Spreen
Dr. Hannes Diener
Grundlagen der Theoretischen Informatik, WS10/11
Lösungen Übungsblatt 4
Aufgabe 1. Sei Σ ein beliebiges Alphabet. Ein Wort w heißt Palindrom, wenn es rückwärts gelesenen mit sich selbst übereinstimmt. Das heißt formal: ein Wort x a1 a2 an1 an mit ai P Σ ist ein
Palindrom genau dann, wenn
x a1 a2 an1 an
Sei
L tw
P Σ |
anan1 a2a1 .
ist ein Palindromu .
(Da es nicht ganz eindeutig aus der Definition ersichtlich ist: wir nehmen an, dass auch das leere Wort
ein Palindrom ist).
(a) Konstruieren Sie eine kontextfreie Grammatik, welche L erzeugt.
(b) Wandeln Sie Ihre Grammatik aus der vorigen Aufgabe mit Hilfe des Verfahrens des Satzes 2.3.23
in einen Kellerautomaten ab, der L akzeptiert.
(c) Geben Sie, für Σ ta, b, cu eine Ableitung und eine akzeptierende Rechnung zu dem Wort
aabbcbbaa in Ihrer Grammatik bzw. in Ihrem Automaten an.
Lösungen:
(a) Die Grammatik G pΣ, tS u, S, P q, wobei P gegeben ist durch
P
tpS, εqu Y tpS, aSaq | a P Σu Y tpS, aq | a P Σu,
erzeugt L. (Man beachte insbesondere die letzen Übergangsmöglichkeiten S
Palindrome ungerader Länge zuständig sind).
(b) Durch das Verfahren in der Vorlesung entsteht der folgende Kellerautomat:
A pΣ, Σ Y tS u, ts, f u, s, tf u, ∆q ,
wobei ∆ gegeben ist durch:
∆ tpps, ε, εq, pf, S qqu
Y tppf, ε, S q, pf, εqqu
Y tppf, ε, S q, pf, aSaqq | a P Σu
Y tppf, ε, S q, pf, aqq | a P Σu
Y tppf, a, aq, pf, εqq | a P Σu
1
Ñ a, die für die
(c) Ableitung: S
Rechnung:
ñG aSa ñG aaSaa ñG aabSbaa ñG aabbSbbaa ñG aabbcbbaa.
ps, aabbcbbaa, εq $A pf, aabbcbbaa, S q
$A pf, aabbcbbaa, aSaq
$A pf, abbcbbaa, Saq
$A pf, abbcbbaa, aSaaq
$A pf, bbcbbaa, Saaq
$A pf, bbcbbaa, bSbaaq
$A pf, bcbbaa, Sbaaq
$A pf, bcbbaa, bSbbaaq
$A pf, cbbaa, Sbbaaq
$A pf, cbbaa, cbbaaq
$A pf, bbaa, bbaaq
$A pf, baa, baaq
$A pf, aa, aaq
$A pf, a, aq
$A pf, ε, εq
Aufgabe 2. Konstruieren Sie einen Kellerautomaten, der die Sprache
tanbm | m ¤ n ¤ 2mu
über dem Alphabet Σ ta, bu akzeptiert. Erklären Sie Ihre Idee; Ein formaler Korrektheitsbeweis ist
nicht notwendig.
(Tipp: Kellerautomaten können nicht-deterministisch arbeiten).
Lösung:
Der Kellerautomat A pΣ, Σ, ts, f u, s, tf u, ∆q, wobei ∆ gegeben ist durch
∆ tppa, ε, εq, pa, sqq
ppaa, ε, εq, pa, sqq
ppε, ε, sq, pε, f qq
ppb, a, f q, pε, f qq
akzeptiert L. Die Idee ist hier, daß der Automat zuerst (wie so oft) alle as in den Keller schreibt. Hierbei
kann er jedoch auch zwei as lesen, aber nur eines in den Keller schreiben. Damit ist die Anzahl der
as im Keller bis zur Hälfte weniger. Dann wechselt der Automat spontan in den Zustand f und kann
jeweils entweder ein bs mit jedem a verrechnen. Dies stellt sicher, daß die Anzahl der gelesenen as
zwischen der Anzahl der bs und zweimal deren Anzahl liegt.
Aufgabe 3. Zeigen Sie, mit Hilfe des Pumping-Lemmas für kontextfreie Sprachen, dass die folgende
Sprache L (über dem Alphabet Σ ta, bu) nicht kontextfrei ist:
L tww | w
2
P Σ u.
Lösung: Wir nehmen an der Automat ist kontextfrei und leiten einen Widerspruch her:
Wenn der Automat kontextfrei ist, dann gibt es nach dem PL für kontextfreie Sprachen eine Zahl N ,
so daß für alle z P L mit |z | ¡ N es eine Zerlegung z uvwxy gibt, die die folgenden Eigenschaften
hat:
• vx ε
• |vwx| ¤ N
•
p@iquviwxiy P L
Da z aN bN aN bN eine geeignete Länge hat, gibt es eine solche Zerlegung wie oben. Da |uvw| ¤ N
ist entweder uvw ak bl mit k l ¤ N oder uvw bk al mit k l ¤ N . Wir behandeln nur den ersten
Fall, da der zweite analog behandelt werden kann. Ebenso behandeln wir nur den Fall, in dem u P tau
ist (d.h. wenn uvw in der ersten Hälfte des Wortes z liegt). Da dann die ersten Worthälfte von uv 2 wx2 y
mehr as oder bs enthält als die zweite Worthälfte, ist uv 2 wx2 y R L; Widerspruch. Also kann L nicht
kontextfrei sein.
Aufgabe 4. Sei A pΣ, Γ, Q, s, F, ∆q ein Kellerautomat. Wie kann man A so in einen Automaten A1
abändern, daß A1 die Sprache
L tw
P Σ | pDf P F qpDu P Σq pw, ε, sq $A pε, u, f qu
akzeptiert? (D.h. Zeigen Sie, daß man in der Definition der Akzeptanz bei Kellerautomaten die Bedingung, daß der Keller leer sein muß, weglassen kann).
Lösung:
durch
Sei f
R Q ein neuer Zustand, und sei A1 pΣ, Γ, Q Y tf u, s, tf u, ∆1q, wobei ∆1 definiert ist
∆1
∆ Y tppε, ε, qqpε, f qq | q P F u Y tppε, a, f qpε, f qq | a P Γu.
D.h. wir fügen einen neuen Zustand f hinzu, der alleiniger Endzustand ist. Dazu erlauben wir spontane
Zustandswechsel (ε-Übergänge) von jedem alten Endzustand q P F in den neuen alleinigen Endzustand f . Außerdem können im Zustand f beliebige Symbole aus dem Keller (-alphabet) gelöscht
werden.
Da jetzt für beliebige Wörter v P Γ und Zustände q P F gilt daß pε, v, q q $A pε, ε, f q, ist leicht zu
sehen, daß L LpA1 q.
ENDE
3
Herunterladen