Theoretische Informatik I
|
|
- Erich Christoph Kaufman
- vor 5 Jahren
- Abrufe
Transkript
1 Theoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer Sprachen
2 Automaten: das einfachste Maschinenmodell Betrachtung von außen Eingabe Black Box Ausgabe Sichtweisen von Computern THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN
3 Automaten: das einfachste Maschinenmodell Abstrakte Maschinenarchitektur Speicher Eingabe Prozessor Ausgabe Sichtweisen von Computern THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN
4 Automaten: das einfachste Maschinenmodell Details des Berechnungsmoduls Speicher Eingabe Programm Prozessor Ausgabe Interner Zustand Sichtweisen von Computern THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN
5 Automaten: das einfachste Maschinenmodell Aus der Sicht des Berechnungsmoduls Externer Speicher Eingabe Programm Automat Interner Zustand Ausgabe Sichtweisen von Computern Automaten stehen im Kern jeder Berechnung Schnelle, direkte Verarbeitung von Eingaben Keine interne Speicherung von Daten Speicher sind Teil der Umgebung THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN
6 Automaten: das einfachste Maschinenmodell Externer Speicher Eingabe Programm Automat Interner Zustand Ausgabe Sichtweisen von Computern Automaten stehen im Kern jeder Berechnung Schnelle, direkte Verarbeitung von Eingaben Keine interne Speicherung von Daten Speicher sind Teil der Umgebung Endliche Automaten sind leicht zu analysieren Jede Berechnung endet nach einer festen Anzahl von Schritten Keine Schleifen oder Seiteneffekte THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN
7 Verwendungszwecke für endliche Automaten Basismodell für viele Arten von Hard- & Software Steuerungsautomaten Alle Formen rein Hardware-gesteuerter automatischer Maschinen Waschmaschinen, Autos, Unterhaltungselektronik, Ampelanlagen, Computerprozessoren Entwurf und Überprüfung digitaler Schaltungen Entwicklungswerkzeuge & Testsoftware beschreiben endliches Verhalten Lexikalische Analyse in Compilern Schnelle Identifizierung von Bezeichnern, Schlüsselwörtern,... Textsuche in umfangreichen Dokumenten Z.B. Suche nach Webseiten mithilfe von Schlüsselwörtern Software mit endlichen Alternativen Kommunikationsprotokolle, Protokolle zum sicheren Datenaustausch... THEORETISCHE INFORMATIK I 2: 2 ENDLICHE AUTOMATEN
8 Automaten beschreiben Sprachen Generierte Sprache Menge aller möglichen Ausgaben des Automaten THEORETISCHE INFORMATIK I 2: 3 ENDLICHE AUTOMATEN
9 Automaten beschreiben Sprachen Generierte Sprache Menge aller möglichen Ausgaben des Automaten Erkannte Sprache Menge aller Eingaben, die zur Ausgabe ja führen Alternativ: letzter Zustand des Automaten muß ein Endzustand sein THEORETISCHE INFORMATIK I 2: 3 ENDLICHE AUTOMATEN
10 Automaten beschreiben Sprachen Generierte Sprache Menge aller möglichen Ausgaben des Automaten Erkannte Sprache Menge aller Eingaben, die zur Ausgabe ja führen Alternativ: letzter Zustand des Automaten muß ein Endzustand sein Sprachen endlicher Automaten sind einfach Nur sehr einfach strukturierte Sprachen können beschrieben werden Durch endliche Automaten beschreibbare Sprachen heißen regulär THEORETISCHE INFORMATIK I 2: 3 ENDLICHE AUTOMATEN
11 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
12 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus ein Zustände: aus, ein THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
13 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus ein Zustände: aus, ein zustand: aus THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
14 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus Drücken Zustände: aus, ein zustand: aus Eingabesymbol: Drücken ein THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
15 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus Drücken Drücken Zustände: aus, ein zustand: aus Eingabesymbol: Drücken ein THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
16 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus Drücken Drücken ein Zustände: aus, ein zustand: aus Endzustand: ein Eingabesymbol: Drücken Endzustand wird erreicht bei ungerader Anzahl von Drücken THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
17 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus Drücken Drücken ein Zustände: aus, ein zustand: aus Endzustand: ein Eingabesymbol: Drücken Endzustand wird erreicht bei ungerader Anzahl von Drücken Mathematische Mengennotation z.b.: {Drücken 2i+ i N} oder {w {Drücken} i N. w = 2i+} THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
18 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus Drücken Drücken ein Zustände: aus, ein zustand: aus Endzustand: ein Eingabesymbol: Drücken Endzustand wird erreicht bei ungerader Anzahl von Drücken Mathematische Mengennotation z.b.: {Drücken 2i+ i N} oder {w {Drücken} i N. w = 2i+} Reguläre Ausdrücke: algebraische Strukturen z.b.: (DrückenDrücken) Drücken THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
19 Modelle zur Beschreibung regulärer Sprachen Automaten: erkennen von Wörtern z.b. Wechselschalter: Verarbeitung von Drück -Eingaben aus Drücken Drücken ein Zustände: aus, ein zustand: aus Endzustand: ein Eingabesymbol: Drücken Endzustand wird erreicht bei ungerader Anzahl von Drücken Mathematische Mengennotation z.b.: {Drücken 2i+ i N} oder {w {Drücken} i N. w = 2i+} Reguläre Ausdrücke: algebraische Strukturen z.b.: (DrückenDrücken) Drücken Grammatiken: Vorschriften für Spracherzeugung z.b.: S Drücken, S SDrückenDrücken Erzeugt nur ungerade Anzahl von Drücken-Symbolen THEORETISCHE INFORMATIK I 2: 4 ENDLICHE AUTOMATEN
20 Theoretische Informatik I Einheit 2. Deterministische Endliche Automaten. Arbeitsweise 2. Akzeptierte Sprache 3. Entwurf und Analyse 4. Automaten mit Ausgabe
21 Erkennung von Wörtern mit Automaten T TI TI- Endliche Anzahl von Zuständen Ein zustand THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
22 Erkennung von Wörtern mit Automaten nicht T T alles T nicht T, I T I T TI TI- nicht T, Endliche Anzahl von Zuständen Ein zustand Regeln für Zustandsübergänge Eingabealphabet: {A,..,Z,a,..,z,,?,!,..} THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
23 Erkennung von Wörtern mit Automaten nicht T T alles T nicht T, I T I T TI TI- nicht T, Endliche Anzahl von Zuständen Ein zustand Regeln für Zustandsübergänge Eingabealphabet: {A,..,Z,a,..,z,,?,!,..} Ein oder mehrere akzeptierende Endzustände THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
24 Endliche Automaten mathematisch präzisiert nicht T T alles T nicht T, I T I T TI TI- nicht T, Ein Deterministischer Endlicher Automat (DEA) ist ein 5-Tupel A = (Q, Σ, δ, q, F ) mit Q nichtleere endliche Zustandsmenge Σ (endliches) Eingabealphabet δ:q Σ Q Zustandsüberführungsfunktion q Q zustand F Q Menge von akzeptierenden Zuständen (Anfangszustand) (Endzustände) (Finale Zustände) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
25 Beschreibung von Endlichen Automaten Übergangsdiagramm nicht T T nicht T, I T T I T TI alles TI- nicht T, Jeder Zustand in Q wird durch einen Knoten (Kreise) dargestellt Ist δ(q,a) = p, so verläuft eine Kante von q nach p mit Beschriftung a (mehrere Beschriftungen derselben Kante möglich) q wird durch einen mit beschrifteten Pfeil angezeigt Endzustände in F werden durch doppelte Kreise gekennzeichnet Σ meist implizit durch Diagramm bestimmt THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 3 DETERMINISTISCHE AUTOMATEN
26 Beschreibung von Endlichen Automaten Übergangsdiagramm nicht T T nicht T, I T T I T TI alles TI- nicht T, Jeder Zustand in Q wird durch einen Knoten (Kreise) dargestellt Ist δ(q,a) = p, so verläuft eine Kante von q nach p mit Beschriftung a (mehrere Beschriftungen derselben Kante möglich) q wird durch einen mit beschrifteten Pfeil angezeigt Endzustände in F werden durch doppelte Kreise gekennzeichnet Σ meist implizit durch Diagramm bestimmt Übergangstabelle T I sonst Tabellarische Darstellung der Funktion δ Kennzeichnung von q durch einen Pfeil Kennzeichnung von F durch Sterne Σ und Q meist implizit durch Tabelle bestimmt S T S S S T T I S S I T S S * THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 3 DETERMINISTISCHE AUTOMATEN
27 Arbeitsweise von Endlichen Automaten T TI TI- Anfangssituation Automat befindet sich im zustand q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 4 DETERMINISTISCHE AUTOMATEN
28 Arbeitsweise von Endlichen Automaten nicht T T T TI TI- Anfangssituation Automat befindet sich im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 4 DETERMINISTISCHE AUTOMATEN
29 Arbeitsweise von Endlichen Automaten nicht T T T nicht T, I T I TI TI- Anfangssituation Automat befindet sich im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 4 DETERMINISTISCHE AUTOMATEN
30 Arbeitsweise von Endlichen Automaten nicht T T alles T nicht T, I T I T TI TI- nicht T, Anfangssituation Automat befindet sich im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 4 DETERMINISTISCHE AUTOMATEN
31 Arbeitsweise von Endlichen Automaten nicht T T alles T nicht T, I T I T TI TI- nicht T, Anfangssituation Automat befindet sich im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Terminierung Eingabewort w = a..a n ist komplett gelesen, Automat im Zustand q n THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 4 DETERMINISTISCHE AUTOMATEN
32 Arbeitsweise von Endlichen Automaten nicht T T alles T nicht T, I T I T TI TI- nicht T, Anfangssituation Automat befindet sich im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Terminierung Eingabewort w = a..a n ist komplett gelesen, Automat im Zustand q n Ergebnis Eingabewort w wird akzeptiert, wenn q n F, sonst wird w abgewiesen THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 4 DETERMINISTISCHE AUTOMATEN
33 Arbeitsweise von DEAs mathematisch präzisiert Erweiterte Überführungsfunktion ˆδ :Q Σ Q Schrittweise Abarbeitung der Eingabe mit δ von links nach rechts Informal: ˆδ(q, w w 2...w n ) = δ(...(δ(δ(q, w ),w 2 ),...),w n ) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
34 Arbeitsweise von DEAs mathematisch präzisiert Erweiterte Überführungsfunktion ˆδ :Q Σ Q Schrittweise Abarbeitung der Eingabe mit δ von links nach rechts Informal: ˆδ(q, w w 2...w n ) = δ(...(δ(δ(q, w ),w 2 ),...),w n ) Mathematisch präzise Beschreibung benötigt induktive Definition ˆδ(q, w) = { q falls w=ǫ, δ(ˆδ(q,v),a) falls w=v a für ein v Σ, a Σ THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
35 Arbeitsweise von DEAs mathematisch präzisiert Erweiterte Überführungsfunktion ˆδ :Q Σ Q Schrittweise Abarbeitung der Eingabe mit δ von links nach rechts Informal: ˆδ(q, w w 2...w n ) = δ(...(δ(δ(q, w ),w 2 ),...),w n ) Mathematisch präzise Beschreibung benötigt induktive Definition ˆδ(q, w) = { q falls w=ǫ, Von A akzeptierte Sprache δ(ˆδ(q,v),a) falls w=v a für ein v Σ, a Σ Menge der Eingabewörter w, für die ˆδ(q, w) akzeptierender Zustand ist L(A) = {w Σ ˆδ(q, w) F} Auch: die von A erkannte Sprache THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
36 Arbeitsweise von DEAs mathematisch präzisiert Erweiterte Überführungsfunktion ˆδ :Q Σ Q Schrittweise Abarbeitung der Eingabe mit δ von links nach rechts Informal: ˆδ(q, w w 2...w n ) = δ(...(δ(δ(q, w ),w 2 ),...),w n ) Mathematisch präzise Beschreibung benötigt induktive Definition ˆδ(q, w) = { q falls w=ǫ, Von A akzeptierte Sprache δ(ˆδ(q,v),a) falls w=v a für ein v Σ, a Σ Menge der Eingabewörter w, für die ˆδ(q, w) akzeptierender Zustand ist L(A) = {w Σ ˆδ(q, w) F} Auch: die von A erkannte Sprache Reguläre Sprache Sprache, die von einem DEA A akzeptiert wird THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
37 Analyse der Sprache des Wechselschalters aus Drücken Drücken ein Sprache: Eingaben, für die Automat eingeschaltet ist Teilmenge der Wörter über dem Alphabet Σ = {Drücken} THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 6 DETERMINISTISCHE AUTOMATEN
38 Analyse der Sprache des Wechselschalters aus Drücken Drücken ein Sprache: Eingaben, für die Automat eingeschaltet ist Teilmenge der Wörter über dem Alphabet Σ = {Drücken} Automat A ist ein Wechselschalter Zwei Eigenschaften sind zu zeigen: S (n): Ist n gerade, so ist ˆδ(aus,Drücken n ) = ein S 2 (n): Ist n ungerade, so ist ˆδ(aus,Drücken n ) = aus Beweis durch simultane Induktion (vgl. Einheit, Folie ) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 6 DETERMINISTISCHE AUTOMATEN
39 Analyse der Sprache des Wechselschalters aus Drücken Drücken ein Sprache: Eingaben, für die Automat eingeschaltet ist Teilmenge der Wörter über dem Alphabet Σ = {Drücken} Automat A ist ein Wechselschalter Zwei Eigenschaften sind zu zeigen: S (n): Ist n gerade, so ist ˆδ(aus,Drücken n ) = ein S 2 (n): Ist n ungerade, so ist ˆδ(aus,Drücken n ) = aus Beweis durch simultane Induktion (vgl. Einheit, Folie ) Formale Beschreibung der Sprache von A L(A) = {w Drücken ˆδ(aus,w) {ein} } = {Drücken 2i+ i N} THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 6 DETERMINISTISCHE AUTOMATEN
40 Entwurf und Analyse endlicher Automaten Entwerfe Automaten für L = {uv u, v {, } } THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 7 DETERMINISTISCHE AUTOMATEN
41 Entwurf und Analyse endlicher Automaten Entwerfe Automaten für L = {uv u, v {, } } Drei Zustände sind erforderlich Zustand q : A hat noch keine gelesen i bleibt in q Zustand q : A hat eine aber noch keine gelesen i j+ bleibt in q Zustand q 2 : A hat eine Zeichenkette gelesen i j v bleibt in q 2 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 7 DETERMINISTISCHE AUTOMATEN
42 Entwurf und Analyse endlicher Automaten Entwerfe Automaten für L = {uv u, v {, } } Drei Zustände sind erforderlich Zustand q : A hat noch keine gelesen i bleibt in q Zustand q : A hat eine aber noch keine gelesen i j+ bleibt in q Zustand q 2 : A hat eine Zeichenkette gelesen i j v bleibt in q 2 Zustandsübergänge erhalten Bedeutung Zustand q : Mit bleibe in q, sonst wechsele nach q Zustand q : Mit bleibe in q, sonst wechsele nach q 2 Zustand q 2 : Bleibe bei jeder Eingabe in q 2, Endzustand THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 7 DETERMINISTISCHE AUTOMATEN
43 Entwurf und Analyse endlicher Automaten Entwerfe Automaten für L = {uv u, v {, } } Drei Zustände sind erforderlich Zustand q : A hat noch keine gelesen i bleibt in q Zustand q : A hat eine aber noch keine gelesen i j+ bleibt in q Zustand q 2 : A hat eine Zeichenkette gelesen i j v bleibt in q 2 Zustandsübergänge erhalten Bedeutung Zustand q : Mit bleibe in q, sonst wechsele nach q Zustand q : Mit bleibe in q, sonst wechsele nach q 2 Zustand q 2 : Bleibe bei jeder Eingabe in q 2, Endzustand Zugehöriger DEA mit Alphabet Σ = {, }, q q q 2 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 7 DETERMINISTISCHE AUTOMATEN
44 q q, q 2 Zeige L(A) = L = {uv u,v {, } } Zeige durch strukturelle Induktion über w: ˆδ(q, w) = q es gibt ein i N mit w = i THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
45 q q, q 2 Zeige L(A) = L = {uv u,v {, } } Zeige durch strukturelle Induktion über w: ˆδ(q, w) = q es gibt ein i N mit w = i Basisfall w = ǫ: Per Definition ist ˆδ(q, ǫ) = q und w = i für i = THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
46 q q, q 2 Zeige L(A) = L = {uv u,v {, } } Zeige durch strukturelle Induktion über w: ˆδ(q, w) = q es gibt ein i N mit w = i Basisfall w = ǫ: Per Definition ist ˆδ(q, ǫ) = q und w = i für i = Schrittfall w = ua für ein u Σ, a Σ: Es gelte ˆδ(q, w) = q. Dann ist ˆδ(q, u) = q und δ(q,a) = q. Es folgt a = und per Annahme u = i für ein i, also w = i+. Es gelte w = i. Dann ist a = und u = i. Mit der Induktionsannahme folgt ˆδ(q,w) = δ(ˆδ(q, u),a) = δ(q, a) = q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
47 q q, q 2 Zeige L(A) = L = {uv u,v {, } } Zeige durch strukturelle Induktion über w: ˆδ(q, w) = q es gibt ein i N mit w = i Basisfall w = ǫ: Per Definition ist ˆδ(q, ǫ) = q und w = i für i = Schrittfall w = ua für ein u Σ, a Σ: Es gelte ˆδ(q, w) = q. Dann ist ˆδ(q, u) = q und δ(q,a) = q. Es folgt a = und per Annahme u = i für ein i, also w = i+. Es gelte w = i. Dann ist a = und u = i. Mit der Induktionsannahme folgt ˆδ(q,w) = δ(ˆδ(q, u),a) = δ(q, a) = q ˆδ(q, w) = q es gibt i, j N mit w = i j+ analog ˆδ(q, w) = q 2 es gibt i, j N, v Σ mit w = i j+ v THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
48 q q, q 2 Zeige L(A) = L = {uv u,v {, } } Zeige durch strukturelle Induktion über w: ˆδ(q, w) = q es gibt ein i N mit w = i Basisfall w = ǫ: Per Definition ist ˆδ(q, ǫ) = q und w = i für i = Schrittfall w = ua für ein u Σ, a Σ: Es gelte ˆδ(q, w) = q. Dann ist ˆδ(q, u) = q und δ(q,a) = q. Es folgt a = und per Annahme u = i für ein i, also w = i+. Es gelte w = i. Dann ist a = und u = i. Mit der Induktionsannahme folgt ˆδ(q,w) = δ(ˆδ(q, u),a) = δ(q, a) = q ˆδ(q, w) = q es gibt i, j N mit w = i j+ analog ˆδ(q, w) = q 2 es gibt i, j N, v Σ mit w = i j+ v Zeige: w L es gibt i, j N, v Σ mit w = i j v Für w L gibt es u,v Σ mit w = uv Wenn u nicht die Form i j hat, dann folgt in u eine auf eine. Das erste solche Vorkommen von liefert die gewünschte Zerlegung THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
49 q q, q 2 Zeige L(A) = L = {uv u,v {, } } Zeige durch strukturelle Induktion über w: ˆδ(q, w) = q es gibt ein i N mit w = i Basisfall w = ǫ: Per Definition ist ˆδ(q, ǫ) = q und w = i für i = Schrittfall w = ua für ein u Σ, a Σ: Es gelte ˆδ(q, w) = q. Dann ist ˆδ(q, u) = q und δ(q,a) = q. Es folgt a = und per Annahme u = i für ein i, also w = i+. Es gelte w = i. Dann ist a = und u = i. Mit der Induktionsannahme folgt ˆδ(q,w) = δ(ˆδ(q, u),a) = δ(q, a) = q ˆδ(q, w) = q es gibt i, j N mit w = i j+ analog ˆδ(q, w) = q 2 es gibt i, j N, v Σ mit w = i j+ v Zeige: w L es gibt i, j N, v Σ mit w = i j v Für w L gibt es u,v Σ mit w = uv Wenn u nicht die Form i j hat, dann folgt in u eine auf eine. Das erste solche Vorkommen von liefert die gewünschte Zerlegung Es folgt w L ˆδ(q, w) = q 2 F w L(A) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
50 ALTERNATIVE BESCHREIBUNG DER ARBEITSWEISE VON DEAS Konfiguration: Gesamtzustand von Automaten Mehr als q Q: auch die noch unverarbeitete Eingabe zählt Formal dargestellt als Tupel K = (q,w) Q Σ THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 9 DETERMINISTISCHE AUTOMATEN
51 ALTERNATIVE BESCHREIBUNG DER ARBEITSWEISE VON DEAS Konfiguration: Gesamtzustand von Automaten Mehr als q Q: auch die noch unverarbeitete Eingabe zählt Formal dargestellt als Tupel K = (q,w) Q Σ Konfigurationsübergangsrelation Wechsel zwischen Konfigurationen durch Abarbeitung von Wörtern (q,aw) (p,w), falls δ(q, a) = p K K 2, falls K = K 2 oder es gibt eine Konfiguration K mit K K und K K 2 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 9 DETERMINISTISCHE AUTOMATEN
52 ALTERNATIVE BESCHREIBUNG DER ARBEITSWEISE VON DEAS Konfiguration: Gesamtzustand von Automaten Mehr als q Q: auch die noch unverarbeitete Eingabe zählt Formal dargestellt als Tupel K = (q,w) Q Σ Konfigurationsübergangsrelation Wechsel zwischen Konfigurationen durch Abarbeitung von Wörtern (q,aw) (p,w), falls δ(q, a) = p K K 2, falls K = K 2 oder es gibt eine Konfiguration K mit K K und K K 2 Akzeptierte Sprache Menge der Eingaben, für die zu akzeptierendem Zustand führt L(A) = {w Σ p F. (q, w) (p,ǫ)} THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 9 DETERMINISTISCHE AUTOMATEN
53 ALTERNATIVE BESCHREIBUNG DER ARBEITSWEISE VON DEAS Konfiguration: Gesamtzustand von Automaten Mehr als q Q: auch die noch unverarbeitete Eingabe zählt Formal dargestellt als Tupel K = (q,w) Q Σ Konfigurationsübergangsrelation Wechsel zwischen Konfigurationen durch Abarbeitung von Wörtern (q,aw) (p,w), falls δ(q, a) = p K K 2, falls K = K 2 oder es gibt eine Konfiguration K mit K K und K K 2 Akzeptierte Sprache Menge der Eingaben, für die zu akzeptierendem Zustand führt L(A) = {w Σ p F. (q, w) (p,ǫ)} Für DEAs weniger intuitiv, aber leichter zu verallgemeinern THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 9 DETERMINISTISCHE AUTOMATEN
54 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
55 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
56 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
57 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
58 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q q q 2 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
59 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q q q 2 q 3 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
60 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q q q 2 q 3 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
61 DEA für L = {w {, } w enthält gerade Anzahl von und } Codiere Anzahl der gelesener / im Zustand q ˆ= (gerade,gerade) q ˆ= (gerade,ungerade) q 2 ˆ= (ungerade,gerade) q 3 ˆ= (ungerade,ungerade) q q q 2 q 3 Korrektheit: gegenseitige strukturelle Induktion THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
62 Korrektheitsbeweis mit Konfigurationen Zeige simultan für alle Wörter w, v {, } : () (q, w v) (q, v) es gilt g (w) und g (w) (2) (q, w v) (q, v) es gilt g (w) und u (w) (3) (q, w v) (q 2, v) es gilt u (w) und g (w) (4) (q, w v) (q 3, v) es gilt u (w) und u (w) g (w) ˆ= w hat gerade Anzahl von Nullen, u (w) ˆ= w hat ungerade Anza hl von Nullen,... THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
63 Korrektheitsbeweis mit Konfigurationen Zeige simultan für alle Wörter w, v {, } : () (q, w v) (q, v) es gilt g (w) und g (w) (2) (q, w v) (q, v) es gilt g (w) und u (w) (3) (q, w v) (q 2, v) es gilt u (w) und g (w) (4) (q, w v) (q 3, v) es gilt u (w) und u (w) g (w) ˆ= w hat gerade Anzahl von Nullen, u (w) ˆ= w hat ungerade Anza hl von Nullen,... Basisfall w = ǫ: Per Definition gilt (q,v) (q,v) und g (w) und g (w) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
64 Korrektheitsbeweis mit Konfigurationen Zeige simultan für alle Wörter w, v {, } : () (q, w v) (q, v) es gilt g (w) und g (w) (2) (q, w v) (q, v) es gilt g (w) und u (w) (3) (q, w v) (q 2, v) es gilt u (w) und g (w) (4) (q, w v) (q 3, v) es gilt u (w) und u (w) g (w) ˆ= w hat gerade Anzahl von Nullen, u (w) ˆ= w hat ungerade Anza hl von Nullen,... Basisfall w = ǫ: Per Definition gilt (q,v) (q,v) und g (w) und g (w) Schrittfall w = ua für ein u Σ, a Σ: () Es gelte (q,w v) (q, v). Dann gilt (q,uav) (p,av) (q,v) für einen Zustand p. THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
65 Korrektheitsbeweis mit Konfigurationen Zeige simultan für alle Wörter w, v {, } : () (q, w v) (q, v) es gilt g (w) und g (w) (2) (q, w v) (q, v) es gilt g (w) und u (w) (3) (q, w v) (q 2, v) es gilt u (w) und g (w) (4) (q, w v) (q 3, v) es gilt u (w) und u (w) g (w) ˆ= w hat gerade Anzahl von Nullen, u (w) ˆ= w hat ungerade Anza hl von Nullen,... Basisfall w = ǫ: Per Definition gilt (q,v) (q,v) und g (w) und g (w) Schrittfall w = ua für ein u Σ, a Σ: () Es gelte (q,w v) (q, v). Dann gilt (q,uav) (p,av) (q,v) für einen Zustand p. Falls a =, dann ist p = q 2 und nach (3) folgt u (u) und g (u). Für w = ua folgt somit g (w) und g (w). Fall a= analog. Gegenrichtung durch Umkehrung des Arguments. (2), (3), (4) analog. THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
66 Korrektheitsbeweis mit Konfigurationen Zeige simultan für alle Wörter w, v {, } : () (q, w v) (q, v) es gilt g (w) und g (w) (2) (q, w v) (q, v) es gilt g (w) und u (w) (3) (q, w v) (q 2, v) es gilt u (w) und g (w) (4) (q, w v) (q 3, v) es gilt u (w) und u (w) g (w) ˆ= w hat gerade Anzahl von Nullen, u (w) ˆ= w hat ungerade Anza hl von Nullen,... Basisfall w = ǫ: Per Definition gilt (q,v) (q,v) und g (w) und g (w) Schrittfall w = ua für ein u Σ, a Σ: () Es gelte (q,w v) (q, v). Dann gilt (q,uav) (p,av) (q,v) für einen Zustand p. Falls a =, dann ist p = q 2 und nach (3) folgt u (u) und g (u). Für w = ua folgt somit g (w) und g (w). Fall a= analog. Gegenrichtung durch Umkehrung des Arguments. (2), (3), (4) analog. Es folgt w L(A) (q, w) (q, ǫ) g (w) und g (w) w L THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN DETERMINISTISCHE AUTOMATEN
67 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
68 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
69 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
70 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
71 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
72 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 5c Kaffeeautomat Akzeptiert,2,5c Münzen, gibt kein Geld zurück, mit Reset-Taste THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
73 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 5c Kaffeeautomat Akzeptiert,2,5c Münzen, gibt kein Geld zurück, mit Reset-Taste q q q 2 q 3 q 4,2,5 q5 2 5 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
74 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 5c Kaffeeautomat Akzeptiert,2,5c Münzen, gibt kein Geld zurück, mit Reset-Taste q 2 q 2 q 2 q q 4,2,5 q5 2 5 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
75 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 5c Kaffeeautomat Akzeptiert,2,5c Münzen, gibt kein Geld zurück, mit Reset-Taste q 2 q 2 q q 3 2 q 4,2,5 q5 2 5 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
76 Weitere Beispiele endlicher Automaten Erkenne Strings, die mit enden q q q 2 5c Kaffeeautomat Akzeptiert,2,5c Münzen, gibt kein Geld zurück, mit Reset-Taste q 2 q 2 q 2 5 reset 2 q 3 2 q 4,2,5 q5 2 5 THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 2 DETERMINISTISCHE AUTOMATEN
77 Endliche Automaten mit Ausgabefunktion 5c Kaffeeautomat mit Restbetragsanzeige q /4 2/3 q /3 2/2 q 2 5/ /2 reset/5 2/ q 3 2/ / q 4,2,5 Münzeinwurf führt zu Zustandsänderung und erzeugt Ausgabe q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 3 DETERMINISTISCHE AUTOMATEN
78 Endliche Automaten mit Ausgabefunktion 5c Kaffeeautomat mit Restbetragsanzeige q /4 2/3 q /3 2/2 q 2 5/ /2 reset/5 2/ q 3 2/ / q 4,2,5 Münzeinwurf führt zu Zustandsänderung und erzeugt Ausgabe q Formalisierungen von Automaten mit Ausgabe Mealy-Automaten: Ausgabefunktion abhängig von Eingabe & Zustand Moore-Automaten: Ausgabefunktion nur von Zustand abhängig Beide Modelle sind äquivalent THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 3 DETERMINISTISCHE AUTOMATEN
79 Mealy-Automaten mathematisch präzisiert 5/ q /4 2/3 q /3 2/2 q 2 /2 2/ reset/5 q 3 / 2/ q 4,2,5 q Ein Mealy-Automat ist ein 6-Tupel M = (Q, Σ,,δ,λ,q ) mit Q nichtleere endliche Zustandsmenge Σ (endliches) Eingabealphabet (endliches) Ausgabealphabet δ:q Σ Q Zustandsüberführungsfunktion λ:q Σ Ausgabefunktion q Q zustand THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 4 DETERMINISTISCHE AUTOMATEN
80 Arbeitsweise von Mealy-Automaten ANALOG ZU DEAS Anfangssituation: Automat im zustand q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
81 Arbeitsweise von Mealy-Automaten ANALOG ZU DEAS Anfangssituation: Automat im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Bestimme x = λ(q,a) und gebe dieses Symbol aus THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
82 Arbeitsweise von Mealy-Automaten ANALOG ZU DEAS Anfangssituation: Automat im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Bestimme x = λ(q,a) und gebe dieses Symbol aus Terminierung: Eingabewort w = a..a n ist komplett gelesen THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
83 Arbeitsweise von Mealy-Automaten ANALOG ZU DEAS Anfangssituation: Automat im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Bestimme x = λ(q,a) und gebe dieses Symbol aus Terminierung: Eingabewort w = a..a n ist komplett gelesen Ausgabewort: Verkettung der ausgegebenen Symbole x..x n THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
84 Arbeitsweise von Mealy-Automaten ANALOG ZU DEAS Anfangssituation: Automat im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Bestimme x = λ(q,a) und gebe dieses Symbol aus Terminierung: Eingabewort w = a..a n ist komplett gelesen Ausgabewort: Verkettung der ausgegebenen Symbole x..x n Erweiterte Ausgabefunktion ˆλ :Q Σ Schrittweise Erzeugung der Ausgabe mit Abarbeitung der Eingabe Formal: Induktive Definition { ǫ falls w=ǫ, ˆλ(q, w) = ˆλ(q, v) λ(ˆδ(q,v), a) falls w=v a für ein a Σ THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
85 Arbeitsweise von Mealy-Automaten ANALOG ZU DEAS Anfangssituation: Automat im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p Bestimme x = λ(q,a) und gebe dieses Symbol aus Terminierung: Eingabewort w = a..a n ist komplett gelesen Ausgabewort: Verkettung der ausgegebenen Symbole x..x n Erweiterte Ausgabefunktion ˆλ :Q Σ Schrittweise Erzeugung der Ausgabe mit Abarbeitung der Eingabe Formal: Induktive Definition { ǫ falls w=ǫ, ˆλ(q, w) = ˆλ(q, v) λ(ˆδ(q,v), a) falls w=v a für ein a Σ Von M berechnete Funktion: f M (w) = ˆλ(q, w) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 5 DETERMINISTISCHE AUTOMATEN
86 Mealy-Automat für (inverse) Binäraddition Addition von Bitpaaren von rechts nach links Eingabealphabet Σ = {, } {, } Ausgabealphabet = {, } THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 6 DETERMINISTISCHE AUTOMATEN
87 Mealy-Automat für (inverse) Binäraddition Addition von Bitpaaren von rechts nach links Eingabealphabet Σ = {, } {, } Ausgabealphabet = {, } Zwei Zustände sind erforderlich Zustand q : A kann Addition zweier Bits direkt ausführen Zustand q : A hat bei Addition einen Übertrag zu berücksichtigen THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 6 DETERMINISTISCHE AUTOMATEN
88 Mealy-Automat für (inverse) Binäraddition Addition von Bitpaaren von rechts nach links Eingabealphabet Σ = {, } {, } Ausgabealphabet = {, } Zwei Zustände sind erforderlich Zustand q : A kann Addition zweier Bits direkt ausführen Zustand q : A hat bei Addition einen Übertrag zu berücksichtigen Zugehöriger Mealy-Automat,/,/,/,/,/,/ q,/,/ q THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 6 DETERMINISTISCHE AUTOMATEN
89 Mealy-Automaten sind äquivalent zu DEAs Gegenseitige Simulation ist möglich THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 7 DETERMINISTISCHE AUTOMATEN
90 Mealy-Automaten sind äquivalent zu DEAs Gegenseitige Simulation ist möglich Jede Funktion f ist als Menge beschreibbar graph(f) = {(w,v) f(w) = v} graph (f) = {(w,v )..(w n, v n ) f(w..w n ) = v..v n } DEAs können Graphen berechneter Funktionen akzeptieren Satz: f Mealy-berechenbar graph (f) reguläre Sprache THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 7 DETERMINISTISCHE AUTOMATEN
91 Mealy-Automaten sind äquivalent zu DEAs Gegenseitige Simulation ist möglich Jede Funktion f ist als Menge beschreibbar graph(f) = {(w,v) f(w) = v} graph (f) = {(w,v )..(w n, v n ) f(w..w n ) = v..v n } DEAs können Graphen berechneter Funktionen akzeptieren Satz: f Mealy-berechenbar graph (f) reguläre Sprache Jede Sprache L ist als Funktion beschreibbar χ L (w) = { falls w L, charakteristische Funktion von L sonst Charakteristische Funktionen akzeptierter Sprachen sind berechenbar Satz: L regulär χ L Mealy-berechenbar THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 7 DETERMINISTISCHE AUTOMATEN
92 Beweis der Äquivalenz (Skizze) f Mealy-berechenbar graph (f) regulär Zu M = (Q, Σ,,δ, λ, q ) konstruiere A = (Q {q f }, Σ, δ, q, Q) { δ(q, a) falls λ(q, a) = b, mit δ (q, (a,b)) = sonst q f Dann f M (w..w n ) = v..v n genau dann, wenn (w, v )..(w n, v n ) L(A) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
93 Beweis der Äquivalenz (Skizze) f Mealy-berechenbar graph (f) regulär Zu M = (Q, Σ,,δ, λ, q ) konstruiere A = (Q {q f }, Σ, δ, q, Q) { δ(q, a) falls λ(q, a) = b, mit δ (q, (a,b)) = sonst q f Dann f M (w..w n ) = v..v n genau dann, wenn (w, v )..(w n, v n ) L(A) L regulär χ L Mealy-berechenbar Zu A = (Q, Σ, δ, q, F ) konstruiere M = (Q, Σ, {,}, δ, λ, q ) { falls δ(q,a) F, mit λ(q, a) = sonst Dann ist w L(A) genau dann, wenn f M (w) = v für ein v {, } χ L (w) ist das letzte Ausgabesymbol von f M (w) THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
94 Beweis der Äquivalenz (Skizze) f Mealy-berechenbar graph (f) regulär Zu M = (Q, Σ,,δ, λ, q ) konstruiere A = (Q {q f }, Σ, δ, q, Q) { δ(q, a) falls λ(q, a) = b, mit δ (q, (a,b)) = sonst q f Dann f M (w..w n ) = v..v n genau dann, wenn (w, v )..(w n, v n ) L(A) L regulär χ L Mealy-berechenbar Zu A = (Q, Σ, δ, q, F ) konstruiere M = (Q, Σ, {,}, δ, λ, q ) { falls δ(q,a) F, mit λ(q, a) = sonst Dann ist w L(A) genau dann, wenn f M (w) = v für ein v {, } χ L (w) ist das letzte Ausgabesymbol von f M (w) Mehr zu Automaten mit Ausgabe im Buch von Vossen & Witt THEORETISCHE INFORMATIK I 2: ENDLICHE AUTOMATEN 8 DETERMINISTISCHE AUTOMATEN
Theoretische Informatik I
heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer
MehrTheoretische Informatik I
heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer
Mehr2.6 Verdeutlichung verwendeter Begriffe
2.6 Verdeutlichung verwendeter Begriffe endlich/finit: die Mengen der Zustände und der Ein- bzw. Ausgabezeichen sind endlich synchron: die Ausgabezeichen erscheinen synchron mit dem Einlauf der Eingabezeichen
Mehr2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht
Formale Systeme, Automaten, Prozesse Übersicht 2 2. Reguläre Ausdrücke 2.3 Nichtdeterministische endliche Automaten 2.4 Die Potenzmengenkonstruktion 2.5 NFAs mit ɛ-übergängen 2.6 Minimale DFAs und der
MehrEs gibt drei unterschiedliche Automaten:
Automatentheorie Es gibt drei unterschiedliche Automaten: 1. Deterministische Endliche Automaten (DEA) 2. Nichtdeterministische Endliche Automaten (NEA) 3. Endliche Automaten mit Epsilon-Übergängen (ε-
MehrEndliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17
Endliche Automaten Im Hauptseminar Neuronale Netze LMU München, WS 2016/17 RS- Flipflop RS-Flipflop Ausgangszustand 0 1 0 1 0 1 Set Reset neuer Zustand 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 Was ist ein endlicher
MehrTheoretische Informatik I
Theoretische Informatik I Einheit 3.2 Pushdown Automaten 1. Das Maschinenmodell 2. Arbeitsweise & erkannte Sprache 3. Beziehung zu Typ-2 Sprachen 4. Deterministische PDAs Ein Maschinenmodell für Typ-2
MehrTheoretische Informatik II
Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle
MehrGrundbegriffe der Informatik Tutorium 33
Tutorium 33 02.02.2017 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Gliederung 1 2 3 Ein ist ein Tupel A = (Z, z 0, X, f, Y, h)
Mehrc) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} c) {abcabc} d) {abcbc, abc, a} c) {aa, ab, ba, bb} d) {{aa}, {ab}, {ba}, {bb}}
2 Endliche Automaten Fragen 1. Was ergibt sich bei {a, bc} {de, fg}? a) {abc, defg} b) {abcde, abcfg} c) {abcde, abcfg, bcade, bcafg} d) {ade, afg, bcde, bcfg} 2. Was ergibt sich bei {abc, a} {bc, λ}?
MehrGrundbegriffe der Informatik Tutorium 10
Grundbegriffe der Informatik Tutorium 10 Tutorium Nr. 32 Philipp Oppermann 17. Januar 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrGrundbegriffe der Informatik Tutorium 11
Grundbegriffe der Informatik Tutorium 11 Tutorium Nr. 16 Philipp Oppermann 21. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
Mehr5.2 Endliche Automaten
114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch
MehrEndliche Automaten. Endliche Automaten J. Blömer 1/23
Endliche Automaten Endliche Automaten sind ein Kalkül zur Spezifikation von realen oder abstrakten Maschinen regieren auf äußere Ereignisse (=Eingaben) ändern ihren inneren Zustand produzieren gegebenenfalls
MehrTheoretische Informatik I
Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat
MehrEinführung in die Theoretische Informatik
Einführung in die Theoretische Informatik Maximilian Haslbeck Fabian Mitterwallner Georg Moser David Obwaller cbr.uibk.ac.at Zusammenfassung der letzten LVA Definition Eine Grammatik G ist ein Quadrupel
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 14: Endliche Automaten Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/38 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten
MehrGrundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I
Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
MehrÜbungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen
Dr. Theo Lettmann Paderborn, den 9. Januar 24 Abgabe 9. Januar 24 Übungen zur Vorlesung Modellierung WS 23/24 Blatt Musterlösungen AUFGABE 7 : Es sei der folgende partielle deterministische endliche Automat
MehrReguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,
Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen
MehrEinführung in die Informatik
Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der
Mehr2.2 Nichtdeterministische endliche Automaten
2 Endliche Automaten arbeiten und hier kann dann ggf. auch wieder auf die Konstruktion verwiesen werden. Fragen 1. Wie viele Informationen kann man in einem DFA speichern? a) beliebig viele b) endlich
MehrKurz-Skript zur Theoretischen Informatik I
Kurz-Skript zur Theoretischen Informatik I Inhaltsverzeichnis 1 Grundlagen 2 2 Reguläre Ausdrücke 4 3 Endliche Automaten 5 3.1 Vollständige endliche Automaten................................... 6 3.2 ε
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 3. Endliche Automaten 30.04.2015 Viorica Sofronie-Stokkermans Matthias Horbach e-mail: sofronie@uni-koblenz.de, horbach@uni-koblenz.de 1 Bis jetzt 1. Motivation
MehrAlgorithmen mit konstantem Platzbedarf: Die Klasse REG
Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August
MehrFrank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat
Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat
MehrFormale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23
1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich
MehrFormale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften
Formale Grundlagen der Informatik 1 Kapitel 5 Frank Heitmann heitmann@informatik.uni-hamburg.de 18. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/64 NFAs - Grundlagen DFAs vs. NFAs Der
MehrLösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004
Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,
MehrTheoretische Informatik für Medieninformatiker
Theoretische Informatik für Medieninformatiker Jan Johannsen Lehrveranstaltung im Sommersemester 27 / 6 Organisatorisches: Jede Lehrveranstaltungsstunde gliedert sich in einen Vorlesungsteil, dessen Länge
MehrDisMod-Repetitorium Tag 4
DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und
Mehr8. Turingmaschinen und kontextsensitive Sprachen
8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten
MehrAutomaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier
Automaten und Formale Sprachen SoSe 2007 in Trier Henning Fernau Universität Trier fernau@informatik.uni-trier.de 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche
MehrEndliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken
1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:
MehrReguläre Sprachen und endliche Automaten
Reguläre Sprachen und endliche Automaten 1 Motivation: Syntaxüberprüfung Definition: Fließkommazahlen in Java A floating-point literal has the following parts: a whole-number part, a decimal point (represented
MehrADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr
Bemerkung: Jede NDTM N (die die Sprache L(N) akzeptiert) kann in eine deterministische Turing-Maschine M konvertiert werden, die ebenfalls genau die Sprache L(N) akzeptiert. Beweisidee: Die Berechnungspfade
Mehr7 Endliche Automaten. 7.1 Deterministische endliche Automaten
7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Übung am 3..2 INSTITUT FÜR THEORETISCHE KIT 7..2 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik INSTITUT FÜR
MehrDeterministische Turing-Maschinen
Deterministische Turing-Maschinen Um 900 präsentierte David Hilbert auf einem internationalen Mathematikerkongress eine Sammlung offener Fragen, deren Beantwortung er von zentraler Bedeutung für die weitere
MehrDie mathematische Seite
Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion
MehrTheoretische Informatik I
Theoretische Informatik I Einheit 4.3 Eigenschaften von L 0 /L 1 -Sprachen 1. Abschlußeigenschaften 2. Prüfen von Eigenschaften 3. Grenzen der Sprachklassen Sprachklassen Semi-entscheidbare Sprache Sprache,
MehrEndliche Automaten. Endliche Automaten 1 / 115
Endliche Automaten Endliche Automaten 1 / 115 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?
Mehr2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005
Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 5. April 2005 2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Lösung! Beachten
MehrFormale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER Endliche Automaten - Kleene STEPHEN KLEENE (99-994) 956: Representation of events in nerve nets and finite automata. In: C.E. Shannon und
MehrSoftware Engineering Ergänzung zur Vorlesung
Ergänzung zur Vorlesung Prof. Dr. Markus Müller-Olm WS 2008 2009 2.6.1 Endliche und reguläre Sprachen Endliche und reguläre Sprache: fundamental in vielen Bereichen der Informatik: theorie Formale Sprachen
Mehr1 Endliche Automaten oder Rabin-Scott-Automaten
3 1 Endliche Automaten oder Rabin-Scott-Automaten Einfache Kenntnisse über Sprachen und Grammatiken und auch über Automaten werden vorausgesetzt. Grundlegende Termini sind eventuell in Standardwerken nachzulesen
MehrEndliche Automaten. Endliche Automaten 1 / 102
Endliche Automaten Endliche Automaten 1 / 102 Endliche Automaten Endliche Automaten erlauben eine Beschreibung von Handlungsabläufen: Wie ändert sich ein Systemzustand in Abhängigkeit von veränderten Umgebungsbedingungen?
MehrTHIA - Übungsblatt 2.
THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen
MehrTutorium 23 Grundbegriffe der Informatik (10. Sitzung)
Tutorium 23 Grundbegriffe der Informatik (10. Sitzung) Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität
MehrDefinition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:
4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition
MehrEinführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2 Lösungsblatt 2. Mai 2 Einführung in die Theoretische Informatik
MehrTuring Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.
Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger
MehrTheoretische Informatik II
Theoretische Informatik II Einheit 4 Allgemeine Berechenbarkeit 1. Turingmaschinen und Typ-0 Sprachen 2. Turing-Berechenbarkeit 3. Rekursive Funktionen 4. Andere Berechnungsmodelle 5. Elementare Berechenbarkeitstheorie
MehrFormale Sprachen und endliche Automaten
Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische
MehrTheoretische Grundlagen des Software Engineering
Theoretische Grundlagen des Software Engineering 2: Eigenschaften von regulären Sprachen schulz@eprover.org Software Systems Engineering Alphabet Definition: Ein Alphabet Σ ist eine nichtleere, endliche
MehrInformatik I: Einführung in die Programmierung
Informatik I: Einführung in die Programmierung 7. : Akzeptoren Albert-Ludwigs-Universität Freiburg Bernhard Nebel 3. November 2017 1 Motivierendes Formale Grundlagen Verhalten eines DEAs Teilstring-Erkennung
Mehr1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs
Mehr1 Endliche deterministische Automaten. Informatik I: Einführung in die Programmierung 7. Automaten: Akzeptoren & Transduktoren. Vorweg...
Informatik I: Einführung in die Programmierung 7. : Akzeptoren Albert-Ludwigs-Universität Freiburg Bernhard Nebel 30. Oktober 20 30. Oktober 20 3 / 30 Vorweg... Was steckt in dem Würfel? Vor kurzem war
MehrWorterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64
Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Pumping Lemma Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges
MehrTheoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung
Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen
MehrTheoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik Vorlesung am 2. November 27 2..27 Dorothea Wagner - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Vorlesung am 2. November 27 Helmholtz-Gemeinschaft
MehrBeispiele für Wortverarbeitung durch NEA. Beispiele für NEA (1) Beispiele für NEA (2) Beispiele für NEA (3) 1.) 1 q 2. q 5. q 1 1 0,1,2. 0 q 2.
Beispiele für Wortverarbeitung durch NA q, q q 3 q q 4 Wort Weg q, q, q q, q, q, q, q, nicht akzeptierend Weg q, q, q nicht fortsetzbar Weg q, q, q, q, q 3, q 5 nicht fortsetzbar Weg q, q, q, q, q, q q
MehrBerechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen
Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 25. Oktober 2006 Was ist ein Problem? Informelle Umschreibung
Mehr18 E N D L I C H E AU T O M AT E N erstes beispiel: ein getränkeautomat
18 E N D L I C H E AU T O M AT E N 18.1 erstes beispiel: ein getränkeautomat Als erstes Beispiel betrachten wir den folgenden primitiven Getränkeautomaten (siehe Abbildung 18.1). Man kann nur 1-Euro-Stücke
MehrKlausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014
Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014 Klausurnummer Nachname: Vorname: Matr.-Nr.: Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 8 4 7 5 6 8 tats. Punkte Gesamtpunktzahl: Note: Punkte Aufgabe
MehrLexikalische Analyse, Tokenizer, Scanner
Lexikalische Analyse, Tokenizer, Scanner Frühe Phase des Übersetzers Aufgabenteilung: Scanner (lokale) Zeichen (Symbol-)Analyse Parser Syntax-Analyse Aufgabe des Scanners: Erkennung von: Zahlen, Bezeichner,
Mehr1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von
MehrGrundlagen der Informatik II
Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s
MehrProseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP
Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07 Vortrag am 17.11.2006 Nichtdeterministische Turingmaschinen und NP Yves Radunz Inhaltsverzeichnis 1 Wiederholung 3 1.1 Allgemeines........................................
MehrTheoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009
Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache
MehrRechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik Sommer 2014 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 19. Mai 2014 1/43 1 Sequenzielle
MehrKapitel 7: Kellerautomaten und kontextfreie Sprachen
Kapitel 7: Kellerautomaten und kontextfreie Sprachen Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 1090 Wien Tel. : 01/4277 38825 E-mail : brezany@par.univie.ac.at
MehrEinführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten
Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten Dozentin: Wiebke Petersen Foliensatz 4 Wiebke Petersen Einführung CL 1 Äquivalenz von endlichen Automaten
MehrDeterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen
Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen
MehrWorterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65
Grenzen regulärer Sprachen? Formale Grundlagen der Informatik 1 Kapitel 4 Über reguläre Sprachen hinaus und Frank Heitmann heitmann@informatik.uni-hamburg.de Wir haben mittlerweile einiges kennengelernt,
MehrFinite-State Technology
Finite-State Technology Teil III: Automaten 1 Wiederholung Formale Grammatiken sind entweder axiomatische Systeme mit Ableitungsregeln oder Automaten. Beide beschreiben formale Sprachen. Formale Sprachen
MehrTuring-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.
Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine
MehrAutomaten und Formale Sprachen SoSe 2013 in Trier
Automaten und Formale Sprachen SoSe 2013 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 2. Juni 2013 1 Automaten und Formale Sprachen Gesamtübersicht Organisatorisches Einführung Endliche
MehrHauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen
MehrKapitel 3: Reguläre Grammatiken und Endliche. Automaten
Kapitel 3: Reguläre Grammatiken und Endliche Automaten Prof.-Dr. Peter Brezany Institut für Softwarewissenschaft Universität Wien, Liechtensteinstraße 22 090 Wien Tel. : 0/4277 38825 E-mail : brezany@par.univie.ac.at
MehrRekursiv aufzählbare Sprachen
Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben
Mehr4. Übung zur Vorlesung Informatik III am
1 4. Übung zur Vorlesung Informatik III am 16.11.2007 Wiederholung Konkatenation 2 Definition Konkatenation Eine endliche Folge w von Symbolen aus Σ heißt Wort. Die Menge aller Wörter über Σ heißt Σ. Sei
MehrKontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine
Kontextsensitive und Typ 0 Sprachen Slide 2 Die Turingmaschine DTM = Deterministische Turingmaschine NTM = Nichtdeterministische Turingmaschine TM = DTM oder NTM Intuitiv gilt: DTM = (DFA + dynamischer
MehrWS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
Mehr10 Kellerautomaten. Kellerautomaten
10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen
Mehr1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 20.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch, 10.06.2015, D028,
MehrRechnerstrukturen WS 2012/13
WS 2012/13 Sequenzielle Schaltungen Einleitung (Wiederholung) Modellierung mit Automaten Synchrone Schaltwerke Einleitung Flip-Flops Schaltwerk-Entwurf Einleitung von Neumann-Addierwerk Hinweis: Folien
MehrAutomaten und Coinduktion
Philipps-Univestität Marburg Fachbereich Mathematik und Informatik Seminar: Konzepte von Programmiersprachen Abgabedatum 02.12.03 Betreuer: Prof. Dr. H. P. Gumm Referentin: Olga Andriyenko Automaten und
MehrFormale Sprachen und Automaten
Formale Sprachen und Automaten Kapitel 2: Typ 3 Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel 2 Typ 3 Deterministische
MehrInduktive Definition
Rechenregeln A B = B A A (B C) = (A B) C A (B C) = (A B) C A (B C) = A B A C (B C) A = B A C A {ε} A = A A {ε} = A (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A Beispiel. Real-Zahlen = {0,..., 9}
MehrRechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik SS 2013 Hinweis: Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 13. Mai 2013 1 Sequenzielle
MehrRechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik
Rechnerstrukturen Michael Engel und Peter Marwedel TU Dortmund, Fakultät für Informatik WS 2013/14 Folien a. d. Basis von Materialien von Gernot Fink und Thomas Jansen 20. November 2013 1/48 1 Sequenzielle
Mehr7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103
Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103 7 Endliche Automaten Ein erstes Beispiel Ganz im Sinn der vorangegangenen Kapitel machen wir wieder Anleihen in einem wohl etablierten Gebiet.
MehrLexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
Mehr