Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Definition (Rekursiv) Sei Z := {, (, ), *, } und A ein von Z disjunktes Alphabet (also A Z = ). Ein regulärer Ausdrück ist eine Zeichenfolge über dem Alphabet A Z, die rekursiv mithilfe folgender Regeln erzeugt werden kann (z.b. von einer Grammatik): ist ein regulärer Ausdruck; 2 Für x A ist x ein regulärer Ausdruck; 3 Wenn R und R 2 reguläre Ausdrücke sind, so sind auch (R R 2 ) und (R R 2 ) reguläre Ausdrücke; 4 Wenn R ein regulärer Ausdruck ist, dann auch (R*); 5 Nichts anderes ist ein regulärer Ausdruck. Wenn R ein regulärer Ausdruck ist, so beschreibt er eine formale Sprache, die wir mit R kennzeichen. KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 3/2
Aufgabe Aufgabe : fieses Regex (Übungsblatt 22) Sei R = c*( * a(a b c)* (a b c)*b)c*. Gilt R = {a, b, c}? Begründen Sie Ihre Antwort. KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 4/2
Rechtslineare Grammatiken Definition Sei G = (N, T, S, P) eine (kontextfreie) Grammatik. Dann heißt G rechtslinear, wenn alle Produktionen in P eine der folgenden Formen haben: X w mit X N, w T ; 2 X wy mit X, Y N, w T. Satz Für jede formale Sprache L sind die folgenden Aussagen äquivalent: L kann von einem endlichen Akzeptor erkannt werden (also es gibt einen endlichen Automat A mit L(A) = L); 2 L kann durch einen regulären Ausdruck beschrieben werden (also es gibt einen regulären Ausdruck R mit R = L); 3 L kann von einer rechtslinearen Grammatik erzeugt werden (alse es gibt eine rechtslineare Grammatik G mit L(G) = L). KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 7/2
Aufgaben Aufgabe 2: Regex Akzeptor (Klausur März 23) Gegeben sei folgender regulärer Ausdruck R = ( )*. Geben Sie über dem Alphabet X einen endlichen Akzeptor A an, sodass L(A) = R. Hinweis. Es genügen 7 Zustände. 2 Zeichnen Sie einen Kantorowitsch-Baum (Regex-Baum) zu R. Lösung q q q 2 q 3, q 5 q 4 q m, KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 8/2
Aufgaben Aufgabe 3: Akzeptor Regex (Übungsblatt 2) Gegeben ist folgender endlicher Akzeptor A: q q q 2 Geben Sie einen regulären Ausdruck R an, sodass L(A) = R. KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 9/2
Aufgaben Aufgabe 4: Regex, Akzeptor und Grammatik (Übungsblatt 22) Geben Sie für die folgenden Sprachen L i jeweils einen Akzeptor A i, einen regulären Ausdruck R i und eine rechtslineare Grammatik G i, sodass für i {, 2} gilt: L(A i ) = R i = L(G i ) = L i. L = {w {, } k N : Num 2 (w) = 2 k + }. 2 L 2 = { 3m m N } {w 3n+2 w {, }, n N }. Hinweis. Benutzen Sie möglichst wenig Zustände für die Akzeptoren, und möglichst wenig Zeichen für die reguläre Ausdrücke. KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 /2
Zusammenfassung Fünf (oder sechs?) Regeln (rekursiv):, x, (R R 2 ), (R R 2 ), (R*), nichts anderes. Rechtslineare Grammatiken Definition. Produktionen haben immer die Form X w oder X wy. Satz. Folgende sind äquivalent: Endliche Automaten; Rechtslineare Grammatiken;. KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 /2
Humor Quelle: xkcd.com KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft 29..24 2/2