Bestimme für den regulären Ausdruck ´(((a + b)^(**) * (b * b)) + a^(**))´ eine reguläre Grammatik ´G´ mit ´L(G) = M(R)´.
"Die Grammatiken mit den Regeln ´S_1 -> a´ und ´S_1 -> b´ bzw. ´S_2 -> b´ erzeugen die Sprachen ´{a, b}´ und ´{b}´. Ferner erzeugt die Grammatik mit\n\n´S_1^' -> lambda´, ´S_1^' -> S_1´, ´S_1 -> aS_1´, ´S_1 -> bS_1´, ´S_1 -> a´, ´S_1 -> b´\n\nund Startsymbol ´S_1^'´ die Sprache ´{a, b}^(\\)´.\nFür ´{a, b}^(\\) {b}´ ergibt sich\n\n´S_1^' -> lambda´, ´S_1^' -> S_1´, ´S_1 -> aS_1´, ´S_1 -> bS_1´, ´S_1 -> aS_2´, ´S_1 -> bS_2´, ´S_2 -> b´\n\nFür ´{a, b}^(\\){b}{b}´ ergibt sich (mit ´S_3 -> b´ für die Erzeugung des zweiten ´{b}´)\n\n´S_1^' -> lambda´, ´S_1^' -> S_1´, ´S_1 -> aS_1´, ´S_1 -> bS_1´, ´S_1 -> aS_2´, ´S_1 -> bS_2´, ´S_2 -> bS_3´, ´S_3 -> b´.\n\nDa ´{a}^(\\)´ durch die Regeln ´S_4^' -> S_4´, ´S_4^' -> lambda´, ´S_4 -> aS_4´, ´S_4 -> a´ aus dem Startsymbol ´S_4^'´ erzeugt wird, erhält man insgesamt folgendes als Regelmenge: (Benutzung von S als Startsymbol)\n\n´S -> S_1^'´, ´S -> S_4^'´, ´S_1^' -> lambda´, ´S_1^' -> S_1´, ´S_1 -> aS_1´, ´S_1 -> bS_1´, ´S_1 -> aS_2´, ´S_1 -> bS_2´, ´S_2 -> bS_3´, ´S_3 -> b´, ´S_4^' -> S_4´, ´S_4^' -> lambda´, ´S_4 -> aS_4´, ´S_4 -> a´\n\n\n(Es ist klar, dass man zu den Regeln der gegebenen Grammatik ´(N, T, P, S)´ im regulären Fall nur ´A -> wS´ für ´A -> w´ in ´P´ und ´S -> lambda´ hinzunehmen muss. Dadurch vereinfacht sich obige Konstruktion etwas.)"
´S -> S_1^'´, ´S -> S_4^'´, ´S_1^' -> lambda´, ´S_1^' -> S_1´, ´S_1 -> aS_1´, ´S_1 -> bS_1´, ´S_1 -> aS_2´, ´S_1 -> bS_2´, ´S_2 -> bS_3´, ´S_3 -> b´, ´S_4^' -> S_4´, ´S_4^' -> lambda´, ´S_4 -> aS_4´, ´S_4 -> a´
HPI, 2014-05-13, Theoretische Informatik 2, Blatt 6, Aufgabe 3
2014-07-22 16:49:42 UTC
2014-07-22 16:49:42 UTC