Complejidad de encontrar el número máximo de conjuntos disjuntos por pares

9

Suponga que tengo conjuntos de con elementos tomados de r posibles. Cada conjunto es de tamaño n ( n < r ), donde los conjuntos pueden superponerse. Quiero determinar si los siguientes dos problemas son NP completos o no:Prnn<r

Problema A. ¿Hay ( 1 M P ) conjuntos distintos dentro de los conjuntos P (es decir, su intersección por pares está vacía)?M1MPP

Problema B. Ahora se pueden elegir ( k < n ) elementos de cada conjunto. ¿Existen L ( 1 L P ) conjuntos distintos de tamaño k cada uno dentro de los conjuntos P ? Tenga en cuenta que solo se puede tomar un conjunto de k elementos de cada conjunto de n elementos.kk<nL1LPkPkn

Observación : Estoy interesado principalmente en el caso donde son fijos ( n 2 , k 2 ).k,nn2,k2

Creo que Problema A puede ser pensado como un Uniform r problema de la concordancia -partite hiper-gráfico. Es decir, tenemos los elementos de r como vértices, y cada hiper-borde contiene un subconjunto de n vértices del gráfico.nrrn

  1. En el Uniform r problema de la concordancia -partite hiper-gráfico NP-completo?nr

  2. Creo que el problema B es equivalente a encontrar el número de hiper-bordes distintos de cardinalidad tomados de hiper-bordes de cardinalidad n . ¿Es esta versión restringida (en el sentido de que cada conjunto de cardinalidad k se toma de un conjunto preseleccionado de n elementos en lugar de tomarse arbitrariamente de r elementos) del problema A NP-completo?knknr

Ejemplo ( ):n=3,r=5,P=3

, B = { 2 , 3 , 4 } , C = { 3 , 4 , 5 }A={1,2,3}B={2,3,4}C={3,4,5}

Si , solo hay M = 1 un conjunto distinto, que es A o B o C , ya que cada uno de los pares ( A , B ) , ( A , C ) , ( B , C ) tiene intersección vacíak=n=3M=1ABC(A,B)(A,C)(B,C)

Si , tenemos L = 2 conjuntos distintos: una solución es { 1 , 2 } , { 3 , 4 } (subconjuntos de A y B ).k=2L=2{1,2}{3,4}AB

MJK
fuente

Respuestas:

2

Este es un caso especial del problema de empaquetado máximo y los problemas A y B son NP-completos . Tenga en cuenta que el problema es simplemente un problema de coincidencia si y también es fácil si n = 1 . Entonces supondré n 3 .n=2n=1n3

En lugar de hacer la pregunta,

¿Hay conjuntos disjuntos entre los conjuntos P ?MP

Hagamos la siguiente pregunta

¿Cuál es el número máximo de conjuntos disjuntos que podemos obtener de los conjuntos ?P

Está claro que si la segunda pregunta es responsable en el tiempo polinómico, entonces también es la primera, ya que todo lo que tenemos que hacer es comparar este valor máximo con y generar si M es menor o igual a este máximo y NO en caso contrario.MM

Además, si la primera pregunta es responsable en tiempo polinómico, entonces la segunda también lo es, ya que podemos usar la búsqueda binaria en y obtener la respuesta a la segunda pregunta y solo agregar un factor de O ( log M )MO(logM)

Entonces podemos concluir que ambas preguntas son equivalentes. es decir, la pregunta 1 se puede resolver en tiempo polilomial si y solo si la pregunta 2 también lo es.

También está claro que los problemas están en NP, ya que podemos verificar fácilmente que los conjuntos de superados son disjuntos.M

Entonces, la pregunta ahora es ¿cómo reducimos un problema NP-Hard conocido a esto? Para hacer esto, reducimos del problema de empaquetado máximo establecido . Simplemente me enfocaré en el problema A, ya que el problema B se puede demostrar fácilmente que es difícil estableciendo k=n1

Considere una instancia arbitraria del problema de empaquetamiento máximo conjunto . Tenga en cuenta que la única diferencia entre el problema A y el problema de empaquetado del juego máximo original es que en el problema A, el tamaño de los juegos tiene que ser igual. Vamos t ser el máximo cardinalidad entre todos los conjuntos en T . Si cada conjunto en T tiene la misma cardinalidad, hemos terminado y el problema de la cubierta del conjunto es exactamente el problema A. Ahora suponga que para algún conjunto S iT , tenemos | S i | < t . Simplemente agregamos elementos ( t - | S i | ) aTtTTSiT|Si|<t(t|Si|) que no son elementos de cualquier conjunto en T . Repetimos este proceso hasta que todos los conjuntos S iT tengan el mismo tamaño. Está claro que agregar nuevos elementos de esta manera no cambia el tamaño del número máximo de conjuntos disjuntos.SiTSiT

Entonces, si podemos resolver el problema en tiempo polinómico, podemos resolver el problema de empaquetado máximo establecido en tiempo polinómico ya que todo lo que tenemos que hacer es eliminar los elementos adicionales que hemos agregado, y hacer esto no cambia el tamaño del número máximo de conjuntos disjuntos en T .AT

EDITAR - Alguna información adicional sobre el problema B

TndT

n

MTM(M1)P=NP

Obinna
fuente
n+1n=3,P=3n1=2{1,d},{2,3},{4,5}. Sin embargo, la solución al problema A es que solo hay un conjunto. En otras palabras, no veo cómo una solución para el problema B da una aproximación constante del factor al problema A.
MJK
A={1,2,3,d},B={2,3,4,d}C={3,4,5,d}n=4n=4k=3n=2k=2