Чи всі конструктивні відомі алгоритми вирішення завдань, повних NP?


11

Чи є якісь відомі алгоритми, які правильно виводять "так" проблемі, повній NP, без неявного генерування сертифіката?

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

Але чи була б така обгортка корисною? Чи всі розв'язувачі сит шукають у просторі можливих завдань?

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

Відповіді:


11

Як я це розумію, ви задаєте два питання: (1) чи є, наприклад, алгоритми SAT, які розумніші за наївну грубу силу, і (2) чи є алгоритми, які просто дають відповідь ТАК / НІ при вирішенні завдання, повного NP? фактично не знаходячи рішення. Я відповім на обидва запитання в цьому порядку.

(1) Цілком можна вирішити проблему без грубої сили, тобто не наївно намагаючись усі можливості. Для прикладу, сучасні повноцінні вирішувачі SAT можуть застосовувати розумні алгоритми, які випливають або доводять певні (часткові) завдання не можуть призвести до рішення, тому вони навіть не вивчають цю частину.

n!nнО(2нн2)

(2) Існують "алгоритми Oracle" для проблем, повних NP, які просто виводять YES / NO без явного сертифіката. Наприклад, розгляньте проблему path:к

(Проблема шлях)к Дано графік і ціле числоГкГк

О(2к)к


кО(2к)


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