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

Ähnliche Dokumente
Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

Grundbegriffe der Informatik

Grundbegriffe der Informatik

Vorlesung Theoretische Informatik

Theoretische Informatik I

Grundbegriffe der Informatik

Grundlagen der Theoretischen Informatik

THEORETISCHE INFORMATIK

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Programmiersprachen und Übersetzer

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Grammatiken und die Chomsky-Hierarchie

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Aufgabentypen die in der Klausur vorkommen

Sprachen/Grammatiken eine Wiederholung

Endliche Automaten. Endliche Automaten 1 / 108

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Informatik 1 + 2

Mathematische Grundlagen der Informatik 2

Reguläre Ausdrücke. Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Reguläre Sprachen Endliche Automaten

Automatentheorie Berechnungsmodell für logische Sprachen

Prof. Dr. Jürgen Dix Institut für Informatik, TU Clausthal Informatik III, WS 2006/07 2/561

Grammatiken. Einführung

4.2.4 Reguläre Grammatiken

Theoretische Informatik

Übungsaufgaben und Lösungen. zur Vorlesung. Theoretische Grundlagen der Informatik

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Informatik I WS 07/08 Tutorium 24

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Einführung in die Theoretische Informatik

Modul Formale Sprachen Bachelor Informatik 3. Semester

Formale Sprachen. Script, Kapitel 4. Grammatiken

Theoretische Informatik

66TT2. Herbst. Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen. Prüfungsaufgaben - Prüfungsteilnehmer Prüfungstermin Einzelprüfungsnunrmer

Informatik I. Lutz Donnerhacke PGP:db c1c 6311 ef09 d819 e029 65be bfb6 c9cb

Was bisher geschah: Formale Sprachen

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Theoretische Informatik I

Notation um Grammatik G hervorzuheben: Eine kontextfreie Grammatik erzeugt eine kontextfreie Sprache. Informatik I -1- WS 2005/2006

2.11 Kontextfreie Grammatiken und Parsebäume

Aufgaben Theoretische Informatik

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Wortproblem für kontextfreie Grammatiken

Automaten und Formale Sprachen. Skript zur Vorlesung WS 2009/2010. Vorlesender: Prof. Dr. M. Kunde. Fassung vom

Grundlagen der Theoretischen Informatik - Sommersemester Übungsblatt 1: Lösungsvorschläge

Theoretische Informatik

Zusammenfassung Grundzüge der Informatik 4

Informatik IC2. Balazs Simon

Kompatibilitätsanalyse dynamischen Verhaltens von integrierten Automobil-Steuergeräten

2. Kapitel LEXIKALISCHE ANALYSE. Compilerbau Prof. Dr. Wolfgang Schramm

Compiler. Kapitel. Syntaktische Analyse. Kapitel 4. Folie: 1. Syntaktische Analyse. Autor: Aho et al.

Modellierung Prof. Dr. Uwe Kastens WS 2011 / 2012

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen 19

7. Formale Sprachen und Grammatiken

Theoretische Informatik - Zusammenfassung

Einführung in die Computerlinguistik

Formale Sprachen und Grammatiken

Einführung in die Computerlinguistik

Grundbegriffe der Informatik

Multimedia Technologie II

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

Schulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule

Theoretische Informatik und Logik, VU 4.0 (Teil1: Automaten und Formale Sprachen)

GTI. Hannes Diener. 6. Juni Juni. ENC B-0123, diener@math.uni-siegen.de

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Formale Sprachen, reguläre und kontextfreie Grammatiken

Theorie der Informatik

ARBEITSBLATT ZU FORMALEN SPRACHEN

Logik für Informatiker

Kombinatorische Optimierung

1 topologisches Sortieren

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

WS 2009/10. Diskrete Strukturen

Software-Engineering SS03. Zustandsautomat

Organisatorisches. Informatik II Informationen und Daten. Organisatorisches. Organisatorisches. Rainer Schrader. 13. Oktober 2008

Theoretische Grundlagen der Informatik

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Grundbegriffe der Informatik Tutorium 7

Theoretische Informatik I. 1 Zum Sinn der theoretischen Informatik. Wintersemester 2003/2004

Grundlagen der Theoretischen Informatik, SoSe 2008

Wissensbasierte Systeme

Z 50. Z O Z Int Z Komma Z Real Ziffer Komma Ziffer

REG versus CF. Theorem REG ist echt in CF enthalten.

Modelle der Informatik - Lösung der Übungsblätter

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Einführung in die Informatik Grammars & Parsers

Seminar Informatik: Syntaxanalyse von DKFG mittels Yacc

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Zeichnen von Graphen. graph drawing

Effiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Endliche Automaten. S. Kuske: Endliche Automaten; 6.Novenber 2006

Transkript:

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: Deterministischer endlicher Automat Ein deterministischer endlicher Automat A = (Σ, Q, δ, q 0, F) besteht aus einer endlichen Menge (Alphabet) von Eingabesymbolen Σ einer endlichen Menge von Zuständen Q einer Übergangsfunktion δ : Q Σ Q einem Anfangszustand q 0 Q einer Menge F Q von Endzuständen

Sprache eines DEAs Definition 2 Sei a Σ ein Eingabesymbol, w Σ ein Wort über einem Alphabet, q Q ein Zustand und δ : Q Σ Q die Übergangsfunktion eines DEAs A. Dann ist die Übergangsfunktion für Worte δ : Q Σ Q definiert als: δ(q, ɛ) = q und δ(q, aw) = δ(δ(q, a), w) L(A) := {w Σ δ(q 0, w) F} ist die Sprache von A. L(A) ist die Menge der akzeptierten Worte. Statt δ schreiben wir oft auch einfach nur δ. 3 / 15

4 / 15 Nichtdeterministischer endlicher Automat (NEA) Definition 3: Nichtdeterministischer endlicher Automat Ein nichtdeterministischer endlicher Automat A = (Σ, Q, δ, q 0, F ) besteht aus einer endlichen Menge von Eingabesymbolen Σ einer endlichen Menge von Zuständen Q einer Übergangsfunktion δ : Q Σ P(Q) einem Anfangszustand q 0 Q einer Menge F Q von Endzuständen

Sprache eines NEAs Definition 4 Die Menge der von einem nichtdeterministischen endlichen Automaten A = (Σ, Q, δ, q 0, F ) akzeptierten Worte ist L(A) = {w Σ w = a 1... a n mit a i Σ (1 i n), q 1 Q... q n Q : q 1 δ(q 0, a 1 ), q 2 δ(q 1, a 2 ),..., q n δ(q n 1, a n ), q n F} 5 / 15

6 / 15 Nichtdeterministischer endlicher ɛ-automat (ɛ-nea) Definition 5: Nichtdeterministischer endlicher ɛ-automat Ein nichtdeterministischer endlicher ɛ-automat A = (Σ, Q, δ, q 0, F ) besteht aus einer endlichen Menge von Eingabesymbolen Σ einer endlichen Menge von Zuständen Q einer Übergangsfunktion δ : Q (Σ {ɛ}) P(Q) einer Menge von Anfangszuständen q 0 Q einer Menge F Q von Endzuständen

Sprache eines ɛ-nea Definition 6 Die Menge der von einem nichtdeterministischen endlichen ɛ-automaten A = (Σ, Q, δ, q 0, F) akzeptierten Worte ist L(A) = {w Σ w = a 1... a n mit a i Σ {ɛ} (1 i n), q 1 Q... q n Q : q 1 δ(q 0, a 1 ), q 2 δ(q 1, a 2 ),..., q n δ(q n 1, a n ), q n F} 7 / 15

8 / 15 Wortmengen Definition 7: Wortmengen Seien L, L 1 und L 2 Mengen von Worten über einem Alphabet Σ: 1 L 1 L 2 := {w 1 w 2 Σ w 1 L 1, w 2 L 2 } 2 L 0 = {ɛ}, L 1 = L, L n+1 = LL n 3 4 L = n=0 L + = n=1 L n L n

Reguläre Ausdrücke und Sprachen Definition 8: Reguläre Ausdrücke und Sprachen Sei Σ ein Alphabet, 1 ist ein regulärer Ausdruck über Σ mit L( ) = (leere Menge), 2 ɛ ist ein regulärer Ausdruck über Σ mit L(ɛ) = {ɛ} (leere Wort), 3 Sei a Σ, dann ist a ein regulärer Ausdruck über Σ mit L(a) = {a}, 4 Seien r und s reguläre Ausdrücke über Σ, dann sind r, r +, (rs), (r s) reguläre Ausdrücke über Σ mit L(r ) = L(r), L(r + ) = L(r) +, L((rs)) = L(r)L(s), L((r s)) = L(r) L(s). 9 / 15

10 / 15 Reguläre Ausdrücke und Sprachen Hinweis: Für den regulären Ausdruck r s schreiben wir auch r s. Die Klammern dienen nur zur Strukturierung der Ausdrücke.

Rechtslineare Grammatik Definition 9: Rechtslineare Grammatik Eine Grammatik G = (T, N, P, S) ist rechtslinear, wenn alle Produktionen (Regeln) für X, Y N und a T eine der folgenden Formen besitzen: X ::= ay, X ::= Y, X ::= a, X ::= ɛ 11 / 15

Äquivalenz Theorem 1 Sei M eine Menge von Worten über dem Alphabet Σ. Dann sind die folgenden fünf Aussagen äquivalent: 1 Es gibt einen DEA A mit L(A) = M. 2 Es gibt einen NEA A mit L(A) = M. 3 Es gibt einen ɛ-nea A mit L(A) = M. 4 Es gibt einen regulären Ausdruck r mit L(r) = M. 5 Es gibt eine rechtslineare Grammatik G mit L(G) = M. 12 / 15

13 / 15 Beweisstruktur für Theorem 1 Die Beweisfolge ist: (1) (2), (2) (1), (3) (2), (1) (4), (4) (3), (1) (5), (5) (3) Fasst man die Aussagen als Knoten und die Beweisrichtung als Kanten eines gerichteten Graphen auf, so erkennt man, dass es sich dabei um einen stark zusammenhängenden Graphen handelt. Daraus ergibt sich dann, dass alle Aussagen äquivalent zueinander ist.

14 / 15 Literaturhinweis Für den ausführlichen Beweis zum Nachlesen verweisen wir auf: J.E. Hopcroft und J.D. Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie, 4. Auflage, Oldenbourg Verlag München Wien, 2000

15 / 15 Grenzen der Automaten Theorem 2 1 Es gibt keinen DEA A mit L(A) = {a n b n n 0}. 2 Es gibt keinen DEA A mit L(A) = {a p p ist Primzahl }. 3 Sei K die Menge der korrekten Klammerausdrücke (siehe kontextfreie Grammatiken), dann gibt es keinen DEA A mit L(A) = K.