Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 6<br />
Komplexität von<br />
Algorithmen<br />
Bisher haben wir uns die Frage gestellt, ob e<strong>in</strong> Problem entscheidbar (d.h. mit<br />
Hilfe e<strong>in</strong>es Algorithmus lösbar) ist. Jetzt wollen wir auch die Effizienz von Algorithmen<br />
diskutieren. Es gibt wichtige Aufgaben, wie z.B. jeden Graphen mit der<br />
kle<strong>in</strong>stmöglichen Zahl an Farben zu färben (ohne dass e<strong>in</strong>e Kante gleichfarbige Knoten<br />
verb<strong>in</strong>det), für die es zwar Algorithmen gibt, aber ke<strong>in</strong> effizienter Algorithmus<br />
bekannt ist.<br />
Wir führen zuerst die Klasse P aller Probleme e<strong>in</strong>, die effizient lösbar s<strong>in</strong>d; z.B. das<br />
Problem, jeden Graphen, für den es möglich ist, mit zwei Farben zu färben. ” Effizient“<br />
bedeutet: <strong>in</strong> polynomialer Zeit durchführbar. Genauer: e<strong>in</strong> Problem gehört<br />
der Klasse P an, falls es mit e<strong>in</strong>em Algorithmus lösbar ist, für den es e<strong>in</strong> Polynom<br />
p(m) gibt, so dass für jede E<strong>in</strong>gabe der Größe m die Lösung <strong>in</strong> p(m) Zeite<strong>in</strong>heiten<br />
gefunden werden kann. Es zeigt sich, dass die Klasse P nicht von dem Modell der<br />
Berechnung abhängt: es kann e<strong>in</strong>e Tur<strong>in</strong>gmasch<strong>in</strong>e, e<strong>in</strong>e RAM oder e<strong>in</strong>e moderne<br />
Workstation se<strong>in</strong>. (Natürlich wird für diese drei Modelle das ausgewählte Polynom<br />
p(n) ganz verschieden se<strong>in</strong>, d.h., der ” Grad der Effizienz“ hängt sehr von der konkreten<br />
Implementierung ab. Aber die pr<strong>in</strong>zipielle Möglichkeit, die Zeit durch e<strong>in</strong><br />
Polynom zu beschränken, ist implementierungsunabhängig.)<br />
Danach wird die Klasse N P aller Probleme e<strong>in</strong>geführt, für die wenigstens die Überprüfung,<br />
ob e<strong>in</strong>e gegebene Datei das Problem löst, effizient ist. Z.B. das Problem,<br />
jeden Graphen, für den es möglich ist, mit drei Farben zu färben: es ist ke<strong>in</strong> effizienter<br />
Algorithmus bekannt, aber die Überprüfung, ob e<strong>in</strong>e vorgeschlagene Färbung<br />
wirklich drei Farben benutzt und ke<strong>in</strong>e Kante zwischen gleichfarbigen Knoten ergibt,<br />
ist effizient. Leider ist es bis heute nicht bekannt, ob P = N P. Aber es s<strong>in</strong>d<br />
viele Probleme bekannt, die ” N P-vollständig“ s<strong>in</strong>d - für diese gilt: wäre e<strong>in</strong>es dieser<br />
Probleme effizient lösbar, wären es alle anderen auch, denn dann folgt P = N P. Das<br />
erwähnte Problem der Dreifärbung von Graphen ist, wie wir beweisen werden, N Pvollständig.<br />
Es sche<strong>in</strong>t sehr unwahrsche<strong>in</strong>lich, dass dieses Problem effizient lösbar<br />
ist, aber falls ja, würde daraus folgen, dass viele andere wichtige Probleme (z.B.<br />
Travel<strong>in</strong>g Salesman Problem) effizient lösbar wären.<br />
Dieses Kapitel hat, wie die vorigen, theoretischen Charakter; z.B. benutzt die Klasse<br />
P beliebige Polynome zur Zeite<strong>in</strong>schränkung und das ist nicht ” realistisch“, falls<br />
das Polynom e<strong>in</strong>en zu großen Exponenten hat. Dennoch hat Komplexitätstheorie<br />
wichtige praktische Aspekte. Stellen Sie sich vor, dass Ihr Chef Sie damit beauftragt<br />
hat, e<strong>in</strong> Programm zu schreiben, das überprüft, ob e<strong>in</strong>e vorgeschlagene Produktspe-<br />
131