Ist das folgende Problem NP-vollständig? (Ich nehme ja an).
Eingabe: ein ungerichteter Graph, bei dem der Kantensatz in zwei kantendisjunkte einfache Zyklen zerlegt werden kann (diese sind nicht Teil der Eingabe).
Frage: Gibt es in einen einfachen Zyklus mit einer Länge größer als k ?
Offensichtlich liegt das Problem in NP und der maximale Grad in ist ≤ 4 , aber das scheint nicht zu helfen.
graph-theory
np-complete
decision-problem
Auflistung
quelle
quelle
Antworten:
Ein Reduktionsversuch ....
Reduktion vom Hamilton-Pfad auf Digraph mit maximalem Grad 3, der NPC ist [G & J]G = ( V., E.)
In der resultierenden Grafik können alle gelben Knoten nur auf die beiden in Abbildung E und Abbildung F gezeigten Arten, die den beiden gültigen Durchquerungen des ursprünglichen Knotens b ∈ V entsprechen, durch einen einfachen Pfad durchlaufen werden . Informell, wenn eine Kante in Richtung des zusätzlichen "verknüpfenden" violetten Knotens verwendet wird, können k gelbe Knoten nicht durchlaufen werden.3 k b ∈ V. k
Wählen Sie ein ausreichend großes hat der Ergebnisgraph G ' genau dann einen einfachen Pfad mit einer Länge von mehr als 3 k ( | V | - 1 ), wenn der ursprüngliche Graph G einen Hamilton-Pfad (mit der Länge | V | - 1 ) hatk ≫ | V.| G' 3 k ( | V.| -1) G | V.| -1
Das größere Bild kann hier heruntergeladen werden
quelle
Inspiriert von Vor's Antwort möchte ich eine einfachere geben.
Beginnen Sie mit dem Hamiltonschen Zyklusproblem für das Problem der Gittergraphen, das von Itai als schwierig erwiesen wurde.
Es ist leicht zu erkennen, dass die Kantenmenge eines Gittergraphen in zwei disjunkte Teilmengen unterteilt werden kann: horizontal und vertikal.
Jetzt müssen wir alle horizontalen in einen einfachen Zyklus und alle vertikalen in einen anderen einfachen Zyklus verweben.
Dies ist eine sehr einfache Aufgabe: Bei vertikalen Aufgaben von ganz links nach ganz rechts streichen, einfach alle vertikalen Lücken verbinden, dann eine aufeinanderfolgende x-koordinierte vertikale Linie verbinden und dann den niedrigsten Scheitelpunkt ganz links mit dem Scheitelpunkt ganz rechts verbinden. Ähnliches gilt für horizontale Kanten.
Beachten Sie, dass das erhaltene Diagramm immer noch einfach und ungerichtet ist und die Anforderungen erfüllt. Es ist einfach, weil wir uns in den letzten Schritten der vertikalen und horizontalen Phase mit zwei verschiedenen Scheitelpunktpaaren befassen.
quelle