Theoretische Informatik - Zusammenfassung!
|
|
- Lioba Schuster
- vor 5 Jahren
- Abrufe
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 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die
MehrTheoretische 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
MehrTheoretische 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
MehrTheoretische 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
MehrTheoretische 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
MehrTheoretische 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
MehrTheoretische 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
MehrInformatik 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
MehrWillkommen 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
MehrLö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
MehrTheoretische Informatik 1
Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung
MehrTheorie 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
MehrRucksackproblem 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
MehrTheoretische 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
MehrZeitkomplexitä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
MehrInformatik 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
Mehrabgeschlossen 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
MehrInformatik 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
MehrHä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
MehrInformatik 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
MehrEinfü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
MehrGrundlagen 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
MehrTheoretische 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
MehrGrundlagen 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
MehrTyp-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
MehrTheoretische 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
MehrGrundlagen 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:
MehrGrundlagen 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:
MehrTheoretische 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
MehrTHEORETISCHE 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
MehrInformatik 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
MehrWillkommen 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
Mehr12. 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
MehrProseminar 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
MehrTheoretische 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
MehrKlausur: 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.
MehrEinfü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
MehrKlassische 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
MehrTeil 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
MehrFormale 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
MehrEinfache 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!
MehrPrä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:...................................
MehrTheorie 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)
MehrTheoretische 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
MehrWas 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
MehrVorlesung 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
MehrEinige 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
MehrWillkommen 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
Mehr19. 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
MehrKomplexitä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
MehrGrundlagen 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:
MehrProseminar 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........................................
MehrLaufzeit 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
MehrNichtdeterministische 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
Mehr11. 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
MehrVorlesungsskript. 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
Mehrsubexponentielle 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
MehrDank. 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
MehrGrundlagen 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
MehrReduktion / 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
MehrP, 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
MehrJohannes 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
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
MehrZusammenfassung. 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
MehrGrundlagen 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
MehrTheoretische 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
MehrDie 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
MehrFormale 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
MehrDas 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.
MehrInformatik 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
MehrTheoretische 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
MehrLö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 :................................
MehrGrundlagen 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
MehrWeitere universelle Berechnungsmodelle
Weitere universelle Berechnungsmodelle Mehrband Turingmaschine Nichtdeterministische Turingmaschine RAM-Modell Vektoradditionssysteme λ-kalkül µ-rekursive Funktionen 1 Varianten der dtm Mehrkopf dtm Kontrolle
MehrPolynomielle 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
Mehr1 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
MehrTheoretische 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
Mehr13. 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
MehrAllgemeines 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
MehrBerechenbarkeit 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
MehrBerechenbarkeits- 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
Mehr3 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
Mehr2.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
MehrDank. 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
MehrNP-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
MehrDefinition 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
MehrTuring 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
MehrFORMALE 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
MehrFORMALE 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
MehrKomplexitä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
MehrBeispiel: 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
MehrEntscheidungsprobleme
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
MehrUnentscheidbarkeitssä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
Mehr11.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
MehrInformatik 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
MehrStatt 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