Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Zentralübung 10. Dezember 2008 Algorithmen und Datenstrukturen (EI)

Ähnliche Präsentationen


Präsentation zum Thema: "Zentralübung 10. Dezember 2008 Algorithmen und Datenstrukturen (EI)"—  Präsentation transkript:

1 Zentralübung 10. Dezember 2008 Algorithmen und Datenstrukturen (EI)

2 Stefan TU München, Frage: Gegeben eine reguläre Sprache L 1. Gegeben eine andere Sprache L 2 welche eine Teilmenge aller Strings von L 1 enthält, das heisst: L 2 ½ L 1 Ist dann L 2 auch regulär? Appetizer...

3 Stefan TU München, Nein! Gegenbeispiel: L 1 ist die Sprache {0,1} *, und L 2 ist die Sprache {0 k 1 k | k ¸ 0}... Appetizer...

4 Stefan TU München, Sprache {0 k 1 k | k ¸ 0} ist nicht regulär. Appetizer... Veranschaulichung über endlicher Automat: bei n Uebergängen muss man mindestens einmal einen Zustand mehr als einmal besucht haben. Diesen Teil kann man beliebig oft wieder holen (oder auch weglassen!), und das neue Wort muss auch in der Sprache sein.

5 Stefan TU München, Sprache {0 k 1 k | k ¸ 0} ist nicht regulär. Appetizer... 1.Kreativer Teil: betrachte das Wort 0 n 1 n 2 L (für ein n das gemäss Pumping Lemma existiert) 2.Es muss eine Unterteilung uvw geben für 0 n 1 n 3.Wegen Bedingung 2 besteht uv ausschliesslich aus as, und v ist nicht leer (Bedingung 3) 4.Gemäss Lemma muss uv 2 w = a n-|v| a 2 ¢ |v| b n auch in L sein => Widerspruch, da dieses Wort mehr as als bs hat. 5.Also Sprache nicht regulär!

6 Stefan TU München, Achtung: Pumping Kriterien können auch für nicht-reguläre Sprachen gelten. D.h. Pumping Lemma kann gebraucht werden um zu zeigen, dass eine Sprache nicht regulär ist, aber nicht um zu zeigen dass eine Sprache regulär ist (= regulärer Ausdruck angeben o.ä.)! Appetizer...

7 Stefan TU München, Sprache {0 k 1 k | k ¸ 0} ist nicht regulär. Appetizer... Ist sie kontext frei? Ja, Beweis durch Grammatik: S => T | T => 0T1 | 01

8 Stefan TU München, Appetizer... Beispiel aus Vorlesung reloaded... r = Zykluslänge Idee: hänge einen Zyklus mehr an...

9 Stefan TU München, Appetizer... Gilt das Umgekehrte? Sei wieder L 2 ½ L 1, aber nun sei L 2 regulär. Ist dann L 1 auch regulär?

10 Stefan TU München, Nein! Gegenbeispiel: L 2 ist die Sprache über dem deutschen Alphabet {a,b,c,...,x,y,z} bestehend aus dem String sugus, und L 1 ist die Sprache aller Palindrome über diesem Alphabet. Appetizer...

11 Stefan TU München, Bemerkung zu Kombination von Automaten Machine für L 1 Å L 2 ? Entweder auch über de Morgan! Oder über Kreuzproduktmaschine!

12 Stefan TU München, Bemerkung zu Kombination von Automaten Oder über Kreuzproduktmaschine! Mache Kreuzprodukt der Zustände. Idee: lasse beide Maschinen laufen; beide Transitionen! Akzeptiere nur wenn beide Maschinen akzeptieren.

13 Stefan TU München, Appetizer... Erinnerung: NEA (inkl. -Übergänge) und DEA sind äquivalent! Verfahren um aus NEA einen äquivalenten DEA zu bauen: Potenzmengenkonstruktion

14 Stefan TU München, Appetizer... Verfahren: 1. Beginne im Startzustand, bestimme Menge aller Zustände die man in einem Schritt erreicht für ein gegebenes Inputzeichen => neuer Zustand. 2. Von einem Mengenzustand gehe zu neuem Zustand definiert durch alle möglichen (über alle Zustände in Menge) Uebergänge eines Inputzeichens. 3. Akzeptierender Zustand: alle Mengenzustände die mind. einen akzeptierenden Zustand enthalten 4. Startzustand: urspr. Zustand plus Epsilonhülle

15 Stefan TU München, Appetizer... Es ist nicht nötig, alle Zustände der Potenzmenge anzugeben! Es genügen die erreichbaren!

16 Stefan TU München,

17 Stefan TU München,

18 Stefan TU München, Kann noch vereinfacht werden, z.B. Zustand {0} und {0,1} kann nicht erreicht werden.

19 Stefan TU München, Welche Strings sind in (L)?? 1 (weil 10 2 L) 11 (weil L) 10 (weil L) 01 (weil L) 00 (weil L)

20 Stefan TU München, Welche Strings sind in (L): Allgemeiner?? Beobachtung: es gibt von jedem Zustand aus einen Weg, der in zwei Schritten zu einem akzeptierenden Zustand führt! z.B. von q 0 durch 10, von q 1 durch 00, von q 2 durch 01

21 Stefan TU München, Beobachtung: es gibt von jedem Zustand aus einen Weg, der in zwei Schritten zu einem akzeptierenden Zustand führt! z.B. von q 0 durch 10, von q 1 durch 00, von q 2 durch 01 Folge: alle Strings der Länge ¸ 2 sind in (L)! Plus String 1 wie bereits gesehen. Also nur 0 nicht! (Im obigen Automat kommt man mit 0x nicht zu einem akzeptierenden.)

22 Stefan TU München, Folge: alle Strings der Länge ¸ 2 sind in (L)! Plus String 1 wie bereits gesehen. Also nur 0 nicht! (Im obigen Automat kommt man mit 0x nicht zu einem akzeptierenden.)

23 Stefan TU München, Beispiele für L? L? Ja! L? Ja! L? Nein!

24 Stefan TU München, Allgemein: zuerst beliebiger String ohne benachbarte Einsen, dann beliebiger String ohne benachbarte Nullen. Beliebiger String ohne benachbarte Einsen? (10|0)*( |1) Beliebiger String ohne benachbarte Nullen? (01|1)*( |0) Kombination / Resultat? (10|0)*( |1)(01|1)*( |0) = (10|0)* (01|1)*( |0)

25 Stefan TU München, Methode: per Induktion über die erlaubten Zustände!

26 Stefan TU München, Achtung: aufwendig! Für n Zustände: n Induktionsschritte, mal n mal n Wege! (in unserem Fall 3^3 = 27) Induktionsanfang / erster Schritt:

27 Stefan TU München, Bessere Methode (zumindest zum Prüfen?): Verallgemeinerte endliche Automaten! 1. Füge Hilfszustände ein für Start und Ende 2. Entferne einen Zustand nach dem anderen, und ersetze Inputzeichen an den Kanten durch entsprechende reguläre Ausdrücke! 3. Am Schluss lässt sich der reguläre Ausdruck an verbleibender Kante ablesen!

28 Stefan TU München, s a Entferne Zustand q 2 ! Uebergänge zw. verbleibenden Zuständen: q0q0 q1q1 Füge neuen Anfangszustand und Endzustand ein!

29 Stefan TU München, Entferne Zustand q 2 ! Uebergänge zw. verbleibenden Zuständen: q0q0 q1q1 Entferne Zustand q 0 ! Uebergänge zw. verbleibenden Zuständen: q0q0 q1q1

30 Stefan TU München, Was bei mehreren akzeptierenden Zuständen? Analog. Alle Pfade lassen... Methode:

31 Stefan TU München, Methode:

32 Stefan TU München, Methode:

33 Stefan TU München,

34 Stefan TU München,

35 Stefan TU München, Zusatzaufgabe:

36 Stefan TU München, Zusatzaufgabe:

37 Stefan TU München, Zusatzaufgabe:

38 Stefan TU München, Zusatzaufgabe:

39 Stefan TU München, Notes

40 Stefan TU München, Notes

41 Stefan TU München, Notes

42 Stefan TU München, Notes


Herunterladen ppt "Zentralübung 10. Dezember 2008 Algorithmen und Datenstrukturen (EI)"

Ähnliche Präsentationen


Google-Anzeigen