5 votos

¿Por qué no se puede reducir la cobertura del conjunto al costo máximo de flujo máximo?

Bueno, así que sé que obviamente estoy haciendo algún tipo de error fácil aquí, desde el conjunto de la cubierta es NP-completo y min-costo max-flow está en P, pero no puedo averiguar lo que el error es.

Así, dado un universo $U$ y un conjunto $S$ tales que la unión de todos los conjuntos en $S$ es $U$, el conjunto de la cubierta problema pide el más pequeño subconjunto de $S$ tales que la unión de todos los conjuntos en que el subconjunto es $U$.

Mi pregunta, entonces, es por eso que no se puede construir un min-costo max gráfico de flujo de la siguiente manera:

  1. Crear un nodo para cada conjunto en $S$, y un nodo para cada elemento en $U$.
  2. Dibujar los bordes de la fuente para cada conjunto $A \in S$ con 1 costo y la capacidad infinita.
  3. Dibujar los bordes de cada elemento en $U$ a la pileta con coste 0 y de la capacidad de la unidad.
  4. Dibujar los bordes de cada conjunto en $S$ a cada uno de los elementos en $U$ que contiene con coste 0 y la capacidad infinita.
  5. Encontrar el mínimo costo max-flujo de la red resultante; los conjuntos de $A \in S$ que tienen un flujo a través de ellos debe constar de un conjunto de cubierta.

Wikipedia ofrece un ejemplo de problema con $U = \{1, 2, 3 ,4, 5\}$ e $S = \{ \{1, 2, 3\}, \{2, 4\}, \{3, 4\}, \{4, 5\} \}$ -- aquí es un dibujo que hice para ilustrar.

El gráfico resultante tendrá $|S| + |U| + 2$ nodos, y $\Sigma_{A \in S} |A|+ |S| + |U| + 2$ bordes, lo que creo que debería ser polinomial en el tamaño de la entrada. Entonces, ¿qué estoy haciendo mal aquí? Gracias!

1voto

Julia Graham Puntos 36

Vaya, lo descubrí en realidad. Esto pudo haber sido lo que @ Μάρκος Καραμέρης estaba tratando de decirme, pero estaba entendiendo mal la formulación del problema de costo máximo de flujo máximo. El costo de una ventaja no es un costo de una sola vez para usar esa ventaja, sino el costo por unidad de flujo.

0voto

Kyle Jones Puntos 779

El max-min de flujo de costo del problema permite a un valor real de las soluciones. Conjunto de cubrir la demanda binario "flujo" de opciones, es decir, un conjunto de S se utiliza en la solución o no lo es. Max-min de flujo de costo, la aceptación real de los valores de las incógnitas es una relajación de los requisitos de cobertura establecida, así como la programación lineal es una relajación de programación lineal entera, una relajación que, lamentablemente, los cambios que el problema de la dificultad de tipo NP-completo para P.

-1voto

Para decirlo simplemente: su algoritmo garantiza únicamente para llenar cada nodo en la última(a la derecha) de la capa, pero no se limita a cualquier lugar en el número de subconjuntos que se utiliza en la primera(a la izquierda) de la capa. Por ejemplo, en la wikipedia en caso que usted menciona se podría utilizar $\{1,2,3\}$ de la $1$, $\{2,4\}$ de la $4$ e $\{4,5\}$ de la $5$. Por supuesto, el $2$ pueden y deben ser obtenidos a partir de el primer set, pero esta información no está codificado en el flujo de la construcción y esa es la cuestión.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X