HTWK Leipzig, Fakultät IMN
Prof. Dr. Sibylle Schwarz sibylle.schwarz@htwk-leipzig.de 4. Übung zu Theoretische Informatik: Automaten und formale Sprachen
Wintersemester 2016/17 zu lösen bis 2. November 2016
Aufgabe 4.1:
a. Geben Sie eine Grammatik Gmit L(G) = RegExp({0,1}) an.
b. Geben Sie eine Ableitung des regulären Ausdruckes((1+ε)∗+(10)∗)∈RegExp({0,1}) in dieser Grammatik an.
Aufgabe 4.2:
Finden Sie für die Grammatik G= (N, T, P, S) mit N ={S, A, B, C}, T ={a, b, c} und
P =
S → ABC
A → ε A → aA B → ε B → bcB C → aA
a. eine Ableitung für das Wort abcbcaaa,
b. zwei verschiedene Ableitungen für das Wort aaaa, c. die Sprache L(G)(umgangssprachlich),
d. eine zu G äquivalente Grammatik ohne Regeln der Form l→ε, e. einen regulären Ausdruck E mit L(G) = L(E),
f. eine zuG äquivalente reguläre Grammatik.
Aufgabe 4.3:
Zeigen Sie, dass die Äquivalenz von Grammatiken eine Äquivalenzrelation ist.
Aufgabe 4.4:
Gegeben sind die Grammatiken G= (N, T, P, S)und G0 = (N0, T0, P0, S)mit N = N0 ={S, A, B, C} T =T0 ={a, b, c}
P =
S → ASB
S → c A → aS B → bS B → bA
A → S
B → ε
P0 =
S → ASB
S → c A → aS B → bS B → bA
A → S
A → ε
Zeigen Sie, dass G und G0 nicht äquivalent sind.
Aufgabe 4.5:
Geben Sie eine Grammatik an, welche die Sprache aller Palindrome ungerader Länge über dem Alphabet {0,1} erzeugt und nur rechts- und linkslineare Regeln enthält.
Aufgabe 4.6:
Die folgende induktive Definition definiert eine Sprache L⊆ {a, b}∗: IA: b∈L
IS: Aus u∈L und v ∈L folgt auv∈L
• L enthält nur die auf diese Art erzeugten Wörter.
Es gilt also z.B. b∈L, ababb∈L, aber abbab6∈L.
a. Geben Sie alle Wörter der Länge ≤8in L an.
b. Geben Sie eine kontextfreie Grammatik Gan, die genau die Sprache L erzeugt.
Aufgabe 4.7:
a. Zeigen Sie, dass die Menge aller kontextfreien Sprachen unter Spiegelung R abge- schlossen ist. Geben Sie ein Verfahren zur Konstruktion einer kontextfreien Gram- matik G0 aus einer gegebenen kontextfreien Grammatik G an, so dass L(G0) = L(G)R gilt.
b. Demonstrieren Sie Ihr Verfahren an der Grammatik
G= ({S, A, B},{a, b},{S →AB, A→AAb, A→a, B →bBa, B →b}, S)
c. Geben Sie die Ableitung für
• ein Wort w mit |w|= 6 inG und
• das Wort wR in der in der vorigen Teilaufgabe konstruierten Grammatik ab.
d. Ist zu jeder regulären Sprache Lauch die Sprache LR regulär?
Begründen Sie Ihre Antwort.
Aufgabe 4.8:
Zeigen Sie, dass eine Sprache L⊆A∗ genau dann regulär ist, wenn sie
a. von einer GrammatikG= (N, T, P, S)erzeugt wird, die nur Regeln der Forml →r mit l ∈N und r∈({ε} ∪(T ◦N)) enthält.
(a) Geben Sie eine zur Grammatik G= (N, T, P, S) mit N = {S, A, B} T ={a, b}
P = {S →bA, S →aB, A→aA, A →ε, B →bA}
äquivalente reguläre Grammatik an.
(b) Geben Sie ein Verfahren zur Transformation jeder beliebigen regulären Gram- matik in eine äquivalente Grammatik dieser Form an.
b. von einer GrammatikG= (N, T, P, S)erzeugt wird, die nur Regeln der Forml →r mitl ∈N undr∈(T∗∪(T∗◦N))enthält. Solche Grammatiken heißenrechtslinear.
(a) Geben Sie eine zur rechtslinearen Grammatik G= (N, T, P, S) mit N = {S, A, B} T ={a, b}
P = {S →bbA, S→aaB, A→abA, A→aab, B →A, A→ε}
äquivalente reguläre Grammatik an.
(b) Geben Sie ein Verfahren zur Transformation jeder beliebigen regulären Gram- matik in eine äquivalente rechtslineare Grammatik an.
(c) Demonstrieren Sie Ihr Verfahren an der regulären Grammatik G0 aus Aufgabe 4.4.
c. von einer GrammatikG= (N, T, P, S)erzeugt wird, die nur Regeln der Forml →r mit l ∈N und r∈(T ∪(N ◦T))enthält.
(a) Geben Sie eine zur Grammatik G= (N, T, P, S) mit N = {S, A, B} T ={a, b}
P = {S →Ab, S →Ba, A→Ab, A→a, B →Bb, B →Aa}
äquivalente reguläre Grammatik an.
(b) Geben Sie ein Verfahren zur Transformation jeder beliebigen regulären Gram- matik in eine äquivalente Grammatik dieser Form an.
(c) Demonstrieren Sie Ihr Verfahren an der regulären GrammatikG0 aus der ersten Teilaufgabe.
d. von einer GrammatikG= (N, T, P, S)erzeugt wird, die nur Regeln der Forml →r mit l∈N und r∈(T∗∪(N ◦T∗))enthält. Solche Grammatiken heißen linkslinear.
(a) Geben Sie eine zur Grammatik G= (N, T, P, S) mit N = {S, A, B} T ={a, b}
P = {S →Aba, S→Babb, A →ab, A→B, B →ε}
äquivalente reguläre Grammatik an.
(b) Geben Sie ein Verfahren zur Transformation jeder beliebigen regulären Gram- matik in eine äquivalente linkslineare Grammatik an.
(c) Demonstrieren Sie Ihr Verfahren an der regulären GrammatikG0 aus der ersten Teilaufgabe.
Übungsaufgaben, Folien und weitere Hinweise zur Vorlesung finden Sie online unter www.imn.htwk-leipzig.de/~schwarz/lehre/ws16/ti