Hier besteht das Ziel darin, ein beliebiges SAT-Problem in Polynomzeit unter Verwendung der geringsten Anzahl von Klauseln und Variablen auf 3-SAT zu reduzieren. Meine Frage ist von Neugierde motiviert. Weniger formal möchte ich wissen: "Was ist die 'natürlichste' Reduzierung von SAT auf 3-SAT?"
Die Reduktion, die ich in Lehrbüchern immer gesehen habe, sieht ungefähr so aus:
Nehmen Sie zuerst Ihre SAT-Instanz und wenden Sie den Cook-Levin-Satz an, um ihn auf die SAT-Schaltung zu reduzieren.
Anschließend beenden Sie den Job durch die Standardreduzierung des Schaltkreises SAT auf 3-SAT, indem Sie die Gatter durch Klauseln ersetzen.
Während dies funktioniert, sehen die resultierenden 3-SAT-Klauseln aufgrund der anfänglichen Anwendung des Cook-Levin-Theorems fast nicht so aus wie die SAT-Klauseln, mit denen Sie begonnen haben.
Kann jemand sehen, wie man die Reduzierung direkter vornimmt, den Zwischenkreis überspringt und direkt zu 3-SAT übergeht? Ich würde mich sogar über eine direkte Reduzierung des Sonderfalls von n-SAT freuen.
(Ich würde vermuten, dass es einige Kompromisse zwischen der Rechenzeit und der Größe der Ausgabe gibt. Es ist klar, dass eine entartete - wenn auch glücklicherweise unzulässige - Lösung darin besteht, nur das SAT-Problem zu lösen und dann eine triviale 3 auszugeben -SAT-Instanz ...)
EDIT: Basierend auf der Antwort von ratchet ist es jetzt klar, dass die Reduzierung auf n-SAT etwas trivial ist (und dass ich mir das vor dem Posten wirklich etwas genauer hätte überlegen sollen). Ich lasse diese Frage für den Fall offen, dass jemand die Antwort auf die allgemeinere Situation kennt, sonst akzeptiere ich einfach die Antwort der Ratsche.