Je tape ceci assez rapidement en raison de contraintes de temps sévères (et je n'ai même pas eu à répondre plus tôt pour la même raison), mais je pensais que j'essaierais au moins de donner ma part avec mes deux centimes.
Je pense que c'est une très bonne question et que j'ai passé pas mal de temps au cours des dernières années à examiner cela. (Divulgation complète: j'ai reçu une grande partie de mon financement actuel précisément pour tenter de trouver des réponses à des questions de ce type, puis potentiellement pour convertir des informations plus approfondies dans SAT en solutions plus efficaces pour résoudre les SAT.)
Si on devait donner une réponse en une phrase, alors je pense
personne ne sait vraiment et c'est un domaine de recherche actif
est à peu près aussi bon qu'il obtient. Sauf que cela laisse plus de place à plus d'activité, surtout du côté théorique.
Certaines explications proposées (non mutuellement exclusives), qui ont déjà été discutées dans d’autres réponses et commentaires, sont
- a) des portes dérobées,
- (b) considérations de complexité paramétrées,
- (c) structure graphique du problème de la CNF,
- (d) des considérations de complexité de la preuve, et
- e) transitions de phase.
À partir de la fin (e), il semble y avoir une certaine confusion concernant les transitions de phase. La réponse courte ici est qu’il n’ya aucune raison de penser que le rapport clauses-variables est pertinent pour les problèmes appliqués ou les problèmes combinatoires théoriques (ou instances construites). Mais pour une raison quelconque, il est assez courant de penser, dans la partie appliquée de la communauté SAT, que le ratio clauses / variables devrait être en quelque sorte une mesure généralement pertinente. Le rapport clause / variable est très pertinent pour k-SAT aléatoire, mais pas pour les autres modèles.
Mon sentiment est que les coulisses (a) ont été une explication populaire, mais je n’ai personnellement pas eu la preuve convaincante que cela explique ce qui se passe dans la pratique.
La complexité paramétrée (b) fournit une belle théorie sur certains aspects de la SAT, et une hypothèse très intéressante est que les instances de SAT sont faciles car elles ont tendance à être "proches d'un îlot de tractabilité". Je pense que cette hypothèse ouvre de nombreuses pistes de recherche passionnantes. Comme indiqué dans certaines réponses, il existe de nombreux liens entre (a) et (b). Cependant, à ce jour, rien ne prouve que la complexité paramétrée soit trop en corrélation avec ce qui se passe dans la pratique. En particulier, il semble que les instances traitables puissent être très, très difficiles en pratique, et les instances dépourvues de petites portes dérobées peuvent encore être très faciles.
L'explication qui me semble la plus crédible pour les instances industrielles est (c), à savoir que la structure (graphique) des formules CNF en question devrait être corrélée à la performance SAT pratique. L'idée ici est que les variables et les clauses d'instances industrielles peuvent être regroupées dans des communautés bien connectées avec peu de connexions entre elles, et que les solveurs SAT exploitent en quelque sorte cette structure. Malheureusement, il semble assez difficile de cerner le problème de manière plus rigoureuse et, malheureusement, cette région souffre d’un certain battage médiatique. Les explications proposées que j'ai vues jusqu'à présent dans les journaux sont plutôt insatisfaisantes et les modèles semblent faciles à abattre. Le problème semble être que si on veut vraiment le faire à fond, les calculs deviennent alors très difficiles (parce que le problème est complexe) et extrêmement désordonnés (car votre modèle doit être suffisamment proche de la réalité pour obtenir des résultats pertinents). En particulier, les articles que j'ai vus expliquant que la performance de l'heuristique VSIDS (somme décroissante indépendante de l'état variable) pour les choix de variables fonctionne bien car elle explore les communautés dans la représentation graphique des instances ne sont guère convaincantes, bien que l'hypothèse en tant que telle reste très attrayant.
Un domaine de recherche que j'ai personnellement étudié est de savoir si la performance SAT pratique est en quelque sorte en corrélation avec les mesures de complexité de preuve des formules CNF en question. Malheureusement, la réponse courte semble être qu’il n’ya pas vraiment de lien clair et convaincant. Il se peut qu’il existe encore des corrélations non triviales (c’est quelque chose que nous étudions actuellement de différentes manières), mais il semble que la théorie soit trop belle et nette et que la réalité soit trop confuse pour qu’il y ait un très bon match. (Concernant le document concernant les mesures de complexité de la preuve et la dureté pratique du SATde Järvisalo, Matsliah, Nordström et Živný dans le document CP '12, il est apparu que des expériences plus détaillées fournissaient une image beaucoup plus complexe avec des conclusions moins claires - nous espérons obtenir une version complète de la revue traitant de cette décennie, mais c’est compliqué, même si, espérons-le, intéressant.)
Un autre domaine de travail lié à la complexité de la preuve consiste à modéliser des solveurs SAT de pointe en tant que systèmes de preuve et à prouver des théorèmes dans ces modèles afin de déduire les propriétés des solveurs correspondants. C’est un peu un champ de mines, cependant, dans la mesure où des choix de conception modestes et apparemment inoffensifs du côté du modèle théorique peuvent avoir pour résultat que les résultats sont à peu près complètement dénués de pertinence d’un point de vue pratique. D'un autre côté, si l'on veut un modèle théorique assez proche de la réalité pour donner des résultats pertinents, ce modèle devient extrêmement compliqué. (Cela s'explique par le fait que les performances du solveur SAT dépendent de l'historique global de tout ce qui s'est passé jusqu'à présent de manière non triviale, ce qui signifie que le modèle ne peut pas être modulaire dans la manière habituelle de configurer nos systèmes de preuve, qu'il s'agisse d'une étape de dérivation particulière ou non. "correct"
Pipatsrisawat et Darwiche 2011) et [Atserias, Fichte et Thurley 2011] et [Atserias, Fichte et Thurley 2011], deux articles qui méritent d’être mentionnés comme des exceptions à cette règle, ont toutefois montré possibilité de simuler de manière polynomiale une résolution générale complète. Il y a une assez longue liste d'articles précédant [PD11] et [AFT11] qui réclament essentiellement le même résultat, mais ils ont tous de sérieux problèmes de modélisation. (Il est vrai que [PD11] et [AFT11] ont également besoin de certaines hypothèses pour fonctionner, mais il s'agit en gros des hypothèses minimales auxquelles vous vous attendriez, à moins que vous ne demandiez des documents qui montreraient également que la hiérarchie de complexité paramétrée s'effondre.)
Encore une fois, j'écris tout cela très rapidement, mais si tout ce qui précède suscite un intérêt substantiel, je pourrais essayer de développer (bien que cela puisse prendre un certain temps pour revenir à cela encore une fois, n'hésitez pas à me contacter si est quelque chose que vous voudriez que je commente). Comme moyen rapide de fournir des références, permettez-moi de faire quelques self-plugs sans vergogne (bien que la honte soit quelque peu atténuée lorsque je vois que certains commentaires ont également cité certaines de ces références):
Discussion de type tutoriel sur l'interaction entre la complexité de la preuve et la résolution SAT donnée à l'université internationale d'été sur la satisfiabilité, les théories de modulo de satisfiabilité et le raisonnement automatisé en 2016 avec de nombreuses références complètes à la fin des diapositives: http://www.csc .kth.se / ~ jakobn / research / TalkInterplaySummerSchool2016.pdf
Étude légèrement plus récente et plus brève sur le sondage Comprendre la résolution SAT basée sur les conflits du point de vue de la complexité de la preuve à partir de début 2017 (avec également les références complètes à la fin): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf
Enquête sur les liens entre la complexité de la preuve et la résolution SAT: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Référence bibliographique: Jakob Nordström. Sur l'interaction entre la complexité de la preuve et la résolution SAT. ACM SIGLOG News, volume 2, numéro 3, pages 19-44, juillet 2015. (Version légèrement modifiée avec quelques fautes de frappe corrigées.)]
Papier SAT '16 avec CDCL modélisé fidèlement comme système de preuve: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [Référence bibliographique: Jan Elffers, Jan Johannsen, Massimo Lauria, Massimo Lauria, Thomas Magnard , Jakob Nordström et Marc Vinyals. Compromis entre temps et mémoire dans un modèle plus étroit de solveurs CDCL SAT. Dans Actes de la 19e Conférence internationale sur la théorie et les applications du test de satisfiabilité (SAT '16), Notes de cours en informatique, volume 9710, pages 160-176, juillet 2016.]