Un tipo di conversione è semplicemente il contrario della conversione da k-sat-a-3-sat:
Ricordiamo, la conversione di k-sat in "j" -sat, j < k:
→(X1∨X2. . . ∨Xj∨ . . . ∨XK)(X1∨X2. . .Xj∨ d) ∧ (d¯¯¯∨Xj + 1∨Xj + 2. . .XK)
Qui, dè una variabile fittizia, che significa qualcosa come "Questa clausola non è vera, ma un'altra clausola che conosco lo è". L'altra clausola è la clausola successiva che è stata separata dall'originale. Quanto sopra è un esempio in cui2 j ≥ k, altrimenti il secondo nodo diviso sarà ancora più grande di j, e dobbiamo dividerlo di nuovo, allo stesso modo.
Invertire la conversione
(X1∨X2. . .Xj) ∧ (X¯¯¯j∨Xj + 1∨ . . .XK) quindi puoi combinare le clausole in:
(X1∨X2. . .Xj - 1∨Xj + 1∨Xj + 2∨ . . .XK)
Nota i dispersi Xj in questa nuova formula.
Ovviamente, non sei sicuro di trovare clausole come questa in una formula arbitraria, quindi la più piccola garantitank + m è uguale a nK.
Tuttavia, sulle formule ordinarie, una formula e la sua negazione appariranno nella formula; altrimenti è possibile eseguire l'eliminazione letterale (descritta qui ). Per semplicità, supponiamo anche chek + m ≥ 2 k - 2. Quindi possiamo combinare due clausole che contengono un letterale in una e la sua negazione nell'altra. Poiché ogni letterale dovrebbe avere un'altra clausola con una negazione, si può empiricamente indovinare che dovresti essere in grado di dimezzare il numero di clausole (potresti rimanere bloccato con alcuni letterali e le loro negazioni in clausole già unite, e quindi rimarrai bloccato con alcune clausole non accettabili alla fine; unire in modo ottimale clausole come questa potrebbe essere un altro problema interessante).
MODIFICARE:
Dopo la riflessione, me ne sono reso conto Xjdeve essere libero e non utilizzato altrove nella formula per comprimere le due clausole a cui appartiene. Pertanto, questo tipo di clausole (una contenente un letterale e l'altra la sua negazione, con questo letterale non utilizzato altrove nella formula) è molto più rara di quanto pensassi in precedenza. Quindi la vera risposta è che non esiste alcuna garanzia di quanto possiamo ridurre il numero di clausole nella formula.