¿Reducir el flujo máximo a la coincidencia bipartita?

9

Hay una reducción famosa y elegante del problema de coincidencia bipartita máxima al problema de flujo máximo: creamos una red con un nodo fuente , un nodo terminal t y un nodo para cada elemento que se va a combinar, luego agregamos los bordes apropiados.st

Ciertamente, hay una manera de reducir el flujo máximo a la coincidencia bipartita máxima en tiempo polinómico, ya que ambos pueden resolverse individualmente en tiempo polinómico. Sin embargo, ¿existe una reducción "agradable" del tiempo polinómico del flujo máximo (en gráficos generales) a la coincidencia bipartita máxima?

templatetypedef
fuente
¿Pregunta sobre el flujo de red en un gráfico bipartito o en gráficos generales?
DW
Estaba pensando en el flujo máximo en gráficos generales.
templatetypedef
1
Las reducciones de poli-tiempo dentro de P son aburridas: solo resuelve la instancia y elige una de las dos instancias codificadas. Sé que eso no es lo que quieres, pero ¿puedes especificar con más precisión qué es eso?
Raphael
@Raphael El último párrafo de mi pregunta aludía a lo que mencionaste, ya que sí, claramente hay una reducción no interesante en la línea de lo que dijiste. Estoy buscando una reducción que esté más en línea con la reducción del emparejamiento al flujo máximo, una transformación estructural que conserva las características esenciales. Piense algo similar a las reducciones realizadas para demostrar la dureza NP en lugar de la reducción trivial de "resolver el problema y generar una instancia".
templatetypedef
¿No son las reducciones de gadgets típicamente de tiempo lineal? A eso me refiero: tratar de encontrar una clase más restringida que nos impida "hacer trampa". (No está claro qué debería significar "preservar las características esenciales")
Rafael

Respuestas:

7

Por extraño que parezca, no se conoce tal reducción. Sin embargo, en un artículo reciente, Madry (FOCS 2013), mostró cómo reducir el flujo máximo en gráficos de capacidad unitaria (logarítmicamente en muchos casos de) coincidencia máxima en gráficos bipartitos.b

En caso de que no esté familiarizado con el problema de coincidencia máxima de , esta es una generalización de la coincidencia, definida de la siguiente manera: la entrada es un gráfico (en nuestro caso, un gráfico bipartito), G = ( V , E ) y un conjunto de demandas integrales para cada vértice, con la demanda del vértice v denotada por b v . El objetivo es encontrar un conjunto de aristas S más grande posible, de modo que ningún vértice v tenga más de b v aristas en S incidente en vbG=(V,E)vbvSvbvSv. Es un ejercicio simple para generalizar la reducción del emparejamiento bipartito a los flujos máximos y mostrar una reducción similar del emparejamiento bipartito a los flujos máximos. (Uno de) el (los) resultado (s) sorprendente (s) del artículo de Madry es que, en cierto sentido, estos problemas son equivalentes, dando una reducción simple que reduce el flujo máximo en gráficos de capacidad unitaria (generalmente, gráficos donde la suma de capacidades, | u | 1 es lineal en el número de aristas, m ) a un problema de coincidencia b en un gráfico con nodos O ( m ) , vértices y suma de demandas.b|u|1mbO(m)

Si le interesan los detalles, consulte la sección 3, hasta el Teorema 3.1 y la sección 4 (y la prueba de corrección en el Apéndice C) de la versión ArXiv del documento de Madry, aquí . Si la terminología no es evidente por sí mismo, ver sección 2.5 para un resumen relativo a la equiparación de problema, y tener en cuenta que U esitumi es la capacidad del borde en la instancia de flujo máximo original.mi

dwajc
fuente
-2

Así que aquí hay un intento de responder a su pregunta:

El teorema de Konig sobre emparejamientos bipartitos se probó y, en consecuencia, se redujo utilizando el teorema de Max-Flow Min-Cut. El teorema de Konig establece lo siguiente. Si G es un gráfico bipartito, entonces max {| M | : M es una coincidencia} = min {| C | : C es una portada}. Prueba. La parte max {| M |} ≤ {| C |} es trivial. Supongamos que P y Q son las clases de bipartición de G. Agregamos dos vértices, r y s a G, y arcos rp para cada y qs para cada q Q , y el borde directo pq de p P a q Q . Este es un dígrafo G . Definimos capacidades u (rp) = 1, u (pq) =pagsPAGSqQpagsPAGSqQsolmimiFXsolFXpagsqMETROsol(QR)El |QREl |y entonces C es una portada de tamaño | M |.

Quiero decir que esto es todo en mi opinión que hiciste en la pregunta y esta es mi respuesta potencial :).

marcincuber
fuente
2
Tenga en cuenta que puede usar LaTeX aquí para componer las matemáticas de una manera más legible. Vea aquí para una breve introducción.
DW
1
¿Puedes aclarar cómo responde esto a la pregunta? ¿Está construyendo un algoritmo para resolver el problema de flujo máximo en gráficos generales, utilizando un algoritmo para la coincidencia bipartita máxima? Si es así, ¿cuál es el algoritmo? Parece que todo lo que está haciendo es mostrar cómo resolver el problema de flujo máximo para el caso especial de gráficos bipartitos en el caso especial donde todas las capacidades son 1 . Pero, por supuesto, ese problema es trivialmente equivalente a la coincidencia máxima, como la pregunta ya explica, por lo que no veo cómo esto agrega algo nuevo. Tampoco veo cómo el teorema de Konig o las cubiertas de vértices son relevantes.
DW
La reducción en este caso es la clave para responder el conjunto de preguntas. Y creo esto exactamente en lo que @templatetypedef está buscando. No creo que la reducción del tiempo polinómico del flujo máximo (en gráficos generales) sea diferente. Lo pensaré nuevamente y tal vez agregue algo extra, pero apenas puedo ver por qué necesitaríamos diferentes instancias para tener una reducción más general. Pero puntos justos.
marcincuber
Esta es la reducción estándar del libro de texto DE la coincidencia bipartita al flujo máximo. La pregunta es pedir una reducción en la dirección opuesta: DESDE el flujo máximo hasta la coincidencia bipartita.
JeffE