Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.

Ähnliche Präsentationen


Präsentation zum Thema: "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."—  Präsentation transkript:

1 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Christian Schindelhauer

2 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-2 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Kapitel III Reguläre Sprachen Endliche Automaten

3 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-3 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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

4 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-4 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beweisidee Gegeben 2 Automaten und die Eingabe Simuliere mit zwei Fingern die Automaten gleichzeitig Falls einer der Finger akzeptiert, akzeptiere

5 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-5 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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

6 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-6 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die Konstruktion des kartesischen Produkts

7 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-7 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Ein Zustandsübergang

8 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-8 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Der Automat für die vereinigte Sprache

9 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie 02-9 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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:

10 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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 Induktionsanker: 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 Übergangs funktion: 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:

11 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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)

12 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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?

13 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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.

14 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Nichtakzeptierende Berechnung eines NFA

15 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Akzeptierende Berechnung eines NFA

16 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Nicht akzeptierende Berechnung

17 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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.

18 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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 }

19 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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

20 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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 n 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 n F –dann akzeptiert M das Wort.

21 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer L(DFA) L(NFA) Theorem –Jeder deterministischer endliche Automat hat einen äquivalenten nichtdeterminstischen Automat. Beweis: –Jeder deterministische endliche Automat ist (praktisch) ein nichtdeterministischer endlicher Automat.

22 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer 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

23 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Potenzmenge 1.Zustandsmenge: Q = P(Q), Q ist die Potenzmenge von Q

24 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Ohne -Übergang Übergangsfunktion Für alle r Q 1 und a gelte andere Notation: 3.Anfangszustand: q 0 = {q 0 } 4.Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

25 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer L(NFA) L(DFA) Gegeben sei ein nichtdeterministischer endlicher Automat N = (Q,,, q 0, F) – dann konstruieren wir den DFA M = (Q,,, q 0, F ) wie folgt: 2. Fall: Mit -Übergang in Notation: 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 = E({q 0 }) 5.Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

26 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Beispiel NFA DFA Übergangsfunktion Für alle r Q 1 und a gelte andere Notation: 4.Anfangszustand: q 0 = E({q 0 }) 5.Akzeptierende Zustände: Zustand R akzeptiert, falls ein akzeptierender Zustand von F in R ist

27 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Ein alternativer Beweis für den Abschluß über der Vereinigung Beweisskizze: –Betrachte DFA N 1 und N 2 –Konstruiere N mit neuem Startzustand und DFA N 1 und N 1 -Übergangen zu den Startzuständen von N 1 und N 2 –NFA N akzeptiert L(N 1 ) L(N 2 )

28 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die regulären Sprachen sind über der Konkatenation abgeschlossen Beweisskizze: –Betrachte DFA N 1 und N 2 –Konstruiere NFA N mit -Übergangen von allen akzeptierenden Zuständen von DFA N 1 zu dem Startzustand von DFA N 2 –Neuer Startzustand von N ist Startzustand von N 1 –Die neuen akzeptierenden Zustände sind die von N 2 –NFA N akzeptiert L(N 1 )L(N 2 )

29 Berechenbarkeit, Formale Sprachen, Komplexitätstheorie HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Christian Schindelhauer Die regulären Sprachen sind über dem Stern- Operator abgeschlossen Beweisskizze: –Betrachte DFA N 1 –Konstruiere NFA N mit neuem Startzustand – -Übergang vom neuem Startzustand zum alten – -Übergangen von allen akzeptierenden Zuständen zum Exstartzustand –Rest bleibt gleich in N –L(N) = L(N 1 )*

30 30 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Heinz Nixdorf Institut & Institut für Informatik Universität Paderborn Fürstenallee Paderborn Tel.: / Fax: / Vielen Dank Ende der 2. Vorlesung Nächste Vorlesung: Mo Bitte über StudInfo anmelden!


Herunterladen ppt "1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester."

Ähnliche Präsentationen


Google-Anzeigen