Theoretische Informatik - Zusammenfassung!

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik - Zusammenfassung!"

Transkript

1 Theoretische Informatik - Zusammenfassung Foliensatz 1 Notationen und formale Werkzeuge Für die Beschreibung der Komplexität eines Programms ist die Landau-Notation wichtig. Formal beschreibbare Probleme - Probleme in Graphen - Probleme in boolschen Schaltkreise - Formale Sprachen Boolsche Schaltkreise - Ansammlung von Logikgattern gj und Eingängen xj - verbunden durch Leitungen - Zyklen sind nicht erlaubt - erlaubte Logikgatter: UND, ODER, NICHT Probleme in Zusammenhang mit boolschen Schaltkreisen - CIRCUIT-VALUE: Gegeben eine Eingabe x1.. xj, berechne die Ausgabe y. - CIRCUIT-SAT: Ermittle eine Belegung für x1.. xj, für die y wahr wird. Graph Definition: Ein Graph G ist ein Tupel (V, E), wobei V eine Menge von Knoten und E eine Menge von Kanten bezeichnet. Definition (Kante) Eine Kante E ist ein Tupel (v1, v2) von Knoten v1, v2 V, wobei v1 den ausgehenden und v2 den eingehenden Knoten repräsentiert. Graph-Erreichbarkeit Gegeben sei ein gerichteter Graph G = (V, E) mit n Knoten (n = V ). Gibt es einen Pfad von Knoten 1 zu Knoten n? - Entscheidungsproblem (ja/nein) - REACH ist ein Basisproblem der TI, denn jedes lösbare Entscheidungsproblem kann als gerichteter Graph dargestellt werden. - viele mögliche Lösungsalgorithmen Entscheidungsprobleme - verschiedene Antworten für REACH: ja/nein, liste alle Wege auf, gib einen bestimmten Weg aus - in der Komplexitätstheorie nur Entscheidungsprobleme, da Aussage unabhängig von Kodierung der Antwort sein soll und es keine Einschränkungen gibt (alle relevanten Probleme lassen sich als Entscheidungsproblem darstellen) Lösungsalgorithmus für REACH - Starte bei Knoten 1. Laufe rekursiv über alle ausgehenden Kanten. Markiere alle besuchten Knoten. Am Ende antworten mit ja, wenn Knoten n markiert ist, sonst nein.

2 Komplexität von REACH Im schlimmsten Fall muss jede Kante einmal untersucht werden -> T(n) = O(n^2) Im schlimmsten Fall werden alle Knoten markiert -> S(n) = O( V ) = O(n) -> REACH kann effizient gelöst werden (in polynomieller Zeit) Foliensatz 2 Das Zehnte Hilbert sche Problem Eine diophantische (= ganzzahlige) Gleichung mit irgendwelchen Unbekannten und mit ganzen rationalen Zahlenkoeffizienten sei vorgelegt. Man soll ein Verfahren angeben, nach welchem sich mittels einer endlichen Anzahl von Operationen entscheiden lässt, ob die Gleichung in ganzen Zahlen lösbar ist. Algorithmus Hilbert hat also explizit und in definierter abstrakter Form nach einem Entscheidungsalgorithmus gefragt. Er war davon überzeugt, dass es einen solchen prinzipiell immer gibt. Tatsächlich konnte 1970 bewiesen werden, dass es einen solchen Algorithmus nicht geben kann. Turingmaschine von Alan Turing vorgeschlagen - stelle die These auf, dass sich jede intuitiv berechenbare Funktion als Turingmaschine darstellen lässt (-> Church-Turing-These) - Schema eines sequentiellen Rechners - Bestandteile: Eingabe, Prozessor, Ausgabe, Programm, Speicher - einfachste Variante: Eingabe, Ausgabe, Speicher auf einem einzigen Band Definition Turingmaschine Eine DTM (Deterministische Turingmaschine) ist ein 7-Tupel: T = (Q, Σ, Γ, δ, q0,, F) Q eine Menge von Zuständen Σ Eingabealphabet, Σ Γ Bandalphabet, Σ Γ, Γ δ Übergangsfunktion, Q Γ -> Q Γ {,, } q0 Anfangszustand, q0 Q Blanksymbol F Menge von Endzuständen, F Q Definition (Konfiguration einer DTM) Eine Konfiguration ist ein Tupel (q, a, b), wobei q der aktuelle Zustand ist, a das Wort links vom Kopf und b das Wort unter und rechts vom Kopf. Eine Konfiguration wird angeschrieben als aqb, also z.b. q111 oder 110q001. Eingabe Start: Die Eingabe steht auf dem sonst leeren Band. Der Kopf steht auf dem ersten Eingabezeichen.

3 Definition (Konfigurationsrelation) Die schrittweise Abarbeitung der DTM Tau wird durch die Übergangsfunktion δ (das Programm) festgelegt. Daraus leitet sich die Konfigurationsrelation wie folgt ab: Beispiel: Berechnungspfad: - die Berechnung einer DTM erzeugt einen Berechnungspfad - die Berechnung ist endlich - eine im Haltezustand endende Berechnung heißt akzeptierend, eine Berechnung ist verwerfend, wenn für einen gegebenen Zustand kein Übergangszustand gefunden werden kann - das Ergebnis befindet sich am Ende rechts vom Lesekopf - die von einer TM beschriebene Funktion ist eine partielle Funktion (Transducer-TM) - oft ist man nicht an dem Ergebnis der Berechnung interessiert, sondern nur, ob die TM einen Haltezustand erreicht oder nicht (Entscheider-TM) Turing-Berechenbarkeit Definition: Eine (partielle Funktion f : Σ* Σ* ist Turing-berechenbar genau dann, wenn DTM Tau : ftau(w) = f(w)

4 -> Church-Turing-These: Die Klasse der intuitiv berechenbaren Funktionen ist genau die Klasse der Turing-berechenbaren Funktionen. Kostenmaße bei Eingabe w Definition (Zeitkosten bei Eingabe w) Die Funktion t(w) gibt die Länge des (endlichen) Berechnungspfades der TM Tau bei der Eingabe w an, oder, wenn dieser Berechnungspfad unendlich ist. Definition (Platzkosten bei Eingabe w) Die Funktion s(w) gibt die Anzahl der Bandquadrate an, die während der Berechnung der TM Tau bei der Eingabe von w besucht werden. Satz: Platzkosten sind beschränkt durch Zeitkosten Komplexität einer DTM Definition (Zeitkomplexität) Die Zeitkomplexität einer DTM Tau (in Abhängigkeit der Länge der Eingabe) ist definiert als T(n) = max t(w) Definition (Platzkomplexität) Die Platzkomplexität einer DTM Tau (in Abhängigkeit der Länge der Eingabe) ist definiert als S(n) = max s(w) Satz: Platzkomplexität ist kleiner als Zeitkomplexität Formale Sprachen - bestimmte Menge von Zeichenketten, die aus einem Zeichenvorrat zusammengesetzt werden können Beispiel: Alle Wörter mit Σ = {a, b} der Länge 2: L = {w Σ* w = 2} = {aa, ab, ba, bb} Beispiel (Graph als Zeichenkette):

5 Zusammenhang mit TM - jedes Entscheidungsproblem lässt sich als formale Sprache darstellen - wir bezeichnen mit allgemein eine effiziente Codierung - Entscheidungsgrenze der Sprache kann mit Turingmaschinenprogramm definiert werden Chomsky-Hierarchie - Typ-0: Rekursiv aufzählbare Sprachen (von Turing-Maschine erkennbar) - Typ-1: Kontextsensitive Sprachen - Typ-2: Kontextfreie Sprachen (z.b. Palindrome) - Typ-3: Reguläre Sprachen (von endlichen Automaten erkennbar) Definitionen Foliensatz 3 Mehrband-TM - k Köpfe, also pro Schritt k Symbole lesbar/schreibbar - 1 Schritt = jeder Kopf bewegt sich (oder bleibt stehen) - Übergangsfunktion δ wird aufgeblasen Äquivalenz k-dtm Tau und 1-DTM Tau - Simuliere k-dtm auf 1-DTM - Konkateniere alle k Bandinschriften - Lesekopfpositionen müssen gespeichert werden - Erweitere Bandalphabet Σ für Kopfposition - Simulation eines Schrittes von Tau in 2 Scans: - 1. Scan: Tau merkt sich alle momentan gelesenen Symbole (extra Zustände) - 2. Scan: Tau überschreibt alle Symbole unter Köpfen mit neuem Symbol - Wenn Band vergrößert werden muss: Stelle markieren und alles nach rechts verschieben Analyse der Komplexität - Simulation von 2 Scans je O(k * f(n)) -> insgesamt O(k^2 * f(n)^2) - k ist eine Konstante, daher O(f(n)^2) - Speicher wird nur linear größer, mit Konstante k Satz: TTau(n) = f(n) => TTau (n) = O(f(n)^2) (Simulation bringt quadratischen Zeitverlust) Satz: STau(n) = g(n) => STau (n) = g(n) (Simulation bringt keinen Platzverlust)

6 Erweiterte Church sche These - Jedes sinnvolle Prozessmodell kann mit polynomiellem Zeitverlust auf einer Turing- Maschine simuliert werden. - Diese These ist für alle bekannten Prozessmodelle bewiesen. Polynomielle Zeitbeschränkung - Eine TM Tau ist polynomiell zeitbeschränkt, falls die Kostenfunktion T polynomiell zeitbeschränkt ist, also T(n) = O(poly(n)). Es gibt also ein Polynom p beliebiger endlicher Ordnung, für das gilt: T(n) <= p(n), n N. Klasse P - Definitionen - Definition von P benutzt die Turingmaschine - Aber, Erweiterte Church sche These: Maschinenmodelle beliebig austauschbar mit polynomiellem Zeitverlust - Maschinenmodelle sind gleichwertig innerhalb von P - dadurch ist P unabhängig vom Maschinenmodell - Komplexitätsklasse P gilt als Klasse der effizient lösbaren Probleme/Sprachen - Beispiele: REACH, RELPRIME (Haben zwei Zahlen x und y einen gemeinsamen Primfaktor?), PALINDROME-Entscheider, 3-CLIQUE, CIRCUIT-VALUE - (wahrscheinlich) nicht mehr in P: HAMILTON, k-clique, CIRCUIT-SAT

7 3-CLIQUE Foliensatz 4 Motivation - von sehr vielen Problemen ist nicht bekannt, ob sie in polynomieller Zeit lösbar sind - trifft für viele relevante Probleme zu: TSP, CIRCUIT-SAT, - es können aber polynomielle Algorithmen mit Turingmaschinen gefunden werden -> Nichtdeterministische Turingmaschine (NTM) Nichtdeterminismus - nicht-deterministischer endlicher Automat - im Unterschied zur DTM beliebig viele verschiedene Zustandsübergänge pro Symbol möglich - Definition einer DTM ähnlich der einer NTM, aber δ gibt nun eine Menge der möglichen nächsten Schritte an Entscheidungsprobleme - Leistung der NTM besteht darin, am Ende des Weges zu akzeptieren oder zu verwerfen - JA, falls zumindest ein akzeptierender Pfad vorhanden - NEIN, falls kein akzeptierender Pfad vorhanden - Asymmetrie zwischen JA und NEIN Laufzeitmessung einer NTM - Zeitkosten einer NTM = maximale Tiefe des Berechnungsbaumes Guess & Check - Rate eine Lösung des Problems - Überprüfe, ob diese Lösung die Bedingungen des Entscheidungsproblems erfüllt

8 Definition (Verifizierer) Beispiel: Rundreise-Problem (Travelling salesman problem = TSP) - ist in nichtdeterministisch-polynomieller Zeit lösbar - Beweisskizze: Konstruktion einer NTM, die TSP löst - Rate nichtdeterministisch eine Rundreise (Zertifikat) - Summiere Kosten für alle Kanten der Folge - Wenn Summe <= K, antworte JA, sonst antworte NEIN Beispiel: CLIQUE - gegeben: ungerichteter Graph G = (V, E) und Zahl k - gesucht: Existiert in G eine Clique der Größe k? - CLIQUE ist in NP Beispiel: CIRCUIT-SAT - gegeben: Boolscher Schaltkreis C - gesucht: Gibt es eine Belegung für x, sodass C(x) = 1 liefert? - CIRCUIT-VALUE ist in P, aber CIRCUIT-SAT ist in NP Klasse NP - Definitionen

9 Bedeutung des Nichtdeterminismus - Berechnungsstärke bleibt unverändert (NTM lässt sich auf DTM simulieren) - Zeitkomplexität sinkt wesentlich (exponentiell?) - Platzkomplexität sind unwesentlich P vs. NP - sehr populäres Problem der Informatik - P ist die Klasse von Sprachen, die effizient entschieden werden können - NP ist die Klasse von Sprachen, die effizient verifiziert werden können - polynomielle Verifizierbarkeit scheint ein viel mächtigeres Konzept zu sein als polynomielle Entscheidbarkeit - Trotzdem: für keine einzige Sprache in NP konnte bisher bewiesen werden, dass sie nicht in P liegt Hinweise auf P NP - für keines der vielen Probleme in NP wurde bisher ein effizienter Algorithmus gefunden - Aus P = NP ließen sich Konsequenzen ableiten, von denen im Moment ebenfalls angenommen wird, dass sie nicht zutreffen (z.b. NP = CoNP). - bisher aber kein Beweis CoP und CoNP - Die komplementären Klassen zu P und NP werden CoP und CoNP genannt. - Wir schreiben das Komplement einer Sprache L als L. - P ist abgeschlossen gegenüber dem Komplement, daher gilt: Wenn L in P liegt, liegt auch L in P. - es gilt: P = CoP Beweis: P = CoP - Da L in P liegt, gibt es eine DTM Tau, die L entscheidet - Konstruiere eine DTM Tau, die Tau simuliert - Für jeden verwerfenden Zustand von Tau geht Tau in einen akzeptierenden Zustand und umgekehrt - Zeitverlust für die Berechnung ist konstant, daher liegen T und Tau in der gleichen Komplexitätsklasse - für NP ist ein Beweis in dieser Form nicht möglich - es wird angenommen: NP CoNP Einwegfunktionen - Einwegfunktionen sind Funktionen, die effizient berechenbar sind, deren Umkehrung aber nicht effizient durchgeführt werden kann. - Es ist nicht bekannt, ob Einwegfunktionen überhaupt existieren - Aus deren Existenz würde sofort P NP folgen. - Mit einer Falltür (trap door) bzw. Zusatzinformation lässt sich eine Einwegfunktion f(x, z) leicht umkehren. - spielen eine große Rolle für die Kryptographie - alle modernen kryptographischen Verfahren vertrauten auf die Existenz von Einwegfunktionen

10 Foliensatz 5 Häufig gebrauchte Zeitkomplexitätsklassen Platzkomplexität - Komplexität gemessen anhand des verwendeten Platzes/Speichers - Zeit und Platz sind wichtigste Ressourcen - Modell zum Messen der Platzkomplexität: wieder TM - Platz mächtiger als Zeit: Platz kann wiederverwendet werden - Angabe des Platzbedarfes: wieder als Funktion der Inputgröße n DSPACE und NSPACE - Definitionen

11 Häufig gebrauchte Platzkomplexitätsklassen Zeit beschränkt Platz - für jede beliebige TM Tau gilt: S(n) <= T(n) - daraus folgt: D/NSPACE(f(n)) D/NTIME(f(n)) Platz beschränkt Zeit - gegeben TM Tau mit Platzkomplexität S(n) - Was ist der maximale Zeitbedarf dieser Maschine unter der Voraussetzung, dass sie hält? - Anzahl der möglichen Konfiguration (k): Q Γ f(n) = O(2 f(n) ) - maximaler Berechnungspfad besucht alle Konfigurationen und hält dann, sonst Endlosschleife - für jede beliebige TM Tau gilt: S(n) = f(n) => T(n) O(2 f(n) ) - daraus folgt: D/NTIME(f(n)) D/NSPACE(O(2 f(n) )) - daraus folgt: L P Satz von Savitch - Der Satz von Savitch ist ein wichtiges Resultat für die Platzkomplexität. Er zeigt, dass sich NTM auf DTM mit geringem Mehraufwand an Platz simulieren lassen. - Für jede Funktion f : N -> R +, wobei f(n) >= n, gilt: NSPACE(f(n)) DSPACE(f 2 (n)) YIELDABILITY - Kann k1 von Zustand k2 erreicht werden? - Beweis des Satzes von Savitch durch Lösen von YIELDABILITY - Seien k1 und k2 zwei Konfigurationen einer TM - die Funktion CANYIELD(k1, k2, t) entscheidet, ob k2 von k1 aus in t Schritten erreicht werden kann - Wir zeigen eine Version von CANYIELD, die mit O(f 2 (n)) Platz läuft Beweis: Satz von Savitch - rekursiver Aufruf der Funktion CANYIELD - in jeder Ebene der Rekursion werden alle Konfigurationen als möglicher Zwischenschritt untersucht

12 - pro Ebene muss nur eine Konfiguration gespeichert werden Platzanalyse - die Rekursionstiefe von CANYIELD ist logarithmisch in t - also log(o(2^f(n))) = O(f(n)) - in jeder Rekursion muss die Konfiguration einer TM gespeichert werden - Platzbedarf gesamt: O(f(n)) * O(f(n)) = O(f 2 (n)) - Simulation einer beliebigen NTM möglich durch Aufruf CANYIELD(k1, kn, 2 f(n) ) Konsequenzen - deterministische und nichtdeterministische Platzkomplexitätsklassen sind identisch: Foliensatz 6 Hierarchiesätze - Platzkomplexität - Zeit- und Platzhierarchie Komplexitätstheorie - Probleme, die in endlicher Zeit berechnet werden können - Kategorisierung von Problemen -> Komplexitätsklassen Halteproblem - ist unentscheidbar - nur Probleme, die prinzipiell lösbar sind - es gibt Probleme, für die bewiesen werden kann, dass sie unlösbar sind - Halteproblem eines der fundamentalsten Ergebnisse - automatisierte Verifikation von Software im Allgemeinen unlösbar Universelle Turingmaschine - jede Turingmaschine kann als Zeichenkette dargestellt werden - Maschine, die als Eingabe (M, w) nimmt und dann M auf Eingabe w ausführt Halteproblem - Definition - HALT = {(M, w) M ist eine Turingmaschine und akzeptiert w} - obwohl HALT ein wohldefiniertes Entscheidungsproblem ist, kann bewiesen werden, dass keine TM existierend kann, die es entscheidet - daher: HALT ist nicht entscheidbar

13 Beweis: HALT ist nicht entscheidbar Hierarchie - Platzkomplexität Hierarchie - Zeitkomplexität

14 Zeit- und Platzhierachiesätze - man erwartet: je mehr Ressourcen (Zeit/Platz) einer Turingmaschine zur Verfügung gestellt werden, umso mehr Sprachen können entschieden werden - Hierarchiesätze formalisieren diese Intuition Satz (Hierarchiesatz) - Für jede (zeit/platz-konstruierbare) Funktion f : N N existiert eine Sprache A, die in O(f(n)) Zeit/Platz entscheidbar ist, aber nicht in o(f(n)) Zeit/Platz. Konsequenzen der Hierarchiesätze Einfache Inklusionen der grundlegendsten Klassen

15 Foliensatz 7 Motivation - Beziehungen zwischen Problemen verstehen - wie schwierig ist ein Problem A bezogen auf ein zweites Problem B - Verzicht auf Maschinenmodell - Algorithmen für viele Probleme sehr ähnlich - Wiederverwenden effizienter Algorithmen Reduktion - seien A und B zwei Probleme - für B ist ein Algorithmus bekannt, der es löst - transformiere eine Eingabe x für A in eine Eingabe y = R(x) für ein Problem B, sodass B auf y angesetzt A(x) löst - R(x) wird Reduktion von A nach B genannt Mapping-Reduktion - Definition Eine Sprache A ist mapping (many-one) reduzierbar auf B A B genau dann, wenn eine berechenbare Funktion R : Σ* Σ* existiert, sodass w A R(w) B - Probleminstanz von A wird auf Probleminstanz von B gemapped Beschränkte Reduktion - Zeit- und Platzbedarf einschränken, um Reduktion sinnvoller auf Komplexitätsklassen anzuwenden - je enger die Einschränkung, umso exakter können Klassen getrennt werden - polynomiell zeitbeschränkt P R P - logarithmisch platzbeschränkt L R L - R L ist notwendig, wenn feiner abgestuft werden soll - P: Zeitklassen ab P untersuchbar - L: Zeitklassen ab P und Platzklassen ab L untersuchbar Transitivität der Reduktion - Satz: Die polynomiell zeitbeschränkte Reduktion ist transitiv. - Daher gilt: A P B und B P C folgt A P C - für P einfach zu sehen - gilt auch für L Hierarchie von Problemen - REACH L CIRCUIT-VALUE - CIRCUIT-VALUE L CIRCUIT-SAT (CIRCUIT-VALUE hat keine variablen Eingänge) - CIRCUIT-SAT L 3SAT (CIRCUIT-SAT: Schaltkreis beliebig tief, auf jeder Ebene alle Gatter-Typen möglich; 3SAT = Schaltkreis in KNF)

16 Foliensatz 8 Schwere - Reduktion erlaubt es, Probleme hinsichtlich ihrer Komplexität zu vergleichen - Lassen sich alle Sprachen aus einer Komplexitätsklasse C auf eine bestimmte Sprache (effizient) reduzieren, dann ist diese Sprache gleich schwer oder schwerer zu entscheiden wie/als jede andere Sprache aus C. - Diese Sprachen werden C-schwer genannt. Schwere - Definition - Sei C eine Komplexitätsklasse (z.b. P, NP, ). Eine Sprache A heißt C-schwer, wenn alle Sprachen B C auf A reduziert werden können. A ist C-schwer B C : B L A - im Deutschen: C-Schwere = C-Härte P-Schwere - Satz: CIRCUIT-VALUE ist P-schwer. B P : B L CIRCUIT-VALUE Vollständigkeit - In jeder Komplexitätsklasse C kann man nach C-vollständigen Sprachen suchen. - Diese Sprache bilden die Klasse der schwersten Sprachen innerhalb der Klasse. Vollständigkeit - Definition - Sei C eine Komplexitätsklasse (z.b. P, NP, ). Eine Sprache A heißt C-vollständig, wenn sie C-schwer ist und in C liegt. A ist C-vollständig A C B C : B L A P-Vollständigkeit - Satz: CIRCUIT-VALUE ist P-vollständig. - offensichtlich, da bereits bekannt, dass CIRCUIT-VALUE P-schwer ist und in P liegt NP-Vollständigkeit - Satz von Cook: CIRCUIT-SAT ist NP-vollständig. - Beweis: - bereits bekannt: CIRCUIT-SAT in NP - zu zeigen: CIRCUIT-SAT ist NP-schwer - dann gilt: CIRCUIT-SAT ist NP-vollständig Vollständigkeit durch Reduktion - Satz: 3SAT ist NP-vollständig. - folgt sofort, da bereits bekannt, dass: 1. 3SAT NP und 2. CIRCUIT-SAT L 3SAT Konsequenzen - Satz (Cook-Levin-Theorem): Es gilt [CIRCUIT, 3]SAT P genau dann, wenn weiters gilt P = NP.

17 - Folgt sofort, aus dem Satz von Cook. Daher ließe sich P = NP durch Angabe eines einzigen Algorithmus, der eine einzige NP-vollständige Sprache in P entscheidet, beweisen. Foliensatz 9 Übersicht - CLIQUE ist NP-vollständig (in NP und NP-schwer) - HAMILTON-PATH ist NP-vollständig (in NP und NP-schwer) NP-Vollständigkeit - Satz: CLIQUE ist NP-vollständig. A NP : A P CLIQUE. - Zu zeigen sind (in NP) und NP-Schwere durch Reduktion 3SAT P CLIQUE. Konstruktion eines Graphen für den Beweis - Graph hat 3 * k Knoten, entsprechend den Literalen von ɸ - Knoten von G sind in k Gruppen organisiert - jede Gruppe besteht aus 3 Knoten und entspricht einer Klausel - jedem Knoten wird ein Literal aus der entsprechenden Klausel zugeordnet - die Kanten von G verbinden alle Knoten außer: 1. Knoten innerhalb einer Gruppe 2. Knoten mit widersprechenden Literalen Beweis der Korrektheit - angenommen, ɸ ist erfüllbar - zumindest ein Literal wahr in jeder Klausel - wenn mehr als ein Literal wahr ist, wird zufällig eines gewählt -> in jeder 3er-Gruppe wird ein Knoten gewählt - zwischen jedem Knotenpaar existiert eine Kante, denn 1. alle Knoten sind von unterschiedlichen Gruppen 2. eine erfüllende Variablenbelegung enthält keine Widersprüche -> daher enthält G eine k-clique - angenommen, G enthält eine k-clique - da keine Kanten innerhalb der Gruppe, können nie 2 Knoten aus der gleichen Gruppe gewählt werden - Wahrheitswerte werden den Variablen von ɸ zugewiesen, indem die den gewählten Knoten entsprechenden Literale auf wahr gesetzt werden

18 - das ist immer möglich, da widersprüchliche Zuweisungen nicht mit einer Kante verbunden sind, daher nicht in der Clique - diese Zuweisung ist erfüllend, da sich in jeder Klausel ein erfüllendes Literal befindet - also ist ɸ erfüllbar HAMILTON-PATH - HAMILTON-PATH = {(G, s, T) Hamilton-Pfad von s nach t in G} NP-Vollständigkeit - Satz: HAMILTON-PATH ist NP-vollständig. A NP : A P HAMILTON-PATH - Beweis durch Reduktion: 3SAT P HAMILTON-PATH Konstruktion eines Graphen für den Beweis - L-mal Diamant-Struktur (pro Variable): 2 Eingänge, 2 Ausgänge - kann nur in einer Richtung durchwandert werden - nicht-deterministische Entscheidung (linkst = 1, rechts = 0) - für jede Verwendung der Variable Abzweigung über Klausel-Knoten (k-mal) - Rechts-nach-links, falls Literal negiert - Links-nach-rechts sonst - wenn Klausel-Knoten im Graphen besucht wurde, dann erfüllt - wenn alle Knoten besucht wurden, dann ist ɸ erfüllt Beweis der Korrektheit - angenommen, ɸ ist erfüllbar - wir zeigen die Existenz eines Hamilton-Pfades - zunächst ignorieren wir die Klausel-Knoten - jedes Diamanten-Modul wird von rechts nach links oder von links nach rechts durchlaufen (wahr-oder-falsch-zuweisung) - jeder Klausel-Knoten kann erreicht werden, in einer erfüllenden Belegung - angenommen, G enthält einen Hamilton-Pfad

19 - jeder Links-Rechts-Entscheidung in den Diamanten wird die Variablenbelegung wahr/ falsch zugeordnet - diese Belegung erfüllt ɸ, denn 1. jede Variable muss belegt sein, da sonst ein Knoten übersprungen wurde 2. die Belegung enthält keine Widersprüche, da sonst mindestens ein Klausel- Knoten nicht besucht werden könnte - also ist ɸ erfüllbar HAMILTON-PATH L UHAMILTON-PATH UHAMILTON-PATH - Definition - gegeben: ungerichteter Graph G = (V, E), s, t V - UHAMILTON-PATH = {(G, s, t) Hamilton-Pfad von s nach t in G} - HAMILTON-PATH L UHAMILTON-PATH - Trick: 1 Knoten wird zu 3 Knoten Pfad vs. Kreis - analog zu HAMILTON-PATH bzw. UHAMILTON-PATH gibt es HAMILTON-CIRCLE bzw. UHAMILTON-CIRCLE oder oft einfach HAMILTON bzw. UHAMILTON - zusätzliche Forderung (pm, p1) E (damit ist die Angabe von s und t überflüssig) - aus analogen Überlegungen folgt, dass sowohl HAMILTON als auch UHAMILTON NPvollständig sind Foliensatz 10 Randomisierte Algorithmen - randomisierte Turingmaschine - Monte-Carlo-Algorithmen Motivation - für sehr viele Probleme (> P) ist keine exakte Lösung bekannt, die sich effizient berechnen ließe - exakte Lösung oft gar nicht erforderlich - randomisierte Algorithmen oft einfacher und schneller - liefern in den meisten Fällen gute Lösungen (nicht immer) - Anwendungen: Cryptography, maschinelles Lernen, Netzwerke, - Beispiel: randomisierte Berechnung von pi Probabilistische Turingmaschine - Grundidee: Berechnungsbaum wie bei NTM - NTM: Gibt es (zumindest) ein JA-Blatt? - Weg wird jetzt wirklich zufällig gewählt - JA-Blatt getroffen -> akzeptiere - NEIN-Blatt getroffen ->? Probabilistische Turingmaschine - Definition

20 - Eine probabilistische Turingmaschine M ist eine nichtdeterministische Turingmaschine, in der in jedem nichtdeterministischen Berechnungsschritt zufällig und mit gleicher Wahrscheinlichkeit (z.b. durch Würfeln) der nächste Schritt gewählt wird. - ist ein Maschinenmodell, das real implementiert werden kann (also kein Gedankenmodell wie die NTM) Randomisierte Algorithmen - auch stochastische oder probabilistische Algorithmen R-Klassen, RP Las-Vegas-Algorithmen - halten immer, aber Laufzeit probabilistisch - z.b. Quicksort - JA-Ergebnisse sind sichere Resultate - NEIN-Ergebnisse sind 50/50-Resultate Monte-Carlo-Algorithmen - erben Asymmetrie von NTM - wenn Antwort JA -> sicher JA - wenn Antwort NEIN -> vielleicht NEIN - Fehlerwahrscheinlichkeit Markov-Ketten - seit xt der Zustand eines stochastischen Prozesses - der aktuelle Zustand zum Zeitpunkt t sei abhängig vom Vorgängerzustand - Zustandsübergänge können durch den stochastischen Übergang p(xt xt-1) beschrieben werden - stochastische Prozesse mit dieser Eigenschaft werden Markov-Ketten (markov chains) genannt Beispiel - es gibt einen Monte-Carlo-Algorithmus, der 2SAT mit Guess & Check löst - Satz: 2SAT ist in RP. - 3SAT lässt sich auch randomisieren, aber effizienter Algorithmus unwahrscheinlich (3SAT ist NP-vollständig)

21 - 3SAT ist (vermutlich) nicht in RP Foliensatz 11 <fehlt> Sämtliche Bilder sind nicht von mir, sondern den Folien und Präsentationen von Dipl.-Ing. David Kappel entnommen.

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung U Graz SS 2014 Übersicht uring Maschinen Algorithmusbegriff konkretisiert Modelldefinition uring-berechenbarkeit

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Platzkomplexität David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 22.04.2016 Platzkomplexität Platzkomplexitätsklassen Zeit vs. Platzbedarf

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016 Übersicht uring Maschinen Algorithmusbegriff konkretisiert

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Die Komplexitätsklasse P David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Äquivalenz von RM und TM Äquivalenz, Sätze Simulation DTM

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Vollständigkeit 1 David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 20.05.2016 Übersicht Schwere Definition CIRCUIT-VALUE ist P-schwer

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 eil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung U Graz SS 2009 Übersicht 1 uring Maschinen uring-berechenbarkeit 2 Kostenmaße Komplexität 3 Mehrband-M

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V5, 21.11.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung

Mehr

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit Theorie der Informatik 13. Mai 2015 20. P, NP und polynomielle Reduktionen Theorie der Informatik 20. P, NP und polynomielle Reduktionen 20.1 P und NP Malte Helmert Gabriele Röger 20.2 Polynomielle Reduktionen

Mehr

Rucksackproblem und Verifizierbarkeit

Rucksackproblem und Verifizierbarkeit Rucksackproblem und Verifizierbarkeit Gegeben: n Gegenstände mit Gewichten G={g 1,g 2,,g n } und Werten W={w 1,w 2,,w n } sowie zulässiges Gesamtgewicht g. Gesucht: Teilmenge S {1,,n} mit i i S unter der

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Teil 5 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007 Übersicht 1 Problemklassen 2 NTM Nichtdeterministische Algorithmen 3 Problemarten Konstruktionsprobleme

Mehr

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1 Zeitkomplexität (1) Proseminar Theoretische Informatik Proseminar Theoretische Informatik: Lisa Dohrmann 1 Warum Komplexitätsbetrachtung? Ein im Prinzip entscheidbares und berechenbares Problem kann in

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 20. Vorlesung 12.01.2007 1 Komplexitätstheorie - Zeitklassen Die Komplexitätsklassen TIME DTIME, NTIME P NP Das Cook-Levin-Theorem Polynomial-Zeit-Reduktion

Mehr

abgeschlossen unter,,,, R,

abgeschlossen unter,,,, R, Was bisher geschah Turing-Maschinen können Sprachen L X akzeptieren entscheiden Funktionen berechnen f : X X (partiell) Menge aller Turing-akzeptierbaren Sprachen genau die Menge aller Chomsky-Typ-0-Sprachen

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 27. Vorlesung 08.02.2007 1 Komplexitätstheorie - Platzklassen Platzkomplexität Definition Simulation mehrerer Bänder Savitchs Theorem PSPACE

Mehr

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 5. Februar 2010 Berthold Vöcking, Informatik

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 18. Vorlesung 22.12.2006 1 Komplexitätstheorie - Zeitklassen Komplexitätsmaße Wiederholung: O,o,ω,Θ,Ω Laufzeitanalyse Die Komplexitätsklassen

Mehr

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie.

Einführung (1/3) Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (1) Vorlesungen zur Komplexitätstheorie. Einführung (1/3) 3 Wir verfolgen nun das Ziel, Komplexitätsklassen mit Hilfe von charakteristischen Problemen zu beschreiben und zu strukturieren Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Komplexitätstheorie (VI) 20.07.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 DTIME und NTIME / DSPACE und NSPACE DTIME(T(n)) ist die Klasse

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 5.2 Das P N P Problem 1. Nichtdeterministische Lösbarkeit 2. Sind N P-Probleme handhabbar? 3. N P-Vollständigkeit Bei vielen schweren Problemen ist Erfolg leicht zu testen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 16.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Typ-0-Sprachen und Turingmaschinen

Typ-0-Sprachen und Turingmaschinen Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Inforatik 1 Teil 6 Bernhard Nessler Institut für Grundlagen der Inforationsverabeitung TU Graz SS 2008 Übersicht 1 Reduktionen 2 Definition P- NP- 3 Sprachbeziehungen Klassenbeziehungen Turingreduktion

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

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

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 16.11.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

THEORETISCHE INFORMATIK UND LOGIK

THEORETISCHE INFORMATIK UND LOGIK THEORETISCHE INFORMATIK UND LOGIK 9. Vorlesung: NP und NP-Vollständigkeit Markus Krötzsch Lehrstuhl Wissensbasierte Systeme TU Dresden, 10. Mai 2017 Rückblick PTime und LogSpace als mathematische Modelle

Mehr

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung Informatik III Arne Vater Wintersemester 2006/07 10. Vorlesung 24.11.2006 1 Turingmaschinen Informatik III 9. Vorlesung - 2 Turingmaschinen Eine (deterministische 1-Band) Turingmaschine (DTM) wird beschrieben

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V7, 5.12.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

Mehr

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1 Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

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

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Technische Universität Berlin, Berlin, 28.07.2016 Name:... Matr.-Nr.:... Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016) Einlesezeit: Bearbeitungszeit: Max.

Mehr

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

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 20.12.2005 18. Vorlesung 1 Komplexitätstheorie - Zeitklassen Komplexitätsmaße Wiederholung: O,o,ω,Θ,Ω Laufzeitanalyse

Mehr

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Klassische Informationstheorie: Berechenbarkeit und Komplexität Klassische Informationstheorie: Berechenbarkeit und Komplexität Christian Slupina 1. Institut für Theoretische Physik Datum: 12.Juli 2011 Inhalt Gedankenexperiment: Die Turingmaschine Standard-Turingmaschinen

Mehr

Teil III. Komplexitätstheorie

Teil III. Komplexitätstheorie Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein

Mehr

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP Formale Grundlagen der Informatik 1 Kapitel 21 Frank Heitmann heitmann@informatik.uni-hamburg.de 28. Juni Frank Heitmann heitmann@informatik.uni-hamburg.de 1/41 Die Klassen Probleme in P := {L es gibt

Mehr

Einfache Zusammenhänge

Einfache Zusammenhänge Einfache Zusammenhänge Eine TM, die t(n) Zeit (d.h. Schritte) zur Verfügung hat, kann nicht mehr als t(n) Bandzellen besuchen. Umgekehrt gilt dies nicht! Platz kann wiederverwendet werden, Zeit nicht!

Mehr

Präsenzübung Berechenbarkeit und Komplexität

Präsenzübung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 2013/14 Prof. Dr. Berthold Vöcking 28.01.2014 Kamal Al-Bawani Benjamin Ries Präsenzübung Berechenbarkeit und Komplexität Musterlösung Name:...................................

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009 Theoretische Informatik Rainer Schrader nichtdeterministische Turingmaschinen Zentrum für Angewandte Informatik Köln 29. April 2009 1 / 33 2 / 33 Turingmaschinen das Konzept des Nichtdeterminismus nahm

Mehr

Was ist überhaupt berechenbar? Was ist mit vernünftigem Aufwand berechenbar?

Was ist überhaupt berechenbar? Was ist mit vernünftigem Aufwand berechenbar? Effiziente Berechenbarkeit bisher: Frage nach der prinzipiellen Lösbarkeit von algorithmischen Fragestellungen Was ist überhaupt berechenbar? Rekursionstheorie jetzt: Frage nach der effizienten Lösbarkeit

Mehr

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13

Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen. Wintersemester 2012/13 Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2012/13 Prof. Barbara König Übungsleitung: Henning Kerstan & Sebastian Küpper Barbara

Mehr

Einige Grundlagen der Komplexitätstheorie

Einige Grundlagen der Komplexitätstheorie Deterministische Polynomialzeit Einige Grundlagen der Komplexitätstheorie Ziel: NP-Vollständigkeit als ressourcenbeschränktes Analagon zur RE-Vollständigkeit. Komplexitätstheorie untersucht den Ressourcenbedarf

Mehr

Willkommen zur Vorlesung Komplexitätstheorie

Willkommen zur Vorlesung Komplexitätstheorie Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V8, 12.12.2011 1 Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar

Mehr

19. Nichtdeterministische Turingmaschinen und ihre Komplexität

19. Nichtdeterministische Turingmaschinen und ihre Komplexität 19. Nichtdeterministische Turingmaschinen und ihre Komplexität Bei einem Turingmaschinenprogramm P aus bedingten Anweisungen wird durch die Forderung i a b B j i a b B j i a sichergestellt, dass zu jeder

Mehr

Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF

Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF Einflussgrößen bei der Bildung von Komplexitätsklassen Das zugrunde liegende Berechnungsmodell (Turingmaschine, Registermaschine

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

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

Laufzeit einer DTM, Klasse DTIME

Laufzeit einer DTM, Klasse DTIME Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes

Mehr

Nichtdeterministische Platzklassen

Nichtdeterministische Platzklassen Sommerakademie 2010 Rot an der Rot AG 1: Wieviel Platz brauchen Algorithmen wirklich? Nichtdeterministische Platzklassen Ulf Kulau August 23, 2010 1 Contents 1 Einführung 3 2 Nichtdeterminismus allgemein

Mehr

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

Mehr

Vorlesungsskript. Komplexitätstheorie. Wintersemester 2004/2005

Vorlesungsskript. Komplexitätstheorie. Wintersemester 2004/2005 Vorlesungsskript Komplexitätstheorie Wintersemester 2004/2005 Prof. Dr. Johannes Köbler Humboldt-Universität zu Berlin Lehrstuhl Komplexität und Kryptografie 21. Februar 2005 Inhaltsverzeichnis 1 Einführung

Mehr

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder

subexponentielle Algorithmen (d.h. Laufzeiten wie z. B. 2 n oder Wie schwer ist SAT? Ziel: Nachweis, dass SAT eines der schwersten Probleme in NP ist: SAT ist das erste bekannte Beispiel eines NP-vollständigen Problems. Demnach kann SAT mit bisher bekannten Techniken

Mehr

Dank. Theoretische Informatik II. Komplexitätstheorie. Teil VI. Komplexitätstheorie. Vorlesung

Dank. Theoretische Informatik II. Komplexitätstheorie. Teil VI. Komplexitätstheorie. Vorlesung Dank Vorlesung Theoretische Informatik II Bernhard Beckert Institut für Informatik Diese Vorlesungsmaterialien basieren zum Teil auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen 1.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie

Mehr

Reduktion / Hilberts 10. Problem

Reduktion / Hilberts 10. Problem Reduktion / Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

P, NP und NP -Vollständigkeit

P, NP und NP -Vollständigkeit P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle

Mehr

Johannes Blömer. Skript zur Vorlesung. Komplexitätstheorie. Universität Paderborn

Johannes Blömer. Skript zur Vorlesung. Komplexitätstheorie. Universität Paderborn Johannes Blömer Skript zur Vorlesung Komplexitätstheorie Universität Paderborn Sommersemester 2010 Inhaltsverzeichnis 1 Einleitung 2 2 Turingmaschinen, Zeit- und Platzkomplexität 5 2.1 Turingmaschinen.........................

Mehr

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

Übungsblatt 4. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 4 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 6. Dezember 2017 Abgabe 19. Dezember 2017, 11:00 Uhr

Mehr

Zusammenfassung. Warum polynomielle Reduktionen? Definition NP-vollständig [K5.1.1] NP-Vollständigkeitstheorie [K5]

Zusammenfassung. Warum polynomielle Reduktionen? Definition NP-vollständig [K5.1.1] NP-Vollständigkeitstheorie [K5] Warum polynomielle Reduktionen? erlauben feinere Unterteilungen von Komplexitätsklassen als Turing- Reduktionen, genügen für die betrachteten Probleme, für alle von uns betrachteten Komplexitätsklassen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Komplexitätstheorie (I) 22.07.2015 und 23.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie 3. Endliche

Mehr

Theoretische Informatik. Berechenbarkeit

Theoretische Informatik. Berechenbarkeit Theoretische Informatik Berechenbarkeit 1 Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was

Mehr

Die Reduktion Hilberts 10. Problem

Die Reduktion Hilberts 10. Problem Die Reduktion Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 8. November 2010 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2) Formale Grundlagen der Informatik 1 Kapitel 23 (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 5. Juli 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/37 Die Klassen P und NP P := {L

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung Informatik III Arne Vater Wintersemester 2006/07 25. Vorlesung 01.02.2007 1 Approximation Viele wichtige Probleme sind NP-vollständig (also nicht effizient lösbar unter der Annahme P NP) Diese sind zu

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 16.12.2010 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 15.07.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Weitere universelle Berechnungsmodelle

Weitere universelle Berechnungsmodelle Weitere universelle Berechnungsmodelle Mehrband Turingmaschine Nichtdeterministische Turingmaschine RAM-Modell Vektoradditionssysteme λ-kalkül µ-rekursive Funktionen 1 Varianten der dtm Mehrkopf dtm Kontrolle

Mehr

Polynomielle Verifizierer und NP

Polynomielle Verifizierer und NP Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert

Mehr

1 Wichtige Definitionen, Sätze und Lemmas aus Kapitel 1

1 Wichtige Definitionen, Sätze und Lemmas aus Kapitel 1 1 Wichtige Definitionen, Sätze und Lemmas aus Kapitel 1 Alphabet, Wort, Konkatenation, Sprache, Leere Sprache, Definition 1.1 Seien Σ 1 und Σ 2 zwei Alphabete. Eine Substitution von Σ 1 nach Σ 2 ist eine

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 23. November 2017 INSTITUT FÜR THEORETISCHE 0 23.11.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

13. Nichtdeterministische Turingmaschinen und ihre Komplexität

13. Nichtdeterministische Turingmaschinen und ihre Komplexität 13. Nichtdeterministische Turingmaschinen und ihre Komplexität DETERMINISMUS VS. NICHTDETERMINISMUS DETERMINISMUS: Bei einer k-band-turingmaschine M wurde durch die colorblue Überführungsfunktion δ : Z

Mehr

Allgemeines Halteproblem Hilberts 10. Problem

Allgemeines Halteproblem Hilberts 10. Problem Allgemeines Halteproblem Hilberts 10. Problem Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität 11. Januar 2008 Wiederholung

Mehr

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Lerneinheit 5: Die Klasse NP Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2015/2016 26.9.2015 Einleitung Thema dieser Lerneinheit

Mehr

3 Probabilistische Komplexitätsklassen

3 Probabilistische Komplexitätsklassen 3 Probabilistische Komplexitätsklassen 3.1 Probabilistische Turingmaschinen 3.1 Wir gehen davon aus, dass die Konzepte deterministischer und nichtdeterministischer Turingmaschinen im wesentlichen bekannt

Mehr

2.5 Halteproblem und Unentscheidbarkeit

2.5 Halteproblem und Unentscheidbarkeit 38 25 Halteproblem und Unentscheidbarkeit Der Berechenbarkeitsbegriff ist auf Funktionen zugeschnitten Wir wollen nun einen entsprechenden Begriff für Mengen einführen Definition 255 Eine Menge A Σ heißt

Mehr

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie.

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie. Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen

Mehr

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1 NP-vollständige Probleme Michael Budahn - Theoretische Informatik 1 Motivation Michael Budahn - Theoretische Informatik 2 Motivation viele praxisrelevante Probleme sind NPvollständig und eine Lösung würde

Mehr

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

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

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p. Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger

Mehr

FORMALE SYSTEME. Kompexitätsklassen. Deterministisch vs. nichtdeterministisch. Die Grenzen unseres Wissens. 25. Vorlesung: NP-Vollständigkeit

FORMALE SYSTEME. Kompexitätsklassen. Deterministisch vs. nichtdeterministisch. Die Grenzen unseres Wissens. 25. Vorlesung: NP-Vollständigkeit Kompexitätsklassen FORMALE SYSTEME 25. Vorlesung: NP-Vollständigkeit Markus Krötzsch Lehrstuhl Wissensbasierte Systeme Komplexitätsklassen sind Mengen von Sprachen, die man (grob) einteilt entsprechend

Mehr

FORMALE SYSTEME. Kompexitätsklassen. Die Grenzen unseres Wissens. Deterministisch vs. nichtdeterministisch. 25. Vorlesung: NP-Vollständigkeit

FORMALE SYSTEME. Kompexitätsklassen. Die Grenzen unseres Wissens. Deterministisch vs. nichtdeterministisch. 25. Vorlesung: NP-Vollständigkeit Kompexitätsklassen FORMALE SYSTEME 25 Vorlesung: NP-Vollständigkeit Markus Krötzsch Professur für Wissensbasierte Systeme Komplexitätsklassen sind Mengen von Sprachen, die man (grob) einteilt entsprechend

Mehr

Komplexitätstheorie Kap. 4: Grundlegende Ergebnisse...

Komplexitätstheorie Kap. 4: Grundlegende Ergebnisse... Gliederung der Vorlesung 1. Analyse von Algorithmen 1.1 Motivation 1.2 Laufzeit von Algorithmen 1.3 Asymptotische Notationen 2. Entwurf von Algorithmen 2.1 Divide & Conquer 2.2 Dynamisches Programmieren

Mehr

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2 Beispiel: NTM M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) 0,1,R 0,0,R q0 1,0,R q1 #,#,R q2 0,0,L Zustand 0 1 # q 0 {(1, R, q 0 )} {(0, R, q 1 )} q 1 {(0, R, q 1 ),(0, L, q 0 )} {(1, R, q

Mehr

Entscheidungsprobleme

Entscheidungsprobleme Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge U Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge

Mehr

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeitssätze der Logik Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30 Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 4 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 4 : Komplexitätsklassen Informatik III - WS07/08 Kapitel 4 2 Sprachen, Probleme, Zeitkomplexität

Mehr

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes. Turingmaschinen Wir haben Turingmaschinen eingeführt. Bis auf einen polynomiellen Anstieg der Rechenzeit haben Turingmaschinen die Rechenkraft von parallelen Supercomputern! Statt Turingmaschinen anzugeben,

Mehr