Sendero simple en dag con bordes hacia atrás

10

¿Cuál es la complejidad del siguiente problema ( P? NP-hard?):

Entrada: un gráfico acíclico dirigido , un conjunto de bordes hacia atrás E 'V × V , y dos nodos distinta s y t .D=(V,E)EV×Vst

Pregunta: Sea denotar la gráfica formada al agregar a D los bordes de E . ¿Hay un camino simple de s a t en G que utiliza al menos un filo hacia atrás?G=(V,EE)DEstG

Nota: 0) Una ruta simple es una ruta en la que no se repite ningún vértice, un borde hacia atrás es un borde que contradice el orden parcial implicado por el DAG. 1) el problema es fácil si solicitamos la ruta simple para usar exactamente un borde hacia atrás (o un número constante) por reducción trivial al problema de la ruta disjunta, que admite una solución simple de PTime en DAG ( Perl y Shiloach, JACM'78 ) 2) el problema de la ruta disjunta es NP-completo en gráficos generales ( Fortune et al., TCS'80 ).

Joseph Stack
fuente
1
Esto seguramente no es óptima, pero es suficiente para demostrar que su problema está en P (a menos que no he entendido algo): dejar que sean los bordes de E ; aplicar un algoritmo de ruta más corta desde s a t a la gráfica G i = ( V , E 'i j = 1 { e j } ) para i = 1 , 2 , . . . ,mi1,...,mimetromistGi=(V,Ej=1i{ej}) . En otras palabras siguen añadiendo un borde escogido de E a la gráfica G ' = ( V , E ' ) hasta que encuentre un camino de s a t . i=1,2,...,mEG=(V,E)st
Marzio De Biasi
1
Marzio: ¿pero qué pasa si el camino que encuentra usa solo bordes en y ninguno en E ' ? Todavía puede existir una ruta diferente que también incluye un borde de E ' . mimimi
David Eppstein
Lo que es muy molesto acerca de su problema es que el siguiente problema relacionado se ve fácilmente como NP-duro: dado un gráfico y dos pares de vértices (s, t), (s ', t'), para determinar si hay vértices disjuntos rutas de s a t y de s 'a t', incluso cuando t = s ', e incluso en gráficos que son la unión de dos DAG. Aún así, esto no parece ayudar con la pregunta que hace.
a3nm
1
El problema de caminos disjuntos es W [1] -duro incluso en DAG, y es una tarea para demostrar que es NP-Hard en DAG. El algoritmo de Shiloach es para dos problemas de rutas disjuntas, y de una manera similar funciona para el problema de k rutas disjuntas en DAG pero lleva tiempo n ^ k. Pero al menos admite un algoritmo XP para su problema.
Saeed