Theoretische Informatik 2 Tutorium 3 2 5 2002

  • Slides: 8
Download presentation
Theoretische Informatik 2 Tutorium #3 2. 5. 2002 (Fabian Wleklinski)

Theoretische Informatik 2 Tutorium #3 2. 5. 2002 (Fabian Wleklinski)

Aufgabe 3. 1 – Nerode Index 1. Nerode-Relation: 1. Seite 30! 2. (x L

Aufgabe 3. 1 – Nerode Index 1. Nerode-Relation: 1. Seite 30! 2. (x L y) g. d. w. ( w: xw L yw L) 3. auf WÖRTERN definiert, nicht auf DFAs 4. Index = Zustandszahl des minimalen DFAs! 1. Nerode-Automat 1. minimal! 2. d. h. isomorph zu jedem anderen minimalen DFA! 3. Ä‘-Klassen werden zu Zuständen! 4. rein gedankliches Konstrukt, beweist die Minimalität des Äquivalenzklassen. DFAs!

Aufgabe 3. 1 – Nerode Index a) Idx(L ) Idx(L) • Ja! • Füge

Aufgabe 3. 1 – Nerode Index a) Idx(L ) Idx(L) • Ja! • Füge für jeden akzeptierenden Zustand, und jedes Eingabesymbol eine Selbstschleife ein: • – f F, a : (f, a): =f Berechnungen werden also bei Akzeptanz „eingefangen“!! b) Idx(L 1 L 2) Idx(L 1) Idx(L 2) • Ja! • Baue 2 min. DFA‘s: A 1 : = (Q 1, , 1, q 0, 1, F 1) A 2 : = (Q 2, , 2, q 0, 2, F 2) • Baue dritten DFA A 3 : = (Q 3, , 3, [q 0, 1, q 0, 2], F 3) Q 3 : = Q 1 Q 2 3([qi, qj], a): =( 1(qi, a), 2(qj, a)) F 3 : = {[qi, qj] | qi F 1 qj F 2}

Aufgabe 3. 1 – Nerode Index • Eliminiere Symbole, die nur in einer Sprache

Aufgabe 3. 1 – Nerode Index • Eliminiere Symbole, die nur in einer Sprache vorkommen! • |Q| = |Q 1| |Q 2|

Aufgabe 3. 2 – Schnittsprache • Siehe 3. 1 b) !!! – Fazit: Index

Aufgabe 3. 2 – Schnittsprache • Siehe 3. 1 b) !!! – Fazit: Index bzw. Zustandszahl wächst im worst-case multiplikativ an! • Nehme zwei Sprachen, z. B: – L 1={ak | k=0 mod n} – L 2={ak | k=0 mod n+1} • Index? – Index(L 1) = n, Index(L 2) = n+1 • Beweis? Betrachte L 1: – n Worte a 0, a 1, , an-1 paarweise nicht Nerode-äquivalent! • i: (ai an-k L) (i=k) – Wird ein ai mit an-i fortgesetzt, so liegt dieses Wort in L. Für jede Fortsetzung aj mit j i liegt das Wort hingegen nicht in L. – Index(L 1) n

Aufgabe 3. 2 – Schnittsprache – Andererseits lässt sich L 1 akzeptieren von DFA

Aufgabe 3. 2 – Schnittsprache – Andererseits lässt sich L 1 akzeptieren von DFA A 1: • A 1 : = (Q 1, , 1, q 0, F 1) : = {a} Q 1 : = {q 0, q 1, , qn-1} F 1 : = {q 0} (qi, a): =q(i+1) mod n – Index(L 1) = n !!! – Ebenso: Index(L 2) = n+1 • Index von L=L 1 L 2 ? ? ? – Index(L) = n(n+1) ? ? ? • L={ak | k=0 mod n+1} • gg. T( n , n+1 ) = 1 L={a 0, an(n+1), a 2 n(n+1), } • Wg. obiger Überlegungen: – Index(L) = n(n+1) • Fazit: Index wächst im w-c multiplikativ!

Aufgabe 3. 3 – Nerode Index a) L = – zwei Wörter u und

Aufgabe 3. 3 – Nerode Index a) L = – zwei Wörter u und v, die nicht enthalten, sind äquivalent, g. d. wenn ihr längster Suffix, der auch ein Präfix von ist, gleich ist! – Die Äquivalenzklassen entsprechen also den Präfixen von ! 1. z. z: Index(L )=| +1| 1. Wann sind 2 Worte Nerode-äquivalent? 1. beide Worte enthalten : äquivalent! 2. Genau 1 Wort enthält : inäquivalent! • Zeuge: 3. kein Wort enthält : • • beides möglich!! komplizierter. . . • inkl. + ! – Index(L ) = | |+1

Aufgabe 3. 3 + 3. 4 b) Klammersprache 1. Möglichkeit #1: Pumping-Lemma 2. Möglichkeit

Aufgabe 3. 3 + 3. 4 b) Klammersprache 1. Möglichkeit #1: Pumping-Lemma 2. Möglichkeit #2: 1. alle Worte „(k“ sind paarweise nicht Nerode-äquivalent!!! => Index unendlich! Aufgabe 3. 4: Siehe Skript S. 29 oben!