Betrachten Sie das folgende Problem, dessen Eingabeinstanz ein einfacher Graph und eine natürliche ganze Zahl .
Gibt es eine Menge so dass zweigeteilt ist und ?
Ich möchte zeigen, dass dieses Problem ist -komplette entweder durch 3-SAT, wodurch -CLIQUE, -DOMINATING SET oder -eckiges COVER zu.
Ich glaube, ich kann das 3-COLORING-Problem darauf reduzieren, sodass ich nur sehen muss, wie ich eines der genannten Probleme darauf reduzieren kann. Aber da das ziemlich chaotisch wäre, frage ich mich, ob jemand eine elegante Reduktion auf die oben genannten Probleme sieht.
Gibt es auch einen Namen für dieses Entscheidungsproblem?
Antworten:
Ihr Problem ist ein Sonderfall einer breiteren Klasse von Problemen, die als Probleme beim Löschen von Knoten bezeichnet werden :
JM Lewis und M. Yannakakis, "Das Problem der Knotenlöschung für erbliche Eigenschaften ist NP-vollständig"
... In diesem Artikel wird die Klasse der Diagrammprobleme behandelt, die wie folgt definiert sind: Ermitteln SieΠ G Π Π Π Π Π kann in Polynomzeit durchgeführt werden, dann implizieren unsere Ergebnisse, dass das Knotenlöschproblem für NP-vollständig ist. ...Π
für eine feste Diagrammeigenschaft die Mindestanzahl von Knoten (oder Scheitelpunkten), die aus einem bestimmten Diagramm gelöscht werden müssen, damit das Ergebnis erfüllt . Wir nennen dies das Knotenlöschproblem für . Unsere Ergebnisse zeigen, dass, wenn eine nichttriviale Eigenschaft ist, die auf einem induzierten Subgraphen erblich ist , das Knotenlöschproblem für NP-schwer ist. Wenn wir außerdem die Bedingung hinzufügen, dass das Testen aufG Π Π Π Π Π Π
Ihr Problem ist das Problem der Knotenlöschung für die Zweiteiligkeit , aber (wie von Pal festgestellt) ist es heute als das Odd Cycle Traversal (OCT) -Problem bekannt.
BEARBEITEN
Für eine direkte Reduzierung habe ich an diese von 3SAT gedacht.
Erstellen Sie bei einer Instanz von 3SAT mit Variablen und Klauseln das folgende Diagramm: für jede Variable zwei Knoten und eine Kante dazwischen hinzu. Um eine Wahrheitszuweisung zu simulieren, fügen Sie Knoten für jede Variable und verbinden Sie beide mit und ; Auf diese Weise muss mindestens einer zwischen und gelöscht werden, damit ein zweigeteilter Graph höchstens Knoten löscht . Sie schließlich für jede Klausel 4 Knoten hinzu und erstellen Sie einen ungeraden Zyklus, der die Variablen in .m x i , ¯ x i n + 1 x i x i ¯ x i n x i ¯ x i C j C jn m xi,xi¯¯¯¯¯ n+1 xi xi xi¯¯¯¯¯ n xi xi¯¯¯¯¯ Cj Cj
Der resultierende Graph kann genau dann an den meisten Knoten zweigeteilt gelöscht werden, wenn die ursprüngliche 3SAT-Formel erfüllt werden kann.nG n
quelle