Grundlagen der Theoretischen Informatik

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Theoretische Informatik Mitschrift

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

Beschreibungskomplexität von Grammatiken Definitionen

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Sprachen und Programmiersprachen

Theoretische Grundlagen des Software Engineering

Wenn ich pro Sekunde eine natürliche Zahl aufzählen kann, kann ich in 2000 Sekunden alle natürlichen Zahlen aufsagen.

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

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

Rekursiv aufzählbare Sprachen

11.1 Kontextsensitive und allgemeine Grammatiken

Grundbegriffe. Grammatiken

Theoretische Informatik Testvorbereitung Moritz Resl

Berechenbarkeit und Komplexität

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

Grundlagen der Theoretischen Informatik

Sprachen/Grammatiken eine Wiederholung

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

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

Automaten und Formale Sprachen

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

16. Die Chomsky-Hierarchie

Grundlagen der Theoretischen Informatik

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

WS 2009/10. Diskrete Strukturen

Theoretische Informatik I (Grundzüge der Informatik I)

Kapitel 1. Grundlagen

ELEMENTARE DISKRETE MATHEMATIK Kapitel 4: Mächtigkeit von Mengen

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Kapitel 1. Grundlagen Mengen

Kapitel 3. Natürliche Zahlen und vollständige Induktion

Alphabet, formale Sprache

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

Mathematische Grundlagen der Computerlinguistik formale Sprachen

Theoretische Informatik 2

Logik für Informatiker. 1. Grundlegende Beweisstrategien. Viorica Sofronie-Stokkermans Universität Koblenz-Landau

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

(Prüfungs-)Aufgaben zu formale Sprachen

Typ-3-Sprachen. Das Pumping-Lemma

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik

Kontextfreie Grammatiken

Theoretische Informatik

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

Einführung in die Theoretische Informatik

Abschluss unter Operationen

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

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Was bisher geschah. Darstellung von Sprachen Ausführen von Berechnungen

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

8. Turingmaschinen und kontextsensitive Sprachen

Diskrete Strukturen Kapitel 2: Grundlagen (Beweise)

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

Grundlagen der Informatik II

Theoretische Informatik

Die Chomsky Hierarchie

Theoretische Informatik I

Ausgewählte unentscheidbare Sprachen

Motivation natürliche Sprachen

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Grundlagen Theoretischer Informatik 2 WiSe 2009/10 in Trier. Henning Fernau Universität Trier

Grundbegriffe der Informatik

Theoretische Informatik 1

Übungsaufgaben zu Formalen Sprachen und Automaten

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

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

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

Theoretische Grundlagen der Informatik

2.4 Kontextsensitive und Typ 0-Sprachen

Logik für Informatiker

Einführung in die Computerlinguistik Berechenbarkeit, Entscheidbarkeit, Halteproblem

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

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

Einführung in die Theoretische Informatik

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

Theoretische Informatik

Programmiersprachen und Übersetzer

Berechenbarkeitsmodelle

Wortproblem für kontextfreie Grammatiken

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt.

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

Logik, Mengen und Abbildungen

Was bisher geschah: Formale Sprachen

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

Grundbegriffe der Informatik

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011

Grundbegriffe der Informatik

Theoretische Informatik. Alphabete, Worte, Sprachen

Mengen (siehe Teschl/Teschl 1.2)

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

2 Die Dimension eines Vektorraums

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

Formale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22

Mengen und Abbildungen

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16

Musterlösung 11.Übung Mathematische Logik

Mathematische Grundlagen der Computerlinguistik

Transkript:

Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1

Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre Sprachen 4. Kellerautomaten und kontextfreie Sprachen 5. Turingmaschinen und rekursiv aufzählbare Sprachen 6. Berechenbarkeit, (Un-)Entscheidbarkeit 7. Komplexitätsklassen P und NP 2

Bis jetzt Alphabete, Wörter Operationen auf Wörtern Konkatenation, i-te Potenz, Reverse Sprache Operationen auf Sprachen Konkatenation, i-te Potenz, Reverse, Kleene-Hülle Reguläre Ausdrücke Grammatiken Ableitung Die von einer Grammatik erzeugte Sprache. Die Chomsky-Hierarchie 3

Grammatik Definition. Eine Grammatik G über einem Alphabet Σ ist ein Tupel G = (V,T,R,S). Dabei ist V eine endliche Menge von Variablen T Σ eine endliche Menge von Terminalen mit V T = R eine endliche Menge von Regeln S V das Startsymbol Konvention (meistens): Variablen als Großbuchstaben; Terminale als Kleinbuchstaben. Eine Regel ist ein Element (P,Q) ( (V T) V (V T) ) (V T). P und Q sind Wörter über (V T) P muss mindestens eine Variable enthalten Q ist beliebig Schreibweise: P G Q, P Q (P: Prämisse, Q: Conclusio ) 4

Erzeugte Sprache, Äquivalenz Ableitung, Rechnung. w = G w E u,v (V T) ( w geht über in w ) falls E P Q R ( w = upv und w = uqv ) w = G w falls es Wörter w 0,...,w n (V T) (n 0) gibt mit w = w 0 w m = w w i = G w i+1 für 0 i < n Definition (Erzeugte Sprache) Gegeben: Eine Grammatik G Die von G erzeugte Sprache L(G) ist die Menge aller terminalen Wörter, die durch G vom Startsymbol S aus erzeugt werden können: L(G) := {w T S = G w} Definition Zwei Grammatiken G 1,G 2 heißen äquivalent gdw L(G 1 ) = L(G 2 ). 5

Die Chomsky-Hierarchie Definition Eine Grammatik G = (V,T,R,S) heißt rechtslinear gdw A (P Q) R ( P V und Q T T + V ) Das heißt, bei jeder Regelanwendung: Links eine einzelne Variable; Rechts höchstens eine Variable Wenn rechts eine Variable steht, steht sie ganz rechts im Wort. Definition Eine Grammatik G = (V,T,R,S) heißt kontextfrei gdw A (P Q) R ( P V und Q (V T) ) Das heißt, bei jeder Regelanwendung: Links eine einzelne Variable; Rechts steht etwas beliebiges Die Prämisse macht keine Aussage, was der Kontext dieser Variablen ist ( kontextfrei ) 6

Die Chomsky-Hierarchie Definition Eine Grammatik G = (V,T,R,S) heißt kontextsensitiv gdw 1. E A (P Q) R: u,v,α (V T) A V ( P = uav und Q = uαv mit α 1 ), oder die Regel hat die Form S ε 2. S nicht in Q E Das heißt, bei jeder Regelanwendung: Eine Variable A wird in einen String α mit α 1 überführt; die Ersetzung von A durch α findet nur statt, wenn der in der Regel geforderte Kontext (u und v), vorhanden ist Das Wort wird nicht kürzer, außer bei ε L Definition Eine Grammatik G = (V,T,R,S) heißt beschränkt gdw 1. P Q, oder die Regel hat die Form S ε 2. S nicht in Q A (P Q) R: Das heißt, bei jeder Regelanwendung: Die Conclusio ist mindestens so lang wie die Prämisse, außer bei ε L. Das Wort wird nicht kürzer, außer bei ε L 7

Die Chomsky-Hierarchie Aufbauend auf den Grammatikarten kann man Sprachklassen definieren. Definition (Sprachklassen) Klasse definiert als Sprache heißt L 3, REG {L(G) G ist rechtslinear} Typ 3, regulär L 2, CFL {L(G) G ist kontextfrei} Typ 2, kontextfrei L 1, CSL {L(G) G ist kontextsensitiv} Typ 1, kontextsensitiv L 1, CSL {L(G) G ist beschränkt} Typ 1, beschränkt L 0, r.e. {L(G) G beliebig} Typ 0, aufzählbar L {L L Σ } beliebige Sprache 8

Probleme über Sprachen Interessante Probleme (informell) Ist ein gegebenes Wort in einer Sprache (definiert durch eine Grammatik) enthalten? Erzeugen zwei gegebene Grammatiken dieselbe Sprache? Mit welchen Algorithmen können diese Probleme gelöst werden? 9

Definition (Problem, Algorithmus) Ein Problem P ist die Frage, ob eine bestimmte Eigenschaft auf gegebene Objekte zutrifft. Dabei ist eine bekannte, abzählbaren Grundmenge solcher Objekte gegeben. Für jedes Objekt o gilt: die Eigenschaft trifft auf o zu oder nicht. Ein Algorithmus für ein Problem P ist eine Vorschrift (ein Programm), die zu beliebigem Objekt o berechnet, ob die Eigenschaft für o zutrifft oder nicht. 10

Endlich, unendlich und dann? 11

Abzählbarkeit Definition (Abzählbarkeit) Eine Menge M heißt abzählbar, wenn es eine surjektive Funktion f : N M gibt, oder M leer ist. Intuition Eine Menge ist abzählbar, wenn sie höchstens so mächtig wie N ist. 12

Abzählbarkeit Lemma. Eine Menge M ist abzählbar, wenn es eine injektive Funktion gibt. f : M N 13

Abzählbarkeit Beispiel: Abzählbar sind: N Q alle endlichen Mengen die Vereinigung zweier abzählbarer Mengen die Vereiningung abzählbar vieler abzählbarer Mengen 14

David Hilbert David Hilbert (1862-1943) Einer der bedeutensten und einflußreichsten Mathematiker aller Zeiten Professor in Königsberg und Göttingen Wichtige Beiträge zu Logik Funktionalanalysis Zahlentheorie Mathematische Grundlagen der Physik uvm. 15

Hilbert s Hotel In einem Hotel mit endlich vielen Zimmern können keine Gäste mehr aufgenommen werden, sobald alle Zimmer belegt sind (Schubfachprinzip). 16

Hilbert s Hotel In einem Hotel mit endlich vielen Zimmern können keine Gäste mehr aufgenommen werden, sobald alle Zimmer belegt sind (Schubfachprinzip). Hilberts Hotel hat nun unendlich viele Zimmer (durchnummeriert mit natürlichen Zahlen bei 1 beginnend). 1 2 3 4 5 6 7 8 9 10 11... Man könnte annehmen, dass dasselbe Problem auch hier auftreten würde, wenn alle Zimmer durch (unendlich viele) Gäste belegt sind. 17

Hilbert s Hotel 1 2 3 4 5 6 7 8 9 10 11... Es gibt einen Weg, Platz für einen weiteren Gast zu machen, obwohl alle Zimmer belegt sind: Der Gast von Zimmer 1 geht in Zimmer 2, der Gast von Zimmer 2 geht in Zimmer 3, der von Zimmer 3 nach Zimmer 4 usw. Damit wird Zimmer 1 frei für den neuen Gast. 18

Hilbert s Hotel Da die Anzahl der Zimmer unendlich ist, gibt es keinen letzten Gast, der nicht in ein weiteres Zimmer umziehen könnte. Wiederholt man das, erhält man Platz für eine beliebige, aber endliche Zahl neuer Gäste. 19

Hilbert s Hotel Es ist sogar möglich, Platz für abzählbar unendlich viele neue Gäste zu machen. 1 2 3 4 5 6 7 8 9 10 11...... Der Gast von Zimmer 1 geht in Zimmer 2, der Gast von Zimmer 2 aber in Zimmer 4, der von Zimmer 3 in Zimmer 6 usw. Damit werden alle Zimmer mit ungerader Nummer frei für die abzählbar unendlich vielen Neuankömmlinge. 20

Hilbert s Hotel Wenn abzählbar unendlich viele Busse mit je abzählbar unendlich vielen Gästen vorfahren, können auch diese Gäste alle im bereits vollen Hotel untergebracht werden..................................... 21

Hilbert s Hotel Andere Möglichkeit: die Zimmer mit ungeraden Nummern wie eben beschrieben wird frei gemacht die Gäste aus Bus 1 in die Zimmer 3, 9, 27,... schickt (also in jene Zimmer, die mit Potenzen von 3 nummeriert sind; 3 = 3 1,9 = 3 2,27 = 3 3,...), die Gäste aus Bus 2 in die Zimmer 5, 25, 125, 625, etc., usw., also die Gäste aus Bus i in die Zimmer p i, p 2 i, p3 i etc., wobei p i die i +1-te Primzahl ist. Dadurch sind alle angekommenen Gäste im Hotel untergebracht und sogar noch unendlich viele Zimmer (wie zum Beispiel das Zimmer 15, dessen Nummer keine Potenz einer Primzahl ist) frei. 22

Hilbert s Hotel Weitere Möglichkeit: Eine andere, effizientere Möglichkeit wäre die, die Hotelgäste jeweils aus den Zimmern n in die Zimmer 2n 1 umziehen zu lassen, sodass alle geraden Zimmer frei werden. Dann können die neuen Gäste aus dem Bus mit der Nummer n die Zimmer belegen, deren Zimmernummern durch 2 n, nicht aber durch 2 n+1 teilbar sind, sodass kein Zimmer frei bliebe. 23

Korollar N ist abzählbar Alle endlichen Mengen sind abzählbar Korollar die Vereinigung zweier abzählbarer Mengen ist abzählbar Falls Σ 1,Σ 2 abzählbar, so ist Σ 1 Σ 2 abzählbar die Vereiningung abzählbar vieler abzählbarer Mengen ist abzählbar Falls Σ 1,Σ 2,... abzählbar, so ist i N Σ i abzählbar Falls Σ abzählbar, so ist Σ i abzählbar für alle i N. 24

Diagonalisierungsargument für Überabzählbarkeit Theorem. Die Menge R der rellen Zahlen ist überabzählbar. Beweis. Wir zeigen, dass schon das Intervall [0, 1] überabzählbar ist. Annahme: Es gibt eine Aufzählung, also eine surjektive Funktion f : N [0,1] Dann sei f(i) = 0,d i 0 di 1 di 2... die Dezimaldarstellung der i-ten reellen Zahl. 24

Diagonalisierungsargument für Überabzählbarkeit Beweis. Fortsetzung: Wir definieren eine neue Zahl d = 0,d 0 d 1 d 2... durch dn n +1 falls dn n < 9 d n = 0 sonst d unterscheidet sich in der n-ten Stelle von d n. Also d d n für alle n N Also kommt d in der Aufzählung nicht vor. Widerspruch! 25

Wieviele gibt es? Wieviele Grammatiken Sprachen Algorithmen gibt es Überhaupt? 26

Wieviele gibt es? Wieviele Grammatiken Sprachen Algorithmen gibt es Überhaupt? Mögliche Antworten: Endlich viele Unendlich viele Abzählbar viele Überabzählbar viele Nicht klar für Algorithmen, da dieser Begriff nicht genau definiert wurde 27

Wieviele Wörter, Grammatiken gibt es? Lemma. Gegeben: Signatur Σ, endlich oder abzählbar unendlich Dann ist Σ abzählbar unendlich. 28

Wieviele Wörter, Grammatiken gibt es? Lemma. Gegeben: Signatur Σ, endlich oder abzählbar unendlich Dann ist Σ abzählbar unendlich. Beweis. Σ ist abzählbar, also ist Σ i abzählbar, für alle i N. Σ ist die Vereinigung der abzählbar vielen abzählbaren Mengen Σ i. 29

Wieviele Wörter, Grammatiken gibt es? Lemma. Gegeben: Signatur Σ, endlich oder abzählbar unendlich Dann ist die Menge aller Grammatiken über Σ abzählbar unendlich 30

Wieviele Wörter, Grammatiken gibt es? Lemma. Gegeben: Signatur Σ, endlich oder abzählbar unendlich Dann ist die Menge aller Grammatiken über Σ abzählbar unendlich Beweis. Grammatiken sind endlich und also als Wörter über einer geeigneten erweiterten Signatur darstellbar. Σ V {,...} Die Menge der Wörter über dieser erweiterten Signatur ist abzählbar. 31

Wieviele Algorithmen gibt es? Lemma. Es gibt (nur) abzählbar viele Algorithmen. 32

Wieviele Algorithmen gibt es? Lemma. Es gibt (nur) abzählbar viele Algorithmen. Beweis. Algorithmen müssen per Definition eine endliche Beschreibung haben. Sie sind also als Wörter über einer Signatur Σ darstellbar (für jedes abzählbare Σ). Also sind sie abzählbar. 33

Wieviele Funktionen f : N N gibt es? Lemma. Es gibt überabzählbar viele Funktionen f : N N. 34

Wieviele Funktionen f : N N gibt es? Lemma. Es gibt überabzählbar viele Funktionen f : N N. Beweis. Angenommen, es existiere eine Abzählung f 1,f 2,...f n,... Dann sei C : N N mit C(n) = 1 falls f n (n) = 0; 0 sonst C(i) f i (i) Also: C ist von allen f i verschieden. Widerspruch! 35

Wieviele Funktionen f : N {0,1} gibt es? Lemma. Es gibt überabzählbar viele Funktionen f : N {0,1}. Beweis. Analog. 36

Wieviele Sprachen gibt es? Lemma. Gegeben eine Signatur Σ (endlich oder unendlich). Die Menge der Sprachen über Σ ist überabzählbar. 37

Wieviele Sprachen gibt es? Lemma. Gegeben eine Signatur Σ (endlich oder unendlich). Die Menge der Sprachen über Σ ist überabzählbar. Beweis. Sei eine beliebige Abzählung aller Wörter über Σ gegeben: w 1,w 2,... Dann kann man die Sprachen L über Σ mit den Funktionen f : N {0,1} identifizieren, vermittels f(i) = 1 gdw w i L Von diesen gibt es überabzählbar viele. 38

Korollar Korollar. Nicht jede Sprache kann durch eine Grammatik dargestellt werden. 39

Zusammenfassung Gegeben eine Signatur Σ Abzählbar N Menge aller Wörter Menge aller Grammatiken Menge aller Algorithmen 40

Zusammenfassung Gegeben eine Signatur Σ Abzählbar N Menge aller Wörter Menge aller Grammatiken Menge aller Algorithmen Überabzählbar Die Menge aller Teilmengen von N Die Menge aller reellen Zahlen Die Menge aller Funktionen f : N N bzw. f : N {0,1} Die Menge aller Sprachen 41