Вимірювання складності екземплярів SAT


28

З огляду на екземпляр SAT, я хотів би мати можливість оцінити, наскільки важко буде вирішити екземпляр.

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

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


Супутнє питання

Які проблеми SAT прості? на cstheory.SE. Це запитання задає про простежувані набори екземплярів. Це подібне питання, але не зовсім те саме. Мене дуже цікавить евристика, яка, даючи один екземпляр, робить певну напівінтелектуальну здогадку про те, чи буде важко вирішити цей екземпляр.


Чи можете ви детальніше пояснити, чому "щільність" фазового переходу не є тим, що вам потрібно?
Рафаель

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

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

2
Ви можете представити формулу SAT (у CNF) у вигляді двостороннього графіка з вершинами для кожної формули та пунктом та ребрами, що представляють собою події. Якщо цей графік легко розділити, то задачу можна розкласти на підрозділи, що розділяються. Може, це може послужити корисним заходом? Я поняття не маю (саме тому це коментар, а не відповідь).
Алекс десять Бринк

Відповіді:


22

Загалом, це дуже актуальне та цікаве дослідницьке питання. "Один із способів - запустити існуючі вирішувачі ..." і що б це нам навіть точно сказало? Ми можемо емпірично побачити, що екземпляр здається важким для конкретного вирішувача або певного алгоритму / евристики, але що насправді говорить про твердість цього примірника?

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

Інший підхід зосередив увагу на ролі прихованої структури екземплярів. Одним із прикладів є набір backdoor , що означає набір змінних, таким чином, що коли вони створюються, інша проблема спрощується до простежуваного класу. Наприклад, Williams et al., 2003 [1] показують, що навіть беручи до уваги витрати на пошук задніх змінних, все одно можна отримати загальну обчислювальну перевагу, зосередившись на наборі на задньому плані, за умови, що набір достатньо малий. Крім того, Dilkina et al., 2007 [2] відзначають, що розв'язувач, який називається Satz-Rand , надзвичайно хороший у пошуку невеликих сильних задніх куточків у ряді експериментальних доменів.

Зовсім недавно Ansotegui et al., 2008 [3] пропонують використовувати деревоподібну космічну складність як міру для вирішувачів на основі DPLL. Вони доводять, що також постійно обмежений простір передбачає існування алгоритму рішення багаточленного часу, при цьому простір є ступенем многочлена (теорема 6 у статті). Більше того, вони показують, що простір менший за розмір циклічних вирізів. Насправді, за певних припущень, простір також менший, ніж розмір заднього куточка.

Вони також формалізують те, що я думаю, що ви після цього, а саме:

ψΓО(нψ(Γ))


[1] Вільямс, Райан, Карла П. Гомес та Барт Сельман. "На задньому плані до типової складності корпусу." Міжнародна спільна конференція з питань штучного інтелекту. Вип. 18, 2003.

[2] Ділкіна, Бістра, Карла Гомес та Ашиш Сабарваль. "Компроміси у справі виявлення заднього кута". Принципи та практика програмування обмежень (CP 2007), стор 256-270, 2007.

[3] Ансотегуї, Карлос, Марія Луїза Бонет, Жорді Леві та Феліп Маня. "Вимірювання твердості інстанцій SAT." У працях 23-ї Національної конференції зі штучного інтелекту (AAAI'08), стор. 222-228, 2008.


ψ(Γ)

@ArtemKaznatcheev Я думаю, що задній набір - це, мабуть, єдиний реально використаний. Запускаючи сольвер, нас не дуже хвилює твердість формули; екземпляр все-таки повинен бути вирішений. Вимірювання повинно дати нам обчислювальну перевагу, або, можливо, ми можемо використовувати його для вибору підходящої евристики. Крім цього, я вважаю, що твердість досі є досить експериментальною.
Джухо

1

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

  • Деякі ранні випадкові генератори SAT ненароком створили здебільшого легкі формули, оскільки вони використовували "постійну щільність", що означає приблизно рівну частку всіх довжин пропозицій. Здебільшого це було просто, тому що 2-ї пропозиції та одиниці значно спрощують проблему, як і слід було очікувати, і дійсно довгі пропозиції або не додають багато розгалужень, ні навіть полегшують гіперрозділення. Тож здається, що краще дотримуватися застережень фіксованої довжини та змінювати інші параметри.
  • |х||¬х|х
  • v1,v2,v3{v1,v2,...},{v2,v3,...},{v1,v3,...}

[1] https://arxiv.org/pdf/1903.03592.pdf


0

Крім чудової відповіді Джухо, ось ще один підхід:

Ерксей-Раваш та Торочкай, Оптимізаційна твердість як перехідний хаос в аналоговому підході до задоволення обмеженнями , Nature Physics том 7, стор. 966–970 (2011).

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

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

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

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


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

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