Formale Sprachen und Automaten

Größe: px
Ab Seite anzeigen:

Download "Formale Sprachen und Automaten"

Transkript

1 Formale Sprachen und Automaten Kapitel 1: Grundlagen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012

2 Ziel Einführung der wichtigsten Grundbegriffe für prägnantes Reden der wichtigsten Notationen für prägnantes Schreiben Grundlagen Zeichen, Alphabete, Wörter, Sprachen 2/19

3 1.1 Beispiel Ein Übersetzer für Java (oder C, oder... ) liest als Eingabe eine Folge von Zeichen, von denen der Benutzer verspricht, dass sie alle aus einer gewissen Menge A stammen. (Java: Teilmenge von Unicode, C: ASCII-Zeichensatz). Diese Menge ist endlich und man nennt sie auch ein Alphabet. Ein Programm ist eine Zeichenfolge mit der Eigenschaft syntaktisch korrekt zu sein. Grundlagen Zeichen, Alphabete, Wörter, Sprachen 3/19

4 1.2 Definition Alphabet: endliche Menge von Zeichen. Wort über A: Folge von Zeichen aus A. Länge w eines Wortes w: Anzahl Zeichen, aus denen es besteht. Das leere Wort besteht aus 0 Zeichen: = 0. Damit man es trotzdem sieht, schreibt man ε, also ε = 0. Menge aller Wörter über einem Alphabet A schreiben wir A. Formale Sprache über A: beliebige Teilmenge L A von Wörtern Grundlagen Zeichen, Alphabete, Wörter, Sprachen 4/19

5 1.2 Definition Alphabet: endliche Menge von Zeichen. Wort über A: Folge von Zeichen aus A. Länge w eines Wortes w: Anzahl Zeichen, aus denen es besteht. Das leere Wort besteht aus 0 Zeichen: = 0. Damit man es trotzdem sieht, schreibt man ε, also ε = 0. Aber ε ist kein Symbol aus A! Menge aller Wörter über einem Alphabet A schreiben wir A. Formale Sprache über A: beliebige Teilmenge L A von Wörtern Grundlagen Zeichen, Alphabete, Wörter, Sprachen 4/19

6 Beachte: Benutzung des Wortes Wort eine beliebige Folge von Zeichen aus dem benutzten Alphabet auch wenn das Alphabet das Leerzeichen enthält Ein Java-Programm ist ein Wort (in diesem Sinne). Grundlagen Zeichen, Alphabete, Wörter, Sprachen 5/19

7 1.3 Definition (Konkatenation) Es sei A ein beliebiges Alphabet. Für zwei Wörter w 1, w 2 A mit w 1 = a 1 a k, mit a 1,..., a k A und w 2 = b 1 b l, mit b 1,..., b l A ist ihre Konkatenation w 1 w 2 = w 1 w 2 = a 1 a k b 1 b l. Für das leere Wort gilt: w ε = w = ε w. Die Potenzen eines Wortes w A sind so definiert: w 0 = ε w k+1 = w k w für alle k N 0 Grundlagen Zeichen, Alphabete, Wörter, Sprachen 6/19

8 1.4 Beispiele = 0010, aber = Die Konkatenation von Wörtern ist also nicht kommutativ. w 1 = w 0+1 = w 0 w = ε w = w w 2 = w 1+1 = w 1 w = w w = ww 0 5 = = = 0111 (01) 3 = ( ) 0 = ε Für alle k N 0 ist ε k = ε. Grundlagen Zeichen, Alphabete, Wörter, Sprachen 7/19

9 1.5 Bemerkung Für alle Wörter w 1, w 2 A gilt: w 1 w 2 = w 1 + w 2. Für alle k N 0 ist daher w k = k w. Grundlagen Zeichen, Alphabete, Wörter, Sprachen 8/19

10 Eingabealphabete In unseren Beispiele meist {0, 1} oder {a, b} o.ä. Bei Programmiersprachen: oft ASCII oder Unicode oder... Grundlagen Zeichen, Alphabete, Wörter, Sprachen 9/19

11 1.6 Definition (Produkte auf Sprachen) Für formale Sprachen L 1, L 2, L A definiert man: Die Konkatenation oder das Produkt zweier Sprachen L 1 L 2 = L 1 L 2 = {w 1 w 2 w 1 L 1 w 2 L 2 } Die Potenzen einer Sprache L sind so definiert: L 0 = {ε} L k+1 = L k L für alle k N Grundlagen Zeichen, Alphabete, Wörter, Sprachen 10/19

12 1.7 Beispiele {01, 1} {000, 01} = {01000, 0101, 1000, 101} {010, 11} 2 = {010010, 01011, 11010, 1111} {0, 1} 1 = {0, 1} {0, 1} 2 = {00, 01, 10, 11} {0, 1} 3 = {000, 001, 010, 011, 100, 101, 110, 111} A k = { w A w = k } A = A 0 A 1 A 2 A 3 Grundlagen Zeichen, Alphabete, Wörter, Sprachen 11/19

13 1.8 Bemerkung Bei der Konkatenation gilt insbesondere: analog: L {ε} = L. {ε} L = {w 1 w 2 w 1 {ε} w 2 L} = {w 1 w 2 w 1 = ε w 2 L} = {εw 2 w 2 L} = {w 2 w 2 L} = L Wichtig: Die formale Sprache {ε} ist nicht die leere Menge, sondern eine Menge, die genau ein Element enthält. Grundlagen Zeichen, Alphabete, Wörter, Sprachen 12/19

14 1.9 Definition Der ε-freie Konkatenationsabschluss L + einer formalen Sprache L und der Konkatenationsabschluss L von L sind so definiert: L + = L = k=1 L k L k = L 0 L + = {ε} L + k=0 Das ist konsistent mit A wie wir es schon definiert haben! L = L 0 L 1 L 2 L 3 L + = L 1 L 2 L 3 Der heißt auch Kleene-Operator oder Kleene-Stern. Grundlagen Zeichen, Alphabete, Wörter, Sprachen 13/19

15 1.10 Bemerkung L + ist die Menge aller Wörter, die man als Produkt von einem oder mehreren Wörtern aus L schreiben kann. Beachte: Auch in L + kann schon ε enthalten sein, nämlich dann, wenn ε L ist. Grundlagen Zeichen, Alphabete, Wörter, Sprachen 14/19

16 1.11 Beispiel Die Menge der syntaktisch korrekten Java-Programme ist eine formale Sprache L Java A über dem Alphabet A = {a,..., z, A,..., Z, +,,,...}. Ein Java-Übersetzer muss unter anderem überprüfen, ob eine Eingabezeichenkette ein syntaktisch korrektes Java-Programm ist oder nicht. Mit anderen Worten muss ein Übersetzer für jedes w A feststellen können, ob w L Java ist oder nicht und je nachdem dann verschiedene Aktionen durchführen. Grundlagen Zeichen, Alphabete, Wörter, Sprachen 15/19

17 Probleme bei Programmiersprachen Wie spezifiziert man (präzise), welche Zeichenfolgen syntaktisch korrekte Java-Programme sind? Wie kann z. B. ein Algorithmus aussehen, der überprüft, ob die Eingabe ein syntaktisch korrektes Java-Programm ist? Grundlagen Verarbeitung formaler Sprachen 16/19

18 Probleme bei formalen Sprachen Verallgemeinert auf beliebige formale Sprachen: Wie spezifiziert man eine formale Sprache? Inwieweit kann man Algorithmen angeben, die für Eingabewörter entscheiden, ob sie zu einer vorher spezifizierten formalen Sprache gehören? Ist man erst einmal so weit, dann ergeben sich als weitere Fragen: Kann man den Entscheidungsalgorithmus womöglich automatisch aus der Spezifikation der formalen Sprachen erzeugen? Gibt es vielleicht Teilklassen (besonders einfacher ) formaler Sprachen, für die gewisse besonders schöne Spezifizierungsund Erkennungsmethoden benutzt werden können? Grundlagen Verarbeitung formaler Sprachen 17/19

19 Lösungsansätze Die Entscheidung über die Zugehörigkeit eines Wortes zu einer formalen Sprache kann manchmal durch Angabe eines Algorithmus in irgendeiner gängigen Programmiersprache beschrieben werden. Für spezielle Klassen formaler Sprachen kommt man mit Algorithmen einer bestimmten speziellen einfachen Struktur aus. Übliche Darstellung: gewisse Sorten von Automaten. Typisch: eine Kontrolleinheit (sozusagen mit einem fest verdrahteten Programm), die auf einen (Daten-)Speicher zugreifen kann. Unterschiede insbesondere bei der Speichergröße und bei der Art der möglichen Speicherzugriffe. Je nach Kompliziertheit der formalen Sprache braucht man unterschiedlich mächtige Automaten für die Erkennung. Grundlagen Verarbeitung formaler Sprachen 18/19

20 Vorschau Chomsky-Hierarchie: unterscheide Typ-3-, Typ-2-, Typ-1- und Typ-0-Sprachen (mit zunehmendem Schwierigkeitsgrad ). Schwergewicht auf regulären Sprachen (Typ 3) und kontextfreien Sprachen (Typ 2) da z. B. im Übersetzerbau von Bedeutung. Typ-1- und Typ-0-Sprachen und noch kompliziertere werden nur kurz abgehandelt. Regular Expressions Syntaxanalyse in einfacher Form Grundlagen Vorschau auf die Vorlesung 19/19

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/18 Überblick Formale Sprachen Formale Sprachen

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 6: formale Sprachen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik November 2008 1/14 Überblick Formale Sprachen Formale Sprachen Produkt formaler Sprachen

Mehr

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen

6 F O R M A L E S P R A C H E N. 6.1 formale sprachen 6.1 formale sprachen 6 F O R M A L E S P R A C H E N Eine natürliche Sprache umfasst mehrere Aspekte, z. B. Aussprache und Stil, also z. B. Wortwahl und Satzbau. Dafür ist es auch notwendig zu wissen,

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)

Mehr

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 16 Philipp Oppermann 9. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter (und vollständige Induktion) Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Oktober 2008 1/29 Überblick Wörter Wörter Das leere Wort Mehr zu

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung Teil 3: Daten und Algorithmen Prof. Dr. Peer Kröger, Florian Richter, Michael Fromm Wintersemester 2018/2019 Übersicht 1. Datendarstellung durch Zeichenreihen 2. Syntaxdefinitionen

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

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 3: Regular Expressions Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel 3 Regular

Mehr

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 4: Wörter Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik

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

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 32 Philipp Oppermann 13. November 2013 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Tutorium 23 Grundbegriffe der Informatik

Tutorium 23 Grundbegriffe der Informatik Tutorium 23 Grundbegriffe der Informatik Tutor: Felix Stahlberg SOFTWARE DESIGN AND QUALITY GROUP Source: pixelio.de KIT The cooperation of Forschungszentrum Karlsruhe GmbH and Universität Karlsruhe (TH)

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

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

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/31 Überblick Erstes Beispiel: ein Getränkeautomat Mealy-Automaten

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Unterlagen für die Vorlesung an der DHBW Karlsruhe im Wintersemester 212 vorläufige Fassung vom 3. Oktober 212 Dr. Thomas Worsch Fakultät für Informatik Karlsruher Institut

Mehr

Daten und Algorithmen

Daten und Algorithmen LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Kapitel 3 Daten und Algorithmen Skript zur Vorlesung Einführung in die Programmierung g im Wintersemester 2012/13 Ludwig-Maximilians-Universität

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

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 22 Exkurs: Formale Sprachen Im Kapitel

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

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

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung 02.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel III Reguläre Sprachen Reguläre Sprachen und Ausdrücke Informatik III

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Rolf Socher ISBN 3-446-22987-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22987-6 sowie im Buchhandel Einführung.. 13 2 Endliche

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

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

Reguläre Ausdrücke. Michael Jäger. 4. April 2017

Reguläre Ausdrücke. Michael Jäger. 4. April 2017 Reguläre Ausdrücke Michael Jäger 4. April 2017 Zeichenketten und Sprachen Ein Alphabet ist eine endliche Menge von Symbolen. Beispiele: 1. Σ 1 = {0, 1} 2. Σ 2 = {a, b, c, d, e, f, g, h, i, j, k, l, m,

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

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

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen! Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit Sommersemester 2012 Prof. Dr. Nicole Schweikardt AG Theorie komplexer Systeme Goethe-Universität Frankfurt am Main Herzlich willkommen!

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

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen

Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Grundbegriffe der Informatik Kapitel 3: Mengen, Alphabete, Abbildungen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 3: Alphabete, Abbildungen, Aussagenlogik Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/32 Überblick Alphabete

Mehr

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016

Formale Methoden 2. Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Formale Methoden 2 Gaetano Geck Lehrstuhl I Logik in der Informatik WS 2015/2016 Teil 3: Kodierung 1 Motivation 2 Exkurs Grundlagen formaler Sprachen 3 Grundlagen 4 Beispielkodierungen FM2 (WS 2014/15,

Mehr

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

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit.  Zugangsnummer: 9201 Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter und vollständige Induktion Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/40 Überblick Wörter Wörter

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 4: Wörter und vollständige Induktion Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/41 Überblick Wörter Wörter

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

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

Algorithmen und Formale Sprachen

Algorithmen und Formale Sprachen Algorithmen und Formale Sprachen Algorithmen und formale Sprachen Formale Sprachen und Algorithmen Formale Sprachen und formale Algorithmen (formale (Sprachen und Algorithmen)) ((formale Sprachen) und

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

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

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme

3. Vorlesung: Endliche Automaten Markus Kr otzsch Lehrstuhl Wissensbasierte Systeme Wiederholung Mit Grammatiken können wir Sprachen beschreiben und sie grob in Typen unterteilen: FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Formale

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften

Mehr

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung? Überblick 1. reguläre Sprachen endliche Automaten (deterministisch vs. nichtdeterministisch) Nichtregularität 2. Berechenbarkeit Registermaschinen/Turingmaschinen Churchsche These Unentscheidbarkeit 3.

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

Reguläre Ausdrücke. Karin Haenelt

Reguläre Ausdrücke. Karin Haenelt Reguläre Ausdrücke Karin Haenelt 25.04.2010 1 Inhalt Einführung Definitionen Kleene-Theorem Schreibweisen regulärer Ausdrücke Eigenschaften regulärer Sprachen 2 Was sind reguläre Ausdrücke? Reguläre Ausdrücke

Mehr

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem

Adventure-Problem. Vorlesung Automaten und Formale Sprachen Sommersemester Adventure-Problem -Problem Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Zum Aufwärmen: wir betrachten das sogenannte -Problem, bei dem ein Abenteurer/eine

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 16.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organizatorisches Literatur Motivation und Inhalt Kurzer

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

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 19: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie Sprachen werden von PDAs akzeptiert Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 - 1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik

Mehr

Grundbegriffe der Informatik Tutorium 3

Grundbegriffe der Informatik Tutorium 3 Grundbegriffe der Informatik Tutorium 3 Tutorium Nr. 32 Philipp Oppermann 9. November 2014 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/47 Was kann

Mehr

Herzlich willkommen!!!

Herzlich willkommen!!! Theoretische Informatik 2 Sommersemester 2013 Prof. Dr. Georg Schnitger AG Theoretische Informatik Johann Wolfgang Goethe-Universität Frankfurt am Main Herzlich willkommen!!! 1 / 19 Kapitel 1: Einführung

Mehr

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen

Vorlesung Automaten und Formale Sprachen Sommersemester Beispielsprachen. Sprachen Vorlesung Automaten und Formale Sprachen Sommersemester 2018 Prof. Barbara König Übungsleitung: Christina Mika-Michalski Wörter Wort Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dann bezeichnet

Mehr

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch

FORMALE SYSTEME. 3. Vorlesung: Endliche Automaten. TU Dresden, 17. Oktober Markus Krötzsch FORMALE SYSTEME 3. Vorlesung: Endliche Automaten Markus Krötzsch TU Dresden, 17. Oktober 2016 Rückblick Markus Krötzsch, 17. Oktober 2016 Formale Systeme Folie 2 von 31 Wiederholung Mit Grammatiken können

Mehr

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

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

Abschnitt 4: Daten und Algorithmen

Abschnitt 4: Daten und Algorithmen Abschnitt 4: Daten und Algorithmen 4. Daten und Algorithmen 4.1 4.2 Syntaxdefinitionen 4.3 Eigenschaften von Algorithmen 4.4 Paradigmen der Algorithmenentwicklung Peer Kröger (LMU München) Einführung in

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab

Mehr

Einführung in die Computerlinguistik und Sprachtechnologie

Einführung in die Computerlinguistik und Sprachtechnologie Einführung in die Computerlinguistik und Sprachtechnologie Vorlesung im WiSe 2016/17 (B-GSW-12) Prof. Dr. Udo Hahn Lehrstuhl für Computerlinguistik Institut für Germanistische Sprachwissenschaft Friedrich-Schiller-Universität

Mehr

Vorlesung Diskrete Strukturen Abbildungen

Vorlesung Diskrete Strukturen Abbildungen Vorlesung Diskrete Strukturen Abbildungen Bernhard Ganter WS 2009/10 Hashfunktionen Wenn eine Datenbank Millionen von Dokumenten enthält und immer neue dazu kommen, stellt sich folgendes Problem: Bei neuen

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

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

Vorlesung Diskrete Strukturen Abbildungen

Vorlesung Diskrete Strukturen Abbildungen Vorlesung Diskrete Strukturen Abbildungen Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in die

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

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

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 7. Vorlesung 16.11.2006 schindel@informatik.uni-freiburg.de 1 Informatik III 7. Vorlesung - 2 Informatik III 7. Vorlesung - 3 Informatik III

Mehr

Gegenstand der Vorlesung 1

Gegenstand der Vorlesung 1 Gegenstand der Vorlesung 1 I. Mittel zur Beschreibung/Spezifikation von Sprachen L; das sind Mengen von Zeichenreihen (Wörter) über einem Alphabet Σ. Bsp. Die Menge der (syntaktisch korrekten) Pascal-Programme

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

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen

Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen Fragenkatalog 2. Abgabegespräch Formale Modellierung 3 Reguläre Sprachen 1. Was ist eine formale Sprache? Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind. Zeichenkette:

Mehr

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

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2012 17. DIE KONTEXTFREIEN SPRACHEN II: ABSCHLUSSEIGENSCHAFTEN, MASCHINENCHARAKTERISIERUNG, KOMPLEXITÄT Theoretische

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

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

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Formale Sprachen und endliche Automaten

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Formale Sprachen und endliche Automaten Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Formale Sprachen und endliche Automaten Das komplette Material finden Sie hier: Download bei School-Scout.de Dr. D. Appel Formale

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 9: Speicher Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2013/2014 1/19 Überblick Bit und Byte Speicher als Tabellen und

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2017 20.04.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Organisatorisches Literatur Motivation und Inhalt Kurzer

Mehr

Automaten und Formale Sprachen 1. Vorlesung

Automaten und Formale Sprachen 1. Vorlesung Automaten und Formale Sprachen 1. Vorlesung Martin Dietzfelbinger 11. Oktober 2005 Hörer: Informatikstudierende im 3. Semester, Mathematikstudierende bei Bedarf Material: Skript, Folienkopien, Übungsblätter

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

3 Endliche Muster und Konfigurationen

3 Endliche Muster und Konfigurationen 3 Endliche Muster und Konfigurationen Wir gehen von nun an immer davon aus, dass 0 N ist. 3.1 Definition Eine Teilmenge P Q heißt genau dann Ruhemenge oder passiv, wenn für alle l : N Q mit ran(l) P gilt:

Mehr