Zusammenfassung Info3. Lydia Pintscher 20. März 2005

Ähnliche Dokumente
Informatik III - WS07/08

Musterlösung Informatik-III-Nachklausur

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Musterlösung Informatik-III-Klausur

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Informatik III - WS07/08

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

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

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

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

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Theoretische Grundlagen der Informatik

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

1. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

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

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Automaten und formale Sprachen Klausurvorbereitung

Theoretische Grundlagen der Informatik. Vorlesung am 16. November INSTITUT FÜR THEORETISCHE INFORMATIK

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

Das Halteproblem für Turingmaschinen

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Theoretische Grundlagen der Informatik

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

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Theoretische Grundlagen der Informatik

DisMod-Repetitorium Tag 4

Grundlagen der Theoretischen Informatik

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

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

Grundlagen der Theoretischen Informatik

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

Dank. Theoretische Informatik II. Teil VI. Vorlesung

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

Theoretische Grundlagen der Informatik. Vorlesung am 27. November INSTITUT FÜR THEORETISCHE INFORMATIK

2.2 Reguläre Sprachen Endliche Automaten

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Vorlesung Theoretische Informatik (Info III)

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

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

abgeschlossen unter,,,, R,

Automatentheorie und formale Sprachen

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Grundlagen der Theoretischen Informatik

Informatik-Grundlagen

NP Vollständigkeit. Patryk Mazur

Rekursiv aufzählbare Sprachen

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Theoretische Grundlagen der Informatik

Akzeptierende Turing-Maschine

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14

Kontextfreie Sprachen

Ogden s Lemma: Der Beweis (1/5)

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

Wissenschaftliche Arbeitstechniken und Präsentation. NP-Vollständigkeit

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

A : z z A : z z : ( z, x, z ) δ

5.2 Endliche Automaten

Theoretische Grundlagen der Informatik

Theorie der Informatik

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Kontextfreie Sprachen

VL-13: Polynomielle Reduktionen. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Typ-0-Sprachen und Turingmaschinen

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Automatentheorie und formale Sprachen

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

(Prüfungs-)Aufgaben zu formale Sprachen

11.1 Kontextsensitive und allgemeine Grammatiken

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

Theoretische Grundlagen der Informatik

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

2. Gegeben sei folgender nichtdeterministischer endlicher Automat mit ɛ-übergängen:

Rucksackproblem und Verifizierbarkeit

Übungsblatt 4. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Theoretische Informatik I

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

Theoretische Grundlagen der Informatik

Informatik 3 Theoretische Informatik WS 2015/16

Berechenbarkeit und Komplexität

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK

8. Turingmaschinen und kontextsensitive Sprachen

Theoretische Grundlagen der Informatik

Theoretische Informatik. Berechenbarkeit

Formale Grundlagen der Wirtschaftsinformatik

Theoretische Grundlagen der Informatik

Transkript:

Zusammenfassung Info3 Lydia Pintscher 20. März 2005 1

1 Automaten 1.1 DEA Ein deterministischer endlicher Automat besteht aus (Q,Σ,δ,s,F), wobei: Q: endliche Menge von Zuständen Σ: Alphabet, endliche Menge von Eingabesymbolen δ: Übergangsfunktion s: Startzustand ( Q) F: Menge von Endzuständen ( Q) Er ist endlich, da die Zustandesmenge endlich ist und deterministisch, da δ keine Wahlmöglichkeiten lässt. 1.1.1 Sonstiges ɛ Σ für alle Σ. Jede Sprache die von einem endlichen Automaten erkannt wird ist regulär. Eine Sprache L heißt regulär, wenn für sie einer der folgenden Punkte gilt: 1. L = {a} mit a Σ 2. L = 3. L = L 1 L 2 4. L = L 1 L 2 5. L = L 1 wobei L 1 und L 2 reguläre Sprachen sind. Beispiele für nicht-reguläre Sprachen: a n ba m ba n+m n, m 1 0 k3 k N Beispiele für nicht-kontextfreie Sprachen: 0 i 1 j 2 i 3 j i, j 1 a n b n c n n N 1

Pumping-Lemma für reguläre Sprachen: Sei L eine reguläre Sprache. Dann existiert eine Zahl n N, sodass jedes Wort w L mit w > n eine Darstellung w = uvx mit uv n, v ɛ, existiert, bei der auch uv i x L ist für alle i N. Pumping-Lemma für kontextfreie Sprachen: Sei L eine kontextfreie Sprache. Dann existiert eine Zahl n N, sodass jedes Wort z L mit z n eine Darstellung z = uvwxy mit vx 1, vwx n, existiert, bei der auch uv i wx i y L ist für alle i N. Zustände die vom Anfangszustand aus nicht erreichbar sind, heißen überflüssig. (Auffinden aller nicht-überflüssigen Zustände mit Tiefensuche) Quotientensprache: L 1 /L 2 := {w Σ z L 2 mit w z L 1 } Bsp: L 1 = {0, 10} und L 2 = {ɛ, 0} L 1 /L 2 = {ɛ, 1, 0, 10} L 1 = {ab, b, abc} und L 2 = {b, bc} L 1 /L 2 = {ɛ, a} Konstruktion Äquivalenzklassenautomat zur Minimierung: 1. trennen von Endzustände und Nichtendzuständen 2. prüfen ob die Eingabe eines Eingabesymbols Zustandsmengen trennt (zb 0), wiederholen bis alle Eingabesymbole abgearbeitet 3. nun für 2 Eingabesymbole (zb 00) 4. wiederholen bis bei einer Eingabelänge keine Zustandesmengen mehr getrennt werden 1.2 NEA Ein nichtdeterministischer endlicher Automat besteht aus (Q,Σ,δ,s,F), wobei: Q: endliche Menge von Zuständen Σ: Alphabet, endliche Menge von Eingabesymbolen δ: Übergangsfunktion (der Automat kann sich bei Abarbeitung eines Eingabesymbols aussuchen in welchen Zustand aus Q er geht) s: Startzustand ( Q) F: Menge von Endzuständen ( Q) 2

1.2.1 Sonstiges Zwei endliche Automaten, die die selbe Sprache akzeptieren heißen äquivalent. Zu jedem NEA gibt es einen äquivalenten DEA. Zu jedem NEA mit ɛ-übergängen gibt es einen äquivalenten NEA ohne ɛ- Übergänge, der die selbe Sprache akzeptiert und nicht mehr Zustände hat. Mit Potenzmengenkonstruktion kann ein NEA in einen DEA umgewandelt werden. Dazu Tabelle aufstellen und prüfen wohin man mit welcher Eingabe kommt. Nach und nach Tabelle auffüllen mit Zustandsmengen die dann die neuen Zustände des DEA werden. Nerode-Relation: zur Bestimmung der Äquivalenzklassen. Eingabe unterteilen in xz, dann Fälle unterscheiden: ist das gesuchte schon in x passiert oder nicht? Dann nochmals was wenn es am Ende von x -halb erfüllt- ist. Ist der Index der Nerode-Relation von L unendlich, so ist L nicht entscheidbar. 2 Turing-Maschine Eine deterministische Turing-Maschine besteht aus (Q,Σ,,Γ,s,δ,F), wobei: Q: endliche Menge von Zuständen Σ: Eingabealphabet : Blanksymbol (nicht in Σ) Γ: endliches Bandalphabet (Σ und ) s: Startzustand ( Q) δ: Übergangsfunktion (mit Bewegung nach L(inks), R(echts) oder N(icht)) F: Menge von Endzuständen ( Q) (kann entfallen) Konfiguration einer TM: w(q)av bedeutet, dass sich die TM gerade im Zustand q befindet. Lesekopf steht auf Zeichen a, links davon steht w und rechts v. Eine Nicht-deterministische Turing-Maschine hat zusätzlich eine Orakelphase. Das Orakel muss nicht die Lösungsstruktur des Problems haben. Zuerst überprüfen ob Orakel sinnvoll ist! 3 Approximationsalgorithmen absolute Approxiamtionsalgorithmen: OP T (I) A(I) K, wobei K konstant und N 0 3

relative Approxiamtionsalgorithmen: A(I) OP T (I) R A (I) := 4 Problemklassen OP T (I) A(I) für Minimierungsproblem für Maximierungsproblem Die Klasse NP(nichtdeterministisch polynomiell) ist die Menge aller Sprachen L, für die es eine nichtdeterministische Turing-Maschine gibt, deren Zeitkomplexitätsfunktion polynomial beschränkt ist. Alle Sprachen in NP sind entscheidbar. Probleme die mit polynomiellem Speicherplatz gelöst werden können liegen in PSpace. Probleme die mit polypolylogarithmischem Speicherplatz gelöst werden können liegen in SC (Stevens Class). Ein Problem A, welches mit geringem Aufwand auf ein Problem B zurückgeführt werden kann, gehört mindestens zur Komplexitätsklasse von B. B wird dann härter als A genannt. Ein Problem A ist k-hart, wenn sich alle anderen Probleme der Klasse k auf A zurückführen lassen. Liegt ein k-hartes Problem A selbst in der Klasse k, wird es k-vollständig genannt. Wenn es einen Algorithmus gibt, der das Entscheidungsproblem in polynomieller Zeit löst so gibt es auch einen der das zugehörige Optimierungsproblem in polynomieller Zeit löst. 4.1 NP-vollständige Probleme Ein Problem L heißt NP-vollständig genau dann, wenn L in der Klasse NP liegt und jedes Problem in NP durch eine Polynomialzeitreduktion auf L reduziert(l1 α L) werden kann. Um zu zeigen, dass ein Entscheidungsproblem Π NP-vollständig ist, muss man zeigen, dass Π in NP liegt (ein Orakel kann polynomieller Zeit geprüeft werden). Weiterhin ist zu zeigen und dass für ein bekanntes NP-vollständiges Problem Π 2 gilt: Π 2 απ (indem man zeigt, dass eine Instanz des einen in eine Instanz des anderen umgewandelt werden kann). Ein NP-vollständiges Problem heißt stark NP-vollständig, falls es auch dann noch NP-vollständig ist, wenn die Eingabe nur aus Zahlen besteht, deren Größe polynomiell in der Eingabelänge beschränkt ist. Andernfalls heißt das Problem schwach NP-vollständig. Für stark NP-vollständige Probleme kann es - unter der Annahme NP ungleich P - noch nicht einmal so genannte pseudopolynomielle Algorithmen geben. Das sind Algorithmen, deren Laufzeit polynomiell ist, wenn die Größe aller in der Eingabe vorkommenden Zahlen polynomiell in der Eingabelänge beschränkt sind. 4

Problem Traveling Salesman Problem (TSP) Erfüllbarkeitsproblem der Aussagenlogik (SAT) 3SAT MAX2SAT BIN PACKING Problem (BPP) Beschreibung Gibt es eine Tour, die alle Ecken eines vollständigen Graphen enthält und minimale Gesamtlänge unter allen solchen Touren hat? (Skript S. 49) Ist eine gegebene aussagenlogische Formel erfüllbar? (Skript S. 58) Einschränkung von SAT - Ist eine gegebene aussagenlogische Formel (in konjunktiver Normalform) mit genau 3 Literalen pro Klausel erfüllbar? (Skript S. 63) Analog zu 3Sat - Existiert eine Wahrheitsbelegung die mindestens k Klauseln erfüllt? (Skript S. 65) Können n Objekte in k Behälter(mit gegebener Größe) gepackt werden, ohne dass einer von ihnen überläuft? SUBSET SUM Gegeben sei eine Menge von Ganzzahlen I = {w1, w2,..., wn}. Gesucht ist eine Untermenge, deren Summe gleich c ist. COLOR 3COLOR PARTITION CLIQUE EXACT COVER KNAPSACK Skript S. 72 Können die Knoten eines Graphen so mit höchstens k Farben eingefärbt werden, dass zueinander benachbarte Knoten unterschiedliche Farben haben? (Skript S. 66) Können die Knoten eines Graphen so mit drei Farben eingefärbt werden, dass zueinander benachbarte Knoten unterschiedliche Farben haben? (Skript S. 66) Kann eine Menge natürlicher Zahlen so in zwei disjunkte Mengen aufgeteil werden, dass deren Summe gleich ist? Gibt es in Graphen G eine Clique(Teilgraph in dem alle i,j (i j) durch eine Kante verbunden sind) der Größe mindestens k? (Skript S. 64) Geg: eine Menge X und Teilmengen von X. Existiert eine Menge der Teilmengen, so dass jedes Element aus X in genau einer dieser ausgewählten Teilmengen liegt? (Skript S. 69) 5

4.2 NP-schwere Probleme L1 heißt NP-schwer bzw. NP-hart (von englisch NP-hard), falls alle L aus NP polynomial reduzierbar auf L1 sind. Ein Problem das NP-schwer ist muss nicht notwendigerweise in NP liegen. Man nennt ein Problem NP-schwer, wenn es mindestens so schwer ist wie alle NP-vollständigen Probleme. Ein NP-vollständiges Problem ist auch NP-schwer. Falls L NP-schwer ist so ist auch L c NP-schwer. Klasse NP-schwer ist also bezgl. Komplementbildung abgeschlossen. Ebenso P. Problem Beschreibung SUMSET SUM Gegeben sei eine Menge von Ganzzahlen I = {w1, w2,..., wn}. Gesucht ist eine Untermenge, deren Summe maximal, aber nicht größer als c ist. (vgl. Subset Sum in NP-Schwer) INTEGER PRO-??? Skript S. 78 GRAMMING 4.3 Sonstige Postsches Korrespondezproblem: Wortpaare sind gegeben ((a,b),(c,d),...). Kann ich sie so zusammenfügen, dass ac... = bd...? 5 Chomsky-Hierarchie Grammatik G = (Σ, V, S, R) mit: Sigma: endliches Alphabet (Terminale) V: endliche Menge Variablen, die ncht in Σ enthalten sind (Nichtterminale) S: Startsymbol aus V R: Ableitungsregeln/Produktionen 5.1 Chomsky-Typen Typ 0: semi-entscheidbar, Grammatiken ohne weitere Einschränkungen Typ 1: kontextsensitiv, erkannt von linear beschränkten Turingmaschinen, Regeln der Form S ɛ oder u v mit u V +, v ((V Σ)\{S}) + und u v Typ 2: kontextfrei, erkannt von nichtdeterministischen Kellerautomaten, Regeln der Form 6

A v mit A V und v (V Σ) Typ 3: regulär, rechtlinear, erkannt von endlichen Automaten, Regeln der Form A v mit A V und v = ɛ oder v = ab mit a Σ, B V 5.2 Sonstiges Chomsky-Normalform: alle Regeln haben die Form A BC oder A a Es wird also kein ɛ erzeugt. Für kontextfreie Sprachen können noch die Regeln S ɛ und S S hinzugefügt werden. Dabei ist S das neue Startsymbol. Um eine Grammatik in Chomsky-Normalform zu bringen muss man: 1. Terminale durch Variablen ersetzen und neue Regel einführen Variable - Terminal 2. Umformen von Regeln länger 3 3. ɛ-regeln entfernen 4. Kettenregeln entfernen Greibach-Normalform: kontextfreie Grammatik, alle Ableitungsregeln haben die Form: A aα mit A V, a Σ und α V 6 Kellerautomat Ein (nichtdeterministischer) Kellerautomat ((N)PDA) besteht aus (Q, Σ, Γ, q 0, Z 0, δ, F), wobei: Q: endliche Zustandmenge Σ: endliches Eingabealphabet Γ: endliches Stack-Alphabet q 0 : Anfangszustand (aus Q) Z 0 : Initialisierung des Stack (aus Γ) δ: Übergangsfunktion F: Menge der akzeptierenden Endzustände, kann entfallen 7

7 Entscheidbarkeit Eine Sprache ist entscheidbar, wenn es eine Funktion gibt die gleich 1 ist, wenn ein Wort in der Sprache enthalten ist und 0 sonst. Eine Sprache ist semi-entscheidbar, wenn es eine Funktion gibt die gleich 1 ist, wenn ein Wort in der Sprache enthalten ist und undefiniert sonst. Eine Sprache ist unentscheidbar, wenn diese Funktion vollständig undefiniert ist. Um zu zeigen, dass eine Sprache entscheidbar ist, muss man nur eine Turingmaschine angeben die diese Sprache entscheidet. Um zu zeigen, dass eine Sprache nicht entscheidbar ist, muss man sie auf eine andere nicht-entscheidbare Sprache reduzieren. Eine Funktion heißt berechenbar, wenn es einen Algorithmus gibt, der nach endlich vielen Schritten diese Funktion berechnet und sonst nicht terminiert. Problem regulär kontextfrei kontextsens. semientsch. entsch. w L(G) e e e u e L(G) = e e u u u L(G) endlich e e u u u L(G 1 ) = L(G 2 ) e u u u u L(G 1 ) L(G 2 ) e u u u u Abgeschlossenheit L 1 L 2 L L 1 L 2 L 1 L 2 L c CH-3 regulär ja ja ja ja ja CH-2 kontextfrei ja ja ja nein nein CH-1 kontextsensitiv ja ja ja ja ja CH-0 semi-entscheidbar ja ja ja ja nein entscheidbar ja ja ja ja ja 8