Sto scrivendo abbastanza rapidamente a causa di gravi vincoli di tempo (e non ho nemmeno potuto rispondere prima per lo stesso motivo), ma ho pensato che avrei provato a fare almeno un chip con i miei due centesimi.
Penso che questa sia davvero una grande domanda, e negli ultimi anni ho trascorso un periodo non banale a esaminare questo aspetto. (Informativa completa: ho ricevuto gran parte del mio attuale finanziamento proprio per cercare di trovare risposte a domande di questo tipo e quindi potenzialmente per convertire approfondimenti in SAT in solutori SAT più efficienti.)
Se uno dovesse dare una risposta di una frase, penso
nessuno lo sa davvero e questa è un'area attiva di ricerca
è praticamente buono come si arriva. Solo che c'è molto più spazio per più attività, specialmente dal lato della teoria.
Alcune spiegazioni proposte (non reciprocamente esclusive), che sono già state discusse in altre risposte e commenti, lo sono
- a) backdoor,
- (b) considerazioni sulla complessità parametrizzata,
- (c) struttura grafica del problema CNF,
- d) considerazioni sulla complessità della prova e
- (e) transizioni di fase.
A partire dalla fine (e), sembra esserci una certa confusione riguardo alle transizioni di fase. La risposta breve qui è che non vi è alcun motivo per credere che il rapporto tra clausole e variabili sia rilevante per problemi applicati o problemi teorici combinatori (ovvero istanze predisposte). Ma per qualche ragione è un malinteso non troppo raro nella parte applicata della comunità SAT che il rapporto clausole-variabili dovrebbe in qualche modo essere una misura generalmente rilevante. Il rapporto tra clausole e variabili è molto rilevante per k-SAT casuale, ma non per altri modelli.
La mia sensazione è che le backdoor (a) siano state una spiegazione popolare, ma personalmente non ho visto prove convincenti che spieghino cosa succede nella pratica.
La complessità parametrizzata (b) fornisce una bella teoria su alcuni aspetti della SAT, e un'ipotesi molto interessante è che le istanze di SAT sono facili perché tendono ad essere "vicine a qualche isola di tracciabilità". Penso che questa ipotesi apra molte entusiasmanti direzioni di ricerca. Come notato in alcune delle risposte, ci sono molte connessioni tra (a) e (b). Tuttavia, finora non vedo alcuna prova che la complessità parametrizzata sia troppo correlata a ciò che sta accadendo nella pratica. In particolare, sembra che le istanze trattabili possano essere molto, molto difficili in pratica, e le istanze prive di piccole backdoor possono essere ancora molto facili.
La spiegazione che mi sembra più credibile per le istanze industriali è (c), vale a dire che la struttura (grafica) delle formule CNF in questione dovrebbe essere correlata con le prestazioni pratiche di SAT. L'idea qui è che variabili e clausole di istanze industriali possono essere raggruppate in comunità ben collegate con poche connessioni tra loro e che i risolutori di SAT sfruttano in qualche modo questa struttura. Sfortunatamente, sembra abbastanza difficile definire questo in modo più rigoroso, e altrettanto sfortunatamente questa zona soffre di una buona dose di clamore. Le spiegazioni proposte che ho visto finora nei documenti sono abbastanza insoddisfacenti e i modelli sembrano essere facili da abbattere. Il problema sembrerebbe essere che se uno vuole davvero farlo a fondo, quindi la matematica diventa davvero dura (perché è un problema difficile) e diventa anche estremamente confusa (perché hai bisogno che il tuo modello sia abbastanza vicino alla realtà per ottenere risultati pertinenti). In particolare, gli articoli che ho visto spiegano che le prestazioni dell'euristico VSIDS (somma decadente indipendente dallo stato variabile) per le scelte variabili funzionano bene perché esplorano le comunità nella rappresentazione grafica delle istanze non sono abbastanza convincenti, sebbene l'ipotesi in quanto tale sia ancora molto attraente.
Una linea di ricerca che ho perseguito personalmente è se le prestazioni pratiche di SAT siano in qualche modo correlate con le misure di complessità della dimostrazione delle formule CNF in questione. Sfortunatamente, la risposta breve sembra essere che in realtà non esiste una connessione chiara e convincente. Potrebbe essere ancora che ci siano correlazioni non banali (questo è qualcosa che stiamo attualmente studiando in diversi modi), ma sembra che la teoria sia troppo bella, pulita e carina e la realtà sia troppo disordinata perché ci sia davvero una buona corrispondenza. (Per quanto riguarda il documento relativo alle misure di complessità della prova e alla durezza pratica del SATdi Järvisalo, Matsliah, Nordström e Živný nel CP '12, si è scoperto che esperimenti più dettagliati forniscono un quadro molto più complesso con conclusioni meno chiare --- speriamo di arrivare a una versione completa del diario che riporti questo su ogni decennio ormai, ma è complicato, anche se si spera ancora interessante.)
Un'altra linea di lavoro correlata in complessità di prova è quella di modellare solutori SAT all'avanguardia come sistemi di prova e dimostrare teoremi in questi modelli per dedurre le proprietà dei solutori corrispondenti. Questo è un po 'un campo minato, tuttavia, dal momento che le scelte di design piccole e apparentemente innocue dal lato del modello teorico possono portare i risultati ad essere praticamente del tutto irrilevanti da un punto di vista pratico. D'altra parte, se si desidera un modello teorico abbastanza vicino alla realtà per dare risultati pertinenti, allora questo modello diventa estremamente disordinato. (Questo perché le prestazioni del solutore SAT dipendono dalla storia globale di tutto ciò che è accaduto finora in modi non banali, e questo significa che il modello non può essere modulare nel modo in cui di solito installiamo i nostri sistemi di prova --- se un particolare passaggio di derivazione è "corretta"
Due articoli che in realtà dovrebbero essere menzionati come eccezioni a questo, tuttavia, sono [Pipatsrisawat e Darwiche 2011] e [Atserias, Fichte e Thurley 2011], dove è dimostrato che la clausola guidata dal conflitto che impara i solutori di SAT modellati in modo naturale hanno potenziale per simulare polinomialmente la risoluzione completa e generale. Esiste un elenco abbastanza lungo di articoli che precedono [PD11] e [AFT11] che sostengono essenzialmente lo stesso risultato, ma hanno tutti seri problemi con la modellazione. (È vero che anche [PD11] e [AFT11] necessitano di alcuni presupposti per funzionare, ma sono praticamente quelli minimi che ci si aspetterebbe a meno che non si chiedano documenti che mostrino anche che la gerarchia della complessità parametrizzata crolla.)
Ancora una volta, sto scrivendo tutto questo molto rapidamente, ma se ci fosse un interesse sostanziale per qualcosa di quanto sopra, potrei provare a elaborare (anche se potrebbe volerci un po 'di tempo per tornare di nuovo a questo --- non esitate a chiamarmi se c'è è qualcosa su cui vorresti che io commentassi). Come modo rapido per fornire riferimenti, lasciatemi fare alcuni self-plug spudorati (anche se la vergogna è leggermente diminuita quando vedo che alcuni commenti hanno anche citato alcuni di questi riferimenti):
Discussione di tipo tutorial sull'interazione tra la complessità della prova e la risoluzione del SAT tenutasi alla International Summer School su Soddisfacibilità, Soddisfacibilità Modulo Teorie e Ragionamento automatizzato nel 2016 con molti riferimenti completi alla fine delle diapositive: http://www.csc .kth.se / ~ jakobn / ricerca / TalkInterplaySummerSchool2016.pdf
Discorso del sondaggio leggermente più recente e più breve Comprensione della risoluzione dei conflitti guidata dai conflitti a partire dalla lente della complessità della prova dall'inizio del 2017 (anche con riferimenti completi alla fine): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf
Indagine sulle connessioni tra complessità della prova e risoluzione SAT: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Riferimenti bibliografici: Jakob Nordström. Sull'interazione tra complessità di prova e risoluzione SAT. Notizie ACM SIGLOG, volume 2, numero 3, pagine 19-44, luglio 2015. (Versione leggermente modificata con errori di battitura).]
Documento SAT '16 con CDCL modellato fedelmente come sistema di prova: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [Riferimenti bibliografici: Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas Magnard , Jakob Nordström e Marc Vinyals. Svantaggi tra tempo e memoria in un modello più stretto di solutori di CDCL SAT. In Atti della XIX Conferenza internazionale sulla teoria e le applicazioni dei test di soddisfazione (SAT '16), Appunti di lezione di informatica, volume 9710, pagine 160-176, luglio 2016.]