Vous pouvez souvent trouver des méthodes de plan de coupe, de propagation variable, de branchement et de limite, d'apprentissage de clause, de retour en arrière intelligent ou même d'heuristique humaine tissée à la main dans les solveurs SAT. Pourtant, pendant des décennies, les meilleurs solveurs SAT se sont largement appuyés sur des techniques de preuve de résolution et utilisent une combinaison d'autres choses simplement pour l'aide et pour diriger la recherche de style de résolution. De toute évidence, on soupçonne que TOUT algorithme ne parviendra pas à décider de la question de satisfiabilité en temps polynomial dans au moins certains cas.
En 1985, Haken a prouvé dans son article "L'intractabilité de la résolution" que le principe des trous de pigeon codé en CNF n'admettait pas les preuves de résolution de taille polynomiale. Bien que cela prouve quelque chose sur l'intractabilité des algorithmes basés sur la résolution, cela donne également des critères par lesquels les solveurs de pointe peuvent être jugés - et en fait, l'une des nombreuses considérations qui entrent dans la conception d'un solveur SAT aujourd'hui est de savoir comment il est susceptible de fonctionner sur des cas «durs» connus.
Avoir une liste de classes de formules booléennes qui admettent de manière prouvable des preuves de résolution de taille exponentielle est utile dans le sens où cela donne des formules «dures» pour tester de nouveaux solveurs SAT. Quel travail a été fait pour compiler ces classes ensemble? Quelqu'un at-il une référence contenant une telle liste et leurs preuves pertinentes? Veuillez énumérer une classe de formule booléenne par réponse.