Satz von Cook - LinkFang.de





Satz von Cook


Der kanadische Wissenschaftler Stephen A. Cook begründete 1971 eine neue Klasse von Problemen in der Komplexitätstheorie. Er zeigte, dass eine Teilmenge der Klasse NP existiert, auf die sich alle Probleme aus NP reduzieren lassen. Diese Teilmenge ist damit repräsentativ für die Schwierigkeit von NP und wird als NP-vollständig (NPC für engl. NP complete) bezeichnet. Der nach ihm benannte Satz von Cook sagt aus, dass das Erfüllbarkeitsproblem der Aussagenlogik, SAT (von engl. satisfiability), NP-vollständig ist. Einen vergleichbaren Satz veröffentlichte Leonid Levin unabhängig von Cook im Jahre 1973, deswegen spricht man manchmal auch vom Satz von Cook und Levin.

Mit einem bekannten Vertreter der Klasse war der Nachweis für andere Probleme aus NP wesentlich einfacher zu führen, da es für ein Problem M aus NP nun ausreichte eine polynomielle Reduktion von SAT auf M zu konstruieren, um die NP-Vollständigkeit von M zu beweisen. Richard M. Karp erweiterte 1972 auf diese Weise NPC um 21 weitere Probleme, bis heute wurden mehrere hundert nachgewiesen.

Beweisskizze

Sei [math]L[/math] eine beliebige Sprache in NP. Es ist nun eine Reduktion von [math]L[/math] auf SAT zu konstruieren, d. h. eine Beschreibung, wie aus einer Zeichenkette [math]x[/math] in Polynomialzeit eine aussagenlogische Formel berechnet werden kann, welche genau dann erfüllbar ist, wenn [math]x \in L[/math]. Weil [math]L[/math] in NP liegt, gibt es eine nichtdeterministische Turingmaschine [math]M[/math], die in Polynomialzeit entscheidet, ob [math]x[/math] zur Sprache [math]L[/math] gehört. Die Grundidee der Reduktion ist nun, die Aussage, dass die Berechnung der Maschine [math]M[/math] bei Eingabe [math]x[/math] ergibt, dass [math]x[/math] zur Sprache [math]L[/math] gehört, in einer aussagenlogischen Formel auszudrücken. In dieser Formel müssen sich also eine Beschreibung der Maschine [math]M[/math], eine Beschreibung der Eingabe [math]x[/math] sowie die Regeln, nach denen eine nichtdeterministische Turingmaschine arbeitet, wiederfinden.

Dazu verwenden wir diese drei Familien boolescher Variablen mit der jeweils nachfolgend angegebenen Interpretation:

  • [math]Q[t,q][/math]: Die Turing-Maschine befindet sich zum Zeitpunkt [math]t[/math] im Zustand [math]q[/math] und keinem anderen.
  • [math]H[t,z][/math]: Der Lesekopf der Turing-Maschine befindet sich zum Zeitpunkt [math]t[/math] an der Bandzelle [math]z[/math] und keinem anderen.
  • [math]S[t,z,a][/math]: Zum Zeitpunkt [math]t[/math] steht in der Bandzelle [math]z[/math] der Turing-Maschine das Symbol [math]a[/math] und kein anderes.

Dabei sind nur diejenigen Bandzellen von Bedeutung, welche der Lesekopf tatsächlich erreicht. Da eine Turingmaschine den Lesekopf in einem Rechenschritt nur um eine Bandzelle bewegen kann, ist durch die Anzahl der Rechenschritte auch die Anzahl der erreichbaren Bandzellen beschränkt.

Die Formel besteht nun aus folgenden Klauseln:

  1. Zu Beginn stehen in den Bandzellen die Symbole von [math]x[/math], umgeben von Leerzeichen.
  2. Zu Beginn befindet sich [math]M[/math] im Startzustand.
  3. [math]M[/math] hält seine Zustandsübergangsrelation [math]\Delta[/math] ein: Wenn sich zum Zeitpunkt [math]t[/math] die Maschine in Zustand [math]q[/math], der Lesekopf an Bandzelle [math]z[/math], und in Bandzelle [math]z[/math] das Symbol [math]a[/math] befindet, so befindet sich zum Zeitpunkt [math]t+1[/math] die Maschine in einem Zustand [math]q^\prime[/math], der Lesekopf an einer Bandzelle [math]z+z^\prime[/math], und in Bandzelle [math]z[/math] ein Symbol [math]a\prime[/math], so dass [math](q,a,q^\prime,a^\prime,z^\prime) \in \Delta[/math] gilt.
  4. Am Ende befindet sich [math]M[/math] in einem akzeptierenden Endzustand.
  5. Zu jedem Zeitpunkt [math]t[/math] befindet sich [math]M[/math] in genau einem Zustand.
  6. Zu jedem Zeitpunkt [math]t[/math] befindet sich der Lesekopf an genau einer Bandzelle.
  7. Zu jedem Zeitpunkt [math]t[/math] befindet sich in jeder Bandzelle [math]z[/math] genau ein Symbol.
  8. Befindet sich der Lesekopf zum Zeitpunkt [math]t[/math] nicht an Bandzelle [math]z[/math], so enthält diese Bandzelle zum Zeitpunkt [math]t+1[/math] noch immer dasselbe Zeichen.

Die erste Teilaussage beschreibt [math]x[/math], die Teilaussagen 2 bis 4 beschreiben [math]M[/math], und die Teilaussagen 5 bis 8 beschreiben die Regeln für nichtdeterministische Turingmaschinen. Die Frage, ob es eine erfüllende Belegung für die booleschen Variablen gibt, ist nun gleichwertig mit der Frage, ob es einen akzeptierenden Lauf von [math]M[/math] bei Eingabe [math]x[/math] gibt.

Impulse für die Wissenschaft

Hauptartikel: P-NP-Problem

Im Jahr 1971 trug Cook über seine Arbeit mit dem Titel The complexity of theorem-proving procedures auf dem amerikanischen Annual ACM Symposium on Theory of Computing (STOC) vor. In den folgenden Jahren gewann die Komplexitätstheorie stark an Bedeutung und die Frage [math]\mathsf{NP} \neq \mathsf{P}[/math] rückte in den Mittelpunkt der Forschung der Theoretischen Informatik. Es erscheinen hierzu Artikel im Spektrum der Wissenschaften, in der New York Times, im Spiegel, in der Frankfurter Allgemeinen Zeitung, in der Zeit und vielen anderen. In den 80er Jahren erlebte die Komplexitätstheorie ihre Hauptblütezeit. Es wurde die jährlich weltweit an wechselnden Orten stattfindende Tagung Structures in Complexity gegründet.

Siehe auch

Weblinks

Literatur

  • Stephen A. Cook: The complexity of theorem-proving procedures. In: Proceedings of the 3rd Annual ACM Symposium on the Theory of Computing (STOC'71). ACM, New York 1971, S. 151–158.
  • Leonid Levin: Universal sorting problems. In: Problems of Information Transmission, Jg. 9 (1973), S. 265–266, ISSN 0032-9460 .
  • Richard M. Karp: Reducibility among combinatorial problems. In: James W. Thatcher, Raymond E. Miller (Hrsg.): Complexity of Computer Computations. Plenum Press, New York 1972, ISBN 0-306-30707-3.

Kategorien: Komplexitätstheorie | Satz (Mathematik)

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Satz von Cook (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.