Кращі верхні межі на SAT


43

В іншій темі Джо Фіцсімонс запитав про "найкращі нинішні межі на 3SAT".

Я хотів би піти іншим шляхом: які найкращі поточні верхні межі на 3SAT? Іншими словами, яка часова складність найефективнішого рішення SAT?

Зокрема, чи можна знайти субэкспоненциальный (але суперполіномний) алгоритм для SAT?


2
Я не знаю про аналітичні результати, але експериментальні результати ви можете знайти тут baldur.iti.uka.de/sat-race-2010/results.html (див. Посилання "HTML")
Radu GRIGore

1
це запитання трохи вводить в оману через існування цього питання: cstheory.stackexchange.com/questions/1295/sat-solver-download . Я думаю, ви можете перефразувати як "Кращі верхні межі на SAT"?
Суреш Венкат

@Suresh: Питання, на яке ви посилаєтесь, стосується "#SAT", тоді як це відповідає SAT. Крім того, це питання було задано приблизно через тиждень після цього. Як би там не було, ви все ще пропонуєте змінити назву цього?
MS Dousti

так, тому що "SAT Solver" - це специфічний добре відомий об'єкт - фактична база коду для вирішення SAT. Google заплутається та переспрямовує людей, які шукають код тут :).
Суреш Венкат

4
Щодо мотивації до цього питання, я подумав, що декілька людей спробували рішення SAT на екземплярах 17x17. Здається, це межа того, що можна обробляти за допомогою SAT-рішення. Ви можете замість цього спробувати паралельний вирішувач, але я опинився під враженням, що грунтується на публікаціях Білла Гасара, що вам знадобиться масштабне зусилля. Ви також можете застосувати розв'язувач SMT з відповідною теорією або використовувати обмежувач, який реалізує глобальне обмеження, що має ефективний розповсюджувач. У кожному з цих випадків новою ідеєю було б виразити важливу властивість, яку важко зробити за допомогою пунктів.
Андрас Саламон

Відповіді:


38

Існує два види «найкращих» рішень SAT, один для теорії, один для практики.

Теорія

рандомізований для 3SAT.O(1.32113n)

рандомізований для 3SAT.O(1.321n)

детермінований для 3SAT.O(1.439n)

Практика

Перевірте конференцію SAT на результати змагань за кожен рік.


O(1.32113n)

@ Sadeq: Я думаю, що так, але тільки для 3-SAT, а не для SAT.
Тянь Лю

2
O(1.321n)

10
1.308n

21

Мені невідомі будь -які рандомізовані алгоритми з нульовою помилкою (або алгоритми coNE / Eadvice ,
з цього приводу) для SAT, які мають кращі межі, ніж відомі детерміновані алгоритми,
незалежно від того, чи обіцяно це бути не більше одного задовольняючого завдання.


O(1.3303n)


n
O(1.3071n)O(1.4699n)



  1. O(1.30704n)

  2. O(1.46899n)


"Існує рандомізований алгоритм для унікального 3-SAT такого, що для ϵ=1/(1024)
S
O(2(S+o(1))n), алгоритм поточного паперу працює в часі O(2(Sϵ+o(1))n)



16

O(an)a=2(k1)/kO(1.33334n)O(1.5n)

O((a+ϵ)n)aϵ>0

O


1
Чому ви говорите «майже повністю»? Я щось пропустив у папері?
Андраш Саламон

1
O((22k+1)n)k=3O(1.5n)

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

1
@ Григорій Ярославцев: Чи не детермінований алгоритм Moser-Scheder для kSAT, який я згадав швидше, ніж той, який ви цитували? Я щось пропускаю?
Робін Котарі

1
ϵ

12

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

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

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


8
Окрім резюме Юкки, також варто відзначити, що є два основні типи вирішувачів SAT: ті, що базуються на розповсюдженні опитування, які добре працюють для випадкових випадків SAT, та ті, що використовують навчання за допомогою клаузу в поєднанні з роздільною здатністю, яка, як правило, працює. добре виявити комбінаторну структуру. Вони мають зовсім іншу поведінку. Найгіршими випадками для вирішувачів SAT є випадки, які не підлягають задоволенню, але там, де простір нетоварних товарів має складну структуру, яка не дозволяє сильно обрізати. На жаль, подібні випадки з комбінаторики мають тенденцію.
Андрас Саламон

11

Я припускаю, що коли хтось придумає кращу верхню межу, він цитуватиме цей документ. Цитата до цього документу була лише один раз, яка є "Алгоритмом задоволеності та середньої твердості для формул на основі повної бінарної основи". Вони, здається, говорять лише про певні типи формул. Тому, здається, це найкраща верхня межа досі.
Tayfun заплатить

@TayfunPay: Нижній папір у моїй відповіді цитує цей папір.

@RickyDemer Uhuh! це краща межа, ніж ця? Позначення мені не так зрозумілі.
Tayfun заплати

@TayfunPay: Так, і ви можете полювати через два папери, як описано нижче. S3Sk Угорі сторінки 11 цей документ говорить, що їх алгоритм дає таку ж межу, що і PPSZ, а це означає, що вони нічого не показали, ніж я згадував у своєму попередньому реченні. (продовження ...)

(... продовження) S2SnSS3

8

У 3SAT неможливо мати субекспоненціальні алгоритми, якщо хипотеза експоненціальної часу не є хибною.

O(1.324n)

O(1.32216n)


15
Хіба це не тавтологія?
Tsuyoshi Ito

1
2o(n)

Робота Kazuo Iwama та ін. (2004) новіший, ніж у Schoening's (1999). Цікаво, чи доступні ще новіші результати.
MS Dousti

8
Щоб уникнути можливості плутанини, моє останнє зауваження стосується першого речення відповіді: "3SAT не може мати субекспоненціальні алгоритми, якщо хипотеза експоненціального часу (ETH) не є хибною". Я розумію, що показник часу гіпотеза - це сама гіпотеза, що говорить про відсутність алгоритму для 3SAT, час роботи якого є субекспоненціальним (тобто 2 ^ {o (n)}) у кількості змінних.
Цуйосі Іто

10
І щоб уникнути подальшої плутанини, додам, що коли Цуйоші розмістив свій коментар, відповідь містила лише те одне речення, яке зробило його коментар дуже доречним.
Робін Котарі

7

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


Виявляється, це питання було вже поставлено до; Я просто не бачив цього, коли шукав веб-сайт. Відповідь Тіана Лю на питання про верхні межі - це саме те, що я шукав. Дякую за посилання, Дейв!
Даніель Апон

1
Це свідчення того, що я тут проводжу занадто багато часу ;-)
Дейв Кларк

ми раді, що ви це зробите :)
Suresh Venkat,

2
Я не впевнений, чи рекомендував би я sat4J, не тільки він значно повільніший за найсучасніший, але й дещо складніший. Однак правда, що це добре налаштовується завдяки об’єктно-орієнтованій структурі. MiniSat дуже добре написаний і 2.2 є найсучаснішим.
Міколас

3

Найкращий детермінований алгоритм для 3-SAT тепер має верхню межу 1.32793 ^ n, див. Https://arxiv.org/abs/1804.07901 від Sixue Liu. В основному верхні межі для всіх k-SAT були покращені в цій роботі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.