Beispiele KFG Automaten Regul Ausdr Beispiel 1 Sei
Beispiele: KFG, Automaten, Regul. Ausdr. • Beispiel 1: Sei = {a, b} ein Alphabet und Q = {q 0, q 1} eine Menge von Zuständen. Weiters sei folgende Übergangsfunktion : Q x (Q) gegeben ( - Potenzmenge) : (q 0, a) = {q 0, q 1}, (q 0, b) = {q 1}, (q 1, a) = {q 0, q 1} – (a) Erklären Sie die Komponenten und die Funktionsweise eines endlichen Automaten anhand des Beispiels. – (b) Ist der obige Automat durch Angabe von , Q und bereits vollständig definiert? Was fehlt? – (c) Wann nennt man einen Automaten deterministisch? – (d) Was ist die von einem Automaten A akzeptierte Sprache? – (e) Erklären Sie den wesentlichen Unterschied regulären und kontextfreien Grammatiken (Sprachen). • Beispiel 2: Gegeben sei der EA A = ( {q 0, q 1, q 2}, {a, b, c}, , q 0, {q 0} ) (q 0, a) = {q 0, q 2}, (q 0, b) = {q 0, q 1}, (q 1, c) = {q 0}, (q 2, b) = {q 1}, (q 2, c) = {q 0}. (a) Konstruieren Sie daraus einen äquivalenten deterministischen Automaten. (b) Beschreiben Sie die von A akzeptierte Sprache durch einen regulären Ausdruck. P. Brezany Institut für Softwarewissenschaft – Universität Wien
• Beispiel 3: Gegeben sei die (reguläre) Sprache L über dem Alphabet {a, b, c} durch folgenden regulären Ausdruck R: c+(a+b+c)3 ac* –(a) Beschreiben Siel L formal durch Angabe einer (regulären) Menge. –(b) Finden Sie einen endlichen Automaten A, der L(G) akzeptiert. –(c) Konstruieren Sie daraus einen äquivalentnen deterministisch. endlichen Automaten A´. –(d) Bestimmen Sie eine reguläre Grammatik G, die L(G) erzeugt. • Beispiel 4: Beschreiben Sie durch folgende reguläre Ausdrücke definierten formalen Sprachen mithilfe von Mengenschreibweise, konstruieren Sie reguläre Grammatiken, diese Sprachen erzeugen und definieren Sie Automaten, die sie akzeptieren. • (1) (ab + bb)* • (2) b+ + a+ + c+ • (3) (b + a + c)+bc(b + a)* • (4) (b + a*)* P. Brezany Institut für Softwarewissenschaft – Universität Wien 2
• Beispiel 5: Konstruieren Sie zu den folgenden Automaten äquivalente deterministische Automaten und beschreiben Sie die von den Automaten akzeptierten Sprachen durch reguläre Grammatiken und reguläre Ausdrücke. – (a) A 1 = ( {q 0, q 1}, {a, b}, { (q 0, a) = {q 1}, (q 0, b) = {q 1}, (q 1, a) = {q 0, q 1} }, q 0, {q 1} ) – (b) A 2 = ( {q 0, q 1 , q 2, q 3 , q 4}, {a, b, c}, { (q 0, a) = {q 1, q 2}, (q 1, b) = {q 3}, (q 2, c) = {q 3}, (q 3, a) = {q 0, q 4} }, q 0, {q 3, q 4} ) - (c) A 3 = ( {q 0, q 1 , q 2, q 3 }, {a, b, c}, { (q 0, a) = {q 1}, (q 1, b) = {q 0, q 2}, (q 2, c) = {q 0, q 3} }, q 0, {q 3} ) • Beispiel 6: Gegeben sei die formale Sprache L über dem Alphabet {a, b, c}, die genau jene Wörter w {a, b, c}* enthält, in denen das Teilwort acb nicht vorkommt. – (a) Geben Sie einen EA A an, der L akzeptiert. – (b) Konstruieren Sie (gegebenenfalls) daraus einen äquivalenten determinist. EA A´. – (c) Beschreiben Sie die Sprache L formal (Mengenschreibweise). – (d) Bestimmen Sie eine Grammatik G, die L(G) erzeugt. – (e) Beschreiben Sie L durch einen regulären Ausdruck. P. Brezany Institut für Softwarewissenschaft – Universität Wien
• Beispiel 7: Sei G eine Grammatik mit den folgenden Regeln: S SS | a. Sb | b. Sa | Beschreiben Sie L(G). • Beispiel 8: Sei G eine Grammatik mit den folgenden Regeln: S a. A | , A b. S. Beschreiben Sie L(G). • Beispiel 9: Sei = {a, b}, Finden Sie eine Grammatik, die Menge von allen Zeichenketten mir mindestens drei a Symbolen generiert. • Beispiel 10: Für folgende Sprachen finden Sie entsprechende Grammatiken, die Sie generieren – (a) – (b) L 1 = {anbm | n 0, m > n } L 2 = {anbn-3 | n 3 } – (a) – (b) L 1 = { w | |w| mod 3 = 0 } L 2 = { w | |w| mod 3 > 0 } • Beispiel 11: Sei = {a}. Finden Sie eine Grammatik für die folgende Sprachen: • Beispiel 12: Sei = {a, b}. Finden Sie eine Grammatik für die folgende Sprache: L = {w | na(w) = nb(w) + 1}, wo na(w) bezeichnet die Anzahl von a in w, und nb(w) bezeichnet die Anzahl von b in w P. Brezany Institut für Softwarewissenschaft – Universität Wien
- Slides: 4