Technische Universität München Fkultät für Informtik Prof. Tois Nipkow, Ph.D. Ssch Böhme, Lrs Noschinski Sommersemester 2011 Lösungsltt 4 20. Juni 2011 Einführung in die Theoretische Informtik Hinweis: Bitte echten Sie unedingt die Hinweise zum Üungsluf und zu den Aufgentypen uf der THEO-Wesite (http://theo.in.tum.de/). Husufge 1 (6 Punkte) Wir etrchten die eiden folgenden deterministischen Automten. 1., q 0 q 1 q 2 q 3 q 4 q 5 q 6 2. q 0 q 1 q 2 q 3 q 4, Verwenden Sie ds in der Vorstellung vorgestellte Verfhren, um diese Automten zu minimieren. Gehen Sie dei wie folgt vor: 1. Stellen Sie die Telle us der Vorlesung uf und geen Sie zu jedem unterscheidren Pr von Zuständen n, mit welchem Zeichen (oder ɛ) sie unterschieden werden können. 2. Verwenden Sie die ufgestellte Telle, um den Quotientenutomt zu konstruieren.
Lösungsvorschlg 1. Die Tellen sehen folgendermßen us. Dei ist eine Zelle mit i/c eschriftet, wenn die eiden Zustände mit dem Buchsten c durch ein Zustndspr, dss mit einer Zhl j < i eschriftet ist, unterschieden werden können. Mit X sind diejenigen Zellen eschriftet, die wegen der Endzustände unterschieden werden können 1) 0 1/ 1 2/ 1/ 2 1/ 1/ 3 X X X X 4 1/ 1/ X 5 X X X X X 6 2) 0 1/ 1 X X 2 2/ 1/ X 3 1/ X 2/ 4 1) 0 1/ 1 2/ 1/ 2 1/ 1/ 3 X X X X 4 1/ 1/ X 5 X X X X X 6 2) 0 1/ 1 X X 2 2/ 1/ X 3 1/ X 2/ 4 2. Die dzugehörigen Quotientenutomten sehen folgendermßen us:, q 0 q, 135 q 2 q 46, q 04, q 2 q 3 q 1 2
Husufge 2 (4 Punkte) Konstruieren Sie durch Lösen entsprechender Gleichungen einen regulären Ausdruck für die Sprche L(M) des DFA M = ({q 0, q 1, q 2, q 3, q 4 }, {, }, δ, q 0, {q 2, q 4 }) mit folgender Üergngstelle: q i δ(q i, ) δ(q i, ) q 0 q 1 q 2 q 1 q 3 q 4 q 2 q 2 q 1 q 3 q 3 q 3 q 4 q 4 q 2 Lösungsvorschlg Die entsprechenden Gleichungen sind: X 0 X 1 X 2 (1) X 1 X 3 X 4 (2) X 2 X 2 X 1 ɛ (3) X 3 X 3 X 3 (4) X 4 X 4 X 2 ɛ (5) Gleichung (4) läßt sich leicht lösen: Dmit läßt sich X 3 us (2) eliminieren: X 3 ( )X 3 ( ) (6) Dnn folgt: X 1 X 4 X 4 (7) Mit Arden s Lemm erhält mn us (9): X 0 (X 4 ) X 2 X 4 X 2 (8) X 2 X 2 (X 4 ) ɛ X 2 X 4 ɛ (9) X 2 (X 4 ɛ) X 4 (10) Einsetzen in (5) und Anwenden von Arden s Lemm ergit: X 4 X 4 ( X 4 ) ɛ ( )X 4 ɛ ( ) ( ɛ) 3
Im Folgenden kürzen wir den regulären Ausdruck mit γ. Durch Einsetzen in (8) und unter Verwendung von (10) erhlten wir den gesuchten regulären Ausdruck: X 0 X 4 ( X 4 ) ( γ)x 4 ( γ)( γ) ( ɛ) Husufge 3 (5 Punkte) Sei Σ = {0, 1, #}. Ein Wort w Σ knn ls Binärdrstellung einer ntürlichen Zhl ufgefsst werden, die wir mit w ezeichnen. Wir etrchten zwei verschiedene Additionssprchen. 1. Zeigen Sie: Die Sprche ist regulär. L 1 = {u 1 v 1 w 1 u n v n w n n N i. u i, v i, w i {0, 1} u 1 u n = v 1 v n + w 1 w n } 2. Verwenden Sie ds Pumping-Lemm, um zu zeigen, dss die Sprche nicht regulär ist. L 2 = {u#v#w u, v, w {0, 1} u = v + w } Lösungsvorschlg 1. D reguläre Sprchen geschlossen sind unter Spiegelungen zeigen wir stttdessen, dss die Sprche L R 1 = {w n v n u n w 1 v 1 u 1 n N i. u i, v i, w i Σ u 1 u n = v 1 v n + w 1 w n } regulär ist. Dzu geen wir einen Automten uf der Zustndsmenge Q = { 0, 1, 0, 1, 2, c 0, c 1, c 2, c 3 } n, der die Einge in Dreier-Blöcken verreitet. Den Zuständen wird dei folgende Bedeutung zugeordnet: i : Der Automt liest ls nächstes ein Zeichen von w ein, und es git einen Üertrg i. i : Der Automt liest ls nächstes ein Zeichen von v ein. Die Summe us Üertrg und dem letzten Zeichen us w eträgt i. c i : Der Automt liest ls nächstes ein Zeichen von u ein. Die Summe us Üertrg und den letzten Zeichen us w und v eträgt i. 4
Strtzustnd und einziger Endzustnd ist dnn 0. Die Üergngsreltion sieht wie folgt us: q i δ(q i, 0) δ(q i, 1) 0 { 0 } { 1 } 1 { 1 } { 2 } 0 {c 0 } {c 1 } 1 {c 1 } {c 2 } 2 {c 2 } {c 3 } c 0 { 0 } c 1 { 0 } c 2 { 1 } c 3 { 1 } In den Üergängen von nch zw. nch c werden lso die Ziffern von w, v mit dem Üertrg ufsummiert; in den Üergängen von c nch wird verglichen, o die Summe mit der ktuellen Ziffer von u üereinstimmt und ein eventueller Üertrg für die nächste Runde üernommen. Wir ezeichnen den Automt (Q, Σ, δ, 0, { 0, 1 }) mit A. Formler Korrektheitseweis (wurde in der Üung nicht erwrtet): Betrchtet mn die Zustndsüergngsreltion δ, so sieht mn, dss für lle i, j 0, 1 ein Üergng von i zu j (ohne dss dziwschen ein weiteres k, k 0, 1 vorkommt) immer in genu drei Schritten erfolgt. D 0 der Strtzustnd ist und 0, 1 die einzigen Endzustände sind, kzeptiert der Automt A nur Wörter, deren Länge ein vielfches von 3 ist. Wir setzen jetzt: R 0 = L(A) und R 1 = L ((Q, Σ, δ, 1, { 0, 1 })). Wir zeigen jetzt per Induktion üer n: x = w 1 v 1 u 1 w n v n u n R 0 u + v = w und x R 1 1 + u + v = w. 2. Angenommen, L 2 sei regulär. Dnn sei n eine Pumping-Lemm-Zhl, und wir wählen ds Wort z = 1 n #0#1 n L 2. Für jede Zerlegung z = uvw mit uv n und v ɛ git es k 0, l > 0 so dss u = 1 k, v = 1 l und w = 1 (n k l) #0#1 n. Aer dnn ist uv 0 w = 1 (n l) #0#1 n nicht in L, denn die Summe us 1 (n l) und 0 ist nicht 1 n. Dmit erhlten wir einen Widerspruch zur Annhme, und somit ist L 2 nicht regulär. Husufge 4 (5 Punkte) Für zwei Sprchen L 1 und L 2 üer einem Alphet Σ definieren wir die Quotientensprche L 1 /L 2 = {u uv L 1 v L 2 }. Zeigen Sie: Ist L 1 regulär, so ist uch L 1 /L 2 regulär. Lösungsvorschlg Sei M = (Q, Σ, δ, q 0, F ) ein DFA mit L(M) = L 1. Wir ehupten, der Automt M = (Q, Σ, δ, q 0, F ) mit F = {q Q u, v Σ. δ(q 0, u) = q v L 2 uv L 1 } erkennt L 1 /L 2. 5
Sei w L(M ). Dnn git es ein q F, so dss ˆδ(q 0, w) = q ist. Also git es u, v Σ mit ˆδ(q 0, u) = q, v L 2 und uv L 1. Weiterhin gilt ˆδ(q 0, uv) = ˆδ(ˆδ(q 0, u), v) = ˆδ(ˆδ(q 0, w), v) = ˆδ(q 0, wv) und dmit wv L 1 und dmit w L 1 /L 2. Sei jetzt umgekehrt w L 1 /L 2 und ˆδ(q 0, w) = q. Dnn git es ein v L 2, so dss wv L 1. Also gilt nch Definition von F uch q F und dmit w L(M ). Dmit hen wir gezeigt, dss die Sprche L 1 /L 2 von einem DFA kzeptiert wird. Also ist L 1 /L 2 regulär. 6
Quiz 1 Bentworten Sie kurz die folgenden Frgen: 1. Git es endliche, nicht kontextfreie Sprchen? 2. Ist die Sprche { m n m < n} kontextfrei? 3. Welche Sprche eschreit die Grmmtik mit den Produktionen S S B und B B? Lösungsvorschlg 1. Nein, denn jede endliche Sprche ist regulär und dmit kontextfrei. 2. J, sie wird von der Grmmtik G = ({S}, {, }, P, S) mit P = {S S S } erzeugt. 3. Die leere Sprche, denn jede endliche Aleitung endet mit einem Wort, dss ein Nichtterminl enthält. Tutorufge 1 1. Sei Σ = {, }. Zeigen Sie, dss im untenstehenden DFA q 3 M q 4 und q 3 M q 6 gelten:, q 6 q 4 q 0 q 1 q 5 q 2 q 3, 2. Sei L = L( ). Zeigen oder widerlegen Sie die folgenden Äquivlenzeziehungen: L ɛ, L, L, L ɛ. 3. Sei nun Σ n = { 1,..., n } und L n = {w Σ n Σ n. w = 1}. Zeigen Sie, dss jeder DFA, der L n kzeptiert, mindestens 2 n + 1 Zustände hen muss. Betrchten Sie dzu die Äquivlenzklssen von Ln. 7
Lösungsvorschlg 1. ˆδ(q 3, ) = q 3 / F, er ˆδ(q 4, ) = q 5 F. Dmit ist die Definition von Äquivlenz nicht erfüllt. Alle von q 3 zw. q 6 usgehenden Trnsitionen führen wieder nch q 3 zw. q 6. Ds heißt, für lle w Σ gilt ˆδ(q 3, w) = q 3 F und ˆδ(q 6, w) = q 6 F und dmit ist q 3 M q 4. 2. L ɛ: w L w L( ) w = m n für gewisse m 2 und n 0 ɛw = m n für gewisse m 0 und n 0 ɛw L( ) ɛw L L : Für w = gilt w = L und w = L. L : Für lle w gilt w L und w L. L ɛ: Für w = ɛ gilt w = L und ɛw = ɛ L. 3. Betrchte Äquivlenzklssen von Ln. Für jede Teilmenge A Σ sei w A ein elieiges Wort, welches jedes Zeichen us A genu einml enthält. Seien nun A, B Σ elieig mit A B. Dnn existiert o.b.d.a. ein x Σ mit x B und x A (sonst vertusche A und B). Nun gilt einerseits w A w Σ\A L n und ndererseits w B w Σ\A L n (denn x kommt sowohl in w B ls uch in w Σ\A vor). Dmit ist w A Ln w B. Wir erhlten lso für jede der 2 n Teilmengen von Σ eine Äquivlenzklsse in Ln. Eine weitere Äquivlenzklsse ht den Repräsentnten ( Σ), welches zu keinem der w A äquivlent ist. D die Äquivlenzklssen die Zustände des knonischen Minimlutomten sind, ergit sich drus die untere Schrnke 2 n + 1 für die Anzhl der Zustände. Tutorufge 2 1. Sei Σ = {0, 1}. Geen Sie eine Grmmtik n, die lle Wörter eschreit, ei denen Nullen vor Einsen kommen, die Anzhl der Nullen geringer ls die Anzhl der Einsen ist sowie die Länge jedes Wortes ungerde ist. 2. Gegeen sei die CFG G = ({S, T, U}, {,, c}, P, S) mit den Produktionen S T c T T T T c U U c Entscheiden Sie, welche der folgenden Wörter in der Sprche L(G) liegen und geen Sie für von der Grmmtik erzeugte Wörter eine Kette von Aleitungsschritten n: cc cc cc 3. Zeigen Sie forml mit Induktion: x n y y m z = x n+m z. 8
Lösungsvorschlg 1. G = ({S}, {0, 1}, P, S) mit den Produktionen S 0S1 S11 1 2. S T c Uc cc cc ist nicht in L(G) S T T T c Uc cc 3. Induktion üer m: Wenn m = 0, dnn ist y = z und es ist nichts zu zeigen. Im Induktionsschritt schließen wir wie folgt: x n y y m+1 z = x n y y m w w z (nch Def.) = x n+m w w z (nch Induktionshypothese) = x n+m+1 z (nch Def.) Tutorufge 3 Zeigen Sie: Jede Sprche, die von einer rechtslineren CFG erzeugt wird, knn uch von einer linkslineren CFG erzeugt werden. Lösungsvorschlg Sttt zu einer elieigen rechtslineren Grmmtik eine äquivlente linkslinere Grmmtik zu kontruieren, ws sehr ufwendig ist, nehmen wir den Umweg üer reguläre Sprchen und Automten. Wir zeigen dzu, dss (1) die Sprche einer rechtslinere Grmmtik regulär ist, (2) jede reguläre Sprche durch eine rechtslinere Grmmtik eschrieen werden knn, sowie (3) die geforderte Aussge mithilfe der regulären Aschlußeigenschft von Spiegelsprchen. 1. Zu einer rechtslineren kontextfreien Grmmtik G = (V, Σ, P, S) konstruieren wir einen NFA N = (V, Σ, δ, S, F ), der diesele Sprche kzeptiert: δ(a, ) = {B V A B P } F = {A V A ɛ P } Wir eweisen L(G) = L(N) in zwei Teilschritten: () Sei A V elieig. Dnn gilt w L(A) = ˆδ({A}, w) F ufgrund folgender Induktion üer die Erzeugung von w: A ɛ: Dnn muss A F sein und somit ˆδ(A, ɛ) = {A} F. A B: Sei w = u mit u L(B): Nch Induktionsvorussetzung git es somit ein C ˆδ(B, u) F. Nun ist ˆδ({A}, u) = ˆδ( δ(a, ), u) = ˆδ(δ(A, ), u). A {A} D B δ(a, ), ist uch C ˆδ({A}, u). 9
() Für die Gegenrichtung müssen wir für jeden möglichen Aluf des NFA eine Aleitung konstruieren. Wir zeigen lso ˆδ({A}, w) F = A G w mit Induktion üer w: w = ɛ: Wenn ˆδ({A}, ɛ) F, dnn ist A F und dmit A ɛ P. Dmit gilt A G ɛ. w = u: Wenn ˆδ({A}, u) F, dnn git es einen Zustnd B δ(a, ) so dss ˆδ({B}, u) F. Mit Induktionshypothese erhlten wir B u und drus die Aleitung A B u = w. 2. Sei M = (Q, Σ, δ, q 0, F ) ein DFA. Dnn definieren wir die rechtslinere Grmmtik G = (Q Σ, Σ, P, q 0 ) mit P = {q q δ(q, ) = q } {q, ɛ δ(q, ) F } Offensichtlich ist G rechtsliner. Der Beweis von L(G) = L(M) ist einfch... 3. Sei G eine rechtslinere Grmmtik. Dnn ist L(G) nch (1) regulär. D nch Lemm 2.22 die gespiegelte Sprche L(G) R eenflls regulär ist, git es einen DFA M, der L(G) R kzeptiert. Nch (2) git es eine rechtslinere Grmmtik G, die L(M) = L(G) R erzeugt. Die Spiegelung der Produktionen der Grmmtik G liefert dnn offensichtlich eine linkslinere Grmmtik G, die L(M) R = L(G) erzeugt (induktiver Beweis üer die Aleitung von Wörtern in L(G ) zw. von gespiegelten Wörtern w R in L(G )). 10