Чи можливо вбудоване рішення доцільне для SAT?


10

Мене цікавлять "важкі" окремі випадки проблем, повних NP.

Райан Вільямс обговорив проблему SAT0 в блозі Річарда Ліптона . SAT0 запитує, чи має примірник SAT конкретне рішення, що складається з усіх 0. Це змусило мене замислитися над побудовою екземплярів SAT, які, ймовірно, будуть "важкими".

Розглянемо екземпляр SAT з пропозиціями та змінними, де "досить великий", в тому сенсі, що він потрапляє в область поза фазовим переходом, де майже всі випадки є незадовільними. Нехай - випадкове призначення значень .m n α = m / n x ϕϕmnα=m/nxϕ

Чи можна модифікувати щоб отримати новий екземпляр , так що "значною мірою схожий" на , але так, що є задовольняючим призначенням для ?ϕ | x ϕ | x ϕ x ϕ | хϕϕ|xϕ|xϕxϕ|x

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

Або це безперспективне, що веде до швидкого алгоритму пошуку «прихованого» рішення, відповідно до наступного недавнього документу?

  • Уріель Фейге та Доріт Рон, знаходження прихованих кліків у лінійний час , DMTCS proc. AM, 2010, 189–204.

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

  • Стівен А. Кук та Девід Г. Мітчелл, знаходження важких причин проблеми задоволеності: опитування , серія DIMACS з дискретної математики та теоретичної інформатики 35 1–17, AMS, ISBN 0-8218-0479-0, 1997. ( PS )

Відповіді:


13

Ви можете взяти будь-яку формулу та змінити її на формулу де - "важкий" екземпляр SAT, єдиним рішенням якого є . Один із способів побудови такої формули - це використання криптографії: якщо є односторонньою перестановкою, ми вибираємо випадково і встановлюємо , тоді можна перетворити у формулу SAT таким чином, що є єдиним її рішенням, і, таким чином, знаходження відповідає інвертуванню . (Нам потрібно, щоб цей був випадковим, але це щось подібне все одно передбачається, якщо ми думаємо знайтиφ ψ x ψ x x f : { 0 , 1 } n{ 0 , 1φφψxψxx x y = f ( x ) y x x f x xf:{0,1}n{0,1}nxy=f(x)yxxfxx має бути важко.)


Ах, має розмір полінома в і . Дякую! ϕ ψ xϕψxϕψx
Андраш Саламон

6

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

Експериментальні дані говорять про те, що, будуючи випадковий екземпляр "навколо" заздалегідь заданого рішення , такий екземпляр буде простішим, ніж зазвичай (порівняно з аналогічними екземплярами, що мають однакові n та m ). Це як якщо приховане рішення допомагає вирішувачу SAT, направляючи його через простір пошуку. Зазвичай для побудови такого екземпляра ми генеруємо випадкові пропозиції, як зазвичай (наприклад, вибираючи k літерали випадково і відкидаючи кожну з них з вірогідністю р = 1xnmk ) але ми відкидаємо ті пункти, які не задовольняються нашим прихованим рішеннямx. Що стосується вашого підходу до побудовиϕ| xз і жорсткий екземплярϕ: Я ніколи цього не пробував, але "відчуваю" цеϕ| xстане легше, якщо не банально. Я вважаю, що це може збільшити кількістьвражень літералівx(кількість показів прямоїl- це кількість входженьlу заданій формулі), і це призведе до вирішення проблеми SAT до мети. Може бути, простори розв’язківϕіϕ| хp=12xϕ|xϕϕ|xxllϕϕ|xбуло б подібним (якщо не майже однаковим), як це відбувається на прикладі Райана Вільямса SAT0 (майже однакові простори розчину, але зовсім інша твердість). Ви спробували свій підхід на практиці? Було б цікаво подивитися, як той самий вирішувач SAT поводиться на і на ϕ | х .ϕϕ|x

EDIT 1 (23 вересня 2010 р.): Подумавши трохи більше, я відчуваю, що насправді простір рішення був би дуже іншим, ніж ϕ . Ви додаєте буквальне значення до кожного пункту, тому ви надаєте більше ступеня свободи таким пропозиціям (тобто кожне застереження має більше шансів бути задоволеним): можливо, отриманий простір рішення буде масово перетворений.ϕ|xϕ

EDIT 2 (1 жовтня 2010 р.): Я думав про наступну дуже просту і не оригінальну ідею. Дано початковий екземпляр та призначення x :ϕx

  1. Видаліть з всі ці незадоволені пункти x . Це збільшить простір рішення та має вбудувати х у нього.ϕxx

  2. Припустимо, ви видалили пункти. Тепер довільно додайте m x нові пропозиції, дбаючи про те, щоб вони не були незадоволені x (це знову звузить простір рішення, але не висуваючи x з нього).mxmxxx

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


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

xϕ|xϕx

В ідеалі хочеться обчислювати багатопоточний метод, який не надто «просто» міняє простір рішення ...
András Salamon

n3log n

3lognn2nn3logn

4

Найкращий спосіб генерувати важкі екземпляри проблем, повних NP, про які я знаю, - використовувати картографування Кука, щоб зменшити ретельно вибрані екземпляри деяких інших важких проблем NP (наприклад, дискретної проблеми логарифму чи цілочислової факторизації) до SAT. Це ті самі "важкі проблеми", які використовуються математиками для забезпечення криптографічної безпеки в таких протоколах, як RSA і Diffie-Hellman.


Довідки, будь ласка?
gphilip

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