Estoy escribiendo esto bastante rápido debido a limitaciones de tiempo severas (y ni siquiera pude responder antes por la misma razón), pero pensé que al menos trataría de contribuir con mis dos centavos.
Creo que esta es una gran pregunta, y he pasado una cantidad de tiempo no trivial en los últimos años investigando esto. (Divulgación completa: he recibido una gran parte de mi financiación actual precisamente para tratar de encontrar respuestas a preguntas de este tipo, y luego potencialmente para convertir información más profunda en SAT en solucionadores SAT más eficientes).
Si uno tuviera que dar una respuesta de una oración, entonces creo
nadie lo sabe realmente y esta es un área activa de investigación
es casi tan bueno como parece. Excepto que hay mucho más espacio para más actividad, especialmente desde el lado de la teoría.
Algunas explicaciones propuestas (no mutuamente excluyentes), que ya se han discutido en otras respuestas y comentarios, son
- (a) puertas traseras,
- (b) consideraciones de complejidad parametrizadas,
- (c) estructura gráfica del problema CNF,
- (d) consideraciones de complejidad de la prueba, y
- (e) transiciones de fase.
Comenzando desde el final (e), parece haber bastante confusión con respecto a las transiciones de fase. La respuesta corta aquí es que no hay razón alguna para creer que la relación de cláusulas a variables sea relevante para problemas aplicados o problemas combinatorios teóricos (también conocidos como instancias diseñadas). Pero por alguna razón, es una idea errónea no muy infrecuente en la parte aplicada de la comunidad SAT que la relación de cláusulas a variables debería de alguna manera ser una medida generalmente relevante. La relación cláusula-variable es muy relevante para k-SAT aleatorio, pero no para otros modelos.
Mi sensación es que las puertas traseras (a) han sido una explicación popular, pero personalmente no he visto evidencia convincente de que explique lo que sucede en la práctica.
La complejidad parametrizada (b) proporciona una hermosa teoría sobre algunos aspectos de SAT, y una hipótesis muy atractiva es que las instancias de SAT son fáciles porque tienden a estar "cerca de alguna isla de trazabilidad". Creo que esta hipótesis abre muchas direcciones interesantes de investigación. Como se señaló en algunas de las respuestas, hay muchas conexiones entre (a) y (b). Sin embargo, hasta ahora no veo ninguna evidencia de que la complejidad parametrizada se correlacione demasiado con lo que está sucediendo en la práctica. En particular, parece que las instancias que son manejables pueden ser muy, muy difíciles en la práctica, y las instancias sin puertas traseras pequeñas pueden ser muy fáciles.
La explicación que me parece más creíble para las instancias industriales es (c), a saber, que la estructura (gráfica) de las fórmulas CNF en cuestión debería estar correlacionada con el rendimiento práctico del SAT. La idea aquí es que las variables y cláusulas de instancias industriales pueden agruparse en comunidades bien conectadas con pocas conexiones entre ellas, y que los solucionadores de SAT de alguna manera explotan esta estructura. Desafortunadamente, parece bastante difícil precisar esto de manera más rigurosa, e igualmente desafortunadamente esta área sufre de una buena cantidad de publicidad. Las explicaciones propuestas que he visto hasta ahora en los documentos son bastante insatisfactorias y los modelos parecen ser fáciles de derribar. El problema parece ser que si uno realmente quiere hacer esto a fondo, entonces las matemáticas se ponen realmente difíciles (porque es un problema difícil) y también se vuelven extremadamente desordenadas (porque necesitas que tu modelo esté lo suficientemente cerca de la realidad para obtener resultados relevantes). En particular, los documentos que he visto que explican que el rendimiento de la heurística VSIDS (variable decreciente independiente del estado variable) para elecciones variables funciona bien porque explora las comunidades en la representación gráfica de las instancias son bastante poco convincentes, aunque la hipótesis como tal todavía es muy atractivo.
Una línea de investigación que he seguido personalmente es si el rendimiento práctico del SAT de alguna manera se correlaciona con las medidas de complejidad de prueba de las fórmulas CNF en cuestión. Desafortunadamente, la respuesta corta parece ser que realmente no hay una conexión clara y convincente. Todavía podría ser que hay correlaciones no triviales (esto es algo que estamos investigando actualmente de diferentes maneras), pero parece que la teoría es demasiado agradable, limpia y bonita, y la realidad es demasiado complicada para que haya una buena combinación. (Con respecto al artículo sobre pruebas de medidas de complejidad de prueba y dureza práctica de SATpor Järvisalo, Matsliah, Nordström y Živný en CP '12 resultó que los experimentos más detallados proporcionan una imagen mucho más compleja con conclusiones menos claras --- esperamos llegar a una versión de revista completa que informe sobre esto en cualquier década ahora, pero es complicado, aunque todavía es de esperar interesante).
Otra línea de trabajo relacionada en la complejidad de la prueba es modelar solucionadores SAT de última generación como sistemas de prueba y demostrar teoremas en estos modelos para deducir las propiedades de los solucionadores correspondientes. Sin embargo, esto es un campo de minas, ya que las elecciones de diseño pequeñas y aparentemente inocuas en el lado del modelo teórico pueden llevar a que los resultados sean completamente irrelevantes desde un punto de vista práctico. Por otro lado, si uno quiere un modelo teórico que esté lo suficientemente cerca de la realidad como para dar resultados relevantes, entonces este modelo se vuelve extremadamente desordenado. (Esto se debe a que el rendimiento del solucionador SAT depende de la historia global de todo lo que ha sucedido hasta ahora de manera no trivial, y esto significa que el modelo no puede ser modular en la forma en que usualmente configuramos nuestros sistemas de prueba, ya sea que un paso de derivación en particular sea "correcto"
Sin embargo, dos documentos que realmente deberían mencionarse como excepciones a esto son [Pipatsrisawat y Darwiche 2011] y [Atserias, Fichte y Thurley 2011], donde se muestra que las cláusulas basadas en conflictos que aprenden solucionadores SAT modelados de forma natural tienen el potencial para simular polinomialmente una resolución general completa. Hay una lista bastante larga de documentos que preceden a [PD11] y [AFT11] que esencialmente reclaman el mismo resultado, pero todos tienen serios problemas con el modelado. (Es cierto que [PD11] y [AFT11] también necesitan algunas suposiciones para funcionar, pero son prácticamente las mínimas que esperaría a menos que solicite documentos que también muestren que la jerarquía de complejidad parametrizada colapsa).
Una vez más, estoy escribiendo todo esto muy rápido, pero si hay un interés sustancial por algo de lo anterior, podría intentar elaborarlo (aunque podría llevar un tiempo volver a esto de nuevo --- por favor, siéntase libre de enviarme un ping si hay es cualquier cosa que quieras que comente). Como una forma rápida de proporcionar referencias, permítanme hacer algunos autoenchufes descarados (aunque la vergüenza disminuye un poco cuando veo que algunos comentarios también han citado algunas de estas referencias):
Charla estilo tutorial sobre la interacción entre la complejidad de la prueba y la solución SAT ofrecida en la Escuela Internacional de Verano sobre Teoría del Módulo de Satisfacción, Satisfabilidad y Razonamiento Automatizado en 2016 con muchas referencias completas al final de las diapositivas: http://www.csc .kth.se / ~ jakobn / research / TalkInterplaySummerSchool2016.pdf
Charla de encuestas un poco más reciente y más breve Comprensión de la resolución de conflictos impulsada por el conflicto a través de la lente de la complejidad de la prueba desde principios de 2017 (también con referencias completas al final): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf
Encuesta de conexiones entre la complejidad de la prueba y la resolución SAT: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Referencia bibliográfica: Jakob Nordström. Sobre la interacción entre la complejidad de la prueba y la resolución SAT. ACM SIGLOG News, volumen 2, número 3, páginas 19-44, julio de 2015. (Versión ligeramente editada con algunos errores tipográficos corregidos)]
Documento SAT '16 con CDCL modelado fielmente como un sistema de prueba: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [Referencia bibliográfica: Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas Magnard , Jakob Nordström y Marc Vinyals. Compromisos entre tiempo y memoria en un modelo más estricto de solucionadores CDCL SAT. En Actas de la XIX Conferencia Internacional sobre Teoría y Aplicaciones de Pruebas de Satisfacción (SAT '16), Lecture Notes in Computer Science, volumen 9710, páginas 160-176, julio de 2016.]