Ich schreibe das ziemlich schnell, weil die Zeit sehr knapp ist (und ich habe aus demselben Grund nicht einmal früher geantwortet), aber ich dachte, ich würde versuchen, wenigstens mit meinen zwei Cent mitzumachen.
Ich halte dies für eine wirklich gute Frage und habe in den letzten Jahren nicht unwesentlich Zeit darauf verwendet, dies zu untersuchen. (Vollständige Offenlegung: Ich habe einen großen Teil meiner derzeitigen Finanzierung erhalten, um Antworten auf Fragen dieser Art zu finden und möglicherweise tiefere Einblicke in SAT in effizientere SAT-Löser umzuwandeln.)
Wenn man einen Satz beantworten müsste, denke ich
Niemand weiß es wirklich und dies ist ein aktives Forschungsgebiet
ist so ziemlich so gut wie es nur geht. Abgesehen davon, dass es viel mehr Raum für mehr Aktivität gibt, insbesondere von der theoretischen Seite.
Einige vorgeschlagene Erklärungen (die sich nicht gegenseitig ausschließen), die bereits in anderen Antworten und Kommentaren diskutiert wurden, sind
- (a) Hintertüren,
- (b) Überlegungen zur parametrisierten Komplexität,
- (c) Graphstruktur des CNF-Problems,
- d) Überlegungen zur Beweiskomplexität und
- (e) Phasenübergänge.
Ab dem Ende (e) scheint es hinsichtlich der Phasenübergänge einige Verwirrung zu geben. Die kurze Antwort lautet: Es gibt keinen Grund zu der Annahme, dass das Verhältnis von Klauseln zu Variablen für angewandte Probleme oder theoretische kombinatorische Probleme (auch als gestaltete Instanzen bezeichnet) relevant ist. Aber aus irgendeinem Grund ist es ein nicht allzu ungewöhnliches Missverständnis im angewandten Teil der SAT-Community, dass das Verhältnis von Klauseln zu Variablen irgendwie eine allgemein relevante Maßnahme sein sollte. Das Verhältnis von Klausel zu Variable ist für zufälliges k-SAT sehr relevant, für andere Modelle jedoch nicht.
Ich habe das Gefühl, dass Hintertüren (a) eine beliebte Erklärung waren, aber ich persönlich habe nicht wirklich überzeugende Beweise dafür gesehen, dass sie erklären, was in der Praxis vor sich geht.
Die parametrisierte Komplexität (b) liefert eine schöne Theorie über einige Aspekte von SAT, und eine sehr attraktive Hypothese ist, dass SAT-Instanzen einfach sind, weil sie dazu neigen, "in der Nähe einer Traktabilitätsinsel" zu sein. Ich denke, diese Hypothese eröffnet viele spannende Forschungsrichtungen. Wie in einigen Antworten erwähnt, gibt es viele Verbindungen zwischen (a) und (b). Bisher sehe ich jedoch keine Belege dafür, dass die parametrisierte Komplexität zu stark mit den tatsächlichen Gegebenheiten in der Praxis korreliert. Insbesondere scheinen Instanzen, die nachvollziehbar sind, in der Praxis sehr, sehr schwierig zu sein, und Instanzen ohne kleine Hintertüren können immer noch sehr einfach sein.
Die Erklärung, die mir für industrielle Fälle am glaubwürdigsten erscheint, ist (c), nämlich dass die (grafische) Struktur der fraglichen CNF-Formeln mit der praktischen SAT-Leistung korreliert werden sollte. Die Idee dabei ist, dass Variablen und Klauseln von industriellen Instanzen zu gut verbundenen Communities mit wenigen Verbindungen zusammengefasst werden können und dass SAT-Löser diese Struktur irgendwie ausnutzen. Leider scheint es ziemlich schwierig zu sein, dies strenger festzulegen, und ebenso leidet dieser Bereich leider unter ziemlich viel Hype. Die vorgeschlagenen Erklärungen, die ich bisher in Zeitungen gesehen habe, sind ziemlich unbefriedigend und die Modelle scheinen leicht abzuschießen zu sein. Das Problem scheint zu sein, dass, wenn man dies wirklich gründlich tun will, Dann wird die Mathematik wirklich schwierig (weil es ein schwieriges Problem ist) und es wird auch extrem chaotisch (weil Sie Ihr Modell nah genug an der Realität haben müssen, um relevante Ergebnisse zu erzielen). Insbesondere die Arbeiten, die ich gesehen habe, um zu erklären, dass die Leistung der VSIDS-Heuristik (Variable State Independent Decaying Sum) für variable Entscheidungen gut funktioniert, weil sie Communities in der Graphendarstellung der Instanzen untersucht, sind ziemlich nicht überzeugend, obwohl die Hypothese als solche immer noch besteht sehr attraktiv.
Ein Forschungsschwerpunkt, den ich persönlich verfolgt habe, ist die Frage, ob die praktische SAT-Leistung in irgendeiner Weise mit den Beweiskomplexitätsmaßen der betreffenden CNF-Formeln korreliert. Leider scheint die kurze Antwort zu sein, dass es wirklich keinen klaren und zwingenden Zusammenhang gibt. Es kann immer noch sein, dass es nichttriviale Zusammenhänge gibt (das untersuchen wir derzeit auf unterschiedliche Weise), aber es scheint, dass die Theorie zu schön und sauber und hübsch und die Realität zu chaotisch ist, um wirklich gut zusammenzupassen. (In Bezug auf die Abhandlung zum Nachweis von Komplexitätsmaßen und der praktischen Härte von SATvon Järvisalo, Matsliah, Nordström und Živný in CP '12 hat sich herausgestellt, dass detailliertere Experimente ein viel komplexeres Bild mit weniger klaren Schlussfolgerungen liefern. aber es ist kompliziert, aber trotzdem hoffentlich interessant.)
Eine weitere verwandte Aufgabe im Bereich der Beweiskomplexität besteht darin, hochmoderne SAT-Löser als Beweissysteme zu modellieren und in diesen Modellen Theoreme zu beweisen, um die Eigenschaften der entsprechenden Löser abzuleiten. Dies ist jedoch ein kleines Minenfeld, da kleine und scheinbar harmlose Konstruktionsentscheidungen auf der theoretischen Modellseite dazu führen können, dass die Ergebnisse aus praktischer Sicht so gut wie völlig irrelevant sind. Wenn man andererseits ein theoretisches Modell haben möchte, das der Realität nahe genug ist, um relevante Ergebnisse zu liefern, wird dieses Modell äußerst chaotisch. (Dies liegt daran, dass die Leistung des SAT-Lösers von der globalen Historie aller bisher nichttrivialen Vorgänge abhängt. Dies bedeutet, dass das Modell nicht so modular sein kann, wie wir es normalerweise in unseren Beweissystemen einrichten. Ob ein bestimmter Ableitungsschritt vorliegt "richtig"
Zwei Arbeiten, die wirklich als Ausnahmen hiervon erwähnt werden sollten, sind [Pipatsrisawat und Darwiche 2011] und [Atserias, Fichte und Thurley 2011], in denen gezeigt wird, dass konfliktgetriebene SAT-Löser mit Klausellernen auf natürliche Weise modelliert sind Potenzial zur polynomialen Simulation einer vollständigen, allgemeinen Auflösung. Es gibt eine ziemlich lange Liste von Artikeln vor [PD11] und [AFT11], die im Wesentlichen dasselbe Ergebnis behaupten, die jedoch alle schwerwiegende Probleme mit der Modellierung haben. (Es ist wahr, dass [PD11] und [AFT11] auch einige Annahmen benötigen, um zu funktionieren, aber sie sind so ziemlich die Minimalannahmen, die Sie erwarten würden, wenn Sie nicht nach Beiträgen fragen, die auch zeigen, dass die parametrisierte Komplexitätshierarchie zusammenbricht.)
Wiederum schreibe ich das alles sehr schnell, aber wenn es ein erhebliches Interesse für irgendetwas oben Genanntes gibt, könnte ich versuchen, es auszuarbeiten (obwohl es eine Weile dauern könnte, bis ich wieder darauf zurückkomme - bitte zögern Sie nicht, mich anzupingen, wenn ich da bin ist alles, was Sie möchten, dass ich kommentiere). Lassen Sie mich zur schnellen Referenzierung einige schamlose Self-Plugs machen (obwohl die Schande etwas nachlässt, wenn ich sehe, dass einige Kommentare auch einige dieser Referenzen zitiert haben):
Tutorial-artiger Vortrag über das Zusammenspiel von Beweiskomplexität und SAT-Lösung , gehalten an der Internationalen Sommerschule für Zufriedenheit, Modulo-Theorien zur Zufriedenheit und automatisiertes Reasoning im Jahr 2016, mit zahlreichen vollständigen Referenzen am Ende der Folien: http://www.csc .kth.se / ~ jakobn / research / TalkInterplaySummerSchool2016.pdf
Etwas jüngerer und kürzerer Umfragegespräch zum Verständnis konfliktbedingter SAT-Lösungen durch die Linse der Beweiskomplexität ab Anfang 2017 (auch mit vollständigen Referenzen am Ende): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf
Übersicht über Zusammenhänge zwischen Beweiskomplexität und SAT-Lösung: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Quellenangabe: Jakob Nordström. Zum Zusammenspiel von Beweiskomplexität und SAT-Lösung. ACM SIGLOG News, Band 2, Nummer 3, Seiten 19-44, Juli 2015. (Leicht bearbeitete Version mit einigen Tippfehlern behoben.)]
SAT '16-Papier mit CDCL, das originalgetreu als Beweissystem modelliert wurde: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [ Quellenangabe : Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas Magnard , Jakob Nordström und Marc Vinyals. Kompromisse zwischen Zeit und Speicher in einem engeren Modell von CDCL-SAT-Solvern. In Proceedings of the 19. International Conference on Theory and Applications of Satisfiability Testing (SAT '16), Lecture Notes in Computer Science, Band 9710, Seiten 160-176, Juli 2016.]