Induktive Definition

Ähnliche Dokumente
3.0 VU Formale Modellierung

Grundlagen der Theoretischen Informatik

Formale Sprachen und endliche Automaten

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

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

1 Spezifikation formaler Sprachen

Automaten und formale Sprachen Klausurvorbereitung

Reguläre Sprachen und endliche Automaten

Automatentheorie und formale Sprachen

Lexikalische Analyse, Tokenizer, Scanner

Operationen auf endlichen Automaten und Transduktoren

Kapitel 2: Formale Sprachen Gliederung

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

Wiederholung. Ein deterministischer endlicher Automat (DEA) über einem Alphabet A besteht aus: einer endlichen Menge von Zuständen Q,

Deterministische endliche Automaten - Wiederholung

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Automaten und Coinduktion

Automaten und Formale Sprachen ε-automaten und Minimierung

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik

Theoretische Informatik. Reguläre Sprachen und Automaten

Reguläre Sprachen Endliche Automaten

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

Kontextfreie Sprachen

11.1 Kontextsensitive und allgemeine Grammatiken

Theorie der Informatik

Theoretische Informatik I

Eigenschaften regulärer Sprachen

Lexikalische Programmanalyse der Scanner

Grundlagen der Informatik II

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Automaten, Spiele, und Logik

Theoretische Grundlagen des Software Engineering

Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Theoretische Informatik Testvorbereitung Moritz Resl

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

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

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

Endliche Automaten. Deterministischer endlicher Automat. Deterministischer endlicher Automat

Es gibt drei unterschiedliche Automaten:

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

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

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Vorlesung Theoretische Informatik

Reguläre Ausdrücke. Karin Haenelt

Alphabet, formale Sprache

Einführung in die Theoretische Informatik

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Automaten und formale Sprachen. Lösungen zu den Übungsblättern

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Probeklausur Lösungen

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Einführung in die Informatik

5.4 Endliche Automaten

Der deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

(Prüfungs-)Aufgaben zu formale Sprachen

Berechenbarkeit und Komplexität Endliche Automaten

Operationen auf endlichen Akzeptoren und Transduktoren

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

I.2. Endliche Automaten (ohne Ausgabe)

Formale Sprachen und Automaten

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

Anwenundg regulärer Sprachen und endlicher Automaten

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

THEORETISCHE INFORMATIK

Endlicher Automat (EA)

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

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Grundlagen der Theoretischen Informatik, SoSe 2008

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Theoretische Informatik 2

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Rekursiv aufzählbare Sprachen

Übungsaufgaben zu Formalen Sprachen und Automaten

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Formale Sprachen und Automaten

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

Theoretische Informatik 1

KONGRUENZEN VON VISIBLY PUSHDOWN SPRACHEN REZART QELIBARI PROSEMINAR WS14/15

Transkript:

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} scale = {E, E+, E-} + real = + {.} ({ε} scale) 14 Definition. Die Menge der regulären Sprachen über Σ, Lreg(Σ), ist die kleinste Menge, sodass (a) {}, {ε}, {s} Lreg(Σ) für alle s Σ (b) A, B Lreg(Σ) A B, A B, A Lreg(Σ) Satz. Lreg(Σ) ist abgeschlossen gegenüber Vereinigung, Durchschnitt, Verkettung, Komplement, Differenz, Stern- und Plus-Operator, Homomorphismen und Quotientenbildung. Satz. Seien L1 und L2 reguläre Sprachen spezifiziert durch Verkettung, Vereinigung und Stern-Operator. Die Probleme (a) Gehört ein Wort w der Sprache L1 an? (b) Ist L1 leer, endlich, unendlich? (c) Gilt L1 = L2? sind entscheidbar. 16 Reguläre Sprachen Alle Sprachen, die aus einem Alphabet Σ durch Vereinigung, Verkettung und Kleene-Stern gebildet werden können. Äquivalente Definitionen: endliche Automaten, reguläre Grammatiken Anwendungen in der Informatik: Compilerbau: Tokens bilden reguläre Sprache, verarbeitet durch Scanner (Lexer). Reguläre Ausdrücke dienen als Eingabe für Scannergeneratoren (lex, flex). Texteditoren: erweiterte Suche DOS, Unix-Shells, grep, awk, Perl, Xml,... 15 Induktive Definition Gegeben: Grundmenge A0 B, Bildungsregel f: B n B Stufenweise Konstruktion von Mengen: Ai+1 = Ai {f(e1,..., em) e1,..., em Ai} Limes von Ai für i nach unendlich: A = i 0 Ai Definition. A heißt abgeschlossen unter f, wenn gilt: x1,..., xn A f(x1,..., xn) A 17

Satz. (a) A ist abgegeschlossen unter f. (b) Ist A abgeschlossen unter f und gilt A0 A B, dann gilt A A. D.h.: A ist die kleinste Menge, die A0 enthält und abgeschlossen ist unter f. Schema der induktiven Definition A ist die kleinste Menge, für die gilt: (a) A0 A (b) x1,..., xn A f(x1,..., xn) A (A ist abgeschlossen unter f) 18 EBNF-Notation EBNF reg. Menge Kommentar AB A B Aufeinanderfolge A B A B Alternativen [A] {ε} A Option {A} A Wiederholung ( A) (A) Gruppierung "s" {s} s Σ Beispiel. Real-Zahlen (EBNF) real = {} "." {} [scale] scale = "E" ["+" "-"] {} = "0" "1" "2" "9" 20 Algebraische Notation s statt {s} für s Σ ε statt {ε} statt {} L1 + L2 statt L1 L2 L1L2 statt L1 L2 L bleibt L hat die höchste Priorität, + die niedrigste. Beispiel. Real-Zahlen (algebraisch) = 0 + + 9 scale = E (ε + + + -) real =. (ε + scale) 19 Syntaxdiagramme Syntaxdiagramm reg. Menge EBNF A A A s {s} "s" A A + A{A} A A B A {A} A B AB A A B A B B A A {ε} [A] 21

Beispiel. Real-Zahlen (Syntaxdiagramm) real. scale scale + E - 0 1 9 22 egrep unter Unix Ausdruck selektiert s Zeichen s (kein Spezialsymbol) \s Zeichen s. alle Zeichen außer Zeilenende ^ Zeilenanfang $ Zeilenende [s1 sn] alle Zeichen in {s1,..., sn} [^s1 sn] alle Zeichen außer {s1,..., sn} r* null Mal oder öfter r r+ ein Mal oder öfter r r? null oder ein Mal r 24 Reguläre Definitionen Verwendung von Abkürzungen für reguläre Teilausdrücke. Erhöht nicht die Ausdruckskraft. Bessere Strukturierung, bessere Lesbarkeit. Keine direkte oder indirekte Rekursivität: s = s {ε} ist nicht zulässig. 23 Ausdruck selektiert r{i} i Mal r r{i,} i Mal oder öfter r r{i,j} i bis j Mal r r1r2 r1 gefolgt von r2 r1 r2 r1 oder r2 (r) r Beispiel. Real-Zahlen (egrep) ^[0-9]+\.[0-9]*(E[+-]?[0-9]+)?$ 25

Endliche Automaten Modell für Systeme mit Ein/Ausgaben aus endlichem Wertebereich und mit endlichem Speicher. Reguläre Menge minimaler DEA DEA NEA DEA... deterministischer endlicher Automat NEA... nichtdeterministischer endlicher Automat 26 Deterministischer endlicher Automat A = Q, Σ, δ, q0, F, wobei Q... endliche Menge von Zuständen Σ... Eingabealphabet δ: Q Σ Q... Übergangsfunktion (total) q0 Q... Anfangszustand F Q... Menge von Endzuständen Erweiterte Übergangsfunktion: δ : Q Σ Q δ (q, ε) = q, δ (q, wa) = δ(δ (q, w), a) für alle q Q, w Σ, a Σ. Akzeptierte Sprache: L(A) = {w Σ δ (q0, w) F } 28 Beispiel. Deterministischer endlicher Automat (DEA) +,- q0. q4 E q1 q2 q3 q5 Nichtdeterministischer endlicher Automat (NEA) q0 +. E q2 q3 ε q1 q4 - q5 27 Nichtdeterministischer endlicher Automat Übergangsfunktion: δ: Q (Σ {ε}) P(Q) Erweiterte Übergangsfunktion: δ : Q Σ P(Q) δ (q, w) = {q Q q w q } q w q... es gibt einen mit w beschrifteten Pfad von q nach q Akzeptierte Sprache: L(A) = {w Σ δ (q0, w) F } Definition. Automaten A und A sind äquivalent, falls L(A) = L(A ). 29

Reguläre Menge NEA Satz. Zu jeder regulären Sprache L gibt es einen endlichen Automaten A, sodass L = L(A). L = {}: L = {s}: s s (Σ {ε}) L = L1 L2: A1 ε ε ε ε A2 q0,2 qf,2 30 Determinisierung (NEA DEA) Satz. Zu jedem NEA gibt es einen äquivalenten DEA. NEA: A = Q, Σ, δ, q0, F DEA: Â = ˆQ, Σ, ˆδ, ˆq0, ˆF, wobei ˆQ = P(Q) ˆδ(ˆq, a) = δ (q, a) für alle ˆq ˆQ, a Σ q ˆq ˆq0 = {q0} { {ˆq ˆQ ˆq F } {ˆq ˆF = 0} falls ε L(A) {ˆq ˆQ ˆq F } sonst Tipp: Berechne die Übergangsfunktion ausgehend von ˆq0 nur für tatsächlich erreichbare Zustände. 32 L = L1 L2: L = (L1) : A1 ε A2 q0,2 qf,2 ε ε ε A1 ε 31