Theoretische Informatik I

Ähnliche Dokumente
Theoretische Informatik I

Theoretische Informatik I

Theoretische Informatik I

Theoretische Informatik I

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

Grundlagen der Theoretischen Informatik

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

Einführung in die Theoretische Informatik

Theoretische Informatik II

Es gibt drei unterschiedliche Automaten:

Theoretische Informatik I

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

2.2 Nichtdeterministische endliche Automaten

Übungen zur Vorlesung Modellierung WS 2003/2004 Blatt 11 Musterlösungen

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

2.6 Verdeutlichung verwendeter Begriffe

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

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

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

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

5.2 Endliche Automaten

Theoretische Informatik I

Grundbegriffe der Informatik Tutorium 10

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

Berechenbarkeitstheorie 1. Vorlesung

Theoretische Informatik 1

Grundbegriffe der Informatik Tutorium 11

Theoretische Informatik für Medieninformatiker

Formale Sprachen und endliche Automaten

Reguläre Sprachen und endliche Automaten

DisMod-Repetitorium Tag 4

Grundbegriffe der Informatik Tutorium 33

Grundlagen der Theoretischen Informatik

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

Theoretische Grundlagen der Informatik

Theoretische Informatik 1

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

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

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

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

a b b a Alphabet und Wörter - Zusammengefasst Formale Grundlagen der Informatik 1 Kapitel 2 Endliche Automaten und reguläre Sprachen

Software Engineering Ergänzung zur Vorlesung

Endliche Automaten. Endliche Automaten 1 / 102

Endliche Automaten. Endliche Automaten 1 / 115

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d)

Die mathematische Seite

Formale Grundlagen der Informatik 1 Kapitel 5 Abschlusseigenschaften

Lexikalische Programmanalyse der Scanner

Lexikalische Analyse, Tokenizer, Scanner

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

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

Automaten und Formale Sprachen SoSe 2013 in Trier

Induktive Definition

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

Kapitel 7: Kellerautomaten und kontextfreie Sprachen

8. Turingmaschinen und kontextsensitive Sprachen

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

Grundbegriffe der Informatik

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

3 Endliche Muster und Konfigurationen

Einführung in die Theoretische Informatik

Theoretische Informatik II

Theoretische Grundlagen der Informatik

Grundbegriffe der Informatik

Finite-State Technology

Deterministische Turing-Maschinen

Akzeptierende Turing-Maschine

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Informatik III - WS07/08

Rekursiv aufzählbare Sprachen

Klausur zur Vorlesung Formale Sprachen und Automaten TIT03G2 mit Lösungsvorschlägen

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

Grundlagen der theoretischen Informatik

Einführung in die Informatik

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

2.2 Reguläre Sprachen Endliche Automaten

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 20.

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung

Klausur zur Vorlesung Grundbegriffe der Informatik 31. August 2009

Theoretische Informatik I

Turing-Maschinen: Ein abstrakes Maschinenmodell

Kurz-Skript zur Theoretischen Informatik I

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

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

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

Automaten und formale Sprachen Klausurvorbereitung

1 Endliche Automaten oder Rabin-Scott-Automaten

Ogden s Lemma: Der Beweis (1/5)

Theoretische Informatik 1

1 Eliminieren von ɛ-übergängen

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

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

Sprachen und Automaten. Tino Hempel

Transkript:

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 Sprachen

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 eil der Umgebung Endliche Automaten sind leicht zu analysieren Jede Berechnung endet nach einer festen Anzahl von Schritten Keine Schleifen oder Seiteneffekte heoretische Informatik I 2: Endliche Automaten

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 und estsoftware beschreiben endliches Verhalten Lexikalische Analyse in Compilern Schnelle Identifizierung von Bezeichnern, Schlüsselwörtern,... extsuche in umfangreichen Dokumenten Z.B. Suche nach Webeiten mithilfe von Schlüsselwörtern Software mit endlichen Alternativen Kommunikationsprotokolle, Protokolle zum sicheren Datenaustausch... heoretische Informatik I 2: 2 Endliche Automaten

Automaten beschreiben Sprachen Generierte Sprache Menge aller möglichen Ausgaben des Automaten Erkannte Sprache Menge aller Eingaben, die zur Ausgabe ja führen Sprachen endlicher Automaten sind einfach Nur sehr einfach strukturierte Sprachen können beschrieben werden Durch endliche Automaten beschreibbare Sprachen heißen regulär heoretische Informatik I 2: 3 Endliche Automaten

heoretische Informatik I Einheit 2. Deterministische Endliche Automaten. Arbeitsweise 2. Akzeptierte Sprache 3. Entwurf und Analyse

Erkennung von Wörtern mit Automaten nicht alles nicht, I I I I- nicht, Endliche Anzahl von Zuständen Ein zustand Regeln für Zustandsübergänge Eingabealphabet: {A,.., Z, a,.., z,,?,!,..} Ein oder mehrere akzeptierende Endzustände heoretische Informatik I 2: Endliche Automaten Deterministische Automaten

Endliche Automaten mathematisch präzisiert nicht alles nicht, I I I I- nicht, Ein Deterministischer Endlicher Automat (DEA) ist ein 5-upel 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) heoretische Informatik I 2: Endliche Automaten 2 Deterministische Automaten

Beschreibung von Endlichen Automaten Übergangsdiagramm nicht alles nicht, I I I I- nicht, 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 abellarische Darstellung der Funktion δ Kennzeichnung von q durch einen Pfeil Kennzeichnung von F durch Sterne Σ und Q meist implizit durch abelle bestimmt I sonst S S S S I S S I S S * heoretische Informatik I 2: Endliche Automaten 3 Deterministische Automaten

Arbeitsweise von Endlichen Automaten nicht alles nicht, I I I I- nicht, Anfangssituation Automat befindet sich im zustand q Arbeitschritt Im Zustand q lese Eingabesymbol a, Bestimme δ(q,a)=p und wechsele in neuen Zustand p erminierung 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 heoretische Informatik I 2: Endliche Automaten 4 Deterministische Automaten

Arbeitsweise von DEAs mathematisch präzisiert Erweiterte Überführungsfunktion ˆδ : Q Σ Q Schrittweise Abarbeitung der Eingabe mit δ von links nach rechts Formal: Induktive Definition ˆδ(q, w) = { Von A akzeptierte Sprache q falls w=ɛ, δ(ˆδ(q, v), a) falls w=v a für ein 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 heoretische Informatik I 2: Endliche Automaten 5 Deterministische Automaten

Arbeitsweise von DEAs Alternative Beschreibung mit Konfigurationsübergängen Konfiguration: Gesamtzustand von Automaten Mehr als q Q: auch die noch unverarbeitete Eingabe zählt Formal dargestellt als upel K = (q,w) Q Σ Konfigurationsübergang 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 akzeptierenden Zustand führt L(A) = {w Σ p F. (q, w) (p,ɛ)} Leichter zu verallgemeinern als ˆδ, aber für DEAs weniger intuitiv heoretische Informatik I 2: Endliche Automaten 6 Deterministische Automaten

Entwurf und Analyse endlicher Automaten Entwerfe Automaten für L = {uv u, v {, } } Entwurf eines DEA mit Alphabet Σ = {, } 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, q q q 2 Analyse der erweiterten Überführungsfunktion Zeige durch Induktion für alle i, j N und alle v Σ ˆδ(q, i ) = q ˆδ(q, i j+ ) = q ˆδ(q, i j v) = q 2 Es gilt: w L g.d.w. es gibt i, j N,v Σ mit w = i j v Es folgt L = {w Σ ˆδ(q, w)=q 2 F } = L(A) (Details ausführen!) heoretische Informatik I 2: Endliche Automaten 7 Deterministische Automaten

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 Korrektheitsbeweis: gegenseitige Induktion heoretische Informatik I 2: Endliche Automaten 8 Deterministische Automaten

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-aste q q q 2 q 3 2 2 5 reset 2 2 q 4,2,5 q 5 2 5 heoretische Informatik I 2: Endliche Automaten 9 Deterministische Automaten