Theoretische Informatik und Logik

Ähnliche Dokumente
1 Spezifikation formaler Sprachen

Theoretische Informatik. Reguläre Sprachen und Automaten

Reguläre Ausdrücke. Karin Haenelt

Reguläre Sprachen und endliche Automaten

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

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

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

Einführung in die Theoretische Informatik

Automaten und Formale Sprachen

Theoretische Grundlagen des Software Engineering

Operationen auf endlichen Automaten und Transduktoren

Alphabet, formale Sprache

Übungsaufgaben zu Formalen Sprachen und Automaten

Grundlagen der Theoretischen Informatik

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

Grundlagen der Theoretischen Informatik

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Grundlagen der Theoretischen Informatik

9 Theoretische Informatik und Compilerbau

Theoretische Informatik

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

Automaten, Spiele, und Logik

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

Berechenbarkeit und Komplexität

Klausur zur Vorlesung Mathematische Logik

Automaten und Formale Sprachen Endliche Automaten und Reguläre sprachen

Theoretische Informatik Testvorbereitung Moritz Resl

Vorlesung Theoretische Informatik

Formale Sprachen und Automaten

Formale Systeme. Organisatorisches. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Theoretische Grundlagen der Informatik

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

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

Formale Systeme. Organisatorisches. Prof. Dr. Bernhard Beckert, WS 2016/ KIT Die Forschungsuniversita t in der Helmholtz-Gemeinschaft

Automatentheorie und formale Sprachen

Deterministische endliche Automaten - Wiederholung

liefern eine nicht maschinenbasierte Charakterisierung der regulären

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

Brückenkurs Mathematik

Es gibt drei unterschiedliche Automaten:

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Sprachen/Grammatiken eine Wiederholung

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Was bisher geschah. Modellierung von Aussagen durch Logiken. Modellierung von Daten durch Mengen

7. Formale Sprachen und Grammatiken

Überführung regulärer Ausdrücke in endliche Automaten

Theoretische Informatik. Alphabete, Worte, Sprachen

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

Thomas Behr. 17. November 2011

Formale Sprachen. Script, Kapitel 4. Grammatiken

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

Theoretische Informatik I (Grundzüge der Informatik I)

Grundlagen der Informatik II

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

Abschluss unter Operationen

Logik. Vorlesung im Wintersemester 2010

Syntax von Programmiersprachen

Grundbegriffe der Informatik

Programmiersprachen und Übersetzer

Formale Sprachen und Automaten

Grundbegriffe der Informatik

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

TU8 Beweismethoden. Daniela Andrade

Logik für Informatiker

Theoretische Informatik

Theorie der Informatik

Automatentheorie und formale Sprachen rechtslineare Grammatiken

2. Schriftliche Leistungskontrolle (EK)

Vorkurs Mathematik und Informatik Mengen, natürliche Zahlen, Induktion

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

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

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

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

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung

Einführung in die Theoretische Informatik

11.1 Kontextsensitive und allgemeine Grammatiken

Theorie der Informatik

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Einführung in die Theoretische Informatik

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

Grundlagen der Theoretischen Informatik

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

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

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Anwendungen formaler Sprachen Adressen, Kaffeeautomaten, Programmiersprachen. Rudolf Freund, Marian Kogler

Mathematische Grundlagen der Informatik 2

Einführung in die Computerlinguistik und Sprachtechnologie

Einführung in die Theoretische Informatik

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Grundbegriffe der Informatik

Theoretische Grundlagen der Informatik

Grundbegriffe der Informatik

I.5. Kontextfreie Sprachen

Einführung in die Theoretische Informatik

3. Nur die mit diesen Regeln erzeugten Ausdrücke sind reguläre Ausdrücke über Σ.

Die Sprache der Mathematik

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

Einführung in die Computerlinguistik Suche mit regulären Ausdrücken

Empfehlenswerte Referenzen

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

Transkript:

Theoretische Informatik und Logik Homepage zu dieser LVA: http://www.logic.at/lvas/wiki/185263 Bernhard Gramlich, gramlich@logic.at Marion Oswald, marion@logic.at 1

Vorlesungsteil Vorlesungtermine: Do, 18:15 19:45, HS 5 Fr, 15:15 16:45, Inf HS Ausnahmen: Fr, 7.10., 15:15 16:45, HS 5 Fr, 21.10., 15:15 16:45, HS 6 2

Übungsteil Übungsgruppen(UE) betreut von TutorInnen Anmeldung ab nächster Woche im TUWEL Erste Übungseinheit: 19.10./20.10. 2011 WICHTIG: Ankreuzen und uploaden(pdf) der Übungsbeispiele im TUWEL(Termine beachten!) Übungsbeispiele rechtzeitig auf Homepage bzw. im TUWEL Abgabegespräche(AG) bei LVA-Leitern Anmeldung im TUWEL Termine:KW46bzw.KW50/51 Übungsbeispiele rechtzeitig auf Homepage bzw. im TUWEL 3

Beurteilung Übung(max. 40 Punkte) Übungsgruppen(UE) 6UE-einheiten 4 Beispiele pro Einheit Punkte pro Einheit: 0-4 Abgabegespräche(AG) 2 Abgabegespräche 4BeispieleproAG PunkteproAG:0-8 4

Beurteilung Vorlesungprüfung(max. 60 Punkte) Haupttermin: Do 19.01.12, 18:15-20:15, Anmeldung(TISS)! 3 Ersatztermine im Sommersemester Voraussetzung: positiver UE-teil mindestens1punkteproag mindestens10punkteinue1-3undag1 mindestens10punkteinue4-6undag2 5

Gesamtnote Gesamtpunkte Note 100 86 1 85 71 2 70 61 3 60 51 4 50 0 5 6

Unterlagen Skriptum Vorlesungsfolien Bücher für ersten Teil: P.Linz: An Introduction to Formal Languages and Automata. Jones and Bartlett Publishers Inc., 2001. J.Hopcroft, R.Motwani, J.Ullman: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. Pearson Studium, 2002. Weitere Literatur: siehe Homepage der Lehrveranstaltung. Weitere Informationen Primäre Anlaufstelle für Fragen: http://www.logic.at/lvas/wiki/185263 TU-Help-Form: www.informatik-forum.at 7

Lehrziel und Inhalt Ziel: Vermittlung von Grundbegriffen der theoretischen Informatik und der Logik, Einführung in ihre mathematisch-formale Methodik. Inhalt: Formale Sprachen und Automaten Aussagenlogik Prädikatenlogik 8

Formale Sprachen und Automaten Inhalt Grundlagen Reguläre Sprachen: reguläre Mengen, reguläre Ausdrücke (Algebra, EBNF, grep), Syntaxdiagramme Endliche Automaten(EA): reguläremenge NEA DEA reguläremenge Grammatiken, Chomsky-Hierarchie Turingmaschinen Grenzen der Berechenbarkeit,(Un)Entscheidbarkeit Weiterführende Themen 9

Was sind formale Sprachen? Formale Sprache:(un)endliche Menge von endlichen Zeichenketten Beispiele: Programmiersprachen(C, Java,...) Markup-Sprachen(Html,...) Kommunikationsprotokolle Terme prädikatenlogische Formeln Warum formale Spezifikation? Referenz für Anwender, Implementierer, Auftragnehmer/geber Automatische Programmgenerierung: Compilergeneratoren Formale Verifikation(Korrektheit, Deadlockfreiheit,...) Automatisches Beweisen Kriterium für Spezifikationsmethode: Endlichkeit 10

Beispiele für Spezifikationsmethoden Reguläre Ausdrücke: DOS: dir a*.exe Unix:^[0-9]+\.[0-9]*(E[+-]?[0-9]+)?$ Syntaxdiagramme: digit digit. ScaleFactor 11

Automaten: q 4 digit digit +, digit digit. E digit digit q0 q1 q2 q3 q5 Grammatik: Satz HwPZwP HwP ArtHw ZwP HzwHwPZw Art der das Hw Student Skriptum Hzw wird Zw lesen 12

Grundlagen: Wörter Alphabet: endliche, nicht-leere Menge atomarer Symbole(Σ, T). WortüberΣ:endlicheFolgevonSymbolenausΣ. Länge eines Wortes w über Σ(geschrieben w ): Anzahl der Symbole, die w enthält. FüreinWortw(überΣ)derLängenschreibenwirauch w=a 1 a 2...a n wobeijedesa i Σ Wort mit der Länge 0: Leerwort, geschrieben ε, d.h. ε =0 13

Konkatenation: Hintereinanderschreiben von Wörtern Seienx,yWörtermit x =n, y =m,dannist x y=xy xy =n+m Achtung:x y y x Potenzbildung: Verkettung eines Wortes w mit sich selbst w k = w w... w }{{} k w 0 =ε w n =w w n 1 14

Grundlagen: Sprachen Σ + :MengeallerWörterüberΣ. Σ :MengeallerWörter(inklusiveε)überΣ. Formale Sprache:beliebigeTeilmengeLvonΣ L Σ Es gilt: Σ + = n 1Σ n wobeiσ n ={s 1 s n s i Σ,1 i n} Σ =Σ + {ε} Σ,,ε bildetmonoid. 15

Spezielle Eigenschaften von Wörtern FüreinWortw Σ,wobeiw=xuyfürWörterx,u,y Σ heißt xpräfix,uteilwortundysuffixvonw. FüreinWortw Σ undeinsymbola Σbezeichnenwirdie Anzahl der Symbole a in wmit w a Seiw=a 1 a 2...a n 1 a n. Dannistw r =a n a n 1...a 2 a 1 dasspiegelbildvonw. EinWortwheißtPalindrom,wennw=w r gilt. 16

Operationen auf Sprachen P(Σ ):MengeallerSprachenL Σ. KonkatenationvonSprachenL 1,L 2 : L 1 L 2 ={w 1 w 2 w 1 L 1,w 2 L 2 } Potenzbildung einer Sprache L: L 0 ={ε} und L n+1 =L L n fürn 0. L = n 0L n Kleene-Stern L + = n 1 L n P(Σ ),,{ε} bildetmonoid. 17

Rechenregeln für Sprachoperatoren A (B C) = (A B) C Assoziativitätvon A (B C) = A B A C Distributivitätvon (B C) A = B A C A Distributivitätvon (A {ε}) = A (A ) = A A A = A + A A = A + A + {ε} = A {ε} A = A A {ε} = A {} A = {} A {} = {} P(Σ ),,,{},{ε} bildetnichtkommutativensemiring. 18

Reguläre Sprachen Gebildet durch Vereinigung, Konkatenation und Stern Äquivalent: 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,... 19

Induktive Definition Gegeben: GrundmengeA 0 B, Bildungsregelf:B n B Stufenweise Konstruktion von Mengen: A i+1 =A i {f(e 1,...,e m ) e 1,...,e m A i } LimesvonA i fürinachunendlich: A = i 0A i Definition. A heißt abgeschlossen unter f, wenn gilt: x 1,...,x n A f(x 1,...,x n ) A 20

Beispiel: B=N,A 0 ={0},f:N N, f(n)=n+2. A i+1 =A i {f(n) A i N } A= i 0 A i (geradezahlen) A 0 ={0}, A 1 ={0,2}, A 2 ={0,2,4},... 21

Satz. (a) Aistabgegeschlossenunterf. (b) IstA abgeschlossenunterf undgilta 0 A B, danngilta A. D.h.:AistdiekleinsteMenge,dieA 0 enthältundabgeschlossenist unterf. Schema der induktiven Definition AistdiekleinsteMenge,fürdiegilt: (a) A 0 A (b) x 1,...,x n A f(x 1,...,x n ) A (Aistabgeschlossenunterf) 22

Definition.DieMengeL reg (Σ)derregulärenMengen(Sprachen) über Σ ist die kleinste Menge, sodass (a) {},{a} L reg (Σ)fürallea Σ (b) A,B L reg (Σ) A B,A B,A L reg (Σ) Beispiel. Real-Zahlen digit = {0,...,9} scale = {E,E+,E } digit + real = digit + {.} digit ({ε} scale) 23

Algebraische Notation s statt {s}fürs Σ L 1 +L 2 statt L 1 L 2 ε statt {ε} L 1 L 2 statt L 1 L 2 statt {} L bleibt L hatdiehöchstepriorität,+dieniedrigste. Beispiel. Real-Zahlen(algebraisch) digit = 0+ +9 scale = E(ε+++ )digitdigit real = digitdigit.digit (ε+scale) 24

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 = digit {digit} "." {digit} [scale] scale = "E" ["+" "-"] digit {digit} digit = "0" "1" "2" "9" 25

Syntaxdiagramme Syntaxdiagramm reg. Menge EBNF A A A s {s} "s" A A + A{A} A A {A} A B A B AB A B A B A B A A {ε} [A] 26

Beispiel. Real-Zahlen(Syntaxdiagramm) real digit digit. scale scale + E digit - digit 0 1... 9 27

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: digit={0,...,9}, digits=digit digits {ε} ist nicht zulässig! 28

egrep unter Unix Ausdruck selektiert s Zeichen s(kein Spezialsymbol) \s Zeichen s. alle Zeichen außer Zeilenende ^ Zeilenanfang $ Zeilenende [s 1 s n ] allezeichenin{s 1,...,s n } [^s 1 s n ] allezeichenaußer{s 1,...,s n } r* nullmaloderöfterr r+ einmaloderöfterr r? nullodereinmalr 29

Ausdruck selektiert r{i} imalr r{i,} imaloderöfterr r{i,j} ibisj Malr r 1 r 2 r 1 gefolgtvonr 2 r 1 r 2 r 1 oderr 2 (r) r Beispiel. Real-Zahlen(egrep) ^[0-9]+\.[0-9]*(E[+-]?[0-9]+)?$ 30