Sostengo che per un "CSP booleano naturale", se la versione con restrizioni k è in P per ogni k , allora anche la versione senza restrizioni è in P. Definirò un "CSP booleano naturale" di seguito.
Il teorema di Schaefer afferma che il CSP booleano su un insieme finito S di relazioni è in P se almeno una delle seguenti condizioni è soddisfatta ed è NP-completo se nessuna di esse è soddisfatta:
- Ogni relazione in S (tranne la costante 0) è soddisfatta assegnando 1 a tutte le sue variabili.
- Ogni relazione in S (tranne la costante 0) è soddisfatta assegnando 0 a tutte le sue variabili.
- Ogni relazione in S è equivalente a una formula 2-CNF.
- Ogni relazione in S equivale a una formula di clausola di Horn.
- Ogni relazione in S equivale a una formula a doppia clausola di Horn. (Una "formula a doppia clausola del corno" indica una formula CNF in cui ogni clausola contiene al massimo un valore letterale positivo.)
- Ogni relazione in S equivale a una congiunzione di clausole affine.
Ora supponi che P ≠ NP, e considera il caso in cui S è infinito. Se la versione con restrizioni k è in P per ogni k , quindi dal teorema di Schaefer, ogni sottoinsieme finito di S soddisfa almeno una delle sei condizioni sopra, e ciò significa che l'intero insieme S soddisfa almeno una delle sei condizioni. Questo significa che anche questo CSP senza la limitazione sull'arità è in P? Non ancora.
Quando S è infinito, dobbiamo specificare come viene fornita ciascuna clausola nella formula di input. Partiamo dal presupposto che v'è una certa mappatura suriettivo da {0,1} * a S , che specifica la codifica delle relazioni in S . Un CSP booleano viene specificato fornendo sia S che questa funzione di codifica.
Si noti che in ciascuno dei casi 3, 4, 5 e 6 sopra, esiste un modo naturale per rappresentare le relazioni che soddisfano la condizione: una formula 2-CNF nel caso 3, una formula della clausola di Horn nel caso 4 e così via. Anche se una relazione è equivalente a (diciamo) una formula 2-CNF, non vi è alcuna garanzia a priori che la sua codifica dia un facile accesso alla formula 2-CNF che è equivalente ad essa.
Ora diciamo che un CSP booleano è naturale quando la sua funzione di codifica soddisfa quanto segue:
- Data una codifica di una relazione e un'assegnazione a tutte le sue variabili, se la relazione è soddisfatta o meno può essere calcolata in tempo polinomiale. (Nota: questo assicura che il CSP in questione sia sempre in NP.)
- Data una codifica di una relazione che soddisfa la condizione 3, 4, 5 o 6, la sua rappresentazione naturale come sopra specificato può essere calcolata in tempo polinomiale.
Quindi è facile vedere che se S soddisfa una delle sei condizioni sopra e la codifica per S soddisfa questa condizione di "naturalezza", allora possiamo applicare l'algoritmo corrispondente. L'affermazione che ho affermato all'inizio può essere dimostrata considerando sia il caso di P = NP sia il caso di P ≠ NP.