Theoretische Informatik I

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik I"

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

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

Mehr

Theoretische Informatik I

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

Mehr

2.6 Verdeutlichung verwendeter Begriffe

2.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

Mehr

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

2 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

Mehr

Es gibt drei unterschiedliche Automaten:

Es 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 (ε-

Mehr

Endliche Automaten. Im Hauptseminar Neuronale Netze LMU München, WS 2016/17

Endliche 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

Mehr

Theoretische Informatik I

Theoretische 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

Mehr

Theoretische Informatik II

Theoretische 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

Mehr

Grundbegriffe der Informatik Tutorium 33

Grundbegriffe 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)

Mehr

c) {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}}

c) {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, λ}?

Mehr

Grundbegriffe der Informatik Tutorium 10

Grundbegriffe 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

Mehr

Grundbegriffe der Informatik Tutorium 11

Grundbegriffe 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

Mehr

5.2 Endliche Automaten

5.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

Mehr

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Endliche 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

Mehr

Theoretische Informatik I

Theoretische 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

Grundbegriffe der Informatik

Grundbegriffe 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

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen 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

Ü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

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Regulä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

Mehr

Einführung in die Informatik

Einfü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

Mehr

2.2 Nichtdeterministische endliche Automaten

2.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

Mehr

Kurz-Skript zur Theoretischen Informatik I

Kurz-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 ε

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen 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

Mehr

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank 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

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale 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

Mehr

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Formale 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

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lö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,

Mehr

Theoretische Informatik für Medieninformatiker

Theoretische 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

Mehr

DisMod-Repetitorium Tag 4

DisMod-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

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. 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

Mehr

Automaten 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 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

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Endliche 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:

Mehr

Reguläre Sprachen und endliche Automaten

Regulä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

Mehr

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

ADS-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

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 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

Mehr

Theoretische Grundlagen der Informatik

Theoretische 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

Mehr

Deterministische Turing-Maschinen

Deterministische 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

Mehr

Die mathematische Seite

Die 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

Mehr

Theoretische Informatik I

Theoretische 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,

Mehr

Endliche Automaten. Endliche Automaten 1 / 115

Endliche 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?

Mehr

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

2. 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

Mehr

Formale Sprachen. Reguläre Sprachen. Rudolf FREUND, Marian KOGLER

Formale 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

Mehr

Software Engineering Ergänzung zur Vorlesung

Software 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

Mehr

1 Endliche Automaten oder Rabin-Scott-Automaten

1 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

Mehr

Endliche Automaten. Endliche Automaten 1 / 102

Endliche 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?

Mehr

THIA - Übungsblatt 2.

THIA - Ü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

Mehr

Tutorium 23 Grundbegriffe der Informatik (10. Sitzung)

Tutorium 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

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 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

Mehr

Einführung in die Theoretische Informatik

Einfü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

Mehr

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Turing 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

Mehr

Theoretische Informatik II

Theoretische 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

Mehr

Formale Sprachen und endliche Automaten

Formale 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

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik 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

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische 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

Mehr

Informatik I: Einführung in die Programmierung

Informatik 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

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ 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

Mehr

1 Endliche deterministische Automaten. Informatik I: Einführung in die Programmierung 7. Automaten: Akzeptoren & Transduktoren. Vorweg...

1 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

Mehr

Worterkennung in Texten speziell im Compilerbau 20. April Frank Heitmann 2/64

Worterkennung 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

Mehr

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Theoretische 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

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 02. November INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische 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

Mehr

Beispiele 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 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

Mehr

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Berechenbarkeit 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

Mehr

18 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 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

Mehr

Klausur zur Vorlesung Grundbegriffe der Informatik 5. März 2014

Klausur 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

Mehr

Lexikalische Analyse, Tokenizer, Scanner

Lexikalische 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,

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ 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

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen 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

Mehr

Grundlagen der Informatik II

Grundlagen 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

Mehr

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Proseminar 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........................................

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische 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

Mehr

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. 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

Mehr

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

Kapitel 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

Mehr

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

Einfü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

Mehr

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Deterministische 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

Mehr

Worterkennung in Texten speziell im Compilerbau 14. April Frank Heitmann 2/65

Worterkennung 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,

Mehr

Finite-State Technology

Finite-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

Mehr

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Turing-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

Mehr

Automaten und Formale Sprachen SoSe 2013 in Trier

Automaten 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

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur 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

Mehr

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Kapitel 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

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv 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

Mehr

4. Übung zur Vorlesung Informatik III am

4. Ü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

Mehr

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Kontextsensitive 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

Mehr

WS06/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 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.

Mehr

10 Kellerautomaten. Kellerautomaten

10 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

Mehr

1 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 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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,

Mehr

Rechnerstrukturen WS 2012/13

Rechnerstrukturen 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

Mehr

Automaten und Coinduktion

Automaten 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

Mehr

Formale Sprachen und Automaten

Formale 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

Mehr

Induktive Definition

Induktive 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}

Mehr

Rechnerstrukturen. Michael Engel und Peter Marwedel SS TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. 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

Mehr

Rechnerstrukturen. Michael Engel und Peter Marwedel WS 2013/14. TU Dortmund, Fakultät für Informatik

Rechnerstrukturen. 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

Mehr

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

7 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.

Mehr

Lexikalische Programmanalyse der Scanner

Lexikalische 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