Версія для оптимізації проблем вирішення


26

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

  • версія оптимізації / пошуку: Давши ненаправлений невагомий графік та дві вершини , знайдіть найкоротший шлях між і .G = ( V , E ) v , u V v uG=(V,E)v,uVvu
  • версія рішення: З огляду на непрямий невагомий графік , дві вершини і невід'ємне ціле число , чи існує шлях між і , довжина якого становить не більше ?G = ( V , E ) v , u V k G u v kG=(V,E)v,uVkGuvk

Загалом, "Знайди st !" стає "Чи є x \ у X st f (x) \ leq k ?".xX f ( x ) = min { f ( x ) x X } x X f ( x ) kf(x)=min{f(x)xX}xXf(x)k

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


6
Чи дорівнює цей біт нулю?
JeffE

5
Ви повинні пояснити "еквівалент" більш докладно, наприклад, ви маєте на увазі, що один можна вирішити, використовуючи інший як оракул / чорний ящик у поліноміальний час (або в логарифмічному просторі)? Вас хвилюють усі проблеми чи лише проблеми всередині ? Н ПNP
Каве

1
Залежно від вашої точки зору, питання або тривіальне (прийміть будь-яку проблему з рішенням, яка не має « »), або не відповідає (як довести, що «немає еквівалентної проблеми вибору»?). кk
Рафаель

Відповіді:


28

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


Визначення: завдання оптимізації є кортеж з( X , F , Z , )( X, F, Z, )

  • ХХ набір відповідно кодованих (рядків) екземплярів або входів .
  • F x XЖ є функцією , яка відображає кожен екземпляр до безлічі F ( х ) з можливих рішень по ї .x XЖ( х )х
  • ZZ є цільовою функцієюяка відображає кожну пару ( х , у )( х , у) , де х Хx X і Y F ( х )уF( х ) , щоб дійсне число Z ( х , у )Z( х , у) називаєтьсязначеннямпо уу .
  • -напрям оптимізації, або min,хв або maxмакс .

Визначення: оптимальне рішення примірника х Хx X завдання оптимізації Р OПО є допустимим рішенням у F ( х )уF( х ) , для яких Z ( х , у ) = { Z ( х , у ' ) | у 'F ( x ) }Z( х , у)={Z(x,y)yF(x)} . Значення оптимального рішення позначається з O p t ( x )Opt(x)і називається оптимальним .

Визначення: Проблема з оцінкою , позначена P EPE , що відповідає задачі оптимізації P OPO , така: Дано екземпляр x XxX , обчисліть O p t ( x ),Opt(x) якщо xx має оптимальне рішення, і в іншому випадку виведіть "немає оптимального рішення".

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

Визначення: Проблема рішення , позначена P D, що відповідає задачі оптимізації P O, є наступною: Давши пару ( x , k ) , де x X і k Q , вирішують, чи має x можливе рішення y таке, що Z ( x , y ) k, якщо = min і таке, що Z ( x , y )PDPO(x,k)xXkQxyZ(x,y)k=mink, якщо= макс .Z(x,y)k=max

Перше спостереження полягає в тому, що в даний час Р ПроN P OP DN P . Доказ тут не важкий і опущений.PONPOPDNP

Тепер інтуїтивно P E і P D, відповідні P O , не складніше, ніж сам P O. Щоб висловити це почуття формально (тим самим визначивши, що має означати еквівалент ), ми будемо використовувати скорочення.PEPDPOPО

Нагадаємо, що мова L 1 є многочленним часом, зведеним до іншої мови L 2, якщо є функція f , обчислювана в поліноміальний час, така, що для всіх слів x , x L 1f ( x ) L 2 . Цей вид приводимості відомий як Карп або прискіпливість багатьох до одного , і якщо L 1 таким чином приводиться до L 2 , ми виражаємо це, записуючи L 1 m L 2L1L2fхx L1f( x ) L2L1L2L1мL2. Це центральне поняття у визначенні NP-повноти.

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

Визначення: оракула для проблемного P є (гіпотетичної) підпрограмою , яка може вирішити екземпляри Р в постійна час.ПП

Визначення: Проблема P 1 - поліноміально-часовий термін, зводиться до задачі P 2 , записаної P 1 T P 2 , якщо екземпляри P 1 можуть бути вирішені в поліноміальний час алгоритмом з доступом до оракула для P 2 .П1П2П1ТП2П1П2

Неофіційно, як і у m , відношення P 1 T P 2 виражає, що P 1 не складніше, ніж P 2 . Неважко також помітити, що якщо P 2 можна розв’язати за багаточленним часом, то і P 1 . Знову T - перехідне відношення. Наступний факт очевидний:мП1ТП2П1П2П2П1Т

Нехай P ON P O , то Р Д Т Р Е T P O .ПОN P OПDТПЕТПО

Тому що з урахуванням повного рішення, обчислити його значення та вирішити, чи відповідає він пов'язаному k просто.к

Визначення: Якщо для двох задач P 1 і P 2 обидва відношення P 1 T P 2 , P 2P 1 утримуємо, запишемо P 1 T P 2 ; наше поняття еквівалентності .П1П2П1ТП2П2P1П1ТП2

Тепер ми готові довести, що P D T P E з огляду на відповідну задачу оптимізації P ON P O, а Z ціле число. Треба показати, що P E T P D справедливо. Ми можемо визначити { Z ( х , Y ) | у F ( х ) } з бінарним пошуком usign в Orcale для P D . визначення NПDТПЕПОN P OZПЕТПD{ Z( х , у) уF( x ) }ПDP OН П О забезпечує, що | Z(x,y) | 2 q ( | x | ) для деякого многочленаq, тому кількість кроків у двійковому пошуку є поліном у | х | . | Z( х , у) | 2q( | х | )q| х |

Для проблеми оптимізації P O відношення до P E менш чітке. У багатьох випадках конкретних, можна показати , що безпосередньо Р D Т Р Е T P O . Щоб довести, що це в цілому відповідає рамкам, поданим тут, нам потрібно додаткове припущення.ПОПЕПDТПЕТПО

Спочатку нам потрібно поширити m від пар мов до пар відповідних задач рішення. Тоді легко побачити, що T є загальнішим, ніж m .мТм

Нехай Р і Р ' - проблеми з рішенням; тоді P m P P T P . Це справедливо, тому що багатозначне скорочення можна інтерпретувати як використання оракула дуже обмеженим чином: оракул викликається один раз, в самому кінці, і його результат також повертається як загальний результат. ПП'ПмП'РТП'

Тепер ми готові до фіналу:

Нехай P ON P O і припустимо , що Z є цілочисельним і що Р D є NP-повною, то Р D Т Р Е Т Р Про . З попередніми спостереженнями залишається показати P ущільнювача T P E . Для цього ми будемо проявляти проблему P ' ON P O таке , що P O T P ' E . Тоді маємоПОN P OZПD

ПDТПЕТПО.
ПОТПЕП'ОN P OПОТП'ЕP O T P ' ET P ' DТ Р Д Т Р Е . Другий та третійT виконують через еквівалентність версії рішення та оцінки, підтвердженої раніше. ТретяT випливає з NP-повноти P D та двох фактів, згаданих раніше, а саме P ON P OP DN P і P m
ПОТП'ЕТП'DТПDТПЕ.
ТТПDПОN P OPDN PР ' ПроР Т Р ' Про .ПмП'ОРТП'О

Тепер деталі: Припустимо, що можливі рішення P O кодуються за допомогою алфавіту Σ, забезпеченого загальним порядком. Нехай w 0 , w 1 , ... - слова з Σ ∗, перелічені в порядку зменшення довжини та лексикографічного порядку в блоках слів із загальною довжиною. (Таким чином, w 0 - порожнє слово.) Для всіх y Σ нехай σ ( y ) позначає єдине ціле число i таке, що y = w i . Обидва σПОΣш0, ш1, Σш0уΣσ( у)iу= шiσі σ - 1 можна обчислити в поліноміальний час. Нехай q - поліном такий, що для всіх x X і всіх y F ( x ) маємо σ ( y ) < 2 q ( | x | ) .σ- 1qx XуF( х )σ( у) < 2q( | х | )

Тепер задача P O тотожна P O, за винятком модифікованої цільової функції Z . Для x X і y F ( x ) беремо Z ( x , y ) = 2 q ( | x | )Z ( x , y ) + σ ( y ) . Z П'ОПОZ'x XуF( х )Z'( х , у) = 2q( | х | )Z( х , у) + σ( у)Z' is computable in polynomial time thus PONPOП'ОN P O.

To show that POTPEПОТП'Е we observe that xх is feasible for POПО if and only if it is feasible for PEП'Е. We can assume that this is the case, since the opposite case is trivial to handle.

The substituion of ZZ' for ZZ is monotonic in the sense that for all y1,y2F(x)у1, у2F( х ), if Z(x,y1)<Z(x,y2)Z( х , у1) < Z( х , у2) then Z(x,y1)<Z(x,y2)Z'( х , у1) < Z'( х , у2). This implies that every optimal solution for xх in POП'О is an optimal solution of xх in POПО. Thus our task reduces to the computation of an optimal solution yу of xх in POП'О.

Querying the oracle for PEП'Е we can get the value of Z(x,y)=2q(|x|)Z(x,y)+σ(y)Z'( х , у) = 2q( | х | )Z( х , у) + σ( у). Forming the remainder of this number modulo 2q(|x|)2q( | х | ) yields σ(y)σ( у) from which yу can be computed in polynomial time.


"An oracle for a problem P is a (hypothetical) subroutine that can solve instances of P in constant time." Must an oracle take only constant time?
Tim

@Tim Of course there are books, I listed a few in the comments of another answer
uli

@Tim Regarding the oracle: If you have found/conceived a reduction ATBA ТБ between two problems AА and BБ you have reduced the problem of finding an efficient algorithm for AА to finding an efficient algorithm for BБ. Or in other words the reduction tells you that in order to solve AА you can use BБ. It is like using a subroutine for BБ in an algorithm for AА. However the problems AА and BБ are often problems where we don’t know efficient solutions. And in case of Turing-reducibility we even use it in cases where the problems involved aren’t decidable at all.
uli

@Tim Thus BБ is an unknown subroutine. It has become a custom in complexity theory to call the hypothetical algorithm for AА derived from the reduction as an algorithm with oracle BБ. Calling the unknown subroutine for BБ an oracle just expresses that we can’t hope to find an efficient algorithm for BБ just as we can’t hope to obtain an oracle for BБ. This choice is somewhat unfortunate, as it connotes a magical ability. The cost for the oracle should be |x|| х | as a subroutine has at least to read the input xх.
uli

3
Відмінна відповідь навколо; Єдине, що я хотів би додати (зараз на це звертаємось через інше запитання) - це те, що «напрям оптимізації» - це зайвий складність, і для конкретності ми завжди можемо припустити, що мета Z повинна бути максимально використана; якщо наміром є мінімізація, то ми можемо просто визначити нову цільову функцію Z ' = - Z і переписати всю мінімізацію Z як максимізацію Z ' . ZZ'= - ZZZ'
Стівен Стадницький

5

Як говориться в коментарях, відповідь залежить від точних визначень. Дозвольте мені інтерпретувати питання дуже елементарно (навіть наївно).

Let SS be some relation, that is S{(a,b)a,bΣ}S{ ( a , b ) a , b Σ}.

Now we define a search problem for SS:

Given aа, find a bб such that (a,b)S( a , b ) S.

and a decision problem for SS:

Given (a,b)( а , б ) answer whether or not (a,b)S( a , b ) S.

(for instance, in the example given in the question, SS will hold all the pairs (u,v,k)( u , v , k ) such that there exists a path between uу and vv which is shorter than kk.)

Note that these two problems are well defined. For this definition, we can ask whether the two problems are "equivalent" for any SS. In "equivalent" I mean that if one of them is computable (i.e., there exists an algorithm that solves it) than the other one is computable as well. In general, they are not.

Claim 1: Decision implies Search.

Proof: Let DSDS be the algorithm that solves the decision problem of SS. Given an input aa, We can run DS(a,x)DS(a,x) for any xΣxΣ, one after the other, or in parallel. If there exists bb such that (a,b)S(a,b)S, we will eventually find it. If not, the algorithm might not stop.

Claim 2: Search does not imply Decision.

Причина полягає в тому, що алгоритм пошуку може повернути b, відмінний від потрібного нам. Тобто, для кожного a є деякий b, який дуже легко знайти, а інший b ' - ні. Наприклад, нехай L є якоюсь неозначеною мовою, а потім визначимо S = { ( x , 0 ) x Σ } { ( x , 1 ) x L } . Для кожного хbabbL

S={(x,0)xΣ}{(x,1)xL}.
xалгоритм пошуку може повернути 0 . Але жоден алгоритм рішення не може правильно відповісти, чи ( x , 1 ) S , для всіх пар ( x , 1 ) . Якби це могло, воно вирішило б нерозв'язну проблему, що неможливо.0(x,1)S(x,1)


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


2
Проблема правильного рішення існування б - го , б S . ba,bS
Каве

Якщо рішення визначено як існування b , то пошук передбачає рішення.
Ран Г.

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