Встановіть оптимізаційну проблему - чи не завершена вона np?


10

Встановлено . Для кожного елемента , ми маємо вага і вартість . Мета полягає у знаходженні підмножини розміром яка максимізує таку цільову функцію: .e i w i > 0 c i > 0 M k e iM w i + e iM w i c iS={e1,,en}eiwi>0ci>0Mk

eiMwi+eiMwicieiMci

Чи проблема NP-важка?

Оскільки об'єктивна функція здається дивною, корисно пояснити застосування цільової функції.

Припустимо, у нас є n елементів до а в нашому інвентарі є копії кожного об'єкта . У нас є кілька клієнтів, і вони зацікавлені в цих об'єктах пропорційно їх вазі , а значить, об'єкт з більшою є більш популярним. У нас є система продажу в Інтернеті, і нам потрібно правильно відповідати на запити клієнта. Ми не можемо розпізнати предмети за їхніми формами (всі вони виглядають однаково!). Але у нас є якийсь класифікатор, щоб їх знайти. Кожен класифікатор може бути використаний для виявлення копій об'єкта. Ми прагнемо запустити k класифікатор, щоб максимально задовольнити наших клієнтів.e n c i e i w i w ie1encieiwiwi

PS: Може бути корисним подумати про випадок, що для всіх ; однак я не впевнений. [ Я помилявся з цього приводу! Це в P за цим припущенням ]i nwici=pin


Правильний термін менший або рівний найбільшій вазі елемента, не в М. Отже, якщо у вас є елемент з великою вагою, то краще покласти його в M, а не відпускати його на сміття. Отже, M повинен складатися з елементів з k найбільшими вагами. Правильно?
zotachidil

Це не правильно, адже важливі також і витрати. Розглянемо наступний приклад:
Nasooh

w1 = 50, c1 = 80 - w2 = 40, c2 = 15 - w3 = 10, c3 = 5. Для k, рівного 1, вибір e2 є більш вигідним, ніж e1.
Nasooh

Ти правий. Хм ...
зотачиділ

2
Дякую за спробу пояснити мотивацію. На жаль, зв’язок між вашим поясненням та цільовою функцією у питанні для мене все ще незрозумілий, але, мабуть, я повинен бути задоволений нинішнім поясненням, щоб тримати це питання в розумній тривалості.
Цуйосі Іто

Відповіді:


2

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

cinD=ici

(S,w,c,K)w,cR+nS={1,2,,n}MSKiMwiciiMciiMwi

(d1,d2,k,m)0d1d2D0kKkmn

ϕ(d1,d2,k,m)=max{iMwi(ci/d11) : M[m],|M|=k,iMci=d2}.
maxdϕ(d,d,K,n)

можливі рішення для на ті, що містять і ті, що ні, отримаємо повторення Ми залишаємо граничні випадки як вправу.ϕ(d1,d2,k,m)m

ϕ(d1,d2,k,m)=max{ϕ(d1,d2cm,k1,m1)+wm(cm/d11)ϕ(d1,d2,k,m1).

Кількість подзадач є , і для кожного правої сторона рецидиву може бути оцінена в постійна час, тому алгоритм працює в поліноміальний час в і . O(n2D2)nD  

Наслідок Якщо P = NP, будь-яке зменшення, що показує твердість NP, зменшиться до випадків, коли не є многочленом у .Dn

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

Мені також цікаво --- чи хтось знає, чи має особливий випадок, коли (для кожного ) має алгоритм полі-часу? (EDIT: так, за коментарем Вілларда Жана це, здається, оптимізоване, приймаючи щоб містити найбільших елементів.)wi=ciiMk


1
Чи не випадок такий же, як мінімізація , яка оптимізована, коли складається з найбільшого з? ( i j M w i w j ) / ( i M w i ) M w iwi=ci(ijMwiwj)/(iMwi)Mwi
Віллард Жан

@WillardZhan, так, це здається правильним.
Ніл Янг

-6

Ви запитуєте про максимізацію функції без обмежень?

Це дійсно просто. Якщо М найбільший набір, то це найкраще рішення. Не потрібно нічого обчислювати.

Ця проблема здається схожою на проблему з рюкзаком, яка, до речі, є NP.


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