Aufgabensammlung Theo Inf I 1 1 Grundlagen Aufgabe 1.1 Bestimmen Sie w und w b für w = abacbba. Aufgabe 1.2 Bestimmen Sie alle a) Teilworte der Länge 3 b) Präfixe c) Suffixe des Wortes w = abacbba. Aufgabe 1.3 Bilden Sie für die Sprachen a) L = {a} b) L = {aa, b} c) L = die Mengen L 0, L 2 und L 0 L 1 L 2. Aufgabe 1.4 Geben Sie für die informell beschriebenen Sprachen je eine formale Beschreibung an. Zugrundeliegendes Alphabet sei jeweils Σ = {a, b, c}. a) Die Sprache aller Wörter, die mit mindestens zwei a beginnen. b) Die Sprache aller Wörter, die eine gerade Anzahl von b enthalten. c) Die Sprache aller Wörter, in denen nach einem c immer mindestens ein b folgt (nicht zwingend unmittelbar). Aufgabe 1.5 Tragen Sie in die Tabelle ein, ob die angegebenen Wörter in der Sprache enthalten sind oder nicht. Mit L a, L b, L c sind die Sprachen aus Aufgabe 1.4 gemeint. ε ab aac bba cbbaabbc aaacbcab aabbacaacb L a L b L c Konstruieren Sie ein (möglichst kurzes) Wort, das in keiner der drei Sprachen enthalten ist, und ein (möglichst kurzes), das in L a \ (L b L c ) enthalten ist. Aufgabe 1.6 Betrachten Sie die Sprachen L 1 = {a n n 0}, L 2 = {a n b n n 0}, L 3 = {a n b m n m, n, m 0}. Welche Teilmengenbeziehungen gelten zwischen diesen?
Aufgabensammlung Theo Inf I 2 2 Reguläre Ausdrücke Aufgabe 2.1 Beweisen Sie folgende Rechenregeln für reguläre Ausdrücke ( bedeutet: erzeugt dieselbe Sprache): a) α β β α b) α α c) α ε ε α α d) α α e) α α α f) ε g) ε α α (ε α) h) α α α Aufgabe 2.2 Es seien α und β zwei reguläre Ausdrücke. a) Gilt allgemein (α β) α β? b) Falls nein, gibt es spezielle Ausdrücke, für die die Aussage doch stimmt? Aufgabe 2.3 Es seien α und β zwei reguläre Ausdrücke. a) Gilt allgemein (α β) α β? b) Falls nein, gibt es spezielle Ausdrücke, für die die Aussage doch stimmt? Aufgabe 2.4 Es seien α und β zwei reguläre Ausdrücke. a) Gilt allgemein α β β α? b) Falls nein, gibt es spezielle Ausdrücke, für die die Aussage doch stimmt? Aufgabe 2.5 Es seien α = (a ε)b und β = b (ab ) zwei reguläre Ausdrücke. Ist α β? Aufgabe 2.6 Auf REXP Σ sei die Relation definiert durch α β genau dann, wenn L(α) L(β) a) Beweisen Sie: α β genau dann, wenn L(α) L(β) = L(α). b) Beweisen Sie: α β genau dann, wenn L(α) L(β) = L(β). c) Beweisen Sie: α β genau dann, wenn (α β) β. Aufgabe 2.7 Auf REXP Σ sei die Relation definiert durch α β genau dann, wenn (α β) β Beweisen Sie, dass die Relation eine Ordnungsrelation auf REXP Σ bildet. Aufgabe 2.8 Geben Sie für die in Aufgabe 1.4 genannten Sprachen je einen regulären Ausdruck an.
Aufgabensammlung Theo Inf I 3 3 Endliche Automaten Aufgabe 3.1 Gegeben sei der endliche Automat A = ({a, b}, {s 0, s 1 }, δ, s 0, {s 1 }), wobei δ durch die folgende Tabelle gegeben sei: δ s 0 s 1 a s 0 s 0 b s 1 s 1 b) Beschreiben Sie L(A) informell. c) Beschreiben Sie L(A) formal. d) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 3.2 Gegeben sei der endliche Automat A = ({a}, {0, 1, 2, 3, 4, 5}, δ, 0, {2, 5}), wobei δ durch die folgende Tabelle gegeben sei: δ 0 1 2 3 4 5 a {1, 3} {2} {1} {4} {5} {3} b) Beschreiben Sie L(A) informell. c) Beschreiben Sie L(A) formal. d) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 3.3 Gegeben sei der endliche Automat A = ({a}, {0, 1, 2, 3, 4}, δ, 0, {2, 4}), wobei δ durch die folgende Tabelle gegeben sei: δ 0 1 2 3 4 a {1} {2, 3} {1} {4} {1} b) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Begründen Sie, warum Ihr Ausdruck korrekt ist. Aufgabe 3.4 Gegeben sei der endliche Automat A = ({a, b, c}, {0, 1, 2, 3}, δ, 0, {3}), wobei δ durch die folgende Tabelle gegeben sei: δ 0 1 2 3 a 1 1 2 1 b 2 3 2 3 c 2 1 2 1 b) Beschreiben Sie L(A) informell. c) Beschreiben Sie L(A) formal. d) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt.
Aufgabensammlung Theo Inf I 4 Aufgabe 3.5 Gegeben sei der endliche Automat A = ({a, b}, {A, B}, δ, {A}, {B}), wobei δ durch die folgende Tabelle gegeben sei: δ A B a {A} b {A, B} b) Beschreiben Sie L(A) informell. c) Beschreiben Sie L(A) formal. d) Vervollständigen Sie den Automaten. Aufgabe 3.6 Gegeben sei der endliche Automat A = ({a, b}, {S, A, B, F }, δ, {S}, {S, F }) mit δ gegeben durch δ S A B F a {A, F } {A, F } {B} b {B, F } {A} {B, F } b) Beschreiben Sie L(A) informell. c) Beschreiben Sie L(A) formal. d) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 3.7 Gegeben sei der endliche Automat A = ({a}, {s 0, s 1, s 2, s 3, s 4, s 5 }, δ, s 0, {s 1, s 4 }), mit δ(s i, a) = { si+1 falls 0 i < 5 s 0 falls i = 5 b) Beschreiben Sie L(A) informell. c) Beschreiben Sie L(A) formal. d) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 3.8 Gegeben sei der endliche Automat A = ({a}, {0, 1, 2, 3, 4, 5}, δ, 0, {0, 2, 3, 4, 5}), wobei δ durch die folgende Tabelle gegeben sei: δ 0 1 2 3 4 5 a 1 2 3 4 5 5 b) Beschreiben Sie L(A) informell. c) Beschreiben Sie L(A) formal. d) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 3.9 Geben Sie für die in Aufgabe 1.4 genannten Sprachen je einen endlichen Automaten an. Zeichnen Sie ein Zustandsdiagramm und geben Sie die Zustandstransformation zusätzlich als Tabelle an. Aufgabe 3.10 Für c N sei L c = {w {a, b} a c ist Infix von w}. Geben Sie eine formale Definition für eine Familie von vollständigen Automaten A c an mit L c = L(A c ).
Aufgabensammlung Theo Inf I 5 Aufgabe 3.11 Konstruieren Sie einen vollständigen endlichen Automaten A 23, der die Sprache L 23 = {w {a, b} w a = 2m w b = 3n, m, n N} akzeptiert. Tipp: Sie können die Sprache geeignet in zwei Sprachen zerlegen, für diese jeweils einen endlichen Automaten angeben und aus diesen beiden Automaten dann den Produktautomaten bilden. Aufgabe 3.12 Konstruieren Sie einen vollständigen endlichen Automaten, der die Sprache L = {w {a, b} w a = o mod 5 w b = 1 mod 2} akzeptiert. Tipp: Sie können die Sprache geeignet in zwei Sprachen zerlegen, für diese jeweils einen endlichen Automaten angeben und aus diesen beiden Automaten dann den Produktautomaten bilden. Aufgabe 3.13 Betrachten Sie den endlichen Automaten aus Aufgabe 5.11 A = ({a, b}, {0, 1, 2, 3, 4, 5}, δ, 0, {3, 4,5}) mit δ 0 1 2 3 4 5 a 1 1 3 3 3 3 b 0 2 4 5 4 4 a) Geben Sie eine informelle Beschreibung für die Sprache an, die von A akzeptiert wird. b) Geben Sie eine formale Beschreibung für die Sprache an, die von A akzeptiert wird. c) Geben Sie einen regulären Ausdruck an, der die Sprache beschreibt, die von A akzeptiert wird.
Aufgabensammlung Theo Inf I 6 4 Deterministische und nichtdeterministische EA Aufgabe 4.1 Gegeben sei der nichtdeterministische endliche Automat A = ({a}, {0, 1, 2, 3, 4, 5}, δ, {0}, {0, 2, 5}), mit δ 0 1 2 3 4 5 a {1, 3} {2} {1, 3} {4} {5} {1, 3} b) Konstruieren Sie mit dem in der Vorlesung vorgestellten Verfahren einen zu A äquivalenten deterministischen Automaten A d. c) Zeichnen Sie das Zustandsdiagramm von A d. d) Beschreiben Sie L(A) informell. e) Beschreiben Sie L(A) formal. f) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 4.2 Konstruieren Sie mit dem in der Vorlesung vorgestellten Verfahren einen äquivalenten deterministischen EA zu dem Automaten A aus Aufgabe 3.5. A = ({a, b}, {A, B}, δ, {A}, {B}), mit δ A B a {A} b {A, B} Aufgabe 4.3 Gegeben sei der nichtdeterministische endliche Automat A = ({0, 1}, {s 0, s 1, s 2, s 3 }, δ, s 0, {s 3 }) mit δ s 0 s 1 s 2 s 3 0 {s 1, s 2, s 3 } 1 {s 2, s 3 } {s 1, s 3 } b) Konstruieren Sie mit dem in der Vorlesung vorgestellten Verfahren einen zu A äquivalenten deterministischen Automaten A d. c) Zeichnen Sie das Zustandsdiagramm von A d. d) Beschreiben Sie L(A) informell. e) Beschreiben Sie L(A) formal. f) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 4.4 Konstruieren Sie zu dem nichtdeterministischen Automaten aus Aufgabe 3.6 A = ({a, b}, {S, A, B, F }, δ, {S}, {S, F }) mit δ gegeben durch δ S A B F a {A, F } {A, F } {B} b {B, F } {A} {B, F } einen äquivalenten deterministischen Automaten A d. Geben Sie zu A d auch das Zustandsdiagramm an!
Aufgabensammlung Theo Inf I 7 Aufgabe 4.5 Konstruieren Sie zu dem nichtdeterministischen Automaten A = ({a, b}, {s 0, s a, s b, s aa, s ab, s ba, s bb }, δ, s 0, {s a, s b, s aa, s bb }), mit δ s 0 s a s b s aa s ab s ba s bb a {s a, s ab } {s aa, s ab } {s ba } b {s b, s ba } {s ab } {s ba, s bb } einen äquivalenten deterministischen Automaten A d. Aufgabe 4.6 Konstruieren Sie zu dem nichtdeterministischen Automaten A = ({a, b}, {s 0, s 1, s 2, s 3 }, δ, s 0, {s 3 }), mit δ s 0 s 1 s 2 s 3 a {s 1, s 2 } {s 1 } {s 2, s 3 } b {s 1, s 3 } {s 3 } einen äquivalenten deterministischen Automaten A d. Geben Sie zu A d auch das Zustandsdiagramm an! Aufgabe 4.7 Gegeben sei der nichtdeterministische Automaten aus Aufgabe 3.3 A = ({a}, {0, 1, 2, 3, 4}, δ, 0, {2, 4}), mit: δ 0 1 2 3 4 a {1} {2, 3} {1} {4} {1} Konstruieren Sie mit dem in der Vorlesung vorgestellten Verfahren einen zu A äquivalenten deterministischen Automaten A d. Geben Sie zu A d auch das Zustandsdiagramm an! Aufgabe 4.8 Konstruieren Sie zu dem nichtdeterministischen Automaten A = ({a, b}, {1, 2, 3}, δ, 1, {1}), wobei δ durch die folgende Tabelle gegeben sei: δ 1 2 3 a {2, 3} {1} b {2, 3} {3} einen äquivalenten deterministischen Automaten A d. Geben Sie zu A d auch das Zustandsdiagramm an! Aufgabe 4.9 Sei A = ({a}, {0, 1, 2, 3}, δ, 0, {2, 3}), mit δ 0 1 2 3 a {1, 2} {1, 2} {3} {0, 1, 2} ein nichtdeterministischer Automat. b) Konstruieren Sie mit dem in der Vorlesung vorgestellten Verfahren einen zu A äquivalenten deterministischen Automaten A d. c) Zeichnen Sie das Zustandsdiagramm von A d. d) Beschreiben Sie L(A) informell. e) Beschreiben Sie L(A) formal. f) Geben Sie einen regulären Ausdruck an, der L(A) erzeugt. Aufgabe 4.10 Gegeben sei der nichtdeterministische endliche Automat A = ({0, 1}, {s 0, s 1, s 2, s 3, sa 4 }, δ, s 0, {s 4 }) mit δ s 0 s 1 s 2 s 3 s 4 0 {s 0, s 1 } {s 4 } {s 4 } 1 {s 0 } {s 2, s 3 } {s 4 } {s 4 } Konstruieren Sie zu A schrittweise mit dem in der Vorlesung vorgestellten Verfahren einen äquivalenten deterministischen endlichen Automaten A d.
Aufgabensammlung Theo Inf I 8 5 Minimale EA Aufgabe 5.1 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3, 4}, δ, 0, {2, 4}), mit δ 0 1 2 3 4 a 1 2 3 4 3 b 0 2 2 4 2 einen äquivalenten minimalen Automaten A min. Geben Sie δ min als Zustandsdiagramm an! Aufgabe 5.2 Minimieren Sie mit dem in der Vorlesung vorgestellten Verfahren den Automaten A aus Aufgabe 3.8. A = ({a}, {0, 1, 2, 3, 4, 5}, δ, 0, {0, 2, 3,4, 5}), mit δ 0 1 2 3 4 5 a 1 2 3 4 5 5 Aufgabe 5.3 Minimieren Sie mit dem in der Vorlesung vorgestellten Verfahren den Automaten A aus Aufgabe 3.7. A = ({a}, {s 0, s 1, s 2, s 3, s 4, s 5 }, δ, s 0, {s 1, s 4 }), mit { si+1 falls 0 i < 5 δ(s i, a) = sonst s 0 Aufgabe 5.4 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3, 4, 5, 6}, δ, 0, {1, 2, 3, 4}) mit δ 0 1 2 3 4 5 6 a 1 3 6 3 6 3 6 b 2 5 4 5 4 5 4 einen äquivalenten minimalen Automaten A min. Geben Sie δ min als Zustandsdiagramm an! Aufgabe 5.5 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3}, δ, 0, {2, 3}) mit δ 0 1 2 3 a 3 2 3 1 b 2 3 1 2 einen äquivalenten minimalen Automaten A min. Interpretieren Sie das Ergebnis! Aufgabe 5.6 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3, 4, 5}, δ, 0, {3, 4, 5}) mit δ 0 1 2 3 4 5 a 1 1 3 3 3 3 b 0 2 0 4 5 5 einen äquivalenten minimalen Automaten A min. Aufgabe 5.7 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3, 4, 5}, δ, 0, {1, 2, 5}) mit δ 0 1 2 3 4 5 a 1 3 4 5 5 5 b 2 4 3 4 5 5 einen äquivalenten minimalen Automaten A min.
Aufgabensammlung Theo Inf I 9 Aufgabe 5.8 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3}, δ, 0, {1, 2, 3}) mit δ 0 1 2 3 a 1 2 3 3 b 2 3 0 3 einen äquivalenten minimalen Automaten A min. Aufgabe 5.9 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3}, δ, 3, {3}) mit δ 0 1 2 3 a 2 0 2 3 b 1 3 1 2 einen äquivalenten minimalen Automaten A min. Aufgabe 5.10 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3}, δ, 0, {0}) mit δ 0 1 2 3 a 0 1 3 1 b 1 2 0 2 einen äquivalenten minimalen Automaten A min. Aufgabe 5.11 Konstruieren Sie schrittweise zu dem deterministischen EA A = ({a, b}, {0, 1, 2, 3, 4, 5}, δ, 0, {3, 4, 5}) mit δ 0 1 2 3 4 5 a 1 1 3 3 3 3 b 0 2 4 5 4 4 einen äquivalenten minimalen Automaten A min.
Aufgabensammlung Theo Inf I 10 6 Rechtslineare Grammatiken Aufgabe 6.1 Gegeben sei die rechtslineare Grammatik G = ({a, b}, {S, A, B, C, D}, P, S) mit P = { S aa bb, A aa bc ε, B bb ad ε, C aa bc, D ad bb } a) Beschreiben Sie L(G) informell. b) Beschreiben Sie L(G) formal. c) Geben Sie einen regulären Ausdruck an, der L(G) erzeugt. d) Geben Sie einen endlichen Automaten an, der L(G) akzeptiert. Aufgabe 6.2 Gegeben sei die rechtslineare Grammatik G = ({a, b}, {S, A}, P, S) mit P = { S as ba A as ba ε } a) Beschreiben Sie L(G) informell. b) Beschreiben Sie L(G) formal. c) Geben Sie einen regulären Ausdruck an, der L(G) erzeugt. d) Geben Sie einen endlichen Automaten an, der L(G) akzeptiert. Aufgabe 6.3 Gegeben sei die rechtslineare Grammatik G = ({a, b, c}, {S, A}, P, S) mit P = { S aa a, A aa ba ca a } a) Beschreiben Sie L(G) informell. b) Beschreiben Sie L(G) formal. c) Geben Sie einen regulären Ausdruck an, der L(G) erzeugt. d) Geben Sie einen endlichen Automaten an, der L(G) akzeptiert. Aufgabe 6.4 Gegeben sei die rechtslineare Grammatik G = ({a, b}, {S, A, B}, P, S) mit P = { S aa bb a b ε, A aa ba a, B ab bb b } a) Beschreiben Sie L(G) informell. b) Beschreiben Sie L(G) formal. c) Geben Sie einen regulären Ausdruck an, der L(G) erzeugt. d) Geben Sie einen endlichen Automaten an, der L(G) akzeptiert. e) Geben Sie einen vollständigen, deterministischen, minimalen endlichen Automaten an, der L(G) akzeptiert. Aufgabe 6.5 Für k N sei L k = {w {a, b} a k ist ein Teilwort von w} Geben Sie die formale Definition an für eine Familie von rechtslinearen Grammatiken G k mit L k = L(G k ), k N.
Aufgabensammlung Theo Inf I 11 Aufgabe 6.6 Geben Sie für die in Aufgabe 1.4 genannten Sprachen je eine rechtslineare Grammatik an. Aufgabe 6.7 Gegeben sei die Grammatik G = ({a, b}, {S, A, B, C, D, E}, P, S) mit P = { S a ε aa bb, A as bc, B ac bd, C ab be, D ae bs, E ad ba } a) Leiten Sie drei Wörter mit jeweils mindestens fünf Buchstaben ab. b) Beschreiben Sie L(G) informal. c) Geben Sie eine formale Beschreibung für L(G) an. d) Geben Sie mithilfe des in der Vorlesung vorgestellten Verahrens einen zu G äquivalenten endlichen Automaten an. *) Geben Sie mithilfe des in der Vorlesung vorgestellten Verfahrens eine zu G äquivalente linkslineare Grammatik an. Aufgabe 6.8 Es sei α = ((a b) (c (a b)) ) REXP {a,b,c}. Geben SIe eine Grammatik G an mit L(G) = L(α). Aufgabe 6.9 Ein Polynom über Z stellen wir allgemein in der Art ±a 1 x i1 ± a 2 x i2 ±... ± a k x i k dar. Dabei sind a j N, 1 j k, die Koeffizienten, sowie x die Variable mit den Exponenten i j N 0, 1 j k. Ein Beispiel für ein Polynom ist +3x 1 + 5x 4 2x 2 1x 1 + 6x 0 + 3x 4 7x 3 Wir wollen nun die Koeffizienten und die Exponenten in Strichnotation darstellen: a durch a bzw. i j durch ij. Das Beispiel sieht so kodiert wie folgt aus: + x + x x x + x + x x Um Verwechslungen mit dem -Zeichen der rechtslinearen Grammatiken zu vermeiden, benutzen wir die Zeichen a und b: Das Beispiel sieht dann so kodiert aus: +aaaxb + aaaaaxbbbb aaxbb axb + aaaaaax + aaaxbbbb aaaaaaaxbbb Diese Kodierung kann als Wort über dem Alphabet Σ = {x, a, b,+, } aufgefasst werden. Es sei nun P(Z) die Menge aller Wörter über Σ, die korrekte Kodierungen von Polynomen über Z darstellen. Geben Sie eine rechtslineare Grammatik G an mit L(G) = P(Z).
Aufgabensammlung Theo Inf I 12 7 Abschlußeigenschaften regulärer Sprachen und das Pumping-Lemma Aufgabe 7.1 Sind folgende Sprachen regulär? Beweisen Sie Ihre Antworten. a) L n = {a i b i 0 i n} für jedes n N b) L = n 0 L n c) L = {a 2n n 0} Aufgabe 7.2 Es sei Σ = {a, b} und L 1, L 2 Σ. Treffen folgende Aussagen zu? Begründen Sie Ihre Antworten. a) Wenn L 1 regulär und L 1 L 2, dann ist auch L 2 regulär. b) Wenn L 2 regulär und L 1 L 2, dann ist auch L 1 regulär. c) Wenn L 1 nicht regulär und L 1 L 2, dann ist auch L 2 nicht regulär. d) Wenn L 2 nicht regulär und L 1 L 2, dann ist auch L 1 nicht regulär. Aufgabe 7.3 Für k N 0 sei L k = {a km b m m N 0 }. a) Für welche k N 0 ist L k regulär? b) Für welche k N 0 ist L k nicht regulär? Beweisen Sie Ihre Antworten. Aufgabe 7.4 Sind folgende Sprachen regulär? Begründen Sie Ihre Antworten. a) L 1 = {a m b n m, n 0} b) L 2 = {a m b n m, n 0, m n} c) L 3 = {a m a n m, n 0, m = n} d) L 4 = {a 2m b m m 0} Aufgabe 7.5 Für welche c N 0 sind die Sprachen L c = {a nc n 0} regulär, für welche nicht? Beweisen Sie Ihre Antwort. Aufgabe 7.6 Ist die Sprache L = {a m b n c m+n m, n 0} regulär? Beweisen Sie Ihre Antwort. Aufgabe 7.7 Sind folgende Sprachen für jedes c N 0 regulär? Beweisen Sie Ihre Antwort. a) L c = {a cm a m m 0} b) L c = {a cm b m m 0} Aufgabe 7.8 Sind folgende Sprachen regulär für jedes k N 0? Beweisen Sie Ihre Antwort. a) L k = {a m a n m, n 0, m = kn} b) L = {a 2m b m m 0} Aufgabe 7.9 Ist die Sprache L = {a m ba n m, n 0, m = n} regulär? Beweisen Sie Ihre Antwort. Aufgabe 7.10 Sind folgende Sprachen regulär? Beweisen Sie Ihre Antwort.
Aufgabensammlung Theo Inf I 13 a) L 1 = {a m b n m, n 0, m + n 1000} b) L 2 = {a m b n m, n 0, m n 1000} Aufgabe 7.11 Ist die Sprache L = {a m ba n m, n 0, m = n} regulär? Beweisen Sie Ihre Antwort. Aufgabe 7.12 Ist die Sprache L = {a m ba n m, n 0, m n} regulär? Beweisen Sie Ihre Antwort. Aufgabe 7.13 b N ist ein Teiler von a N 0 genau dann, wenn ein q N 0 existiert, so dass a = b q gilt. Wir schreiben dafür b a. a) Ist die Sprache L = {a p a q p N, q N 0, p q} regulär? Beweisen Sie Ihre Antwort. b) Ist die Sprache L = {a p b q p N, q N 0, p q} regulär? Beweisen Sie Ihre Antwort. Aufgabe 7.14 Es seien L 1 = {a 2m b 3n m, n N 0 } und L 2 = {a 2k b 3k k N 0 } a) Ist L 1 regulär? Beweisen Sie Ihre Aussage! b) Ist L 2 regulär? Beweisen Sie Ihre Aussage! c) Betrachten Sei folgenden Beweis für Aufgabe a): Offensichtlich ist L 1 {a m b n m, n N 0 } =: L L ist offensichtlich regulär (wird z.b. durch den regulären Ausdruck a b beschrieben). Also muss L 1 als Teilmenge von L auch regulär sein. Ist dies ein korrekter Beweis? Begründen Sie Ihre Antwort! Aufgabe 7.15 Beweisen Sie mithilfe des Pumping-Lemmas, dass die Sprache L = {a p p P} nicht regulär ist. Tipp: Wählen Sie i = geeignete Primzahl +1.
Aufgabensammlung Theo Inf I 14 8 Anwendungen Aufgabe 8.1 Ein Polynom über Z stellen wir allgemein in der Art ±a 1 x i1 ± a 2 x i2 ±... ± a k x i k dar. Dabei sind a j N, 1 j k, die Koeffizienten, sowie x die Variable mit den Exponenten i j N 0, 1 j k. Ein Beispiel für ein Polynom ist +3x 1 + 5x 4 2x 2 1x 1 + 6x 0 + 3x 4 7x 3 Wir wollen nun die Koeffizienten und die Exponenten in Strichnotation darstellen: a durch a bzw. i j durch ij. Das Beispiel sieht so kodiert wie folgt aus: + x + x x x + x + x x Diese Kodierung kann als Wort über dem Alphabet Σ = {x,, +, } aufgefasst werden. Es sei nun P(Z) die Menge aller Wörter über Σ, die korrekte Kodierungen von Polynomen über Z darstellen. Geben Sie einen regulären Ausdruck α an mit L(α) = P(Z). Geben Sie einen endlichen Automaten A an mit L(A) = P(Z). Aufgabe 8.2 Eine lineare Gleichung über Z stellen wir allgemein in der Art ±a i1 x i1 ± a i2 x i2 ±... ± a ik x ik = ±b dar. Dabei sind i j N, 1 j k, die Indizes, x ij, 1 j k die Variablen, und für die Koeffizienten a ij, 1 j k, k N gilt a ij N und für die Konstante b gilt b N 0. Ein Beipsiel für eine lineare Gleichung über Z ist: +3x 1 + 5x 4 2x 2 1x 1 + 3x 4 = +1 Wir wollen nun die Indizes, die Exponenten und die Koeffizienten in Strichnotation darstellen: a durch a bzw. i durch i sowie b durch b. Das Beispiel sieht so kodiert wie folgt aus: + x + x x x + x = + Dabei werden in dieser Kodierung die Blanks weggelassen. Zu beachten ist, dass, wenn b = 0 ist, rechts vom Gleichheitszeichen nur + oder steht. Ein lineares Gleichungssystem besteht nun aus einer nichtleeren Folge durch Kommata getrennter Kodierungen von linearen Gleichungen, die mit einem Semikolon endet. Ein mögliches Beispiel mit drei Gleichungen ist: + x + x x x + x = +, x + x + x x = +, + x + x x = ; Diese Kodierung kann als Wort über dem Alphabet Σ = {x,, +,, =,,, ; } aufgefasst werden. Es sei nun LG die Menge aller Wörter über Σ, die korrekte Kodierungen von linearen Gleichungssystemen darstellen. Geben Sie einen endlichen Automaten A an mit L(A) = LG. Aufgabe 8.3 Eine F-Nummer ist eine Ziffernfolge a = a 0 a 1... a 12 mit 13 Ziffern. Eine F-Nummer ist korrekt genau dann, wenn 12 w i a i = 0 mod 10 gilt. Dabei ist w i = { 3, falls i gerade 7, falls i ungerade i=0 Konstruieren Sie einen endlichen Automaten, der genau die korrekten F-Nummern akzeptiert.
Aufgabensammlung Theo Inf I 15 Aufgabe 8.4 Eine X-Nummer ist eine Ziffernfolge a = a 1... a 9 mit 9 Ziffern a i mit 1 a i i für 1 i 9. Eine X-Nummer ist korrekt genau dann, wenn 9 i a i = 0 mod 10 i=1 gilt. Konstruieren Sie einen endlichen Automaten, der genau die korrekten X-Nummern akzeptiert. Aufgabe 8.5 Eine D-Nummer ist eine Ziffernfolge a = a 1... a 12 mit 13 Ziffern a i {0, 1, 2,..., 9, X} für 1 i 12. X steht für eine Ziffer mit der Wertigkeit 10. Eine D-Nummer ist korrekt genau dann, wenn a i {0, 1, 2,..., 9} für 1 i 11, a i {0, 1, 2,..., 9, X} für i = 12, sowie 12 i=1 w ia i = 0 mod 11 gilt. Dabei ist { 1, falls i gerade w i = 3, falls i ungerade Konstruieren Sie einen endlichen Automaten, der genau die korrekten D-Nummern akzeptiert. Aufgabe 8.6 Eine EAN-Nummer (Europäische Artikelnummer) ist eine Ziffernfolge a = a 0... a 12 mit 13 Ziffern. Eine EAN- Nummer ist korrekt genau dann, wenn 12 i=0 w ia i = 0 mod 10 gilt. Dabei ist w i = { 1, falls i gerade 3, falls i ungerade Konstruieren Sie einen endlichen Automaten, der genau die korrekten EAN-Nummern akzeptiert. Aufgabe 8.7 Eine C-Nummer ist eine zehnstellige Ziffernfolge a = a 1... a 10 mit a i {0, 1, 2,..., 9} für 1 i 9 und a 10 {0, 1, 2,..., 9, X}, wobei X für den Wert 10 steht. Eine C-Nummer ist korrekt genau dann, wenn 10 i=1 a i = 0 mod 11 und 10 i=1 i a i = 0 mod 11 gilt. Konstruieren Sie einen endlichen Automaten, der genau die korrekten C-Nummern akzeptiert. Aufgabe 8.8 Eine ISBN-Nummer ist eine zehnstellige Ziffernfolge a = a 1...a 10 mit a i {0, 1, 2,..., 9} für 1 i 9 und a 10 {0, 1, 2,..., 9, X}, wobei X für den Wert 10 steht. Eine ISBN-Nummer ist korrekt genau dann, wenn 10 i=1 i a i = 0 mod 11 gilt. Konstruieren Sie einen endlichen Automaten, der genau die korrekten ISBN-Nummern akzeptiert. Aufgabe 8.9 In Java gelten folgende Syntaxregeln für die Darstellung von Gleitkommazahlen: Gleitkommazahlen bestehen aus einem optionalen Vorzeichen (+ oder -), einer Ziffernfolge (ohne führende Nullen oder = 0) für den Vorkommaanteil und einem Nachkommaanteil oder einer Exponentangabe (oder beidem). Der Nachkommaanteil besteht aus einem Punkt und einer nichtleeren Ziffernfolge, die Exponentangabe besteht aus einem e oder E, gefolgt von einem optionalen Vorzeichen und mindestens einer, maximal zwei Ziffern. Beispiel: +3.14 2.0e-7 3498E3 sind gültige Darstellungen, 3. 0 2.5e sind keine gültigen Darstellungen. a) Geben Sie einen regulären Ausdruck für Gleitkommazahlen an. b) Konstruieren Sie einen endlichen Automaten, der genau die korrekten Gleitkommadarstellungen akzeptiert.
Aufgabensammlung Theo Inf I 16 9 Mealy- und Moore-Maschinen Aufgabe 9.1 Konstruieren Sie eine Mealy-Maschine, die die Funktion f : {0, 1, 2} + {0, 1, 2} + definiert durch k f(x 1 x 2...x n ) = y 1 y 2...y n mit y k = x i mod 3 i=1 für 1 k n berechnet. Berechnen Sie schrittweise f M (2122). Aufgabe 9.2 Konstruieren Sie eine Mealy-Maschine, die die Funktion f : {0, 1, 2...9} {0} {0, 1, 2...9} + definiert durch f(x) = x 2 berechnet, wobei x = x 1x 2... x n 0 eine Zahl im Dezimalsystem mit Einerziffer = 0 beschreibt. Berechnen Sie schrittweise f M (99180). Aufgabe 9.3 Es sei f die Funktion f : {0, 1, 2...9} + {0, 1, 2...9} + definiert durch f(x) = 2x. Konstruieren Sie eine Mealy-Maschine und geben Sie eine geeignete Eingabecodierung α : {0, 1, 2...9} + Σ sowie eine geeignete Ausgabecodierung β : {0, 1, 2...9} + an, sodass f(x) = β(f M (α(x))). Berechnen Sie schrittweise f M (991872). Aufgabe 9.4 Die Funktion f : {0, 1,...9} {a} {0, 1,...9} + sei für n 0 definiert durch f(x 1 x 2...x n a) = x 1 x 2... x n p mit p = n x i mod 10 Die Funktion reproduziert also von der Eingabefolge x 1 x 2... x n a, n 0 die ersten n Ziffern und ersetzt den Platzhalter a durch die Prüfziffer p. Dabei ist p der Rest, der bleibt, wenn die Summe der n Ziffern x 1, x 2,...x n durch 10 geteilt wird. Es gilt also z.b. f(987a) = 9874 Konstruieren Sie einen Mealy-Automaten M, der die Funktion f berechnet. Berechnen Sie schrittweise f M (987a). Aufgabe 9.5 In der Signal- und Bildverarbeitung benötigt man Rauschfilter, um z.b. Schmutz zu beseitigen. In unserem Fall sei ein Schwarz-Weiß-Bild durch eine Folge von Nullen und Einsen codiert. In der Regel sind größere zusammenhängende Regionen schwarz oder weiß, sehr selten nur einzelne Pixel. Durch Flecken oder Staub können aber einzelne Pixel verfälscht sein. Es ist sinnvoll, derartige Sequenzen zu glätten und die Anzahl farblich unterschiedlicher Regionen im Bild zu veringern, um tatsächliche Farbregionen zu rekonstruieren. Konstruieren Sie eine Mealy-Maschine M, die ein 0-1-Eingabefolge auf diese Art gättet: Ein Farbwechsel findet nur statt, wenn mindestens zwei aufeinander folgende Bits gleich sind. Es soll also z.b. gelten: f M (01) = 00, f M (10) = 11, f M (001) = 000, f M (010) = 000, f M (011) = 001, f M (1010010) = 1111000 Berechnen Sie für Ihre Maschine schrittweise f M (011). Aufgabe 9.6 Geben Sie eine Mealy-Maschine M an, die die Funktion f : {0, 1} {0, 1, 2} definiert durch f(x 1 x 2 x 3... x n ) = x 1 y 2... y n mit y i = x i 1 + x i, 2 i n berechnet. Es gilt also z.b. f(011010111) = 01211122 Berechnen Sie für Ihre Maschine schrittweise f M (1101). i=1
Aufgabensammlung Theo Inf I 17 Aufgabe 9.7 Die Funktion f : {0, 1} {0, 1, 2} sei definiert durch f(x 1 x 2... x n ) = y 1 y 2... y n mit y k = k i=1 x i(3) 1 k n Dabei ist a(3) der kleinste positive Rest, der bleibt, wenn a durch 3 geteilt wird. Es gilt also z.b. f(11011101) = 12201220. a) Konstruieren Sie eine Mealy-Maschine M, die f berechnet. b) Berechnen Sie f m (1101) schrittweise. Aufgabe 9.8 Geben Sie die formale Definition und das Zustandsdiagramm einer Mealy-Maschine M an, die die Funktion f : {0, 1} {0, 1, 2} definiert durch f(x 1 x 2 x 3... x n ) = x 1 y 2... y n mit y i = x i 1 x i, 2 i n berechnet. Es gilt also z.b. f(011010111) = 001000011 Berechnen Sie für Ihre Maschine schrittweise f M (1101). Aufgabe 9.9 Konstruieren Sie eine endliche Moore-Maschine, die einen Ringzähler modulo p realisiert (p N)! Die Eingaben sind Wörter über dem Alphabet {0, +, }. Dabei bedeutet das Zeichen 0 Zurücksetzen des Zählers auf 0 (reset), + bedeutet Erhöhen des Zählers um 1 (increment) und bedeutet Erniedrigen des Zählers um 1 (decrement). Hat der Zähler den Wert p 1, liefert increment den Wert 0. Hat der Zähler den Wert 0, liefert decrement den Wert p 1. Die Maschine soll nach jeder Eingabe den korrekten Zählerstand ausgeben. Beispiel: f M (+ + +) = 3 f M ( ) = p 2 f M (+ + 0 + ) = p 1 Dabei sei f M (w) = λ(δ (s 0, w)). Berechnen Sie schrittweise f M (+ + 0 ) für Ihre Maschine M.