Vorlesung Informatik 3 Einführung in die Theoretische Informatik (03 – Nichtdeterminierte endliche Automaten) Prof. Dr. Th. Ottmann.

Slides:



Advertisements
Ähnliche Präsentationen
Christian Schindelhauer
Advertisements

Theoretische Grundlagen der Informatik Prof. Dr. Michael Löwe
Eingebettete Systeme Qualität und Produktivität
7. Automaten Ein Automat ist ein Sechstupel A= (I, O, Q, , q0, F).
Institut für Informatik Abt. Intelligente Systeme
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Christian Schindelhauer
Parser für CH3-Sprachen
Stoyan Mutafchiev Betreuer: Ilhan, Tim
Algorithmentheorie 04 –Hashing
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (02 – Endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (06 – Reduktion endlicher Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (11-3 –Selbstanordnende lineare Listen) Prof. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
-LABORPRAKTIKUM- SOMMERSEMESTER 2005
Matthias Spohrer · TU München 8. Präsenzveranstaltung – TU Stammgelände Innenstadt Nachqualifizierungskurs für Informatiklehrkräfte.
Theoretische Informatik 2
The Rectilinear Steiner Tree Problem is NP-complete
Semantik von UML Sequenzdiagrammen
Endliche Automaten Informatik JgSt. 13, Abitur 2009
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Eine Präsentation von Lena Sauter & Corinna Nawatzky
Akzeptor & Sprache.
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Städtisches Gymnasium Beverungen Friedel Berlage
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele Beispiel 1 Konstruieren Sie für folgende Sprachen über = { a, b, c.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 26.
Arne Vater Wintersemester 2006/ Vorlesung
Turing-Maschine als Akzeptor.
Informatik: Theoretische Informatik; Weilburg XII/11
Wintersemester 2005 / Vorlesung
Der Hund jagt die Katze. Theoretische Informatik Satz S P O
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Grundkurs Theoretische Informatik, Folie 6.1 © 2004 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 6 Gottfried Vossen Kurt-Ulrich Witt.
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
 Sortigkeit oder Arität
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

Vorlesung Informatik 3 Einführung in die Theoretische Informatik (03 – Nichtdeterminierte endliche Automaten) Prof. Dr. Th. Ottmann

Endliche Automaten

Deterministische endliche Automaten Ein deterministischer endlicher Automat (DFA) ist gegeben durch eine endliche Menge S von Zuständen eine endliche Menge  von Eingabezeichen einen Anfangszustand s0  S eine Endzustandsmenge F  S eine Übergangsfunktion δ : S x  → S Kurz: A = (, S, δ, s0, F) δ kann auch durch einen Zustandsübergangs Graphen oder als Menge von Tripeln (s, a, t) mit δ (s, a) = t gegeben sein δ ist manchmal nicht total (überall definiert)

Motivation für nichtdeterministische Automaten Bei DFA ist der Nachfolgezustand immer eindeutig bestimmt, δ ist Funktion Für bestimmte Aufgaben lassen sich die Automaten einfacher entwerfen, wenn mehr als ein Nachfolgezustand zur Verfügung steht. Bsp.: Entwerfe Ar3n1 für die Sprache Lr3n1 = {w  {0, 1}*; w = u0v, u  {0, 1}*, v  {0, 1}2 } Problem: Ar3n1 kann nicht voraussehen, wie viele Zeichen des Wortes noch folgen. Lösung: Ar3n1 darf raten, wann der drittletzte Übergang stattfindet. Ein Wort wird akzeptiert, wenn es eine Folge von Zustandsübergängen gibt, die zu einem Finalzustand führen.

Nichtdeterministische endliche Automaten Ein Nichtdeterministischer endlicher Automat (NFA) besteht aus einer endlichen Menge S von Zuständen einer endlichen Menge  von Eingabezeichen Einer Menge von Anfangszuständen S0  S einer Endzustandsmenge F  S einer Zustandsübergangsrelation δ  S x  x S Kurz: A = (S, , δ, S0, F) δ kann als Menge von Tripeln (s, a, t) oder als Tabelle mit Mengen-Einträgen notiert werden, Bsp.: δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)}

Übergangsrelation δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)} δ s0 s1 s2 s3 1 Fasst man die Folgezustände je Paar (Zustand, Eingabezeichen) zu einer Menge zusammen, kann man δ auch als mengenwertige Funktion auffassen: δ : S x  → 2S

Konfigurationen, Übergänge, Sprache eines NFA Konfigurationen k = (s, v) und Konfigurationsübergänge (s, v) ├ (t, w) werden für einen NFA analog zu DFAs definiert: K = (s, v) mit s  S, v  * ist der aktuelle Verarbeitungszustand. Der Übergang (s, v) ├ (t, w) kann erfolgen, wenn v =aw und t  δ(s, a) Die von einem NFA A = (S, , δ, S0, F) akzeptierte Sprache ist L(A) = {w  * ; (s0, w) ├* (s, ε), s0  S0, s  F}

DFAs sind spezielle NFAs Jeder DFA A = (S, , δ, s0, F) kann als spezieller NFA aufgefasst werden, der dieselbe Menge von Worten akzeptiert. Beispiel:

Erweiterung der Zustandsüberführung bei NFA Die mengenwertige Zustandsüberführung δ : S x  → 2S kann leicht erweitert werden zu δ* : 2S x * → 2S definiert durch δ* (R, ε) = R für alle R  S δ* (R, aw) = δ* (  s  Rδ (s, a) , w) für alle R  S, a , w  * Für einen NFA A kann die Sprache L(A) daher auch so definiert werden: L(A) = {w  *; δ* (S0, w) ∩ F ≠ }

Beispiel δ = {(s0, 0, s0), (s0, 0, s1), (s0, 1, s0), (s1, 1, s2), (s2, 0, s3), (s2, 1, s3)} δ s0 s1 s2 s3 0 {s0, s1} {s2} {s3} {} 1 {s0} {s2} {s3} {} δ*( {s0}, 00011) =

Äquivalenz von DFA und NFA Satz: Zu jedem NFA A = (S, , δ, S0, F) kann man einen DFA A‘ konstruieren, so dass L(A) = L(A‘). Beweis: Mit Hilfe der Potenzmengenkonstruktion.

Potenzautomat für Ar3n1 2S δ(. ,0) δ(. ,1)  Fd letzte 3 Zeichen {s0} {s0, s1} {s0, s2} {s0, s3} {s0, s1, s2} {s0, s1, s3} {s0, s2, s3} {s0, s1, s2, s3} Nicht erreichbare Zustände im Potenzautomaten: {}, {s1}, {s2}, {s3}, {s1, s2} {s1, s3}, {s2, s3}, { s1, s2, s3}

Deterministischer Automat für L(Ar3n1)