Unterabschnitte
Guess and Check-Methode
Bei der Guess and Check-Methode wird eine Kombination mit Hilfe des ,,Orakels'' einfach geraten. Dabei wird so geraten, daß direkt das richtige Ergebnis geraten wird. Gibt es kein richtiges Ergebnis, so wird ein falsches Ergebnis ausgegeben. Das von dem nichtdeterministischen Guess-Bereich erratene Ergebnis wird im deterministischen Check-Bereich noch einmal auf Richtigkeit überprüft. Hier stellt sich heraus, ob es wirklich richtig ist oder ob die Guess-Methode ein falsches Ergebnis zurückgegeben hat, weil es kein richtiges gibt.
SAT
: Die zu überprüfende Formel, wobei z.B.
Wir raten zunächst mit Hilfe des ,,Orakels'' eine Belegung der Formel.
Ist das SAT-Problem erfüllbar, bekommen wir eine erfüllbare Belegung zurück. Wenn nicht irgendeine Belegung.
Dann können wir in
Schritten überprüfen, ob die geratene Belegung tatsächlich eine wahre Belegung ist.
Wir benötigen polynomielle Laufzeit für beide Teilalgorithmen, da die Anzahl der Literale durch
beschränkt ist.
Unter dem deterministischen. logarithmischen Kostenmaß hat der Primzahltest die Laufzeit
, unter dem nichtdeterministischen Kostenmaß die Laufzeit
.
Dies kommt dadurch zustande, daß wir mit Guess-Methode einen möglichen Teiler raten. Es wird ein Teiler der zu testenden Zahl geraten, wenn es einen gibt. Andernfalls wird irgendeine Zahl geraten. Nachdem wir den möglichen Teiler geraten haben, können wir testen, ob dieser geratene Teile wirklich Teiler der zu testenden Zahl ist.
Kodierung des Graphen
Man kann den Graph G folgendermaßen codieren:
Kodierung des CP
Man kann das gesamte CP folgendermaßen kodieren:
Eingabegröße des CP
Die Eingabegröße ist also
Laufzeit des CP
Für ein deterministisches Verfahren können wir für die untere Schranke die Laufzeit mit
festlegen. Dies beruht auf der Tatsache, daß wir
Möglichkeiten haben, eine k-er Clique aus allen Knoten auszuwählen
23. Wir testen jede Clique in konstanter Zeit.
Es gilt die Abschätzung:
exponentielle Laufzeit
24
Es gibt folgende Klassen im deterministischen und im nichtdeterministischen:
DTIME |
NTIME |
DSPACE |
NSPACE |
NP liegt in EXPTIME
Dies können wir beweisen, indem wir die NTM
, die den NP-Algorithmus ausführt mit einer deterministischen DTM
in EXPTIME simulieren.
Es liegt ein Berechnungsbaum vor, welchen wir mit Hilfe einer Breitensuche oder einem Preorderdurchlauf durchgehen. Da die nichtdeterministische Turingmaschine
polynomiell beschränkt ist, ist die maximale Tiefe des Baumes polynomiell beschränkt.
Der Verzweigungsgrad jedes Knotens dieses Baumes ist
somit gilt für die Knotenanzahl
Also ist die Simulation von
exponentiell beschränkt
NP
EXPTIME
Auf wenn nur Wörter
von der Turingmaschine
in
akzeptiert werden, können wir die gesamte Turingmaschine beschränken, indem wir alle irgendwann verwerfenden oder endlosen Berechnungen abschneiden, wenn sie über polynomielle Laufzeit hinaus laufen.
Fußnoten
- ... auszuwählen23
- Kombinatorik
- ... Laufzeit24
- Das Nichtdeterministische Verfahren für das CP hat polynomielle Laufzeit.