Prof. Dr. André Schulz. Kurs Komplexitätstheorie LESEPROBE

Ähnliche Dokumente
mathematik und informatik

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

Logisches und funktionales Programmieren

Einführung in die Geschichtswissenschaft

Einige Grundlagen der Komplexitätstheorie

Politikwissenschaft, Verwaltungswissenschaft, Soziologie

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

Einführung in die Allgemeine Bildungswissenschaft

Diagnostizieren, Evaluieren und Intervenieren in schulischen und Bildungskontexten

mathematik und informatik

Wissenschaftliches Arbeiten Eine Einführung für den Studiengang B.A. Kulturwissenschaften

Prof. Dr. Andreas Glöckner. Sprache, Denken, Urteilen, Entscheiden und Bewusstsein. kultur- und sozialwissenschaften

Klinische Soziologie:

Einführung in die Erziehungs- und Bildungswissenschaft

mathematik und informatik

kultur- und sozialwissenschaften

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

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

Maximale Punktzahl erreichte Punktzahl

mathematik und informatik

Karl-Heinz Renner. Einführung in die Differentielle Psychologie und Persönlichkeitsforschung. kultur- und sozialwissenschaften

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

3 Probabilistische Komplexitätsklassen

Theoretische Informatik Mitschrift

Die Komplexitätsklassen P und NP

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

Teil III. Komplexitätstheorie

kultur- und sozialwissenschaften

Bernd Marcus & Jane Hergert. Berufsleistung und Leistungsbeurteilung

abgeschlossen unter,,,, R,

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

Kapitel 4: Komplexitätstheorie Gliederung

Christian Lüders. Teilnehmende Beobachtung und Ethnografie. kultur- und sozialwissenschaften

Kapitel 4: Komplexitätstheorie Gliederung

Theoretische Grundlagen der Informatik

NP-vollst. u. NP-äquiv. Probleme

kultur- und sozialwissenschaften

Kapitel L:II. II. Aussagenlogik

Übungsblatt Nr. 5. Lösungsvorschlag

Übungen zur Vorlesung Grundbegriffe der Theoretischen Informatik Thomas Schwentick

P, NP und NP -Vollständigkeit

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

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

FernUniversität in Hagen Fakultät für Wirtschaftswissenschaft

Grundlagen der Theoretischen Informatik

Algorithmen II Vorlesung am

Theoretische Grundlagen der Informatik

Prof. Dr. Kathrin Jonkmann. Einführung in die Pädagogische Psychologie. kultur- und sozialwissenschaften

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Das Rucksackproblem: schwache NP-Härte und Approximation

Das Problem des Handlungsreisenden

Grundlagen der Theoretischen Informatik Prüfungsvorbereitung September 2013

Wissenschaftliches Arbeiten Eine Einführung für den Studiengang B.A. Kulturwissenschaften

Klausur SoSe Juli 2013

Formale Grundlagen der Informatik 1 Kapitel 21 P und NP

Dank. Theoretische Informatik II. Teil VI. Vorlesung

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

kultur- und sozialwissenschaften

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

2 Komplexitätstheorie

Vorlesung VL-13. P versus NP. Wdh.: LOOP versus WHILE. Korrektur: Primitiv rekursive Funktionen (2) Wdh.: Kostenmodelle der RAM

Theoretische Informatik II

Lernen und Lehren im Erwachsenenalter

kultur- und sozialwissenschaften

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Grundkurs Theoretische Informatik

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009

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

kultur- und sozialwissenschaften

Theoretische Grundlagen der Informatik

NP Vollständigkeit. Patryk Mazur

Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF

Satz 227 3SAT ist N P-vollständig. Info IV 2 N P-Vollständigkeit 375/388 c Ernst W. Mayr

Einführung in die Wirtschaftsphilosophie

Theoretische Informatik 1

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Vorlesung 3: Graphenalgorithmen. Markus Püschel David Steurer Peter Widmayer. PDF download goo.gl/ym3spq

kultur- und sozialwissenschaften

Präsenzveranstaltung B-Modul Theorie der Leistungserstellung. Thomas Solga. Hagen, 17. Februar 2014

Laufzeit einer DTM, Klasse DTIME

kultur- und sozialwissenschaften

kultur- und sozialwissenschaften

Rucksackproblem und Verifizierbarkeit

Theoretische Informatik 1

Theoretische Informatik 2

Registermaschine. c(1) c(2) c(3) c(4) Speicher. Programm

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Berechenbarkeitstheorie 1. Vorlesung

Approximationsalgorithmen für NP-harte Optimierungsprobleme

Algorithmen und Datenstrukturen 1 Kapitel 5

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Transkript:

Prof. Dr. André Schulz Kurs 01686 Komplexitätstheorie LESEPROBE

Das Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere das Recht der Vervielfältigung und Verbreitung sowie der Übersetzung und des Nachdrucks bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie, Mikrofilm oder ein anderes Verfahren) ohne schriftliche Genehmigung der FernUniversität reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden.

Kurseinheit 1 Grundlegende Komplexitätsklassen 1.1 Übersicht Am Anfang diese Kurses lernen wir grundlegende Komplexitätsklassen kennen. Um überhaupt eine Komplexitätsklasse definieren zu können, müssen wir uns Gedanken über das zu Grunde liegende Berechnungsmodell machen. Des Weiteren sollten diese Definitionen auch robust und sinnvoll sein (Komplexitätsklassen machen nur Sinn wenn eine genügend große Menge an Problemen in Ihnen enthalten sind). Diese Vorarbeiten werden in dieser Kurseinheit durchgeführt. Dies geschieht ohne zu großen Formalismus, aber intuitiv sehr anschaulich. Die Anschaulichkeit birgt natürlich immer auch das Risiko, technische Details zu übergehen. Mit den Anmerkungen zu jeder Kurseinheit versuchen wir den Lesern des Textes eine Hilfestellung zum besseren Verständnis des Textes zu geben. Dies gilt generell für den gesamten Kurs. Zum Ende der Lerneinheit werden dann einige wichtige Klassen vorgestellt, und deren Beziehung zueinander (soweit bekannt) beschrieben. Lesen Sie im Basistext die Seiten 1 46. 1.2 Anmerkungen S. 14: Nehmen wir für das Manhattan Beispiel der Einfachheit halber an, dass m = n. Ein kürzester Weg von (0, 0) nach (n, n) besteht dann aus n Schritten nach rechts und n Schritten nach oben. In welcher Reihenfolge diese Schritte gemischt werden, ist dabei unerheblich. Wir können also sagen, dass wir die Positionen der n nach-oben- Schritte innerhalb der 2n Schritte frei wählen können. Das ergibt also 2n n = (2n)! Möglichkeiten. Nutzt man die Stirlingformel n! p 2 n n e n, so kann man die asymptotische Anzahl der kürzesten Wege mit (4 n ) beschränken. Hier ist die Abschätzung des Autors also sehr defensiv. S. 16: Der Autor erwähnt viele andere Versionen von TSP. Hier wäre vor allen Dingen noch das graphische TSP zu ergänzen. Im graphischen TSP wird als Metrik die kürzeste- Pfad-Metrik eines ungerichteten Graphen benutzt. Seit 2011 wurden Fortschritte zur Approximierbarkeit von TSP vor allen Dingen in der Variante des graphischen TSP erzielt. n!n!

2 Kurseinheit 1 Grundlegende Komplexitätsklassen S. 19, unten Konjunktive Normalform wird häufig mit CNF abgekürzt (entsprechend DNF bei disjunktiver Normalform). Bei CNF mit 3 Literalen pro Klausel sagt man dann auch 3CNF. S. 21: Die Registermaschine ist in der Tat das Referenzmodell für die meisten aktuellen (!) Betrachtungen in der Komplexitätstheorie. Sehr viele klassische Ergebnisse beruhen aber auf dem Modell der Turingmaschine, welches ebenfalls im Basistext erklärt wird. Ich möchte aber nicht verschweigen, dass es durchaus markante Unterschiede zu aktuellen Prozessoren gibt. So kann in einer Registermaschine in jedem Register eine beliebig große natürliche Zahl stehen. Diese unnatürliche Annahme wird durch das logarithmische Kostenmaß (definiert auf der nächsten Seite) wieder relativiert. Trotzdem gibt es auch Modelle, die die Wortbreite des Prozessors (und damit auch die maximale Größe einer Zahl im Register) berücksichtigen. Ein solches Modell ist die word-ram. Mit ihr kann man auch ein kleines Maß an Parallelität in den Rechenschritten realisieren und somit einige Probleme (wie das Sortieren) schneller lösen. S. 23, unten: Bei der Laufzeit vom Dijkstra-Algorithmus bezieht sich das n auf die Anzahl der Knoten und m auf die Anzahl der Kanten des Graphen. Diese Konvention ist für Graphenprobleme standard. S. 26, oben: Beachten Sie, dass die groß-o Notation Mengen von Funktionen definiert. Man sollte also eigentlich schreiben g(n) 2 O( f (n)) und nicht g(n) = O( f (n)). Die zweite Schreibweise hat sich aber in der Theoretischen Informatik eingebürgert und ist (trotz nicht korrekter Benutzung des Formalismus) etabliert und zum Standard geworden. S. 29, unten: Vergegenwärtigen sie sich, dass das Polynom eines Polynoms (also die Komposition zweier Polynome) wieder ein Polynom ist. S. 30, Def. 3.1.1: Die Klasse P und alle anderen in diesem Abschnitt definierten Klassen enthalten nur Entscheidungsprobleme. Dies wurde in der Definition unterschlagen. (Die abgeleitenen Optimierungs- und Auswertungsprobleme der Probleme aus P sind aber äquivalent, dazu in Kapitel 4.2 mehr.) S. 30, mitte Das kleine Omega! bezeichnet eine asymptotisch scharfe untere Schranke. Schlagen Sie im Anhang A.1. nach und lesen sie die Ausführungen zur Groß-O Notation. S. 31, mitte: Startet der Algorithmus neu, bekommt er eine neue Sequenz von Zufallsbits. Dies wird zum Teil in der Praxis anders umgesetzt. Hier liefert der Pseudozufallszahlengenerator bei einigen Programmiersprachen immer die gleich Sequenz an Zufallsbits, wenn man vorher nicht den seed ändert. S. 31, unten: Der Autor spricht hier und im weiterem Verlauf von der durchschnittlichen Rechenzeit. Konkret meint er damit den Erwartungswert der Rechenzeit, wenn man als Zufallsvariable die Zufallsbits betrachtet. Da sich das durch das ganze Buch zieht, behalten Sie das bitte stets im Hinterkopf.

1.2 Anmerkungen 3 S. 33, unten: Die co- Konvention ist nur für Klassen von Entscheidungsproblemen definiert. In diesem Fall wird die Komplexitätsklasse formal als eine Sprachfamilie (Kodierung der Ja-Instanzen der Probleme) beschrieben. Wenn L also eine Sprachklasse ist, dann ist co-l definiert als {L L 2 L}. Auf der Problemebene heißt dies nichts anderes, als das die Ja- und die Nein-Antworten vertauscht sind. Beachten Sie, dass in der Regel co-l, L. Zum Beispiel sei L = {{a}}, dann ist co-l = {{w w, a}}, jedoch L = {L L, {a}}. S. 36, unten: Der Autor spricht von nicht schnell gegen 1 wachsenden Funktionen "(n), damit meint er Funktionen die durch 1 1/p(n), für p(n) Polynom, beschränkt sind (siehe Thm. 3.3.2). Aus den ähnlichen Gründen sollte man aber auch statt "(n) = 0 lieber "(n) 2 p(n) fordern. S. 38, Zeile 4: Hier wurde nach dem Einsetzen von t(n) für die weiteren Umformungen eine 1 addiert und subtrahiert. S. 39, Thm. 3.3.8: Achtung! Beim Diagramm handelt es sich nicht notwendiger Weise um echte Teilmengen. In den meisten Fällen ist nicht bekannt, ob es sich um echte Teilmengen handelt. S. 39, Beweis Thm. 3.3.8: Wir können in einem Algorithmus für ein Problem aus BPP einfach statt einen? ein beliebiges Ergebnis ausgeben. Lernziele Nach dem Studium dieser Lerneinheit sollten Sie in der Lage sein den Begri Algorithmus definieren zu können, zu erklären, wie man die Rechenzeit eines Algorithmus misst, die Erweiterte Churche These wiederzugeben, die Rechenmodelle Registermaschine und Turingmaschine zu beschreiben, wichtige Probleme in der Komplexitätstheorie aufzuzählen (auf Seite 15 gelistet), die Komplexitätsklassen im Allgemeinen und die Klassen P, ZPP, BPP, RP, corp, NP, co-np, PP im Besonderen zu definieren, Beziehungen zwischen den oben genannten Komplexitätsklassen zu beweisen.