Considere una colección de conjuntos sobre un conjunto base donde y , y sea un número entero positivo.
El objetivo es encontrar otra colección de conjuntos más de tal que cada se puede escribir como una unión de a lo sumo mutuamente disjuntos establece en y también queremos ser mínimo (es decir, el número agregado de elementos en todos los conjuntos de debe ser lo más pequeño posible).
Tenga en cuenta que tiene el mismo tamaño que , pero el tamaño de es incierto.
¿Alguien puede decir si el problema anterior es NP-hard? (conjunto de recubrimiento? embalaje? recubrimiento perfecto)
Gracias por tu tiempo.
Respuestas:
Lema El problema es NP-hard.
Bosquejo de prueba. Hacemos caso omiso de las limitaciones en el problema publicado, porque, para cualquier instancia ( F , U , k ) del problema, la instancia ( F ′ = F n , U ′ = U n , k ) se obtiene tomando la unión de n copias independientes de ( F , U , k ) (donde el iEl | FyoEl | ≪n= | UEl | ( F, U, K ) ( F′= Fnorte, U′= Unorte, K ) norte ( F, U, K ) yo La copia th de usa la i th copia de U como su conjunto base) es equivalente y satisface la restricción (tiene | F ′ i | ≤ n ≪ n 2 = | U ′ | ).F yo U El | F′yoEl | ≤n≪ n2= | U′El |
Le damos una reducción de 3-SAT. Para la presentación, en la primera etapa de la reducción, ignoramos las restricciones en el problema publicado. En la segunda etapa describimos cómo cumplir con esas restricciones mientras se mantiene la corrección de la reducción.miyo∈ Fyo
Primera etapa. Repara cualquier fórmula 3-SAT . Suponga WLOG que cada cláusula tiene exactamente tres literales (cada uno con una variable diferente). Produzca la siguiente instancia ( F , U , k ) del problema publicado, con k = 3 .ϕ ( F, U, K ) k = 3
Sea el número de variables en ϕ . Hay 3 n + 1 elementos en U : un elemento t (para "verdadero") y, para cada variable x i en ϕ , tres elementos x i , ¯ x i y f i (para "falso").norte ϕ 3 n + 1 U t Xyo ϕ Xyo X¯¯¯yo Fyo
Para cada elemento en hay un conjunto singleton contiene sólo que elemento en F . Cualquier solución C incluye por lo tanto cada uno de estos conjuntos, que contribuyen a su tamaño total 3 n + 1 para el costo de C .U F C 3 n + 1 C
Además, para cada variable en φ hay un conjunto "variable" { x i , ¯ x i , f i , t } en F . Para cada cláusula en ϕ hay una "cláusula" establecida en F que consiste en los literales en la cláusula, y t . Por ejemplo, la cláusula x 1 ∧ ¯ x 2 ∧ x 3 produce el conjunto { x 1 , ¯ x 2 , xXyo ϕ { xyo, x¯¯¯yo, fyo, t } F ϕ F t X1∧ x¯¯¯2∧ x3 en F .{ x1, x¯¯¯2, x3, t } F
Reclamación 1. La reducción es correcta: es satisfactoria si alguna solución C ha costado ∑ j | C j | = 5 n + 1 .ϕ C ∑jEl | Cj|=5n+1
(solo si) Suponga que es satisfactoria. Construya una solución C que consista en 3 n + 1 conjuntos singleton, más, para cada variable x i , el par que consiste en el verdadero literal y t . (Por ejemplo, { ¯ x i , t } si x i es falso.) El costo de C es entonces 5 n + 1 .ϕ C 3n+1 xi t {x¯¯¯i,t} xi C 5n+1
Cada conjunto de variables es la unión de tres conjuntos: el par que consiste en el verdadero literal yt , más dos conjuntos de singleton, uno para cada uno de los otros dos elementos. (Por ejemplo, { ¯ x i , t } , { x i } , { f i } .){xi,x¯¯¯i,fi,t} t {x¯¯¯i,t},{xi},{fi}
Cada conjunto de cláusulas (p. Ej., ) es la unión de tres conjuntos: un par que consiste en ty un literal verdadero, más dos conjuntos de un solo tono, uno para cada uno de los otros dos literales. (Por ejemplo, { x 1 , t } , { ¯ x 2 } , { x 3 } .){x1,x¯¯¯2,x3,t} t {x1,t},{x¯¯¯2},{x3}
(si) Suponga que hay una solución de tamaño 5 n + 1 . La solución debe contener los conjuntos de 3 n + 1 singleton, más otros conjuntos de tamaño total 2 n .C 5n+1 3n+1 2n
Considere primero los "variables", cada uno de la forma { x i , ¯ x i , f i , t } . El conjunto es la unión de la desunión de un máximo de tres juegos en C . Sin pérdida de generalidad, es la unión disjunta de dos singletons y un par (de lo contrario, dividir conjuntos en C logra esto sin aumentar el costo). Denota el par P i . Los pares P i y P j para diferentes variables x i y x j son distintos, porquen {xi,x¯¯¯i,fi,t} C C Pi Pi Pj xi xj contiene x i , ¯ x i , o f i pero P j no. Por lo tanto, la suma de los tamaños de estos pares es 2 n . Entonces, estos pares son los únicos conjuntos no singleton en la solución. Pi xi x¯¯¯i fi Pj 2n
Luego considere los conjuntos de "cláusulas", por ejemplo, . Cada uno de estos conjuntos debe ser la unión de, como máximo, tres conjuntos en C , es decir, hasta dos conjuntos únicos y al menos un par P i , P j o P k . Al inspeccionar los pares y el conjunto de cláusulas, debe ser la unión de dos singletons y un par, y ese par debe tener la forma { x i , t } o { ¯ x j , t }{xi,x¯¯¯j,xk,t} C Pi Pj Pk {xi,t} {x¯¯¯j,t} (un literal ).t
Por lo tanto, la siguiente asignación satisface : asigne verdadero a cada variable x i tal que P i = { x i , t } , asigne falso a cada variable x i tal que P i = { ¯ x i , t } , y asigne el variables restantes arbitrariamente.ϕ xi Pi={xi,t} xi Pi={x¯¯¯i,t}
Etapa 2. La instancia(F,U,k=3) producida anteriormente no satisface la restricción establecida en la descripción del problema. Arregle esa deficiencia de la siguiente manera. Ordena los conjuntos F i y los elementos e i en U para que cada conjunto singleton corresponda a su elemento e i . Sea m el número de cláusulas en ϕ , entonces | F | = 1 + 4 n +ei∈Fi Fi ei U ei m ϕ y | U | = 1 + 3 n .|F|=1+4n+m |U|=1+3n
Sea denotar la instancia obtenida de la siguiente manera. Deje que A sea un conjunto de 2 n + 2 m nuevos elementos artificiales, dos para cada conjunto no singleton en F . Dejar que T ' = T ∪ A . Supongamos que F ' contiene los conjuntos singleton de F , además, para cada conjunto no singleton F i en F , dos conjuntos F i ∪ { a(F′,U′,k′=4) A 2n+2m F U′=U∪A F′ F Fi F y { a i , a ′ i } , donde a i y a ′ i son dos elementos en A elegidos exclusivamente para F i . Ahora | F ′ | = | U ′ | = 1 + 5 n + 2 my (con el orden adecuado de F ' y U ' ) la restricción eFi∪{ai,a′i} {ai,a′i} ai a′i A Fi |F′|=|U′|=1+5n+2m F′ U′ se cumple para cada conjuntoF ′ i .e′i∈F′i F′i
Para finalizar, tenga en cuenta que tiene una solución de costo | A | + 5 n + 1 si la instancia original ( F , U , k = 3 ) tiene una solución de costo 5 n + 1 .(F′,U′,k′=4) |A|+5n+1 (F,U,k=3) 5n+1
(si) Dado cualquier solución de costo 5 n + 1 para ( F , U , k = 3 ) , la adición de los n + m conjuntos { a i , un ' i } (una para cada no singleton F i , por lo que estos la partición A ) a C da una solución a ( F ′ , U ′ , k ′ = 4 ) del costoC 5n+1 (F,U,k=3) n+m {ai,a′i} Fi A C (F′,U′,k′=4) .|A|+cost(C)=|A|+5n+1
(solo si) Considere cualquier solución para ( F ′ , U ′ , k = 4 ) de costo | A | + 5 n + 1 . Considere cualquier par de conjuntos no singleton F i ∪ { a i , a ′ i } y { a i , a ′ i } en F ′ . Cada uno es la unión disjunta de, como máximo, 4 conjuntos en CC′ (F′,U′,k=4) |A|+5n+1 Fi∪{ai,a′i} {ai,a′i} F′ . Por un argumento de intercambio local, uno de estos conjuntos es { a i , a ′ i } y el resto no contiene un i o a ′ i --- de lo contrario, esta propiedad puede lograrse mediante una modificación local de los conjuntos, sin aumentar el costo ... (falta de detalles aquí es por eso que llamo a esto unbosquejo deprueba). Entonces, eliminar los conjuntos { a i , a ′ i } de C ′ da una solución C para ( F , U ,C′ {ai,a′i} ai a′i {ai,a′i} C′ C de costo 5 n + 1 . ⋄(F,U,k=3) 5n+1 ⋄
fuente