Hey,
ich glaub wenn man sich das ein wenig genauer anschaut sollte das recht klar werden.
Ein P Algorithmus entscheidet ob ein Wort zu einer Sprache gehört. Dies muss von einer deterministischen Turingmaschine in polynomieller Laufzeit gemacht werden können. Irgendwann gabs mal in THI son beweis, dass man Turingmaschinen auch als Programme mit FOR/WHILE schleifen ausdrücken kann. Gib also einfach nen Algorithmus an, der in polynomieller Zeit das Problem entscheidet.. Also z.B. mit schritte zählen und dann die Komplexitätsklasse bestimmen, wobei da meist reicht wenn man sagen kann "das ist polynomiell, das mit dem auch, also ist es insgesamt polynomiell". Aber sonst ist ein O(n^k) immer schön in P (k=konstante).
NP Sprachen werden von nicht deterministischen Touringmaschinen entschieden. Da gibts natürlich immer den schönen Weg über das Zertifikat, wenn man in polynomieller Zeit sagen kann "jap das ist in der Sprache", dann ist die Länge der Berechnungswege polynomiell beschränkt. Verzweigen/Raten darf ja ne Touringmaschine und alle Pfade gleichzeitig abarbeiten. Manchmal ists aber auch einfacher direkt die nichtdeterministische Touring Maschine anzugeben. Z.B. könnte nen
Beweis wie folgt aussehen
1. Zertifikat
Setz die Variablenbelegung in die Formel ein und da es nicht mehr Logische Operatoren als Eingabezeichen gibt kann man den Wahrheitswert der Formel in Polynomieller Zeit berechnen (zumindest linear, kann auch schneller gehen, aber wen interessierts hier
)
2. NTM für SAT
|
Source code
|
1
2
3
4
5
|
Eingabe: Formel
Methode:
Rate Variablenbelegung b
Wenn Formel wahr unter b gebe 1 aus
sonst 0
|
Da ist halt das raten nicht deterministisch und das auswerten in P, also ists ne NP Maschine. Vielleicht wird hier auch klar. Variante 1. ist ein P-Algorithmus der entscheidet ob die Belegung zur Formel passt, daraus folgt dass das Problem dessen Zertifikat in 1 berechnet wird in NP liegt (das könnte auch ein P-Problem sein!).
Variante 2. ist eine NTM und die entscheidet ob es irgendeine Belegung gibt, für die die Formel wahr ist, das ist deutlich schwerer als das Problem in Variante 1 und benötigt den Rate schritt.
PS: Warum geht kein Latex in Source Code
?