Складність задачі про інтервальне покриття


17

Розглянемо наступну задачу Q : Нам задано ціле число та k інтервалі [ l i , r i ] з 1 l ir i2 n . Нам також дано 2 n цілих чисел d 1 , , d 2 n0 . Завдання полягає у виборі мінімальної кількості інтервалів [ l i , r i ]nk[li,ri]1liri2n2nd1,,d2n0[li,ri]таким, що для кожного , вибираються принаймні d i інтервали, що містять ціле число i .i=1,,2ndii

Не важко зрозуміти, що можна розв’язати за полиномним часом (див. Нижче).Q

Тепер розглянемо наступну дещо змінену задачу Q : Вхід проблеми такий же, як і раніше. Однак тепер завдання полягає у виборі мінімальної кількості інтервалів, таких, що для кожного інтервалу , принаймні d 2 i - 1, що містить ціле число 2 i - 1 або принаймні d 2 i інтервали, що містять ціле число 2 я обраний (під "або" ми маємо на увазі звичайний логічний або).i=1,,nd2i12i1d2i2i

Моє запитання: Чи можна розв’язати в поліноміальний час?Q

Ось два способи ефективно вирішити :Q

Простий жадібний алгоритм: прокрутіть інтервали зліва направо і виберіть лише стільки інтервалів, скільки потрібно, щоб "задовольнити" числа . Щоразу, коли є вибір між різними інтервалами, вибирайте один (и) з максимальною правильною кінцевою точкою.di

Ціла програма: Для кожного інтервалу введіть змінну рішення x i{ 0 , 1 } з x i = 1, якщо буде обраний інтервал. Мета - мінімізувати x 1 + + x k , за умови обмежень j : i [ l j , r j ] x jd i[li,ri]xi{0,1}xi=1x1++xkj:i[lj,rj]xjdi. Матриця обмежень цієї цілочисельної програми має послідовні властивості one, і тому лінійна релаксація програмування цієї програми має ціле оптимальне рішення.

Дякуємо за будь-які підказки, а також за довідки!

Відповіді:


-1

Кожен екземпляр Q може бути перетворений на екземпляр задачі з декількома множинними множинами, де місцями є інтервали , що охоплюють послідовну послідовність точок запиту (= цілі числа d i ).[li,ri]di


3
Чи можете ви покращити відповідь, додавши визначення проблеми з декількома кришками набору (MSCP) та більше детальних відомостей про зменшення? Зокрема, екземпляр MSCP (щонайменше, "я знаю" версію) є двостороннім графіком і лише V 1 є об'єднанням роз'єднаних множин; яким способом відновлення відображає ребра від V 1 до V 2 ? G=(V1,V2,E)V1V1V2
Марціо Де Біасі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.