Проблеми оптимізації "NP-завершені"


24

Мене трохи бентежить деяка термінологія, з якою я стикався щодо складності проблем оптимізації. У класі алгоритмів у мене була велика проблема прихильності, описана як NP-завершена. Однак я не зовсім впевнений, що означає термін NP-завершений в контексті проблеми оптимізації. Чи це просто означає, що відповідна проблема рішення не є повною? І чи означає це, що проблема оптимізації насправді може бути важче (можливо, поза НП)?

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


3
перевірити це запитання
Ran G.


1
@RanG., Я не впевнений, чи це точний дублікат.
Каве

@Kaveh ви праві, але чудова відповідь uli повністю відповідає на це питання.
Ран Г.

@RanG., Може бути більше, ніж одна чудова відповідь. :)
Kaveh

Відповіді:


13

Спроба на часткову відповідь:

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

Ви повинні бути обережними, переносячи концепції з проблем рішення. Це можна зробити і можна дати точне поняття повноти NP для задач оптимізації. Подивіться на цю відповідь . Він, звичайно, відрізняється від NP-повноти для вирішення проблем, але базується на ідеях sames (скорочення).

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

  • Ми можемо ефективно перевірити, чи справді вхід є дійсним екземпляром нашої проблеми з оптимізацією.
  • Розмір можливих розчинів поліноміально обмежений розміром входів.
  • Ми можемо ефективно перевірити, чи рішення є можливим рішенням даних.
  • Значення розчину можна визначити ефективно.

В іншому випадку ми можемо сподіватися, що ми можемо досягти цього.

Клас складності містить лише рішення рішення на визначення. Так що в цьому немає ніяких проблем з оптимізацією. І Verifier на основі визначення з ви згадуєте специфічний до . Я не стикався з проблемами оптимізації.NPN P N PNPNP

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

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


Чи можете ви, будь ласка, надати статтю чи книгу, де я можу знайти більше інформації про точне визначення, зменшення тощо для твердості NP для проблем оптимізації? Поки що я не міг цього зрозуміти. Це було б мені дуже цікаво. Дякую.
Джон Тріпвуд


-1

Причиною, що більшість проблем оптимізації можна класифікувати як P, NP, NP-завершені тощо, є умови Куна-Таккера. Я поговорю з точки зору проблем лінійного програмування, але КТС застосовується у багатьох інших проблемах з оптимізацією. Для кожної проблеми оптимізації існує подвійний. Якщо метою оригінальної задачі є максимізація деякої функції, то у подвійного (як правило) функція має бути мінімізована. * Можливі, але неоптимальні рішення вихідної проблеми будуть нездійсненними / недійсними для подвійної задачі, і -верса. Якщо і лише якщо рішення є можливим для первинного та подвійного, це оптимальне рішення для обох. (Технічно це може бути одне з великої кількості оптимальних рішень, які дають однаковий результат.)

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

  • Якщо ви хочете перейти від мінімізації до максимізації, помножте цільову функцію на -1.

3
Я не бачу, як умови KKT відносяться до твердості NP, чи могли б ви це детальніше розробити?
Дискретна ящірка

2
Я не бачу, як це відповідає на питання. P , NP тощо - це класи проблем вирішення. Проблеми з оптимізацією не є проблемами вирішення, тому вони не є в жодному з цих класів за визначенням .
Девід Річербі

2
Я також не бачу, як це відповідає на питання - це цікавий коментар, але, здається, він відповідає на інше питання, ніж на запитання. Питання задає питання, що означає говорити про те, що проблема оптимізації не є повною, і чи можна сказати, що проблеми з оптимізацією є в НП, враховуючи, що вони не є проблемою рішення. Це описує, як, враховуючи проблему оптимізації (де рішення не піддаються перевірці), ми часто можемо побудувати відповідну проблему, де рішення можна перевірити. Дуже цікавий матеріал, але я не впевнений, що він відповідає на запитання, яке було задано.
DW

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