Ich bitte um sachliche Kritik an meiner line of reasoning:
Ein Problem ist genau dann in NP, wenn es einen polynomiellen Algorithmus (in Bezug auf die Größe der Eingabedaten) gibt, der überprüft, ob eine gegebene Lösung korrekt ist.
Ein Problem ist genau dann in P, wenn es in NP ist und zusätzlich die Anzahl der Lösungen, die überprüft werden müssen, so dass mit hundertprozentiger Sicherheit die korrekte Lösung darunter ist, polynomiell ist (ebenfalls in Bezug auf die Größe der Eingabedaten).
Ich definiere:
Lösungsraum: ist die Anzahl der Lösungen, die es überhaupt geben kann, egal ob korrekt oder nicht.
Suchraum: ist die Anzahl der Lösungen, die unbedingt durchsucht werden müssen, damit mit hundertprozentiger Sicherheit die korrekte Lösung darunter ist (ohne Raten und ohne vorherige Kenntnis der korrekten Lösung).
Die Frage ist, ob es Probleme gibt, die in NP, aber nicht in P liegen.
Bekannt ist: Es gibt NP-vollständige Probleme; nur wenn ein NP-vollständiges Problem in NP, aber nicht in P liegt, gibt es Probleme, die in NP, aber nicht in P liegen.
Ein NP-vollständiges Problem ist k-SAT: Gegeben sind n boolesche Variablen (können die Werte wahr oder falsch annehmen), diese kommen in c Clauses (Disjunktionen) vor, jeweils k Variablen pro Clause; alle Clauses sind miteinander durch Konjunktion überprüft.
Ich möchte zeigen, dass der Suchraum bei k-SAT nicht polynomiell und daher k-SAT nicht in P enthalten ist.
Der Lösungsraum beträgt 2^n, da jede Variable entweder wahr oder falsch sein kann, also genau zwei Werte annehmen kann. Der tatsächliche Suchraum ist kleiner als 2^n, aber im allgemeinen Fall nicht polynomiell. Der Grund: Es gibt keine andere Möglichkeit vorzugehen, als einer Variablen einen Wert zuzuweisen und dann zu schauen, wie sich das auf die anderen Variablen auswirkt. Wenn k-SAT in P wäre, dann müsste es in jeder Formel die gleiche Anzahl von Variablen geben, deren Wert man festlegen muss, so dass sich die Werte aller anderen Variablen ergeben. Wenn das t Variablen sind, dann ist der Suchraum (n choose t). Wenn t konstant ist, ist das polynomiell. t ist aber nicht konstant. Vielmehr stellt die Anzahl der Clauses eine obere Schranke für t dar. t kann also unter Umständen so groß sein wie die Anzahl der Clauses. Da die Anzahl der Clauses bei k-SAT aber variabel ist, ist der Suchraum nicht polynomiell.
Das wären die Gedanken, die mir kurz durch den Kopf geschossen sind. Ich habe nämlich heute meinen 30. Geburtstag, und ein Gratulant hat mir gewünscht, dass ich dieses Jahr endlich das P-NP-Problem löse. Deswegen habe ich jetzt im Bett darüber nachgedacht, obwohl ich eigentlich schon längst schlafen sollte, weil es schon fast Mitternacht ist und ich morgen früh wieder arbeiten muss. Deshalb nehme ich mir jetzt nicht die Zeit, selbst genau darüber nachzudenken, ob bzw. wo ich einen Fehler gemacht habe. Wie gesagt, bitte ich um sachliche Kritik.