Dureza de un subcase de Set Cover


10

¿Qué tan difícil es el problema de Set Cover si el número de elementos está limitado por alguna función (por ejemplo, log⁡n ) donde n es el tamaño de la instancia del problema. Formalmente,

Let y F = { s 1 , ⋯ , S n } donde S i ⊆ U y m = O ( log n ) . ¿Qué tan difícil es decidir el siguiente problema?U={e1,⋯,em}F={S1,⋯,Sn}Si⊆Um=O(log⁡n)

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

¿Qué pasa si m=O(n) ?

Cualquier resultado basado en conjeturas bien conocidas (por ejemplo, Juegos únicos, ETH) es bueno.

Edición 1: Una motivación para este problema es descubrir cuándo el problema se vuelve difícil a medida que aumenta . Claramente, el problema está en P si m = O ( 1 ) y NP-hard si m = O ( n )mm=O(1)m=O(n) . ¿Cuál es el umbral para la dureza NP del problema?

Edición 2: existe un algoritmo trivial para decidirlo en el tiempo (que enumera todos los subconjuntos de tamaño m de F ). Por lo tanto, el problema no es NP-hard si m = O ( log n ) ya que ETH implica que no hay algoritmo en el tiempo O ( 2 n o ( 1 ) ) para ningún problema NP-hard (donde n es el tamaño del Problema NP-duro).O(nm)mFm=O(log⁡n)O(2no(1))n


2
Existe un mejor algoritmo para decidir el problema en el tiempo (más precisamente el número de Bell para m ): para cada partición de los elementos en subconjuntos, pruebe si existe un conjunto de entrada que cubra cada subconjunto. Entonces, para m = O ( log n / log log n ), el problema se puede resolver en tiempo polinómico. Sin embargo, esto no responde a su pregunta sobre m = O ( log n ) . mO(m)mm=O(log⁡n/log⁡log⁡n)m=O(log⁡n)
— David Eppstein

Respuestas:


11

Cuando , puede utilizar la programación dinámica para encontrar el tiempo óptimo en el polinomio. La tabla contiene celdas con valores booleanos T ℓ , X para cada ℓ ∈ { 0 , ... , k } y X ⊆ U , lo que indica si hay ℓ conjuntos que cubren los elementos en Xm=O(log⁡n)Tℓ,Xℓ∈{0,…,k}X⊆UℓX .

Cuando , diga m ≤ C √m=O(n) , el problema sigue siendo NP-duro. Dada una instancia de SET-COVER, addmnuevos elementosx1,...,xmy(2C - 1 m)2nuevos conjuntos, que consta de subconjuntos no vacíos de los nuevos elementos, incluyendo{x1,...,xm}(cuandomes lo suficientemente grande,(2C - 1 m)2<2m). También aumentakm≤Cnmx1,…,xm(2C−1m)2{x1,…,xm}m(2C−1m)2<2mk por uno. Los nuevos son m ′m,n y n ' = n + ( 2 C - 1 m ) 2 ≥ ( C - 1 mm′=2m .n′=n+(2C−1m)2≥(C−1m′)2


Más generalmente, el caso es NP-hard, y el caso m = n o ( 1 ) no NP-hard suponiendo ETH, ya que existe un algoritmo p o l y ( n , 2 m ) . m=nO(1)m=no(1)poly(n,2m)
— Yuval Filmus

11

El caso de está en n O ( c ) tiempo como lo señaló Yuval, pero también tenga en cuenta que para k = O ( 1 ) puede resolver el problema en O ( n k ⋅ m ) tiempo (tiempo polinómico) por búsqueda exhaustiva. Suponiendo la hipótesis del tiempo exponencial fuerte (que CNF-SAT en fórmulas con N variables y cláusulas O ( N ) requiere al menos 2 N - o ( N )m=clog⁡nnO(c)k=O(1)O(nk⋅m)NO(N)2N−o(N)tiempo), estos dos límites de tiempo son el "límite" de lo que podemos esperar en el tiempo polinómico, en el siguiente sentido.

En mi artículo de SODA'10 con Mihai Patrascu , estudiamos el problema esencialmente isomórfico de encontrar un conjunto dominante de tamaño en un gráfico arbitrario de n- nodos, mostrando que si el conjunto dominante de k se puede resolver en n k - ε tiempo por algún k ≥ 2 y ε > 0 , entonces hay un algoritmo de tiempo 2 N ( 1 - ε / 2 ) p o l y ( M ) para CNF-SAT en N variables y Mknknk−εk≥2ε>02N(1−ε/2)poly(M)NM cláusulas

Observando la relación entre vecindarios de vértices en una instancia de conjunto dominante y conjuntos en una instancia de cobertura de conjunto, e inspeccionando la reducción, encontrará que esta reducción también muestra la resolución de -Set Cover con n conjuntos sobre un universo de tamaño m en n k - El tiempo ε ⋅ f ( m ) implica un algoritmo CNF-SAT para fórmulas CNF con cláusulas M y N variables que se ejecutan en 2 N ( 1 - ε / 2 ) ⋅ f ( Mknmnk−ε⋅f(m)MN2N(1−ε/2)⋅f(M)hora. A los efectos de refutar el Strong ETH, es suficiente resolver CNF-SAT en el caso de que . Por lo tanto, un algoritmo para su problema que se ejecuta en n k - ε ⋅ 2 m / α ( m ) para alguna función ilimitada α ( m ) produciría un nuevo algoritmo SAT sorprendente.M=O(N)nk−ε⋅2m/α(m)α(m)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.