Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester."—  Präsentation transkript:

1 1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung

2 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 2 Kapitel III Reguläre Sprachen Reguläre Sprachen

3 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 3 Reguläre Sprachen  Definition –Eine Sprache heißt regulär, falls ein endlicher Automat sie akzeptiert.  Wir schreiben auch REG für die Klasse (Menge) aller regulären Sprachen

4 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 4 Reguläre Operationen  Definition –Die regulären Operationen Vereinigung, Konkatenation und Stern werden wie folgt definiert 1.Vereinigung: 2.Konkatenation 3.Stern

5 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 5 Beispiel  Sei  = {a,b,c,d,..., z} –A = {wadda, hadda} –B = {du, da}  Vereinigung  Konkatenation  Stern

6 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 6 Abschluss unter Vereinigung  Theorem –Die Klasse der regulären Sprachen ist abgeschlossen unter der Vereinigung.  D.h. Falls A regulär ist und B regulär ist, dann ist auch A  B regulär  D.h. –Gegeben ein endlicher Automat für A und –gegeben ein endlicher Automat für B, dann gibt es auch einen für A  B

7 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 7 Beweisidee  Gegeben 2 Automaten und die Eingabe  Simuliere mit zwei Fingern die Automaten gleichzeitig  Falls einer der Finger akzeptiert, akzeptiere

8 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 8 Beweisidee  Gegeben 2 Automaten und die Eingabe  Simuliere mit zwei Fingern die Automaten gleichzeitig  Falls einer der Finger akzeptiert, akzeptiere Idee: Ersetze zwei Finger durch mehr Zustände

9 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 9 Die Konstruktion des kartesischen Produkts

10 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 10 Ein Zustandsübergang

11 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 11 Der Automat für die vereinigte Sprache

12 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 12 Die formale Konstruktion  Theorem –Gegeben sei ein endlicher Automat M 1 = (Q 1, ,  1, q 1, F 1 ) für A 1 und –gegeben sei ein endlicher Automat M 2 = (Q 2, ,  2, q 2, F 2 ) für A 2 dann gibt es auch einen endlichen Automaten für A 1  A 2  Beweis –Wir konstruieren einen Automaten M = (Q, , , q 0, F) der A 1  A 2 erkennt 1.Zustandsmenge Q = { (r 1,r 2 ) | r 1  Q 1 und r 2  Q 2 }, Q ist das kartesische Produkt aus Q 1 und Q 2 2.Alphabet bleibt gleich Wir erlauben uns diese Vereinfachung, dass die Ausgangsalphabete gleich sind. Eine kleine Modifikation würde den anderen Fall auch beweisen 3.Übergangsfunktion Für alle r 1  Q 1 und r 2  Q 2 und a   gelte 4.Anfangszustand: q 0 = (q 1,q 2 ) 5.Akzeptierende Zustände:

13 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 13 Der formale Beweis  Theorem –Gegeben sei ein endlicher Automat M 1 = (Q 1, ,  1, q 1, F 1 ) für A 1 und –gegeben sei ein endlicher Automat M 2 = (Q 2, ,  2, q 2, F 2 ) für A 2 dann gibt es auch einen endlichen Automaten für A 1  A 2  Beweis –Wir konstruierten einen Automaten M = (Q, , , q 0, F) der A 1  A 2 erkennt –Der Rest des Beweises erfolgt durch eine Induktion über die Länge der Worte Induktionsanfang: Maschine ist in q 0 für  Induktionsannahme: Maschine ist in Zustand (  1 (q 1,w),  2 (q 2,w)) nach Abarbeiten von w  Erweiterung der Def. der Übergangsfunktion:  1 (q,wa) =  1 (  1 (q,w),a) Induktionsbehauptung: Maschine ist in Zustand (  1 (q 1,wa),  2 (q 2,wa)) für w a, wobei a   und w   n Induktionsschritt: Führe eine Transition aus –Der Beweis folgt dann aus:

14 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 14 Die Konkatenation  Sind endliche Automaten auch unter Konkatenation abgeschlossen?  1. Idee: –Automat M 1 akzeptiert Sprache A 1 –Automat M 2 akzeptiert Sprache A 2 –Konstruiere Automat M, der aus den Zuständen von M 1 und M 2 besteht –Die Übergänge müssen dann noch hingebastelt werden... –... ?....  Nach längeren Probieren: –Idee funktioniert nicht mit DFAs!!!!  Lösung: Betrachte nicht-deterministische endliche Automaten (NFA) (Non-deterministic Finite Automaton)

15 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 15 Ein nichtdeterministischer Automat  Was ist anders: –Von q 1 gehen zwei Übergänge mit 1 aus –Von q 2 geht ein  -Übergang nach q 3 –Von q 2 fehlt der Übergang bei Zeichen 1 –Von q 3 fehlt der Übergang bei Zeichen 0  Wann akzeptiert so ein Automat?

16 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 16 ACHTUNG, ACHTUNG !!!  Verwechslungsgefahr: –Die Sprache, die aus keinem Wort besteht, ist die leere Menge:   ist kein Wort! –Das leere Wort  ist keine Sprache, sondern eine Folge der Länge 0.  ist keine Sprache.  ist kein Zeichen!!! Es gibt Sprachen, die  beinhalten. Es gibt Sprachen, die  nicht beinhalten.

17 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 17 Nichtakzeptierende Berechnung eines NFA

18 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 18 Akzeptierende Berechnung eines NFA

19 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 19 Nicht akzeptierende Berechnung

20 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 20 Wann akzeptiert ein NFA? (nondeterministic finite automaton) Ein nicht-deterministischer endlicher Automat akzeptiert ein Wort, falls es (unter allen möglichen) mindestens eine akzeptierende Berechnung gibt.

21 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 21 Komponenten des Beispielautomaten 1.Zustände Q = {q 1, q 2, q 3, q 4 } 2.Alphabet  = {0,1} 3.Übergangsfunktion:  (q 1,0) = {q 1 }  (q 1,1) = {q 1, q 2 }  (q 1,  ) =   (q 2,0) = {q 3 }  (q 2,1) =   (q 2,  ) = {q 3 }  (q 3,0) =   (q 3,1) = {q 4 }  (q 3,  ) =   (q 4,0) = {q 4 }  (q 4,1) = {q 4 }  (q 4,  ) =  4.Startzustand q 0 = q 1 5.Akzeptierender Zustand F = {q 4 }

22 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 22 Komponenten eines NFA  Notation: –Sei   =   {  } –P(M) die Potenzmenge von M z.B. P({a,b})={ ,{a},{b},{a,b}}  Definition –Ein nichtdeterministischer endlicher Automat wird durch das 5- Tupel (Q, , , q 0, F) beschrieben 1. Q: Eine endliche Menge von Zuständen 2.  : ist das Alphabet 3.  : Q     P(Q) ist die Übergangsfunktion 4. q 0  Q: ist der Startzustand 5. F  Q: ist die Menge der akzeptierenden Zustände

23 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 23 Berechnung eines nichtdeterministischen endlichen Automatens (NFA)  Definition –Sei M= (Q, , , q 0, F) ein nichtdeterministischer endlicher Automat. Falls es eine Darstellung der Eingabe w = q 1 q 2... q m über dem Alphabet   und eine Folge r 0 r 1... r m von Zuständen aus Q gibt, wobei 1.r 0 = q 0 2.r i+1   (r i,w i+1 ), für alle i =0,..., m-1 3.r m  F –dann akzeptiert M das Wort.

24 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 24 L(DFA)  L(NFA)  Theorem –Jeder deterministische endliche Automat hat einen äquivalenten nichtdeterminstischen Automaten.  Beweis: –Jeder deterministische endliche Automat ist (praktisch) ein nichtdeterministischer endlicher Automat.

25 Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III2. Vorlesung - 25 L(NFA)  L(DFA)  Theorem –Jeder nichtdeterministischer endliche Automat hat einen äquivalenten determinstischen Automat.  Beweis: –Gegeben sei ein nichtdeterministischer endlicher Automat N = (Q, , , q 0, F) – dann konstruieren wir den DFA M = (Q’, ,  ’, q 0 ’, F’ ) wie folgt: –1. Fall: kein  -Übergang in  1.Zustandsmenge: Q’ = P(Q), Q’ ist die Potenzmenge von Q 2.Alphabet bleibt gleich 3.Übergangsfunktion Für alle r  Q 1 und a   gelte andere Notation: 4.Anfangszustand: q 0 = {q 0 } 5.Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

26 26 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Ende der 2. Vorlesung Informatik III Christian Schindelhauer


Herunterladen ppt "1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester."

Ähnliche Präsentationen


Google-Anzeigen