¿Cuántos cortes de bordes disjuntos debe tener un DAG?


10

La siguiente pregunta se relaciona con la optimalidad de Bellman-Ford - t corta algoritmo de programación dinámica ruta (ver este post para una conexión). Además, una respuesta positiva implicaría que el tamaño mínimo de un programa de ramificación no determinista monótono para el problema STCONN es Θ ( n 3 ) . stΘ(n3)

Sea un DAG (gráfico acíclico dirigido) con un nodo fuente sy un nodo objetivo t . A k - corte es un conjunto de aristas, cuya eliminación destruye todas las s - t caminos de longitud k ; suponemos que existen tales caminos en G . Tenga en cuenta que las rutas s - t más cortas no necesitan ser destruidas.GstkstkGst

Pregunta: ¿El debe tener al menos (aproximadamente) k disjuntos k -cuts? Gk k

Si no hay rutas - t más cortas que k , la respuesta es SÍ, porque tenemos el siguiente hecho conocido de min-max (un dual al teorema de Menger ) atribuido a Robacker . Un corte s - t es un corte k para k = 1 (destruye todas las rutas s - t ).stkstkk=1 st

Realidad: en cualquier gráfico dirigido, el número máximo de cortes - t de arista disjunta es igual a la longitud mínima de una ruta s - t . stst

Tenga en cuenta que esto se cumple incluso si el gráfico no es acíclico.

Prueba: Trivialmente, el mínimo es al menos el máximo, ya que cada ruta - t se cruza con cada corte s - t en un borde. Para ver la igualdad, deje que d ( u ) sea ​​la longitud de un camino más corto de s a u . Sea U r = { u : d ( u ) = r } , para r = 1 , ... , d ( t ) , y sea E rststd(u)suUr={u:d(u)=r}r=1,,d(t)Erser el conjunto de aristas que salen de . Está claro que los conjuntos E r son disjuntos, porque los conjuntos U r son tales. Por lo tanto, queda por demostrar que cada E r es un corte s - t . Para mostrar esto, tomar un arbitraria s - t trayectoria p = ( u 1 , u 2 , ... , u m ) con u 1 = s y u m = t . Desde dUrErUrErststp=(u1,u2,,um)u1=sum=t , la secuencia de distancias d ( u 1 ) , ... , d ( u m ) debe alcanzar el valor d ( u m ) = d ( t ) comenzando en d ( u 1 ) = d ( s ) = 0 y aumentando el valor como máximo 1d(ui+1)d(ui)+1d(u1),,d(um)d(um)=d(t)d(u1)=d(s)=01en cada paso Si algún valor disminuye, entonces debemos alcanzar el valor d ( u i ) más adelante . Entonces, debe haber una j donde un salto de d ( u j ) = r a d ( u j + 1 ) = r + 1 ocurre, lo que significa que el borde ( u j , u j + 1 ) pertenece a E r , como deseado. QED d(ui)d(ui)jd(uj)=rd(uj+1)=r+1(uj,uj+1)Er

Pero, ¿qué pasa si también hay caminos más cortos (que )? ¿Alguna pista / referencia? k


JT Robacker, Min-Max Theorems on Shortest Chains and Disjoint Cuts of a Network, Research Memorandum RM-1660, The RAND Corporation, Santa Mónica, California, [12 de enero] 1956.
EDITAR (un día después): a través de un argumento breve y muy agradable, David Eppstein respondió negativamente a la pregunta original anterior : ¡el DAG T n completo (un torneo transitivo ) no puede tener más de cuatro k- cortes disjuntos ! De hecho, demuestra el siguiente hecho estructural interesante , para k sobre Tnkk . Un corte espurasi no contiene aristas incidentes asot.nst

Cada corte puro en T n contiene una ruta de longitud k . kTnk

¡Esto, en particular, implica que cada dos cortes puros deben cruzarse! Pero quizás todavía hay muchos cortes k puros que no se superponen "demasiado". Por lo tanto, una pregunta relajada (las consecuencias para STCONN serían las mismas ):kk

Pregunta 2: Si cada corte puro tiene bordes M , ¿la gráfica debe tener unos bordes Ω ( k M ) ? kMΩ(kM)

La conexión con la complejidad de STCONN proviene del resultado de Erdős y Gallai de que uno tiene que eliminar todos los bordes excepto de K m (sin dirigir) para destruir todos los caminos de longitud k . (k1)m/2Kmk


EDIT 2: ahora hice la pregunta 2 en mathoverflow .

Respuestas:


9

Respuesta corta: no.

Gnstk=n/3n/3sn/3tCst

XGxsxxtCXn/3CstXCkstGCXCk(n/3)/k=kXCCCPk

CsPPtsPtCCn/3stk


@ David: Argumento interesante (aunque todavía no lo he entendido del todo: por qué C debe tener una ruta k). Pero donde el argumento falla (debería) si todas las rutas st son largas, de longitud al menos k?
Stasys

1
@Stasys: G es un torneo, la prueba utiliza este hecho, por lo que es por eso que fallaría.
domotorp

@domotorp: gracias, de hecho me perdí la palabra "completa". Todavía no puedo encontrar una falla, pero este sería un hecho bastante contradictorio: incluso si hay muchos k-path en un torneo acíclico, no podemos seleccionar muchos sistemas disjuntos de sus representantes (bordes).
Stasys

@David: En realidad, para tener las consecuencias mencionadas, podemos permitir que los cortes sean solo "casi disjuntos", es decir, que puedan compartir bordes incidentes con sot (solo tenemos 2n en estos bordes especiales). Un objetivo real es mostrar que G debe tener unos bordes kN, si sabemos que cada corte k "puro" (sin estos bordes especiales) debe tener N bordes. ¿Puede modificarse su argumento (muy agradable, como veo ahora) a esta situación ("casi disjunta")?
Stasys

2
Gk
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.