Estou digitando isso rapidamente devido a severas restrições de tempo (e nem sequer consegui responder mais cedo pelo mesmo motivo), mas achei que tentaria pelo menos entrar em contato com meus dois centavos.
Eu acho que essa é uma pergunta realmente ótima e passamos um tempo não trivial nos últimos anos analisando isso. (Divulgação completa: recebi grande parte do meu financiamento atual precisamente para tentar encontrar respostas para perguntas desse tipo e, em seguida, potencialmente converter idéias mais profundas no SAT em solucionadores mais eficientes de SAT.)
Se alguém tivesse que dar uma resposta de uma frase, então eu acho
ninguém realmente sabe e esta é uma área ativa de pesquisa
é tão bom quanto ele ganha. Exceto que há muito mais espaço para mais atividades, especialmente do lado da teoria.
Algumas explicações propostas (não mutuamente exclusivas), que já foram discutidas em outras respostas e comentários, são
- a) portas traseiras;
- (b) considerações de complexidade parametrizadas,
- (c) estrutura gráfica do problema da CNF,
- (d) considerações de complexidade de prova, e
- (e) transições de fase.
A partir do final (e), parece haver alguma confusão em relação às transições de fase. A resposta curta aqui é que não há razão alguma para acreditar que a razão de cláusulas para variáveis seja relevante para problemas aplicados ou problemas combinatórios teóricos (também conhecidos como instâncias criadas). Mas, por alguma razão, é um equívoco não muito incomum na parte aplicada da comunidade SAT que a proporção de cláusulas para variáveis deve, de alguma forma, ser uma medida geralmente relevante. A razão de cláusula para variável é muito relevante para o k-SAT aleatório, mas não para outros modelos.
Meu sentimento é que os backdoors (a) têm sido uma explicação popular, mas eu pessoalmente não tenho visto evidências convincentes de que isso explique o que acontece na prática.
A complexidade parametrizada (b) fornece uma bela teoria sobre alguns aspectos do SAT, e uma hipótese muito atraente é que as instâncias do SAT são fáceis porque tendem a estar "próximas a alguma ilha de tratabilidade". Eu acho que essa hipótese abre muitas direções interessantes de pesquisa. Como observado em algumas das respostas, existem muitas conexões entre (a) e (b). No entanto, até agora, não vejo nenhuma evidência de que a complexidade parametrizada se correlacione demais com o que está acontecendo na prática. Em particular, parece que instâncias tratáveis podem ser muito, muito difíceis na prática, e instâncias sem pequenas portas traseiras ainda podem ser muito fáceis.
A explicação que me parece mais crível para instâncias industriais é (c), a saber, que a estrutura (gráfica) das fórmulas da CNF em questão deve ser correlacionada com o desempenho prático do SAT. A idéia aqui é que variáveis e cláusulas de instâncias industriais podem ser agrupadas em comunidades bem conectadas com poucas conexões entre elas, e que os solucionadores de SAT de alguma forma exploram essa estrutura. Infelizmente, parece bastante difícil definir isso de maneira mais rigorosa, e igualmente infelizmente essa área sofre com uma quantidade razoável de exageros. As explicações propostas que vi até agora em artigos são bastante insatisfatórias e os modelos parecem fáceis de abater. O problema parece ser que, se alguém realmente quiser fazer isso completamente, então a matemática fica muito difícil (porque é um problema difícil) e também fica extremamente confusa (porque você precisa que seu modelo esteja próximo o suficiente da realidade para obter resultados relevantes). Em particular, os trabalhos que eu vi explicando que o desempenho da heurística VSIDS (soma de decaimento independente do estado variável) para escolhas variáveis funciona bem porque explora comunidades no gráfico, a representação das instâncias é bastante pouco convincente, embora a hipótese, como tal, ainda seja muito atrativo.
Uma linha de pesquisa que eu pessoalmente busquei é se o desempenho prático do SAT se correlaciona de alguma forma com as medidas de complexidade de prova das fórmulas da CNF em questão. Infelizmente, a resposta curta parece ser que realmente não há uma conexão clara e convincente. Ainda pode haver correlações não triviais (isso é algo que estamos investigando atualmente de maneiras diferentes), mas parece que a teoria é muito agradável, limpa e bonita, e a realidade é muito confusa para que haja uma combinação realmente boa. (Em relação ao artigo Relacionando Medidas de Complexidade de Prova e Dureza Prática do SATpor Järvisalo, Matsliah, Nordström e Živný no CP '12, verificou-se que experimentos mais detalhados fornecem uma imagem muito mais complexa com conclusões menos claras --- esperamos chegar a uma versão completa do periódico relatando isso a qualquer década, mas é complicado, embora ainda seja interessante.)
Outra linha de trabalho relacionada à complexidade da prova é modelar os solucionadores SAT de ponta como sistemas de prova e provar teoremas nesses modelos para deduzir propriedades dos solucionadores correspondentes. No entanto, esse é um campo minado, pois pequenas e aparentemente inócuas opções de design no lado do modelo teórico podem levar os resultados a serem praticamente completamente irrelevantes do ponto de vista prático. Por outro lado, se alguém deseja um modelo teórico próximo da realidade para obter resultados relevantes, esse modelo fica extremamente confuso. (Isso ocorre porque o desempenho do SAT solver depende da história global de tudo o que aconteceu até agora de maneiras não triviais, e isso significa que o modelo não pode ser modular da maneira como geralmente configuramos nossos sistemas de prova - se uma etapa de derivação específica é "corrigir"
Porém, dois artigos que realmente devem ser mencionados como exceções são [Pipatsrisawat e Darwiche 2011] e [Atserias, Fichte e Thurley 2011], onde é mostrado que a cláusula orientada a conflitos que aprende os solucionadores de SAT modelados de maneira natural tem o potencial para simular polinomialmente a resolução geral e completa. Há uma lista bastante longa de artigos anteriores a [PD11] e [AFT11] que alegam essencialmente o mesmo resultado, mas todos eles têm sérios problemas com a modelagem. (É verdade que [PD11] e [AFT11] também precisam de algumas suposições para funcionar, mas elas são praticamente as mínimas que você esperaria, a menos que você esteja pedindo papéis que também mostrem que a hierarquia de complexidade parametrizada entra em colapso.)
Mais uma vez, estou escrevendo tudo isso muito rapidamente, mas, se houver um interesse substancial por qualquer uma das opções acima, eu poderia tentar elaborar (embora possa demorar um pouco para retornar a isso novamente --- sinta-se à vontade para me enviar um ping, se houver é qualquer coisa que você queira que eu comente). Como uma maneira rápida de fornecer referências, deixe-me fazer algumas auto-descaradas vergonhosas (embora a vergonha diminua um pouco quando vejo que alguns comentários também citaram algumas dessas referências):
Palestra em estilo de tutorial Sobre a interação entre complexidade de prova e resolução de SAT, apresentada na Escola Internacional de Verão sobre Satisfação, Teorias de Módulos de Satisfação e Raciocínio Automatizado em 2016, com muitas referências completas no final dos slides: http://www.csc .kth.se / ~ jakobn / research / TalkInterplaySummerSchool2016.pdf
Pesquisa de opinião um pouco mais recente e mais breve Noções básicas sobre a solução de SAT orientada por conflitos através da lente da complexidade da prova do início de 2017 (também com referências completas no final): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf
Pesquisa de conexões entre a complexidade da prova e a solução do SAT: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Referência bibliográfica: Jakob Nordström. Sobre a interação entre a complexidade da prova e a resolução de SAT. Notícias do ACM SIGLOG, volume 2, número 3, páginas 19-44, julho de 2015. (Versão levemente editada, com alguns erros corrigidos.)]
Artigo SAT '16 com CDCL modelado fielmente como um sistema de prova: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [Referência bibliográfica: Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas Magnard , Jakob Nordström e Marc Vinyals. Compensações entre tempo e memória em um modelo mais rígido de solventes CDCL SAT. Em Anais da 19ª Conferência Internacional sobre Teoria e Aplicações de Testes de Satisfação (SAT '16), Notas de Aula em Ciência da Computação, volume 9710, páginas 160-176, julho de 2016.]