Твердість підзору Set Cover


10

Наскільки складно проблема встановлення кришки, якщо кількість елементів обмежена якоюсь функцією (наприклад, ), де - розмір проблемного екземпляра. Формальноnlognn

Нехай і де і . Наскільки важко вирішити наступну проблемуF = { S 1 , , S n } S iU m = O ( log n )U={e1,,em}F={S1,,Sn}SiUm=O(logn)

SET-COVER'={<U,F,k>: there exists at most k subsets  Si1,,SikF that cover U}.

Що робити, якщо ?m=O(n)

Будь-який результат, заснований на добре відомих здогадах (наприклад, Unique Games, ETH), є хорошим.

Редагувати 1: Мотивація цієї проблеми з’ясовується, коли проблема стає важкою, оскільки зростає. Зрозуміло, що проблема є в P, якщо і NP-жорсткий, якщо . Який поріг NP-жорсткості проблеми?m = O ( 1 ) m = O ( n )mm=O(1)m=O(n)

Змінити 2: Там існує тривіальний алгоритм вирішення його в часі ( в якому перераховані всі підмножини розміру від ). Тому проблема не є NP-жорсткою, якщо оскільки ETH означає, що немає алгоритму в часі для будь-якого NP-жорсткого проблема (де - розмір задачі NP-жорсткого).m F m = O ( log n ) O ( 2 n o ( 1 ) ) nO(nm)mFm=O(logn)O(2no(1))n


2
Існує кращий алгоритм для вирішення задачі в часі (точніше число Белла для ): для кожного розділу елементів на підмножини перевірити, чи існує вхідний набір, що охоплює кожну підмножину. Тож для задачу можна вирішити за многочлен. Однак це не зовсім відповідає на ваше запитання щодо . m m = O ( log n / log log n ) m = O ( log n )mO(m)mm=O(logn/loglogn)m=O(logn)
Девід Еппштейн

Відповіді:


11

Коли , ви можете використовувати динамічне програмування, щоб знайти оптимум у поліноміальному часі. Таблиця містить булеві значення з осередками для кожного та , що вказує, чи є набори, які охоплюють елементів в .T , X{ 0 , , k } X UXm=O(logn)T,X{0,,k}XUX

Коли , скажімо, , проблема залишається NP-жорсткою. З огляду на екземпляр SET-COVER, додайте нових елементів та нових наборів, що складаються з непорожніх підмножин нових елементів, включаючи (коли досить великий, ). Також збільшуйте на одиницю. Нові є і .mCm=O(n)mCnmx1,,xm(2C1m)2{x1,,xm}m(2C1m)2<2mkm,nm=2mn=n+(2C1m)2(C1m)2


Більш загально, випадок є NP-жорстким, а випадок m = n o ( 1 ) не є NP-жорстким, якщо вважати ETH, оскільки існує алгоритм p o l y ( n , 2 m ) . m=nO(1)m=no(1)poly(n,2m)
Yuval Filmus

11

Випадок знаходиться в n O ( c ) часі, як зазначає Юваль, але також зверніть увагу на k = O ( 1 ) ви можете вирішити задачу за час O ( n km ) (поліноміальний час) шляхом вичерпний пошук. Якщо припустити гіпотезу сильного експоненціального часу (що CNF-SAT для формул з N змінними та O ( N ) пунктами потрібно щонайменше 2 N - o ( N )m=clognnO(c)k=O(1)O(nkm)NO(N)2No(N)час), ці два часові межі є "межею" того, що ми можемо очікувати в поліноміальний час, в наступному сенсі.

У моєму документі SODA'10 з Михайлом Патраску ми вивчаємо по суті ізоморфну ​​проблему пошуку домінуючого набору розміру у довільному графіку n- вузлів, показуючи, що якщо k -домінуючий набір може бути вирішений за n k - ε час на деякий k 2 і ε > 0 , тоді існує алгоритм часу 2 N ( 1 - ε / 2 ) p o l y ( M ) для CNF-SAT на N змінних і Mknknkεk2ε>02N(1ε/2)poly(M)NM пункти.

Помітивши взаємозв'язок між околицями вершин у домінуючому екземплярі множини та множинами в екземплярі кришки множини, а також перевіривши зменшення, ви побачите, що це зменшення також показує розв’язання -Set Cover з n множин над всесвітом розміром m in n k - час εf ( m ) передбачає алгоритм CNF-SAT для формул CNF з M- клаузами та N змінними, що працюють у 2 N ( 1 - ε / 2 )f ( M )knmnkεf(m)MN2N(1ε/2)f(M)час. Для спростування Сильного ETH достатньо вирішити CNF-SAT у випадку, коли . Отже, алгоритм вашої проблеми, що працює в n k - ε2 м / α ( м ) для деякої необмеженої функції α ( m ) , дасть дивовижний новий алгоритм SAT.M=O(N)nkε2m/α(m)α(m)

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