13.07.2015 Aufrufe

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Technische Universität MünchenFakultät für <strong>Informatik</strong>Prof. Tobias Nipkow, Ph.D.Dr. Werner Meixner, Dr. Alexander KraussSommersemester 2010Lösungsblatt 54. Juni 2010<strong>E<strong>in</strong>führung</strong> <strong>in</strong> <strong>die</strong> <strong>Theoretische</strong> <strong>Informatik</strong>Hausaufgabe 1 (5 Punkte)1. Konstruieren Sie e<strong>in</strong> Beispiel dafür, dass unerreichbare Zustände nicht automatischäquivalent s<strong>in</strong>d. Begründung!2. Sei Σ e<strong>in</strong> Alphabet und L ⊆ Σ ∗ . Beweisen oder widerlegen Sie:(a) Wenn w ≡ L w ′ und v ∈ Σ ∗ , dann ist auch wv ≡ L w ′ v.(b) Wenn w ≡ L w ′ und v ∈ Σ ∗ , dann ist auch vw ≡ L vw ′ .Lösungsvorschlag1. Es genügt e<strong>in</strong> jeweils unerreichbarer Endzustand und e<strong>in</strong> Nicht-Endzustand. Z.B.gilt q 1 ≢ A q 2 <strong>in</strong> folgendem DFA A:a,baq 2q 0 q 1a2. (a) Wir nehmen an, dass w ≡ L w ′ , und damit ∀z.(wz ∈ L ↔ w ′ z ∈ L).Für wv ≡ L w ′ v sei u ∈ Σ ∗ beliebig. Dann folgt wvu ∈ L ↔ w ′ vu ∈ L direktaus der Annahme, wenn man vu für z e<strong>in</strong>setzt.(b) Die Aussage ist falsch. Gegenbeispiel: L = L(a ∗ b ∗ ), w = ab, w ′ = b, v = b.Hausaufgabe 2 (5 Punkte)Beschreiben Sie e<strong>in</strong> Entscheidungsverfahren, welches für e<strong>in</strong>en gegebenen DFAM = (Q, Σ, δ, q 0 , F ) entscheidet, ob jedes von M akzeptierte Wort e<strong>in</strong>e ungerade Längehat. Benutzen Sie dabei den Test auf Leerheit der Sprache e<strong>in</strong>es Automaten.


2.ɛq sɛq 0aq 1bɛ b baɛq 2 q 3aa,b3. Idee: Sei N e<strong>in</strong> ɛ-NFA N = (Q, Σ, δ, q 0 , F ), bei dem jeder Zustand vom Startzustanderreichbar ist. Daraus konstruiert man e<strong>in</strong>en neuen ɛ-NFA N ′ mit L(N ′ ) = suff(L(N)).Dafür fügt man e<strong>in</strong>en neuen Startzustand h<strong>in</strong>zu, von dem e<strong>in</strong> ɛ-Übergang <strong>in</strong> jedenZustand führt.Formal ist N ′ wie folgt def<strong>in</strong>iert: N ′ = (Q ∪ {q s }, Σ, δ ′ , q s , F ), mitδ ′ (q s , ɛ) = Qδ ′ (q s , a) = ∅δ ′ (q, b) = δ(q, b)∀a ∈ Σ∀q ∈ Q, b ∈ Σ ∪ {ɛ}Hausaufgabe 4 (5 Punkte)1. Seien A 1 = (Q 1 , Σ, δ 1 , q 01 , F 1 ) und A 2 = (Q 2 , Σ, δ 2 , q 02 , F 2 ) beliebige DFAs, und M =(Q M , Σ, δ M , q 0M , F M ) e<strong>in</strong> m<strong>in</strong>imaler DFA mit L(M) = L(A 1 ) ∪ L(A 2 ).Zeigen Sie:|Q M | ≤ |Q 1 | · |Q 2 | .2. Berechnen Sie systematisch den Quotientenautomaten M/≡ M des DFAM = ({A, B, C, D, E, F }, {0, 1}, δ, A, {A, D}) mit folgender Übergangsfunktion:q δ(q, 0) δ(q, 1)A A FB C AC D BD D CE F DF A EProtokollieren Sie <strong>die</strong> Schritte des angewandten Verfahrens.3


Lösungsvorschlag1. Der Produktautomat A 1 × A 2 von A 1 und A 2 mit |Q 1 | · |Q 2 | Zuständenakzeptiert L(A 1 ) ∩ L(A 2 ).Es gilt L(A 1 ) ∪ L(A 2 ) = L(A 1 ) ∩ L(A 2 ) .Da es zu jedem DFA A e<strong>in</strong>en DFA A ′ mit gleichvielen Zuständen gibt, der L(A)akzeptiert, gibt es e<strong>in</strong>en DFA mit |Q 1 | · |Q 2 | Zuständen, der L(M) akzeptiert.2.A× B× C× × D× × E× × F(1) Nach der InitialisierungA× B× × 1 C× × D× × 1 × E× × 1 × × 1 F(2) Nach dem 2. DurchlaufErgebnis nach Kollabierung:1A, D C, F00 10 1 E, B4


Lösungsvorschlag1. L(G) = {a m b n | 0 ≤ m < n und m + n ungerade}.Man beachte, dass nicht verlangt wurde, <strong>die</strong> Darstellung zu beweisen.2. Es gilt a 2 b 4 ∉ L(G) und a 4 b 4 ∉ L(G). Dies würde sofort aus der Teilaufgabe 1 folgen.Allerd<strong>in</strong>gs wurde <strong>die</strong> Mengendarstellung für L(G) dort nicht bewiesen.Es genügt aber der Nachweis, dass alle Satzformen α der Grammatik G, <strong>die</strong> e<strong>in</strong>eVariable T enthalten, e<strong>in</strong>e gerade Länge haben. Da jedes Wort w ∈ L(G) mit derProduktion T → G ɛ aus e<strong>in</strong>er Satzform α abgeleitet wird, <strong>die</strong> genau e<strong>in</strong> T enthält,folgt dann, dass w ungerade Länge haben muss.Wir betten unsere zu beweisende Aussage e<strong>in</strong> <strong>in</strong> <strong>die</strong> umfassendere Aussage: Jedeaus S ableitbare Satzform enthält höchstens e<strong>in</strong>e Variable und jede aus S ableitbareSatzform α, <strong>die</strong> e<strong>in</strong>e Variable T enthält, besitzt e<strong>in</strong>e gerade Länge, Und jede aus Sableitbare Satzform β, <strong>die</strong> ke<strong>in</strong>e Variable T enthält, besitzt e<strong>in</strong>e ungerade Länge.Der Beweis wird <strong>in</strong>duktiv über <strong>die</strong> Länge der aus S ableitbaren Satzformen geführt.Für α = S gilt <strong>die</strong> Aussage offensichtlich (S wird aus S <strong>in</strong> 0 Schritten abgeleitet).Jede Satzform β, <strong>die</strong> genau e<strong>in</strong> S enthält wird durch Anwendung der ProduktionS → T b <strong>in</strong> e<strong>in</strong>e Satzform α überführt, <strong>die</strong> genau e<strong>in</strong> T enthält und um 1 länger ist.Wenn <strong>die</strong> Aussage für α gegolten hat, dann gilt sie auch für β.Jede Satzform α, <strong>die</strong> genau e<strong>in</strong> T enthält wird durch Anwendung e<strong>in</strong>er der 3 möglichenProduktionen <strong>in</strong> e<strong>in</strong>e Satzform β überführt, <strong>die</strong> genau e<strong>in</strong> S enthält und um 1länger ist, oder <strong>die</strong> ke<strong>in</strong>e Variablen enthält und um 1 kürzer ist. Wenn <strong>die</strong> Aussagefür β gegolten hat, dann gilt sie auch für α.Tutoraufgabe 1Sei G = (V, Σ, P, S) e<strong>in</strong>e kontextfreie Grammatik.Zeigen Sie, dass für alle α, β, u, v, α 1 , α 2 , β 1 , β 2 ∈ (Σ ∪ V ) ∗ gilt:1. α → G β =⇒ uαv → G uβv (Abschluss von → G unter Kontext)2. α → n G β =⇒ uαv →n G uβv (Abschluss von →n Gunter Kontext)3. α 1 → n G β 1 ∧ α 2 → m G β 2 =⇒ α 1 α 2 → n+mGβ 1 β 2(Dekompositionslemma (Lemma 3.9), 1. Teil: ⇐=)Lösungsvorschlag1. Wenn α → G β, dann gibt es nach Def. 3.4 e<strong>in</strong>e Regel A → γ ∈ P und α 1 , α 2 , so dassα = α 1 Aα 2 und β = α 1 γα 2 . Nun setzen wir α ′ 1 = uα 1 und α ′ 2 = α 2 v, womit wieder<strong>die</strong> Def<strong>in</strong>ition von → G erfüllt ist, denn uαv = α ′ 1Aα ′ 2 und uβv = α ′ 1γα ′ 2. Somit giltuαv → G uβv.6


2. Die zuvor gezeigte Eigenschaft übertragen wir mit Induktion über n auf <strong>die</strong> Mehrschrittrelation→ n G :Fall n = 0: α → 0 G β =⇒ α = β =⇒ uαv = uβv =⇒ uαv →0 G uβv.Fall n → n + 1: Wenn α → n+1Gβ, dannα → n G γ → G β =⇒ uαv → n G uγv → G uβv =⇒ uαv → n+1G3. Wir setzen jetzt lediglich <strong>die</strong> zuvor gezeigten Eigenschaften zusammen. Mit demAbschluss unter Kontext schließen wir:α 1 → n G β 1 =⇒ α 1 α 2 → n G β 1α 2α 2 → m G β 2 =⇒ β 1 α 2 → m G β 1β 2uβvMit der Kompositionseigenschaft aus VA1.2 folgt nun α 1 α 2 → n+mGβ 1 β 2Tutoraufgabe 2Geben Sie e<strong>in</strong>e kontextfreie Grammatik an, <strong>die</strong> <strong>die</strong> SpracheL = {w ∈ {a, b} ∗ | # a (w) = 2 · # b (w)}erzeugt und zeigen Sie <strong>die</strong> Korrektheit Ihrer Konstruktion.LösungsvorschlagEs sei G = ({S}, {a, b}, P, S) mit den Produktionen:S → ɛ | SaSaSbS | SaSbSaS | SbSaSaS .An den Produktionen der Grammatik fällt auf, dass vor und nach jedem term<strong>in</strong>alenZeichen <strong>die</strong> Variable S steht. Damit ist sofort klar, dass ohne <strong>die</strong> Anwendung von ɛ-Produktionen sich <strong>die</strong>se Eigenschaft auf alle abgeleiteten Satzformen α überträgt. Da <strong>die</strong>ɛ-Produktionen mit allen anderen Produktionen vertauscht werden können gilt für jedesableitbare Wort w ∈ L(G)S → G ∗ w S → ɛ ∗ w ,wobei w S für w = x 1 x 2 . . . x n mit x i ∈ Σ def<strong>in</strong>iert sei durchw S = Sx 1 Sx 2 S . . . Sx n S ,und → ∗ ɛ e<strong>in</strong>e Ableitung mit ausschließlicher Anwendung von ɛ-Produktionen bedeuten soll.Den e<strong>in</strong>fachen, <strong>in</strong>duktiv geführten Beweis <strong>die</strong>ser Eigenschaft verlegen wir <strong>in</strong> <strong>die</strong> Schlußbemerkung.Für den Beweis von L(G) = L müssen wir <strong>die</strong> zwei Richtungen L(G) ⊆ L und L ⊆ L(G)beweisen.L(G) ⊆ L: Wir zeigen mit Induktion über <strong>die</strong> Erzeugung von w, dass für jedes aus Sableitbare Wort w gilt # a (w) = 2 · # b (w). Dabei erhalten wir je e<strong>in</strong>en Fall für jedeProduktion.• S → ɛ: Für w = ɛ gilt # a (w) = # b (w) = 0 , d. h. w ∈ L.7


• S → SaSaSbS: Sei w ∈ L(S)aL(S)aL(S)bL(S), d. h. w = w 1 aw 2 aw 3 bw 4w i ∈ L(S). Nach Induktionshypothese gilt # a (w i ) = 2 · # b (w i ) und somit folgt# a (w) = # a (w 1 aw 2 aw 3 bw 4 ) = # a (w 1 ) + # a (w 2 ) + # a (w 3 ) + # a (w 4 ) + 2= 2 · (# b (w 1 ) + # b (w 2 ) + # b (w 3 ) + # b (w 4 ) + 1) = 2 · # b (w) .Es folgt w ∈ L.mit• Analog für <strong>die</strong> übrigen Produktionen.L ⊆ L(G): Wir zeigen, dass jedes Wort w mit # a (w) = 2# b (w) aus S ableitbar ist. Wirführen <strong>die</strong> Induktion über <strong>die</strong> Länge von w:• |w| = 0: Dann ist w = ɛ und S → ɛ.• Es gibt ke<strong>in</strong>e Wörter aus L der Länge 1 oder 2.• Alle Wörter aus L der Länge 3 (aab, aba, baa) s<strong>in</strong>d direkt <strong>in</strong> 5 Schritten (davon 4mal S → ɛ) ableitbar.• |w| = n + 1 ≥ 4: Nach Induktionsvoraussetzung s<strong>in</strong>d alle kürzeren Wörter w ′ ∈ Lableitbar.Wegen |w| ≥ 4 und w ∈ L gibt es e<strong>in</strong>e Zerlegung w = uaabv oder e<strong>in</strong>e Zerlegungw = ubaav. Wir betrachten nur den Fall w = uaabv.Es gilt offenbar w ′ = uv ∈ L und nach Induktionsvoraussetzung ist w ′ herleitbar,d. h. w ′ ∈ L(G). Es folgtS → G ∗ (uv) S → ɛ ∗ uSv → G ∗ uaabv = w .Man beachte das allgeme<strong>in</strong>e Schema: Für <strong>die</strong> Richtung L(G) ⊆ L verwendet man Induktionüber <strong>die</strong> Erzeugung e<strong>in</strong>es Worts. Für <strong>die</strong> Gegenrichtung verwendet man Eigenschaftender Sprache L und (meist) e<strong>in</strong> anderes Induktionspr<strong>in</strong>zip, hier <strong>die</strong> Induktion über <strong>die</strong>Länge.Schlussbemerkung : Wir zeigen noch durch Induktion für alle w ∈ L(G)• S → ɛ: Für w = ɛ gilt S → ɛ ∗ w.S → G ∗ w S → ɛ ∗ w ,• S → SaSaSbS: Sei w ∈ L(S)aL(S)aL(S)bL(S), d. h. w = w 1 aw 2 aw 3 bw 4w i ∈ L(S). Nach Induktionshypothese gilt S → ∗ G (w i ) S → ∗ ɛ (w i ). Es folgtmitS → G ∗ SaSaSbS → G ∗ (w 1 ) S a (w 2 ) S a (w 3 ) S b (w 4 ) S = w S → ɛ ∗ w .• Analog für <strong>die</strong> übrigen Produktionen.8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!