So finden Sie die Scheitelpunkte auf einem einfachen Pfad zwischen zwei angegebenen Scheitelpunkten in einem gerichteten Diagramm

8

Gibt es bei einem gerichteten Graphen und zwei unterschiedlichen Eckpunkten S und T einen Polynom-Zeit-Algorithmus, der jeden Eckpunkt findet, der sich auf mindestens einem einfachen Pfad von S nach T befindet?

Es ist nicht schwierig, alle Eckpunkte zu finden, die sowohl Nachfolger von S als auch Vorgänger von T sind, aber dies ist nur eine Obermenge der obigen Menge. Betrachten Sie beispielsweise das folgende Diagramm: S -> a; a -> b; b -> c; b-> T; c -> a

Während a, b und c alle Nachfolger von S und Vorgänger von T sind, gibt es keinen einfachen Weg von S nach T durch c (weil jeder Weg von S nach T durch c zweimal a und b enthält).

Ein eng verwandtes Problem ist das Folgende: Gibt es bei einem gerichteten Graphen und drei unterschiedlichen Eckpunkten S und T und I einen Polynom-Zeit-Algorithmus, um zu entscheiden, ob es einen einfachen Pfad von S nach T gibt, der durch I führt.

Ein Polynom-Zeit-Algorithmus für dieses letztere Problem kann verwendet werden, um einen Polynom-Algorithmus für das erstere zu erstellen, da wir ihn nacheinander anwenden können, indem wir I durch jeden Knoten im Diagramm ersetzen (oder effizienter für jeden Knoten, der sowohl ein Nachfolger von S als auch von S ist ein Vorgänger von T).

Henri
quelle

Antworten:

3

Danke für deine Antworten. Wie Master Foo hervorhob, ist das zweite Problem - bei einem gerichteten Graphen und drei unterschiedlichen Eckpunkten und , ob es einen einfachen Weg von nach , der durch - tatsächlich NP-vollständig.s,tichstich

Aus der Arbeit The Directed Subgraph Homeomorphism Problem von Steven Fortune, John E. Hopcroft und James Wyllie geht hervor, dass der Mustergraph einer ist, für den das Problem des Homöomorphismus mit festem gerichtetem Subgraph seitdem NP-vollständig ist ist ein Baum der Tiefe zwei.sicht

Hier sind einige Definitionen aus diesem Papier:

Das Subgraph-Homöomorphismus-Problem besteht darin, zu bestimmen: ob ein Mustergraph p homöomorph zu einem Subgraph eines Eingabegraphen G ist. Der Homöomorphismus ordnet Knoten von P Knoten von G und Bögen von P einfachen Pfaden in G zu. Die Graphen P und G sind entweder beide gerichtet oder beide ungerichtet. Die Pfade in G, die den Bögen in P entsprechen, müssen paarweise knotendisjunkt sein. Die Zuordnung von Knoten in P zu Knoten in G kann spezifiziert oder beliebig gelassen werden. Dieses Problem kann als allgemeines Pfadfindungsproblem angesehen werden. Wenn der Mustergraph beispielsweise aus zwei disjunkten Bögen besteht und die Knotenzuordnung angegeben ist, entspricht das Problem dem Auffinden eines disjunkten Pfadpaars zwischen bestimmten Scheitelpunkten im Eingabediagramm.

Grundsätzlich können nur die Mustergraphen, die Bäume der Tiefe eins sind, und ihre umgekehrten Graphen (mit möglicherweise Schleifenbögen an der Wurzel) in Polynomzeit gelöst werden.

Sei C die Sammlung aller gerichteten Graphen mit einem definierten Knoten namens Wurzel, der die Eigenschaft besitzt, dass entweder die Wurzel der Kopf jedes Bogens oder die Wurzel der Schwanz jedes Bogens ist. Beachten Sie, dass die Wurzel sowohl Kopf als auch Schwanz einiger Bögen sein kann und daher Schleifen an der Wurzel zulässig sind. Entsprechend befindet sich ein Graph in C, wenn, wenn alle Schleifen an der Wurzel gelöscht werden und mehrere Bögen zwischen Knotenpaaren zu einzelnen Bögen zusammengeführt werden, der resultierende Graph höchstens ein Baum mit einer Höhe ist.

[...]

Als nächstes zeigen wir, dass für jedes Muster P, das nicht in C ist, das Problem des festen Subgraphen-Homöomorphismus mit Muster P NP-vollständig ist.

Ich habe den Beweis noch nicht gelesen, also höre ich hier auf.

Es gibt auch eine enge Verbindung zwischen dem Problem, das ich gerade erwähnt habe, und dem Problem der zwei unzusammenhängenden Pfade, auf das einer meiner Kollegen hingewiesen hat. Das Problem mit zwei Dijsoint-Pfaden ist:

Wenn ein gerichteter Graph und vier verschiedene Eckpunkte , entscheiden Sie, ob zwei paarweise Knoten vorhanden sind, die einfache Pfade von nach und von nach .s1,t1,s2,t2s1t2s2t2

Es ist bekannt, dass dieses Problem für gerichtete Graphen NP-vollständig ist. Es gibt jedoch eine einfache Transformation vom Problem der zwei disjunkten Pfade zum Problem . Dazu müssen wir einen zusätzlichen Knoten und die beiden zusätzlichen Kanten und hinzufügen .sichticht1ichichs2

Wenn es einen Polynomalgorithmus gäbe, um das Problem von lösen, könnten wir ihn verwenden, um das Problem der zwei disjunkten Pfade in Polynomzeit mit der obigen einfachen Transformation zu lösen und dadurch das Problem von lösen.sichtsicht

Henri
quelle
Ja, es handelt sich um ein Problem mit zwei disjunkten Pfaden, daher ist es in allgemeinen Digraphen NP-schwer, aber Sie können es in DAGs, Planar Digraphs, ... lösen. Schließlich ist Ihre Antwort richtig, warum Sie es nicht als akzeptierte Antwort machen.
-1

Dies ist ein NP-hartes Problem.

@article{DBLP:journals/tcs/FortuneHW80,
  author    = {Steven Fortune and
               John E. Hopcroft and
               James Wyllie},
  title     = {The Directed Subgraph Homeomorphism Problem},
  journal   = {Theor. Comput. Sci.},
  volume    = {10},
  year      = {1980},
  pages     = {111-121},
  ee        = {http://dx.doi.org/10.1016/0304-3975(80)90009-2},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}
Meister foo
quelle
2
Aus dem abstrakten und einleitenden Teil dieses Artikels geht nicht hervor, wie er sich auf diese Frage bezieht. Könnten Sie bitte näher darauf eingehen?
Niel de Beaudrap