NP-Vollständigkeit eines Diagrammfärbungsproblems

10

Alternative Formulierung

Ich habe eine alternative Formulierung zum folgenden Problem gefunden. Die alternative Formulierung ist eigentlich ein Sonderfall des unten aufgeführten Problems und verwendet zweigeteilte Diagramme, um das Problem zu beschreiben. Ich glaube jedoch, dass die alternative Formulierung immer noch NP-hart ist. Die alternative Formulierung verwendet einen disjunkten Satz eingehender und ausgehender Knoten, der die Problemdefinition vereinfacht.

Gegeben sind ausgehende und n eingehende Knoten (die roten bzw. blauen Knoten in der Figur) und eine Menge w_ {ij} mit der Größe n \ mal n der Kantengewichte zwischen den ausgehenden und eingehenden Scheitelpunkten. Das Ziel des Problems besteht darin, die dicken Kanten in der Figur so zu färben, dass für jeden eingehenden Knoten eine Bedingung gilt.nnwijn×n

Zweiteilige Grafik des Problems

Gegeben eine Menge von Ausgabe-Eckpunkten, eine Menge von Eingabescheitelpunkten, Gewichte zwischen und für und eine positive Konstante , find die minimale Anzahl von Farben für die Kanten (dicke Kanten in der obigen Abbildung), so dass für alle ,{Oi|i=1n}{Ii|i=1n}n×nwij0OiIji,j=1nβeiij=1n

wjj1+c(i)=c(j),ijwijβ

wobei die Farbe der Kante .c(i)eii


Alte Formulierung

Das folgende Problem sieht für mich NP-schwer aus, aber ich konnte es nicht zeigen. Jeder Beweis / Kommentar, der die Härte oder Leichtigkeit zeigt, wird geschätzt.

Angenommen, ist ein vollständig gewichteter gerichteter Graph mit Knoten und Kanten. Let zeigen , um das Gewicht der Kante und zeigt die Farbe des Rand . Bei einer Teilmenge der Kanten und einer positiven Konstante das Ziel: Finden Sie die minimale Anzahl von Farben, so dass für jedes :Kn=V,Enn(n1)wij0ijc(ij)ijTEβeijT

wij1+c(kl)=c(ij),klijwkjβ.
und
c(ij)c(ik)forjk

Bitte beachten Sie, dass im obigen Problem nur die Kanten in gefärbt werden müssen. Das ist das Problem, das in Gelöst werden kann .TO(|T|!)

Aktualisieren:

Nach dem Kommentar von Tsuyoshi Ito habe ich das Problem aktualisiert. Der Nenner wird von in geändert . Daher enthält der Nenner die Gewichte außerhalb als auch. Deshalb habe ich in der Definition das vollständige Diagramm erwähnt.1+c(kj)=c(ij),ki,ekjTwkj1+c(kl)=c(ij),klijwkjT

Ich habe auch eine zusätzliche Einschränkung hinzugefügt . Das heißt, die von einem Knoten ausgehenden Kanten müssen unterschiedliche Farben haben (die eingehenden Farben können jedoch gleich sein, solange die Ungleichung gilt). Dies legt eine intuitive Untergrenze für die Anzahl der Farben fest, die der maximale Out-Grad der Knoten in .c(ij)c(ik)forjkT

Wie Tsuyoshi erwähnte, sind , und Eingaben für das Problem und die Kantenfarben die Ausgabe.wijTβ

Update 2:

Das Problem erzwingt nicht, dass die Kanten und dieselbe Farbe haben.eijeji

Helium
quelle
@ Raphael: Normalerweise scheint ein Problem mit der Kantenfärbung ein guter Kandidat für die Reduzierung zu sein. Das einfachste np-harte Problem für die Reduzierung zu finden, ist der schwierigste Teil. Der nächste Schritt besteht darin, die richtigen Gewichte für das Mapping zu finden. Ich denke, wenn ein Kantenfärbungsproblem auf das obige Problem reduziert wird, sollten die Gewichte entweder 0/1 sein oder wir müssen ein Ungleichungssystem lösen, um die Gewichte zu finden.
Helium
Einige Anmerkungen zur Formulierung des Problems: (1) Was ist die Eingabe? Ich denke, dass die Eingabe w_ij für alle Kanten T und β ist, aber wenn ja, sollten Sie w_ij und c (ij) nicht so definieren, als ob sie auf die gleiche Weise angegeben würden. (2) Soweit ich weiß, was Sie geschrieben haben, wird auf die Kanten außerhalb von T nie Bezug genommen. Es ist also einfacher, den gerichteten Graphen zu definieren, der aus den Kanten in T besteht, als den vollständigen gerichteten Graphen zu berücksichtigen.
Tsuyoshi Ito
@ TsuyoshiIto: Danke für deine Kommentare, ich habe die Frage aktualisiert.
Helium
1
Das Problem sieht für mich übrigens ziemlich chaotisch aus. Wenn Sie erklären, wie Sie zu diesem Problem gekommen sind (mit anderen Worten, warum Sie an diesem Problem interessiert sind), kann dies anderen helfen, das Problem zu verstehen.
Tsuyoshi Ito
1
@TsuyoshiIto: 1) Das Problem ist ein Sonderfall der Zeitplanung in drahtlosen Ad-hoc-Netzwerken. bezieht sich auf den Übertragungssatz und Gewichte repräsentieren die Signaldämpfungskoeffizienten. Die Faustbeschränkung bezieht sich auch auf das Signal-zu-Interferenz-Verhältnis plus das Rauschverhältnis. 2) "Der Nenner enthält nur die Gewichte der Kanten in T" wird jetzt gelöscht. T
Helium

Antworten:

3

Es ist ziemlich einfach zu zeigen, dass die alternative Formulierung NP-hart ist. Die Reduzierung ergibt sich aus dem Problem der Scheitelpunktfärbung. Bei einem Graphen G mit Eckpunkten erstellen wir eine Instanz des obigen Problems mit Ausgangsscheitelpunkten und Eingangsscheitelpunkten. Die Gewichte werden wie folgt eingestellt: Für alle sei . Wenn für eine Kante zwischen dem Scheitelpunkt und dem Scheitelpunkt , sei , andernfalls sei . Außerdem sei .nnniwii=1ijijwij=wji=1wij=wji=0β=1

Dies ist ziemlich offensichtlich, aber schwer zu beschreiben, warum die Reduzierung korrekt ist. Lassen Sie die Instanz der Diagrammfärbung und die reduzierte Instanz des Problems anzeigen. Um zu zeigen, dass die obige Reduktion eine korrekte Lösung ergibt, müssen wir zeigen, dass (1) jede gültige Färbung für auch für gültig ist . (2) Die Antwort von ist für minimal .CRRCRC

Wenn und zwei benachbarte Eckpunkte von , müssen sie in unterschiedliche Farben haben . Das liegt daran, dass wenn und benachbart sind und dieselbe Farbe haben, der Bruch würde zu , wobei einen positiven Wert hat. Daher gilt die Bedingung nicht. Darüber hinaus ist jede gültige (aber nicht unbedingt minimale) Färbung für auch eine gültige Färbung für . Es folgt die Tatsache, dass in einer gültigen Färbung vonijCRijwjj1+c(i)=c(j),ijwij11+XXCRCJedes Paar benachbarter Knoten hat unterschiedliche Farben, sodass die Bedingung für alle farbigen Kanten von in der Lösung gilt. Da jede Färbung von eine gültige Färbung für , muss die minimale Lösung für auch eine minimale Lösung für . Andernfalls handelt es sich nicht um eine minimale Lösung, da die Lösung für eine Lösung mit einer geringeren Anzahl von Farben ergibt.RCRRCC

Helium
quelle
0

BEARBEITEN : Die Konstruktion unten funktioniert nicht ganz, wie aus Tsuyoshi Itos Kommentar unten hervorgeht, erzwingt nicht, dass . Ich lasse es für den Fall, dass es ein nützlicher Anfang ist. Außerdem sollte keine Bögen mit dem Gewicht .c(ij)=c(ji)T0

Entlang den Linien Mohsen vorgeschlagen, beginnt mit Kantenfärbung, wandeln den Graphen mit einem Digraph auf der gleichen Eckpunkt wo haben wir und in geben Sie allen Bögen (an diesem Punkt) Gewicht , dann addieren Sie für und zu mit , Set zu und .G=(V,E)D=(V,A)uvE(u,v)(v,u)AaAwa=1xyE(x,y)(y,x)Awxy=wyx=0β1T=A

Dann ist die Bedingung nur erfüllt, wenn keine zwei auf denselben Scheitelpunkt einfallenden Bögen dieselbe Farbe haben, wobei Bögen, die von Nichtkanten im Originaldiagramm stammen (da sie das Gewicht ) , nicht berücksichtigt werden . Diese Farbe kann dann wieder in eine richtige Farbe für das Originaldiagramm umgewandelt werden.0

Technisch gesehen habe ich Ihr ursprüngliches Problem in ein Entscheidungsproblem umgewandelt ("Ist der Graph mit Farben färbbar?"), Aber dies musste getan werden, um trotzdem in zu passen, und es ist effektiv bis zu einem Polynom austauschbar.kNP

Also denke ich, dass das funktioniert, oder habe ich gerade etwas anderes gezeigt, um hart zu sein? ;)NP

Luke Mathieson
quelle
Wie erzwingen Sie c (ij) = c (ji)? Dies gilt nicht unbedingt für das betreffende Problem, wenn ich es richtig verstehe.
Tsuyoshi Ito
Guter Punkt. Ich werde den ursprünglichen Beitrag bearbeiten, um das Problem festzustellen.
Luke Mathieson