Theoretische Informatik I

Ähnliche Dokumente
Theoretische Informatik

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Theoretische Informatik I

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

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

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

Theorie der Informatik

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

I.5. Kontextfreie Sprachen

Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen

Theoretische Informatik

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Automaten und formale Sprachen Klausurvorbereitung

Lexikalische Programmanalyse der Scanner

Formale Sprachen. Script, Kapitel 4. Grammatiken

Handout zu Beweistechniken

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 0. ORGANISATORISCHES UND ÜBERBLICK

Theoretische Informatik I

Grundlagen der Theoretischen Informatik

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

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

(Prüfungs-)Aufgaben zu formale Sprachen

8. Turingmaschinen und kontextsensitive Sprachen

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grundlagen der Theoretischen Informatik

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

Theoretische Informatik I

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

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

Berechenbarkeit und Komplexität

Deterministischer Kellerautomat (DPDA)

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Grundlagen der Theoretischen Informatik

Grundlagen der Informatik II

Theoretische Grundlagen des Software Engineering

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Vorlesung Theoretische Informatik

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

Theoretische Grundlagen der Informatik

Kapitel 3: Grundlegende Ergebnisse aus der Komplexitätstheorie Gliederung

Kontextfreie Sprachen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Theoretische Informatik Kap 2: Berechnungstheorie

Automaten und Coinduktion

Kapitel 2: Formale Sprachen Gliederung

Herzlich willkommen!!!

Das Postsche Korrespondenzproblem

Einführung in die Theoretische Informatik

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

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

Automaten und Formale Sprachen ε-automaten und Minimierung

5.7 Kontextfreie Grammatiken und Kellerautomaten

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

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

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

Lexikalische Analyse, Tokenizer, Scanner

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

Theoretische Informatik I

Es gibt drei unterschiedliche Automaten:

Formale Sprachen und Automaten

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Theoretische Informatik

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Übungsaufgaben zu Formalen Sprachen und Automaten

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

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

Leitfäden und Monographien der Informatik Ingo Wegener Theoretische Informatik

Grundlagen der Theoretischen Informatik

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

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

Grundlagen der Theoretischen Informatik, SoSe 2008

Rekursiv aufzählbare Sprachen

Theoretische Informatik

Formale Sprachen und Automaten

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

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

11.1 Kontextsensitive und allgemeine Grammatiken

Typ-3-Sprachen. Das Pumping-Lemma

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Theoretische Grundlagen der Informatik

Alphabet, formale Sprache

Reguläre Sprachen und endliche Automaten

Theoretische Informatik I

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Theoretische Informatik I

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Kontextfreie Grammatiken

Transkript:

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 der Informatik TI-1 Theoretische Informatik I 4: 1 Rückblick: Automaten & Formale Sprachen

Themen der Theoretischen Informatik I & II Mathematische Methodik in der Informatik Automatentheorie und Formale Sprachen Endliche Automaten und Reguläre Sprachen Lexikalische Analyse Kontextfreie Sprachen und Pushdown Automaten Syntaxanalyse und Semantik Die Chomsky Hierarchie TI-1 TI-1 Theoretische Informatik I 4: 1 Rückblick: Automaten & Formale Sprachen

Themen der Theoretischen Informatik I & II Mathematische Methodik in der Informatik Automatentheorie und Formale Sprachen Endliche Automaten und Reguläre Sprachen Lexikalische Analyse Kontextfreie Sprachen und Pushdown Automaten Syntaxanalyse und Semantik Die Chomsky Hierarchie Theorie der Berechenbarkeit Berechenbarkeitsmodelle Aufzählbarkeit und Entscheidbarkeit Unlösbare Probleme (Unentscheidbarkeit) TI-1 TI-1 TI-2 Theoretische Informatik I 4: 1 Rückblick: Automaten & Formale Sprachen

Themen der Theoretischen Informatik I & II Mathematische Methodik in der Informatik Automatentheorie und Formale Sprachen Endliche Automaten und Reguläre Sprachen Lexikalische Analyse Kontextfreie Sprachen und Pushdown Automaten Syntaxanalyse und Semantik Die Chomsky Hierarchie Theorie der Berechenbarkeit Berechenbarkeitsmodelle Aufzählbarkeit und Entscheidbarkeit Unlösbare Probleme (Unentscheidbarkeit) Komplexitätstheorie Komplexitätsmaße und -klassen für Algorithmen und Probleme Nicht handhabbare Probleme (N P-Vollständigkeit) TI-1 TI-1 TI-2 TI-2 Theoretische Informatik I 4: 1 Rückblick: Automaten & Formale Sprachen

Mathematische Methodik Methodik des Problemlösens Klärung der Voraussetzungen Lösungsweg konkretisieren: Einzelschritte und Begründungen Ergebnis kurz und prägnant zusammenfassen Theoretische Informatik I 4: 2 Rückblick: Automaten & Formale Sprachen

Mathematische Methodik Methodik des Problemlösens Klärung der Voraussetzungen Lösungsweg konkretisieren: Einzelschritte und Begründungen Ergebnis kurz und prägnant zusammenfassen Viele Arten von Beweisen Deduktive Beweise: Logische Beweisschritte von Annahme zur Konklusion ggf. Definitionen auflösen, Mengenäquivalenz punktweise zeigen Widerlegungsbeweise: Widerspruch, Gegenbeispiel, Diagonalisierung auch genutzt für indirekte Beweisführung Induktionsbeweise: Zahlen-, vollständige, strukturelle, gegenseitige Induktion Theoretische Informatik I 4: 2 Rückblick: Automaten & Formale Sprachen

Mathematische Methodik Methodik des Problemlösens Klärung der Voraussetzungen Lösungsweg konkretisieren: Einzelschritte und Begründungen Ergebnis kurz und prägnant zusammenfassen Viele Arten von Beweisen Deduktive Beweise: Logische Beweisschritte von Annahme zur Konklusion ggf. Definitionen auflösen, Mengenäquivalenz punktweise zeigen Widerlegungsbeweise: Widerspruch, Gegenbeispiel, Diagonalisierung auch genutzt für indirekte Beweisführung Induktionsbeweise: Zahlen-, vollständige, strukturelle, gegenseitige Induktion Präzise Argumente sind essentiell in der Informatik Theoretische Informatik I 4: 2 Rückblick: Automaten & Formale Sprachen

Reguläre Sprachen Endliche Automaten Endliche Menge von Zuständen und Eingabesymbolen Verarbeitung von Eingabesymbolen ändert internen Zustand Erkannte Sprache: Abarbeitung endet in akzeptierendem Zustand Varianten: Deterministisch, nichtdeterministisch mit/ohne ɛ-übergänge Umwandlung in deterministische Variante über Teilmengenkonstruktion Theoretische Informatik I 4: 3 Rückblick: Automaten & Formale Sprachen

Reguläre Sprachen Endliche Automaten Endliche Menge von Zuständen und Eingabesymbolen Verarbeitung von Eingabesymbolen ändert internen Zustand Erkannte Sprache: Abarbeitung endet in akzeptierendem Zustand Varianten: Deterministisch, nichtdeterministisch mit/ohne ɛ-übergänge Umwandlung in deterministische Variante über Teilmengenkonstruktion Reguläre Ausdrücke Algebraische Notation für Sprachen: ɛ,, Symbole von Σ, +,, Umwandelbar in ɛ-neas (iterative Konstruktion) DEAs umwandelbar in reguläre Ausdrücke für Verarbeitungspfade oder durch Zustandselemination im RA Automaten Theoretische Informatik I 4: 3 Rückblick: Automaten & Formale Sprachen

Reguläre Sprachen Endliche Automaten Endliche Menge von Zuständen und Eingabesymbolen Verarbeitung von Eingabesymbolen ändert internen Zustand Erkannte Sprache: Abarbeitung endet in akzeptierendem Zustand Varianten: Deterministisch, nichtdeterministisch mit/ohne ɛ-übergänge Umwandlung in deterministische Variante über Teilmengenkonstruktion Reguläre Ausdrücke Algebraische Notation für Sprachen: ɛ,, Symbole von Σ, +,, Umwandelbar in ɛ-neas (iterative Konstruktion) DEAs umwandelbar in reguläre Ausdrücke für Verarbeitungspfade oder durch Zustandselemination im RA Automaten Grammatiken Beschreibung des Aufbaus von Sprachen durch Produktionsregeln Erzeugte Sprache: schrittweise Ableitung endet in Terminalworten Typ-3 (rechtsslineare) Grammatiken sind äquivalent zu ɛ-neas Direkte Umwandlung zwischen Produktionen und Überführungsfunktion Theoretische Informatik I 4: 3 Rückblick: Automaten & Formale Sprachen

Eigenschaften regulärer Sprachen Abschlußeigenschaften Operationen,,, -, R,,, h, h 1 erhalten Regularität von Sprachen Verwendbar zum Nachweis von Regularität oder zur Widerlegung Theoretische Informatik I 4: 4 Rückblick: Automaten & Formale Sprachen

Eigenschaften regulärer Sprachen Abschlußeigenschaften Operationen,,, -, R,,, h, h 1 erhalten Regularität von Sprachen Verwendbar zum Nachweis von Regularität oder zur Widerlegung Automatische Prüfungen Man kann testen ob eine reguläre Sprache leer ist Man kann testen ob ein Wort zu einer regulären Sprache gehört Man kann testen ob zwei reguläre Sprachen gleich sind Theoretische Informatik I 4: 4 Rückblick: Automaten & Formale Sprachen

Eigenschaften regulärer Sprachen Abschlußeigenschaften Operationen,,, -, R,,, h, h 1 erhalten Regularität von Sprachen Verwendbar zum Nachweis von Regularität oder zur Widerlegung Automatische Prüfungen Man kann testen ob eine reguläre Sprache leer ist Man kann testen ob ein Wort zu einer regulären Sprache gehört Man kann testen ob zwei reguläre Sprachen gleich sind Minimierung von Automaten Ein Automat kann minimiert werden indem man äquivalente Zustände zusammenlegt und unerreichbare Zustände entfernt Theoretische Informatik I 4: 4 Rückblick: Automaten & Formale Sprachen

Eigenschaften regulärer Sprachen Abschlußeigenschaften Operationen,,, -, R,,, h, h 1 erhalten Regularität von Sprachen Verwendbar zum Nachweis von Regularität oder zur Widerlegung Automatische Prüfungen Man kann testen ob eine reguläre Sprache leer ist Man kann testen ob ein Wort zu einer regulären Sprache gehört Man kann testen ob zwei reguläre Sprachen gleich sind Minimierung von Automaten Ein Automat kann minimiert werden indem man äquivalente Zustände zusammenlegt und unerreichbare Zustände entfernt Pumping Lemma Wiederholt man einen bestimmten Teil ausreichend großer Worte einer regulären Sprache beliebig oft, so erhält man immer ein Wort der Sprache Verwendbar zur Widerlegung von Regularität Theoretische Informatik I 4: 4 Rückblick: Automaten & Formale Sprachen

Kontextfreie Sprachen Kompliziertere Struktur als reguläre Sprachen Kontextfreie Grammatiken Produktionsregeln ersetzen einzelne Variablen durch beliebige Worte Ableitungsbäume beschreiben Struktur von Terminalworten (Compiler!) Ableitungsbäume entsprechen Links- (oder Rechts-)ableitungen Programmiersprachen brauchen eindeutig bestimmbare Ableitungsbäume Theoretische Informatik I 4: 5 Rückblick: Automaten & Formale Sprachen

Kontextfreie Sprachen Kompliziertere Struktur als reguläre Sprachen Kontextfreie Grammatiken Produktionsregeln ersetzen einzelne Variablen durch beliebige Worte Ableitungsbäume beschreiben Struktur von Terminalworten (Compiler!) Ableitungsbäume entsprechen Links- (oder Rechts-)ableitungen Programmiersprachen brauchen eindeutig bestimmbare Ableitungsbäume Pushdown-Automaten Nichtdeterministischer endlicher Automat mit Stack und ɛ-übergängen Erkennung von Worten durch Endzustand oder leeren Stack Analyse durch Betrachtung von Konfigurationsübergängen Nichtdeterministische PDAs äquivalent zu kontextfreien Grammatiken Umwandlung von Konfigurationsübergängen in Regeln und umgekehrt Deterministische PDAs weniger mächtig (nur eindeutige Typ-2 Sprachen) Theoretische Informatik I 4: 5 Rückblick: Automaten & Formale Sprachen

Eigenschaften kontextfreier Sprachen Abschlußeigenschaften Operationen, R,,, σ, h 1 erhalten Kontextfreiheit von Sprachen Keine Abgeschlossenheit unter,, - Theoretische Informatik I 4: 6 Rückblick: Automaten & Formale Sprachen

Eigenschaften kontextfreier Sprachen Abschlußeigenschaften Operationen, R,,, σ, h 1 erhalten Kontextfreiheit von Sprachen Keine Abgeschlossenheit unter,, - Automatische Prüfungen Man kann testen ob eine kontextfreie Sprache leer ist Man kann testen ob ein Wort zu einer kontextfreien Sprache gehört Man kann nicht testen ob zwei kontextfreie Sprachen gleich sind Viele wichtige Fragen sind nicht automatisch prüfbar Theoretische Informatik I 4: 6 Rückblick: Automaten & Formale Sprachen

Eigenschaften kontextfreier Sprachen Abschlußeigenschaften Operationen, R,,, σ, h 1 erhalten Kontextfreiheit von Sprachen Keine Abgeschlossenheit unter,, - Automatische Prüfungen Man kann testen ob eine kontextfreie Sprache leer ist Man kann testen ob ein Wort zu einer kontextfreien Sprache gehört Man kann nicht testen ob zwei kontextfreie Sprachen gleich sind Viele wichtige Fragen sind nicht automatisch prüfbar Pumping Lemma Wiederholt man bestimmte Teile ausreichend großer Worte einer kontextfreien Sprache beliebig oft, so erhält man immer ein Wort der Sprache Viele einfache Sprachen sind nicht kontextfrei Theoretische Informatik I 4: 6 Rückblick: Automaten & Formale Sprachen

Theoretische Informatik I im Rückblick FRAGEN? Theoretische Informatik I 4: 7 Rückblick: Automaten & Formale Sprachen