Einfacher Weg auf Tag mit rückwärtigen Kanten

10

Was ist die Komplexität des folgenden Problems ( P? NP-hard?):

Eingabe: ein gerichteter azyklischer Graph , eine Menge von Rückwärtskanten und zwei verschiedene Knoten und .D=(V,E)EV×Vst

Frage: Es sei bezeichnen den Graph , gebildet durch das Hinzufügen die Kanten von . Gibt es in einen einfachen Pfad von nach , der mindestens eine Rückkante verwendet?G=(V,EE)DEstG

Hinweis: 0) Ein einfacher Pfad ist ein Pfad, in dem kein Scheitelpunkt wiederholt wird. Eine Rückwärtskante ist eine Kante, die der von der DAG implizierten Teilreihenfolge widerspricht. 1) Das Problem ist einfach, wenn wir den einfachen Pfad auffordern, genau eine Rückwärtskante (oder eine konstante Zahl) zu verwenden, indem wir das Problem des disjunkten Pfads trivial reduzieren, was eine einfache PTime-Lösung in DAGs zulässt ( Perl und Shiloach, JACM'78 ). 2) Das Problem des disjunkten Pfades ist in allgemeinen Graphen NP-vollständig ( Fortune et al., TCS'80 ).

Joseph Stack
quelle
1
Dies ist sicherlich nicht optimal, aber es reicht aus, um zu zeigen, dass Ihr Problem in P liegt (es sei denn, ich habe etwas falsch verstanden): Lassen Sie die Kanten von ; gilt einen kürzesten Pfad - Algorithmus von zu auf den Graph für . Mit anderen Worten, fügen Sie dem Graphen eine von Kante hinzu bis Sie einen Pfad von nach . e1,...,emEstGi=(V,Ej=1i{ej})i=1,2,...,mEG=(V,E)st
Marzio De Biasi
1
Marzio: Aber was ist, wenn der Pfad, den Sie finden, nur Kanten in und keine in ? Möglicherweise gibt es noch einen anderen Pfad, der auch eine Kante von . EEE
David Eppstein
Was an Ihrem Problem sehr ärgerlich ist, ist, dass das folgende verwandte Problem leicht als NP-hart angesehen werden kann: Geben Sie einen Graphen und zwei Scheitelpunktpaare (s, t), (s ', t') an, um festzustellen, ob es Scheitelpunkt-disjunkte gibt Pfade von s nach t und von s 'nach t', selbst wenn t = s ', und sogar in Graphen, die die Vereinigung zweier DAGs darstellen. Dies scheint jedoch für die von Ihnen gestellte Frage nicht hilfreich zu sein.
A33
1
Das Problem der disjunkten Pfade ist selbst bei DAGs W [1] -hart, und es ist eine Hausaufgabe, um zu zeigen, dass es in DAGs NP-schwer ist. Der Shiloach-Algorithmus ist für das Problem zweier disjunkter Pfade und funktioniert in ähnlicher Weise für das Problem k disjunkter Pfade in DAGs, benötigt jedoch Zeit n ^ k. Gibt aber zumindest einen XP-Algorithmus für Ihr Problem zu.
Saeed