Теоретичні пояснення практичного успіху вирішувачів SAT?


43

Які теоретичні пояснення існують для практичного успіху вирішувачів SAT, і чи може хтось дати огляд "стилю вікіпедії" та пояснення, пов'язуючи їх разом?

За аналогією, згладжений аналіз ( версія arXiv ) для алгоритму симплекс робить велику роботу, пояснюючи, чому він працює так добре на практиці, незважаючи на те, що він займає експоненційний час в гіршому випадку і є потужним NP ( версія arXiv ).

Я чула трохи про такі речі, як "backdoor", структура графіку пропозицій та фазові переходи, але (1) я не бачу, як вони все поєднуються, щоб надати більшу картину (якщо вони є) та (2) Я не знаю, чи справді вони пояснюють, чому вирішувачі SAT так добре працюють, наприклад, у промислових випадках. Крім того, якщо мова йде про такі речі, як структура графа застережень: чому так, що поточні розв'язувачі здатні скористатися певними структурами графіків пропозицій?

Я вважаю, що результати щодо фазових переходів частково задовольняють у цьому плані, принаймні в моєму зараз обмеженому розумінні. Література фазового переходу стосується випадків випадкового k-SAT, але чи справді це пояснює щось про реальні випадки? Я не очікую, що реальні випадки SAT виглядатимуть як випадкові випадки; чи я повинен? Чи є причина думати, що фазові переходи говорять нам щось, навіть інтуїтивно, про реальні випадки, навіть якщо вони не схожі на випадкові випадки?

Пов’язані запитання, які допомагають, але не відповідають повністю на моє запитання, зокрема, прохання об'єднати речі разом у цілісну картину:


5
Це не відповідь, але я не думаю, що багато людей все ще вірять, що графічні структури / бекдори можуть пояснити ефективність вирішувачів SAT. Вони здаються більш актуальними для більш важких проблем, таких як #SAT, QBF або збирання знань, де вам справді потрібно знайти розумні факторизації, оскільки вам доведеться якось вивчити всю структуру. На ваше запитання я спокушаюсь відповісти: "Ніхто насправді не знає, і це активна область дослідження". Але мені потрібно зібрати посилання, щоб показати, що люди намагаються, і може бути хтось із більш широким поглядом, ніж я, який може дати кращу відповідь.
Холф

2
@ Джошуа: Симплексний метод навіть потужний PSPACE (Fearnley and Savani, STOC 15).
Рахул Савані

1
Я згоден з @holf. Ось мої кілька центів: SAT-вирішувачі можуть відновлюватись швидше, ніж вирішувачі CSP, оскільки всі їх змінні мають розмір домену два. Це не означає, що жоден розв'язувач CSP не може перемогти SAT-рішення, він може мати, якщо він має дуже складну динамічну змінну (а також значення), замовляючи евристику в поєднанні з хорошим кодуванням проблеми. Крім того, коли ви перетворюєте "екземпляр реального життя" в екземпляр SAT, ви рідко опиняєтесь у точці фазового переходу через введення такої кількості допоміжних змінних. usually
Tayfun Pay

3
@TayfunPay: Я не ставив під сумнів ваш досвід - насправді я на 100% вважаю, що "реальні" проблеми перетворюються на випадки SAT, які не поруч з фазовим переходом. Але я не думаю, що це пояснює легкість таких випадків, оскільки ці випадки не є випадковими , тому фазовий перехід (теоретично) повинен мало сказати про них (ні твердість, ні легкість).
Джошуа Грохов

2
Про це вже згадувалося в інших місцях, але важливо відзначити, що щільність та фазові переходи, що змінюються на клаузулі, є актуальними лише для випадкових k-SAT і не мають нічого спільного з твердістю випадків, що виникають з промислових чи комбінаторних проблем. Таким чином, більшість обговорень, що викладені вище, є поруч із сутью. Крім того, варто відзначити, що щодо випадкових k-SAT не існує справжнього шаблону легко-важко-просто --- для систем доказів, де у нас є нижчі межі для випадково сформованих формул k-CNF, формули залишаються експоненціально жорсткими для довільно великої постійної щільність над порогом.
Якоб Нордстром

Відповіді:


21

Я припускаю, що ви маєте на увазі розв'язувачі CDCL SAT на наборах даних порівняльних показників, таких як ті, які використовувались у конкурсі SAT . Ці програми базуються на багатьох евристиках та багато оптимізації. Було кілька дуже хороших ознайомлень з тим, як вони працюють в Теоретичних основах практичного практичного SAT Solving в Банфі в 2014 році ( відео ).

Ці алгоритми засновані на алгоритмі зворотного відстеження DPLL, який намагається знайти задовольняюче завдання шляхом встановлення значень змінних та зворотних треків, коли виявляє конфлікт. Люди подивилися, який вплив мають ці евристики. Наприклад, див

Здається, що ефективність цих рішувачів SAT на еталонах в основному походить від двох двох евристик (та їх варіантів):

  1. Евристична ялинка VSIDS, вибираючи, яку змінну слід відгалужувати далі.
  2. CDCL: керуване конфліктом застереження, яке вивчає евристичну форму, яка вивчає нову пропозицію з конфлікту.

Загальновідомо, що докази DPLL відповідають доказам у роздільній здатності. Без CDCL єдині докази роздільної здатності, які ми можемо отримати, - це докази роздільної здатності дерева, які значно слабкіші, ніж загальні дозволи дозволу.

Є результати, які показують, що за допомогою CDCL ми можемо отримати будь-яке загальне підтвердження дозволу. Однак є застереження, вони потребують багатьох штучних перезавантажень, штучного розгалуження та / або конкретної попередньої обробки, тому не ясно, наскільки вони близькі до того, що ці програми роблять на практиці. Детальніше дивіться, наприклад, наступний документ:


CDCL по суті вирізає гілки з простору пошуку. Існують різні способи виведення нового вивченого пункту з конфлікту. В ідеалі ми б додали набір мінімальних застережень, які мали на увазі конфлікт, але на практиці це може бути великим і обчислювати його дорого. Топ-вирішувачі SAT часто видаляють вивчені пропозиції регулярно, що допомагає на практиці.


Інший евристичний VSIDS по суті підтримує бал за кожну змінну. Кожен раз, коли виникає конфлікт, усі бали коригуються шляхом множення їх на значення <1 і додавання константи до тих, які були "залучені" в конфлікт. Щоб побачити, що це означає, подумайте про послідовність яка дорівнює 1, якщо змінна v була "задіяна" в му конфлікті. Нехай - фіксована константа. Оцінка змінної за час дорівнює: F ( v , i ) i 0 < α < 1 v n i < n F ( v , i ) α ( n - i )αF(v,i)i0<α<1vn

i<nF(v,i)α(ni)

Інтуїтивно можна сказати, що це намагається наголосити на змінних, які постійно брали участь в останніх конфліктах. Ви також можете вважати це спрощеним, але надзвичайно дешевим способом прогнозування, які змінні будуть залучені до наступного конфлікту. Тож VSIDS розгалужується спочатку на ці змінні. Можна стверджувати, що алгоритм по суті є невдалим алгоритмом, швидко знаходити конфлікти. Fast пов'язаний з меншою кількістю встановлених змінних, що означає блокування великих підрядів дерева пошуку. Але це здебільшого інтуїція, afaik ніхто не формалізував її дуже обережно, щоб перевірити це на наборах даних SAT. Запуск розв'язувача SAT на одному з цих наборів даних не є дешевим, не кажучи вже про порівняння його з оптимальними рішеннями (найменше розширення поточного призначення на змінні, які порушували б один із пунктів). VSIDS також залежить від того, які змінні ми стикаємося як кожен конфлікт, існують різні способи визначення, коли змінна бере участь у конфлікті.


Є результати, які показують, що конкретна реалізація цих ідей відповідає виваженій у часі центральній вершині в динамічних графіках.

Також є пропозиції, що виключаючи змагальні екземпляри, як-от такі, що ґрунтуються на NP-жорстких проблемах та крипто-примітивах та випадкових екземплярах (які не вирішують рішення CDCL SAT), решта примірників виходять із дуже добре структурованих речей, таких як перевірка програмного забезпечення та апаратних засобів, і якимось чином це структури використовуються розв'язниками CDCL SAT (згадувалося багато ідей, таких як "backdoor", заморожені змінні та ін.), але afaik - це здебільшого ідеї і не мають вагомих теоретичних чи експериментальних доказів для їх підтримки. Я думаю, що треба було б чітко визначити належним чином кулак і показати, що екземпляри, на яких ці алгоритми працюють добре, мають властивість, а потім показують, що ці алгоритми використовують ці властивості.


Деякі люди наполягають на тому, що коефіцієнт застережень та поріги - це єдина гра в місті. Це, безумовно, помилково, як знає кожен, хто трохи знайомий з тим, як працюють промислові розв'язувачі SAT або має знання про складність доказів. Є багато речей, завдяки яким вирішувач SAT добре працює або не працює на екземплярі на практиці, а коефіцієнт застережень є лише однією з речей, які можуть бути залучені. Я вважаю, що наступне опитування є гарною відправною точкою для того, щоб дізнатися про зв’язки між складністю доказування та вирішенням SAT та перспективою:

Цікаво, що навіть пороговий феномен є складнішим, ніж більшість людей думає, Моше Варді заявив у своїй розмові " Фазові переходи та обчислювальна складність ", що середній час роботи GRASP залишається експоненціальним для випадкових формул 3SAT після порогової кількості, але показник зменшується (afaik, незрозуміло, наскільки швидко вона зменшується).


Чому ми вивчаємо SAT-рішення (як теоретики складності)? Я думаю, що відповідь така ж, як і для інших алгоритмів: 1. порівняйте їх, 2. знайдіть їх обмеження, 3. краще розробляйте, 4. відповідайте на фундаментальні питання теорії складності.

При моделюванні евристики ми часто замінюємо евристику недетермінізмом. Тоді питання стає чи це "справедлива" заміна? І тут, ярмарок, я маю на увазі, наскільки близькою є модель, яка допомагає нам відповісти на вищезазначене питання.

Коли ми моделюємо SAT-розв'язувач як систему доказів, ми частково демонструємо його обмеження, оскільки алгоритм буде неефективним для висловлювань, які мають нижню межу в системі підтвердження. Але все ще існує розрив між тим, що алгоритм насправді знаходить, і оптимальним доказом у системі підтвердження. Отже, нам потрібно показати, що і зворотній, тобто алгоритм може знайти докази, які є такими ж хорошими, як і ті, що знаходяться в системі підтвердження. Ми не близькі відповісти на це запитання, але кількість евристики, яка замінюється недетермінізмом, визначає, наскільки наближена модель до доказової системи. Я не сподіваюся, що ми повністю скинемо заміну евристики на недетермінізм, інакше ми отримаємо результати автоматизації, які матимуть наслідки для відкритих проблем у криптовалюті тощо.

Тож питання при розгляді моделі стає таким: наскільки моделі допомагають пояснити, чому SAT solver A кращий, ніж SAT solver B? Наскільки вони корисні у розробці кращих розв'язків SAT? Чи знаходить вирішальник SAT на практиці докази, близькі до оптимальних доказів у моделі? ... Нам також потрібно моделювати практичні екземпляри.

Щодо інтуїції, що розв'язувачі CDCL SAT "експлуатують структуру практичних примірників" (що б там не було), я вважаю загальноприйнятою інтуїцією. Справжнє питання - дати переконливе пояснення того, що це означає, і продемонструвати, що це дійсно так.

Дивіться також власну відповідь Якоба Нордстрома щодо останніх подій.


1
Чи справедливо це для випадків SAT, отриманих від цілого числення?
Мохаммед Аль-Туркстані

1
Так, але це все-таки . Це може дуже погіршити ситуацію в деяких випадках, які можна легко вирішити іншим евристикою, використовуючи той же SAT-рішувач. Наприклад, подивіться на їх наступний документ . Вони показують, що їхній новий евристичний показник CHB працює в середньому краще, ніж VSIDS. Однак якщо ви уважно подивитесь на Таблицю 1, ви побачите, що в певних наборах випадків ХБР насправді в середньому погіршується ... Тому я не вірю, що говорити про - це здоровий шлях. відповідаючи на це запитання. h e u r i s t i c sheuristicheuristics
Tayfun заплати

1
@Martin, без CDCL ми отримуємо лише дуже обмежені форми роздільної здатності (я не пам'ятаю, що саме з моєї голови). Отримані результати Пола Біма та інших, які показують, що за допомогою CDCL та перезапуску ви можете отримати будь-які докази загальної роздільної здатності (однак вибір точок перезапуску та гілок є штучним), детальну інформацію див. У статті Беама.
Каве

3
@Martin см також огляд Якоба Нордстром: csc.kth.se/~jakobn/project-proofcplx/docs / ...
Кава

1
Що стосується докази складності і CDCL, було показано Pipatsrisawat і Darwiche sciencedirect.com/science/article/pii/S0004370210001669 і незалежно один від одного Atserias, Фіхте і Thurley jair.org/papers/paper3152.html , що CDCL розглядати як доказ системи може поліноміальний симулювати роздільну здатність (статті містять різні результати, але докази в обох роботах можна використовувати для отримання результатів в іншій роботі). Важливою відмінністю від попередніх робіт у цій галузі досліджень є те, що в цих моделях CDCL немає нічого штучного. [Продовження ...]
Якоб Нордстром

17

Я набираю це досить швидко через суворі часові обмеження (і навіть не потрапив до відповіді раніше з тієї ж причини), але я подумав, що спробую принаймні чіпнути свої два центи.

Я думаю, що це справді велике запитання, і я витратив нетривіальну кількість часу за останні кілька років на це. (Повне розкриття: я отримав значну частину свого поточного фінансування саме для того, щоб спробувати знайти відповіді на запитання такого типу, а потім потенційно перетворити більш глибоке розуміння на SAT у більш ефективні SAT-рішення.)

Якщо треба було б дати відповідь в одному реченні, я думаю

насправді ніхто не знає, і це активна область досліджень

майже так само добре, як це отримує. За винятком того, що є набагато більше місця для більшої активності, особливо з боку теорії.

Деякі запропоновані пояснення (не взаємовиключні), про які вже йшлося в інших відповідях та коментарях, є

  • (a) на задньому плані,
  • (b) параметризовані міркування щодо складності,
  • (c) графічна структура проблеми CNF,
  • (d) міркування щодо складності доказів та
  • (д) фазові переходи.

Починаючи з кінця (е), здається, існує певна плутанина щодо фазових переходів. Коротка відповідь тут полягає в тому, що немає жодних причин вважати, що співвідношення пропозицій до змінних є актуальним для прикладних задач або теоретичних комбінаторних проблем (він же створений екземпляри). Але чомусь в застосованій частині спільноти SAT не надто рідкісне уявлення про те, що співвідношення клауз до змінних якось має бути загальноприйнятним заходом. Співвідношення клауза до змінної дуже актуально для випадкових k-SAT, але не для інших моделей.

Моє відчуття, що на задньому плані (а) було популярним поясненням, але я особисто не бачив переконливих доказів того, що це пояснює те, що відбувається на практиці.

Параметризована складність (b) дає прекрасну теорію про деякі аспекти SAT, і дуже привабливою гіпотезою є те, що випадки використання SAT є простими, оскільки вони, як правило, «близькі до якогось острова тяги». Я думаю, що ця гіпотеза відкриває багато захоплюючих напрямків дослідження. Як зазначається в деяких відповідях, існує велика кількість зв’язків між (a) та (b). Однак поки що я не бачу жодних доказів того, що параметризована складність занадто корелює з тим, що відбувається на практиці. Зокрема, здається, що випадки, які можна простежити, можуть бути дуже, дуже важкими на практиці, а випадки без невеликих задніх куточків все ще можуть бути дуже простими.

Пояснення, яке видається мені найбільш вірогідним для промислових випадків, - це (с), а саме те, що (графічна) структура формул CNF повинна бути співвіднесена з практичними показниками SAT. Ідея тут полягає в тому, що змінні та пункти промислових примірників можуть бути об'єднані у добре пов'язані спільноти з невеликим зв’язком між собою, і що вирішувачі SAT якимось чином використовують цю структуру. На жаль, здається, що це досить важко зафіксувати це більш жорстко, і однаково, на жаль, ця область страждає від великої кількості галасу. Пропоновані пояснення, які я бачив до цього часу в документах, є досить незадовільними, і моделі, здається, легко збити. Проблема, здається, полягає в тому, що якщо людина дійсно хоче це зробити ретельно, тоді математика стає дуже важкою (тому що це важка проблема), а також стає надзвичайно брудною (тому що вам потрібна ваша модель, щоб бути досить близькою до реальності, щоб отримати відповідні результати). Зокрема, документи, які я бачив, пояснюючи, що ефективність VSIDS (змінної від незалежної від спадання суми, що спадає) евристична для змінних виборів працює добре, оскільки вона досліджує спільноти в графічному представленні примірників досить непереконливі, хоча гіпотеза як така все ще є дуже привабливий.

Один напрямок досліджень, який я особисто проводив, полягає в тому, чи практичне виконання SAT якимось чином співвідноситься з мірами складності доказових формул CNF. На жаль, коротка відповідь здається, що насправді немає чіткого і переконливого зв’язку. Можливо, все ще існують нетривіальні кореляції (це те, що ми зараз досліджуємо різними способами), але здається, що теорія є надто приємною та чистою та гарною, і реальність занадто безладна, щоб мати справді хороший збіг. (Щодо документа, що стосується заходів щодо доказів складності та практичної твердості SATЯрвісало, Матслах, Нордстрем і Живне в КР '12 виявилося, що більш детальні експерименти дають набагато складнішу картину з менш чіткими висновками --- ми сподіваємося отримати повну версію журналу, що повідомляє про це будь-яке десятиліття, але це складно, хоча все ще сподіваємось цікаво.)

Інший, пов'язаний з цим, напрямок роботи зі складною доказовою здатністю полягає в моделюванні сучасних розв'язувачів SAT як доказових систем та доведенні теорем у цих моделях для виведення властивостей відповідних розв'язувачів. Це трохи мінне поле, хоча в тому, що невеликий і, здавалося б, нешкідливий вибір дизайну з боку теоретичної моделі може призвести до того, що результати з практичної точки зору є абсолютно невідповідними. З іншого боку, якщо ви хочете, щоб теоретична модель була досить близькою до реальності, щоб дати відповідні результати, то ця модель стає надзвичайно брудною. (Це тому, що ефективність вирішувача SAT залежить від глобальної історії всього, що сталося до цього часу нетривіальними способами, і це означає, що модель не може бути модульною в тому, як ми зазвичай встановлюємо наші системи доказів --- будь то конкретний крок виведення "правильно"

Два видання, які справді слід згадати як винятки з цього, є [Pipatsrisawat і Darwiche 2011] та [Atserias, Fichte та Thurley 2011], де показано, що кероване конфліктом зауваження про розв'язування SAT, змодельованим природним чином, має потенціал поліноміально моделювати повну загальну роздільну здатність. Існує досить довгий список робіт, що передують [PD11] та [AFT11], які по суті вимагають однакового результату, але всі вони мають серйозні проблеми з моделюванням. (Це правда, що [PD11] та [AFT11] також потребують певних припущень для роботи, але вони є майже тими, з яких ви б очікували, якщо ви не будете просити документи, які також показали б, що параметризована ієрархія складності руйнується.)

Знову ж таки, я пишу все це дуже швидко, але якщо є істотний інтерес для чогось із перерахованого, я б спробував доопрацювати (хоча, щоб повернутися до цього знову, може знадобитися деякий час --- будь ласка, не соромтеся надіслати мені повідомлення, якщо є ви хочете, щоб я коментував). Як швидкий спосіб надання довідок, дозвольте мені зробити кілька безсоромних самороз'ємів (хоча сором дещо зменшується, коли я бачу, що деякі коментарі також цитують деякі з цих посилань):

Розмова в стилі підручника Про взаємодію між доказовою складністю та рішенням SAT, що проводиться в Міжнародній літній школі щодо задоволеності, теорій модуля задоволеності та автоматизованого обґрунтування в 2016 році, з великою кількістю повних посилань на кінець слайдів: http://www.csc .kth.se / ~ jakobn / дослідження / TalkInterplaySummerSchool2016.pdf

Трохи свіжіші та більш короткі розмови з опитування Розуміння SAT-рішення , кероване конфліктом через об'єктив доказів складності з початку 2017 року (також із повними посиланнями в кінці): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf

Огляд зв’язків між складністю доказування та вирішенням SAT: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Бібліографічна довідка: Jakob Nordström. Про взаємодію між доказовою складністю та рішенням SAT. Новини ACM SIGLOG, том 2, номер 3, стор. 19-44, липень 2015 р. (Легко відредагована версія з виправленими помилками друку).]]

Папір SAT '16 із CDCL сумлінно моделюється як система доказування: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [Бібліографічна довідка: Ян Елферс, Ян Йогансен, Массімо Лаурія, Томас Маґнард , Якоб Нордстрем та Марк Віньялс. Компроміси між часом і пам’яттю в більш жорсткій моделі вирішувачів CDCL SAT. У працях 19-ї міжнародної конференції з теорії та застосувань тестування на задоволення (SAT '16), Записки лекції з інформатики, том 9710, сторінки 160-176, липень 2016 р.]


16

Дозвольте додати до цього свої два центи розуміння, хоча я ніколи фактично не працював у цьому районі.

Ви задаєте одне з двох запитань: "які всі відомі підходи до доказу теоретичної ефективності деяких вирішувачів SAT для деяких типів прикладів" та "чому реалізатори SAT ефективні в реальності".

По попередньому питанню я просто направлю вас на дослідження Стефана Шейдера. Мені здається, це найактивніша область в темі backdoor і FPT параметризації SAT (яка включає в себе як структурні підходи, такі як заходи з широкою шириною, так звані набори заднього ходу, так і деяка суміш цих двох).

Якщо чесно, останнє питання, саме це питання обговорювалося на кожному семінарі з вирішення питань САТ, який я відвідував (включаючи останні роки), тому це не врегульована справа. Але моє враження таке.

Перш за все, вам потрібно кількісно оцінити або обмежити те, що ви маєте на увазі під "насправді". Неправда, що розв'язувачі SAT - це загальнодобрані рішення для будь-якої проблеми, на яку ви їх кидаєте (звичайно), і між різними проблемами вам потрібні різні стратегії. Наприклад, є кілька останніх успіхів, коли математичні гіпотези були перевірені або посилені за допомогою величезного комп’ютерного пошуку за допомогою вирішувачів SAT. У цьому випадку, мабуть, багато часу розумні вдосконалення стилю CDCL та евристики, які зазвичай використовують сучасні рішення SAT, насправді не купують у вас занадто багато енергії, і гра зводиться до розумного способу розщеплення вашої вихідної проблеми на частини, за яким слідує (по суті) алгоритм розгалуження грубої сили з малим постійним коефіцієнтом часу виконання.

Можливо, я злегка перепродав цю точку, але моя думка полягала в тому, що, коли вирішувачі SAT атакували, наприклад, Концепцію розбіжності Ердоса, вони мали успіх з іншої причини, ніж тоді, коли вони вирішували промислові екземпляри, отримані при тестуванні схем.

Тож ми зупинимось на питанні: чому розв’язувачі на основі CDCL так добре працюють на промислових прикладах, наприклад, верифікація ланцюга (тестування на еквівалентність ланцюга)? Я думающо найпотужніший погляд (або консенсус-погляд) тут - стратегія пошуку CDCL-вирішувачів гелів дуже добре структуру цих примірників. Це означає, наприклад, що схеми складаються з відносно складних частин (називаємо їх кластерами), з'єднаних між собою порівняно кажучи меншими і простішими з'єднаннями, можливо, ієрархічно; і що розв'язувачі CDCL з усією їх евристикою дуже добре (фактично) експлуатують це і "проектують" ці кластери на загальні змінні, будь-яким способом чи порядком є ​​найбільш корисним для перевірки схеми. Але, мабуть, все ще існує думка консенсусу, що це недостатнє пояснення (наприклад, ми, мабуть, теоретично не можемо пояснити ефективність розв’язувачів CDCL SAT у цій галузі виключно, посилаючись на структуру графа примірника).

Отже, чи можна простежити параметризацію певним чином до пояснення останніх? Якщо чесно, я не знаю. Я думаю, що, мабуть, існує сильний ефект, що реальні випадки - це не найгірший випадок, а також вони (мабуть) справді середні, згідно з будь-яким розподілом екземплярів, з яким ми можемо впоратися. Але це, мабуть, все-таки варто запитати.


2
Магнусе, ви, безумовно, маєте більше досвіду в цій галузі, ніж хто-небудь ще, хто намагався відповісти на це питання поки що. Коли я заявив про "два мої центи", я мав на увазі той факт, що в дисертації я вивчив лише одну конкретну групу проблем NP-Complete і те, як вирішувачі CSP і SAT намагаються вирішити численні випадки цих проблем. Я також маю приблизно рік досвіду використання CSP і SAT вирішувачів на робочому місці, але ще раз, це навіть не близько вашого 10+ років досвіду роботи в цій галузі. Ваші "два центи", мабуть, варті "двох золотих самородків". Одне питання.
Tayfun Pay

1
У своїй відповіді ви заявляєте наступне: "Неправда, що розв'язувачі SAT - це загальнодобрані рішення для будь-якої проблеми, на яку ви їх вирішили ....". Чи змогли ви переглянути співвідношення пропозицій до змінних, c = m / n, для цих примірників? Іншими словами, чи були вони у важкій області, c = ~ 4,2 чи ні? Тому що, що я пережив, це те, що ви закінчуєте безліч змінних, коли ви зменшуєте екземпляр CSP до екземпляра SAT, і зазвичай це пов'язано з цією причиною, а не тому, що вона насправді знаходиться у важкій області, вирішувач SAT займає більше часу час вирішити.
Tayfun оплачує

1
З іншого боку, якщо ви знаєте, що ці випадки опинилися у важкій області SAT, c = ~ 4.2, то чи можу я знати, що це за проблема в реальному житті? Мені було б дуже цікаво дізнатися, які реальні проблеми насправді закінчуються у важкому регіоні SAT, коли вони зводяться до нього. Дякую
Tayfun оплачує

2
Чесно кажучи, у мене практично немає досвіду практичного рішення SAT. Вся моя фактична робота була на суто теоретичній стороні цього питання. Але як би там не було, що стосується вашого питання: Моє враження, що результати випадкових k-SAT та щільності пропозицій (які ви згадуєте) дійсно застосовуються лише в тому випадку, якщо ваш екземпляр введення буквально є рівномірно випадковою формулою. Також зауважте, що пов'язане значення ~ 4.2 застосовується лише в тому випадку, якщо формула 3-SAT, на відміну від формули CNF змішаної довжини.
Magnus Wahlström

1
І під "проблемами, які не дуже добре вирішені розв'язниками SAT", я маю на увазі проблеми, які, як вважається, справді непереборні, наприклад, зламати хорошу криптовалюту. Однак існують також формули, які жоден вирішувач CDCL не зможе ефективно вирішити за рахунок доказово-теоретичних нижчих меж, таких як формули принципу голубої ями. Я бачив щонайменше одну розмову з повідомленням "CDCL SAT вирішив мене не вдалося", де трохи копання виявляє, що їхнє кодування проблеми приховує аспект, схожий на голубого отвору (наприклад, що містить певну варіацію проблеми призначення). На жаль, я не можу згадати деталі.
Magnus Wahlström

15

У статті 12 "Доповідь про заходи щодо підтвердження складності та практичну твердість SAT " Матія Ярвісало, Ар'є Мацліах, Якоб Нордстрем та Станіслав Жівні намагається пов'язати твердість чи простоту розв'язання певних формул розв'язувачами CDCL із підтвердженням роздільної здатності. заходи складності, зокрема простір, що підтверджує дозвіл. Результати дещо змішані, але я думаю, що це крок у правильному напрямку.


На жаль, схожа коротка відповідь полягає в тому, що насправді немає чіткого і переконливого зв’язку з заходами складності доказів. Можливо, все ще існують нетривіальні кореляції, але здається, що теорія занадто чиста, а реальність занадто безладна, щоб мати справді хороший збіг. Щодо документа "Пов'язані заходи щодо складності доказів" виявилося, що більш детальні експерименти дають набагато складнішу картину з менш чіткими висновками --- ми сподіваємося отримати повну версію журналу, яка звітує про це будь-яке десятиліття, але це складно , хоча все ще сподіваюсь цікаво.
Якоб Нордстром

15

Я не фахівець у цій галузі, але я думаю, що випадкові матеріали SAT / фазового переходу більш-менш абсолютно не пов'язані з матеріалами промислового / практичного застосування.

Наприклад, дуже хороші рішення для випадкових випадків (наприклад, https://www.gableske.net/dimetheus ) базуються на методах статистичної фізики (поширення віри тощо), я вважаю, тоді як дуже хороші "загальні" вирішувачі (такі оскільки http://fmv.jku.at/lingeling/ ) використовують неспоріднені методи (більше схожі на те, про що говорив Каве).

Але, як я вже сказав, можливо, не візьміть на це свого слова; це походить від певного неексперта.


Так. Випадкові SAT та промислові SAT - це абсолютно різні ігри, а методи, що застосовуються, різні. І, крім того, якщо ви хочете вирішити справді важкі комбінаторні екземпляри, тоді ще інші методи є більш успішними (наприклад, якщо проблема є досить важкою, то навчання клаузулом справді не окупиться, за винятком, можливо, дуже локально). Але якось здається досить поширеним помилковим уявленням (принаймні, із застосованого боку спільноти SAT), що співвідношення пропозицій до змінних має бути якимось чином релевантним для будь-якого екземпляра SAT CNF, а не лише для випадкових випадків.
Якоб Нордстром
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.