Je prétends que pour un «CSP booléen naturel», si la version k- restreinte est en P pour chaque k , alors la version non restreinte est également en P. Je définirai un «CSP booléen naturel» ci-dessous.
Le théorème de Schaefer déclare que le CSP booléen sur un ensemble fini S de relations est dans P si au moins une des conditions suivantes est satisfaite et il est NP-complet si aucune d'entre elles n'est satisfaite:
- Chaque relation dans S (à l'exception de la constante 0) est satisfaite en affectant 1 à toutes ses variables.
- Chaque relation dans S (à l'exception de la constante 0) est satisfaite en affectant 0 à toutes ses variables.
- Chaque relation dans S est équivalente à une formule 2-CNF.
- Chaque relation dans S est équivalente à une formule de clause de Horn.
- Chaque relation dans S est équivalente à une formule à double clause de Horn. (Une «formule à double clause Horn» signifie une formule CNF où chaque clause contient au plus un littéral positif.)
- Chaque relation dans S est équivalente à une conjonction de clauses affines.
Supposons maintenant que P ≠ NP, et considérons le cas où S est infini. Si la version k restreinte est en P pour chaque k , alors par le théorème de Schaefer, chaque sous-ensemble fini de S satisfait au moins une des six conditions ci-dessus, et cela signifie que l'ensemble S satisfait à au moins une des six conditions. Est-ce à dire que ce CSP sans restriction sur l'arité est également en P? Pas encore.
Lorsque S est infini, nous devons spécifier comment chaque clause de la formule d'entrée est donnée. Nous partons du principe qu'il ya une application surjective de {0,1} * à S , qui spécifie le codage des relations dans S . Un CSP booléen est spécifié en donnant à la fois S et cette fonction de codage.
Notez que dans chacun des cas 3, 4, 5 et 6 ci-dessus, il existe un moyen naturel de représenter des relations satisfaisant à la condition: une formule 2-CNF dans le cas 3, une formule de clause Horn dans le cas 4, etc. Même si une relation est équivalente (disons) à une formule 2-CNF, rien ne garantit a priori que son codage donne un accès facile à la formule 2-CNF qui lui est équivalente.
Maintenant, nous disons qu'un CSP booléen est naturel lorsque sa fonction de codage satisfait les points suivants:
- Étant donné un codage d'une relation et une affectation à toutes ses variables, le fait que la relation soit satisfaite ou non peut être calculé en temps polynomial. (Remarque: cela garantit que le CSP en question est toujours en NP.)
- Étant donné un codage d'une relation satisfaisant aux conditions 3, 4, 5 ou 6, sa représentation naturelle telle que spécifiée ci-dessus peut être calculée en temps polynomial.
Ensuite, il est facile de voir que si S satisfait à l'une des six conditions ci-dessus et que le codage pour S satisfait à cette condition de «naturalité», alors nous pouvons appliquer l'algorithme correspondant. L'affirmation que j'ai énoncée au début peut être prouvée en considérant à la fois le cas de P = NP et le cas de P ≠ NP.