Auf welchen Klassen von Graphen ist RCSP (Resource Constrained Shortest Path) NP-hart?

8

Ich möchte ein Problem, an dem ich arbeite, mit einem bekannten NP-harten Problem verknüpfen. Ich denke, ich kann mein Problem als ein Problem mit ressourcenbeschränkten kürzesten Pfaden modellieren. Die Struktur meines Graphen ist jedoch nicht völlig willkürlich. Daher ist es hilfreich zu wissen, wann RCSP schwierig wird. Ist es schwierig für eine DAG, für eine planare DAG, für eine DAG mit begrenztem Abschluss? Jede Hilfe wäre sehr dankbar!

Nomade
quelle
Ist es wichtig, was die Ressourcenbeschränkung ist? Liegt es beispielsweise in Form einer Einschränkung "Anzahl der Links" vor?
Suresh Venkat
2
Ich weiß nicht, ob die tatsächliche Ressource für das Härteergebnis relevant ist. Die Ressourcenbeschränkung hat jedoch die folgende Form. Es gibt eine Anzahl (M) verbotener Mengen, zu denen jeder Scheitelpunkt gehören kann. Die Einschränkungen sollten codieren, dass der zufriedenstellende kürzeste Pfad nicht alle Scheitelpunkte in einer dieser M Mengen durchläuft (dh wenn die verbotene Menge S k Scheitelpunkte enthält, kann der kürzeste Pfad bis zu k-1 von ihnen benachbart sein). Somit enthält jede Verbindung neben einem eingeschränkten Knoten den Beitrag dieses Knotens zu allen seinen verbotenen Mengen, und wir suchen einen SP, der diese Einschränkungen respektiert.
Nomade
1
Beim Durchblättern der Literatur zum Problem sind mir einige Dinge aufgefallen: 1) mögliche alternative Namen: eingeschränkter kürzester Pfad (CSP), Quality of Service Routing (QoS) 2) das "Standard" -Problem verursacht Kosten an jeder Kante, und eine Konstante, die an die Summe der Kosten auf dem kürzesten Weg gebunden ist 3) Das Problem ist auf azyklischen Graphen NP-vollständig
Daniel Apon
Dies ist kein eingeschränkter kürzester Weg. CSP hat eine pseudo-polynomielle Zeitlösung.
Saeed

Antworten:

6

Ich weiß nicht, ob Sie noch an dieser (alten) Frage interessiert sind und ob ich die Ressourcenbeschränkungen, die Sie in dem Kommentar angegeben haben, gut verstanden habe. Es scheint jedoch, dass Ihr Problem (das sich geringfügig von den üblichen RCSP-Problemen unterscheidet) für planare (ungerichtete oder gerichtete oder gerichtete azyklische) Graphen mit maximalem Grad 3 NP-vollständig ist .

Die einfache Reduzierung erfolgt ab 3-SAT. Bei gegebener Formel mit Variablen und Klauseln :φnx1,...xnmC1,...Cm

  • Sie eine Ressourcenbeschränkungsmenge mit zwei Eckpunkten für jedes positive Literal in und eine Ressourcenbeschränkungsmenge mit zwei Eckpunkten für jedes negative Literal in ; x k φMk+xkφMkx¯kφ
  • Beginnen Sie mit der Erstellung eines Graphen aus einem Quellknoten und teilen Sie für jede Variable x i den Pfad in zwei Zeilen auf : Die obere durchläuft einen Scheitelpunkt aller M - k , die einem negativen Literal ˉ x k entsprechen . der untere durchquert einen Scheitelpunkt aller M + k , die einem positiven Literal x k entsprechen ;sxichM.k- -x¯kM.k+xk
  • dann teilen Sie für jedes den Pfad in 3 Linien, die parallel die 3 Eckpunkte durchlaufen, die den Literalen von C j entsprechen und die aus dem entsprechenden M + k oder M - k ausgewählt werden ;C.jC.jM.k+M.k- -
  • Fügen Sie schließlich einen Senkenknoten .t

Ein Pfad von nach t existiert genau dann, wenn die ursprüngliche Formel erfüllt werden kann (dh ohne Verlust der Allgemeinheit können Sie nach einem Pfad der Länge | V | fragen ).st|V.|

Informell müssen Sie beim Durchlaufen des Variablenabschnitts , wenn Sie die obere Zeile auswählen ( wahre Zuweisung), einen der Scheitelpunkte aller M - k- Ressourcenbeschränkungssätze "verwenden" , die auch einen Scheitelpunkt enthalten, der später zum Durchlaufen verwendet werden kann (erfüllen) eine Klausel, die ˉ x i enthält . Wenn Sie die untere Zeile auswählen ( falsche Zuweisung), müssen Sie einen der Scheitelpunkte aller M + k- Ressourcenbeschränkungssätze "verwenden" , die auch einen Scheitelpunkt enthalten, der später verwendet werden kann, um eine Klausel mit x i zu durchlaufen (zu erfüllen)xichM.k- -x¯ichM.k+xich. Beim Durchlaufen jeder Klausel muss mindestens einer der drei Eckpunkte in einem , das noch nicht "verwendet" wurde (dh mindestens einer von ihnen kann verwendet werden, um die Klausel zu erfüllen).M.k

Die folgende Abbildung soll die Reduzierung klarer machen. Die Ressourcenbeschränkungssätze werden mit unterschiedlichen Farben dargestellt (und für jede Farbe gibt es genau 2 Eckpunkte).M.k

Geben Sie hier die Bildbeschreibung ein

C.1=x1x¯2x3
C.2=x2x¯3x4
C.3=x¯1x3x¯2

Sie können den Graphen auch leicht gerichtet, azyklisch und zweigeteilt machen. Lassen Sie mich wissen, wenn Sie weitere Details benötigen (oder wenn ich das Problem völlig falsch verstanden habe :-).

k

Marzio De Biasi
quelle
k
1
@Saeed: Richtig, ich werde die Frage bearbeiten. Ich benutze yEd (Java-App) ... Sie erhalten keine professionellen Zeichnungen im Vergleich zu denen, die von tikz (mit TikZiT) erstellt wurden, aber Sie können sehr schnell Skizzen zeichnen (ich habe ~ 5 Minuten dafür gebraucht).
Marzio De Biasi
Danke;) Oft brauche ich ein Werkzeug zum schnellen Zeichnen, ich denke das ist ganz in Ordnung.
Saeed