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, . . . xnmC.1, . . . C.m
- 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 φM.+kxkφM.- -kx¯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.- -kx¯kM.+kxk
- 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.+kM.- -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.- -kx¯ichM.+kxich. 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
C.1= x1∨ x¯2∨ x3
C.2= x2∨ x¯3∨ x4
C.3= x¯1∨ x3∨ x¯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