Brandenburgische Technische
Universität Cottbus
Startseite
Studium
Institut
BTU
|
|
Komplexitätstheorie I
Vorlesung WS 02/03 (4+2), Hauptstudium Säule 1
B.v.Braunmühl, X.Zheng
Skript Komplexitätstheorie I: ps pdf
letzte Änderungen: 4.2.2003
Ende der Ferien wird voraussichtlich das komplette Skript mit Kapitel
P-NP abrufbar sein.
Übungsaufgaben
Literatur
John E. Hopcroft, Jeffrey D. Ullman:
Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie,
Addison-Wesley 1994.
Trotz seines Alters (es stammt aus dem Jahr 1979) ein Bestseller wegen
seines hervorragenden Stils - einer Mischung aus Anschaulichkeit und Präzision,
die sehr gelungen ist. Für den Anfang ist dieses Buch zu empfehlen,
auch wenn nicht sehr viel Komplexitätstheorie darin vorkommt.
José L. Balcázar, Josep Díaz, Joaquim Gabarró:
Structural Complexity I+II,
Springer 1995.
Dies ist in einem ähnlich guten Stil geschrieben, überdeckt
aber viel größere Bereiche der Theorie. Es ist sehr empfehlenswert
Wolfgang J. Paul: Komplexitätstheorie,
Teubner 1978
Der Autor ist brillant, das Buch alt und schnell geschrieben, zum Teil
fordernd, aber umso lohnender.
Karl Rüdiger Reischuk: Einführung in die Komplexitätstheorie,
Teubner 1990.
Ein Buch, in dem man viel findet, sehr umfangreich an Stoff, wegen der
starken Formalisierung nicht leicht zu lesen. Manchmal fehlen Beweise,
die man auf Grund der Aufmachung erwartet, aber wer sich auf den Stil
einläßt, kann viel lernen.
Michael R. Garey, David S. Johnson: Computers and Intractability,
Freeman 1979.
Eine große Sammlung an NP-vollständigen Problemen mit einer
sehr ausfühlichen und leicht geschriebenen Einführung in die
Problematik. Ein in der Szene sehr populäres Buch.
K. Wagner and G.Wechsung: Computational Complexity,
D.Reidel Publishing Company 1986.
Ein Kompendium, das sich zum Ziel gesetzt hat, die Ergebnisse der Theorie
bis zum Erscheinungsjahr möglichst vollständig darzustellen.
Trotz des gedrängten Stils sind meistens Beweise angegeben. Die augeklügelte
vereinheitlichende Notation muß erst gelernt werden, bevor man es
als Nachschlagewerk nützlich findet. Das Alter tut einer solchen
Sammlung Abbruch, wenn man den heutigen Stand kennenlernen will, andererseits
erkennt man daran, wie flüchtig die Ergebnisse der Informatik noch
sind.
Zur Komplexitätstheorie
Für die Realisierung von Aufgaben ist der
Aufwand an Zeit oder Speicher von nicht unerheblicher Bedeutung. Hierzu
ist eine ganze Theorie entstanden, die sich mit der Komplexität von
Aufgaben beschäftigt. Die Theorie der Komplexität besteht aus
3 unterschiedlichen, aber miteinander verwobenen Gebieten: Effiziente
Algorithmen und ihre Analyse, Strukturelle Komplexitätstheorie und
abstrakte Komplexitätstheorie.
Auf dem Gebiet der effizienten Algorithmen beschäftigt man sich damit,
für definierte Probleme zeit- bzw. platzoptimale Algorithmen zu finden
(obere Schranken), oder zu beweisen, daß es keine Algorithmen gibt,
die weniger als einen vorgegebenen Aufwand treiben (untere Schranken).
Dieses Gebiet ist der Praxis am nächsten, es ist voller zum Teil
komplizierter Ideen, aber es gibt hier noch keine zusammenhängende
Theorie mit Sätzen, die allgemein anwendbar sind.
Die strukturelle Komplexitätstheorie beschäftig sich mit Komplexitätsklassen,
d.h. mit Gruppen von Aufgaben etwa gleicher Schwierigkeit. Kann man mit
größerem Aufwand immer auch neue schwerere Aufgaben lösen
oder gibt es Lücken, d.h. muß man mit dem Aufwand sehr viel
höher gehen, um neue Aufgaben lösen zu können? Gibt
es einen Aufwand, mit dem man alle berechenbaren Aufgaben lösen kann?
Eine besondere Rolle spielen die Aufgaben, die in einem vertretbaren Zeitaufwand
lösbar sind, z.B., die höchstens einen polynomiellen Zeitbedarf
haben. Um wieviel steigt der Aufwand, wenn wir einen nichtdeterministischen
Algorithmus deterministisch simulieren wollen? Kann man die Aufgaben,
die man nichtdetermistisch in polynomieller Zeit lösen kann (NP),
auch deterministisch in polynomieller Zeit lösen (P)? Gibt es maximal
schwere (NP-vollständige) Aufgaben in der Klasse NP, deren Zugehörigkeit
zu P die Gleichheit von NP und P nach sich zöge?
Die abstrakte Komplexitätstheorie löst sich ganz von den konkreten
Aufwandsmaßen und Modellen. Sie definiert axiomatisch, was ein Maß
ist, und bildet daraus eine Theorie, die für alle Maß gilt,
die konkreten, die man immer schon betrachtet wie Zeit und Platz, aber
auch Maße, an die man zur Zeit noch nicht denkt. Diese Theorie ist
noch klein und eher ein Gebiet der Rekursionstheorie.
Wir wollen uns hier mit der strukturellen Komplexitätstheorie befassen,
d.h. die Struktur der Komplexitätsklassen untersuchen.

|