Wie erweist man sich als zwei Wege, die mindestens k Kanten auseinander sind, NP-Hard?
Frage
lass $ g= (v, e) $ ein ungewichtete, ungerichtete und angeschlossene Diagramm sein. Angesichts von zwei Start-Ecken $ s_1 $ und $ s_2 $ und zwei Endkissen
Ich dachte daran, von 3sat zu reduzieren und den ersten Pfad die Variablen darzustellen, und der zweite Weg repräsentiert die Klauseln, aber ich bin nicht sicher, wo ich von dort ausgehen kann.
Lösung
Sie können von 3sat reduzieren.
Der Graph hat zwei Teile. Ein Teil ist der "variable" Teil. Für jede der Variablen $ v_1, \ ldots, v_n $ gibt es zwei drei Scheitelpunkte $ v_i ^ +, v_i ^ - , v_i $ , und dieses Teil besteht aus den folgenden Rändern, für $ i \ in [n] $ :
$$ (v_ {I-1}, v_i ^ +), (v_ {i-1}, v_i ^ -), (v_i ^ +, v_i), (v_i ^ +, v_i), ( v_i ^ -, v_i) $$
hier $ v_0 $ ist ein neuer Scheitelpunkt, identifiziert mit $ s_1 $ und $ v_n $ wird mit $ t_1 $ identifiziert.
Der zweite Teil ist der Teil "Klausel". Für jede der Klauseln $ c_1, \ ldots, c_m $ dort vier Scheitelpunkte $ w_j ^ 1, w_j ^ 2, w_j ^ 3, w_j $ , mit $ s_2 $ und $ t_2 $ .
wir verbinden $ v_i ^ B $ mit $ w_j ^ r $ über einen längenweg < Span-Klasse="Math-Container"> $ K $ (für einige groß genug konstante
Wir nehmen auch alle Mindpunkte dieser Wege an und verbinden alle (sie in eine Clique machen).
Wir können an einen
Sie müssen auch überprüfen, ob es keinen Punkt für die Wege gibt, um zwischen den Teilen zu überqueren. Wenn nur einer der Wege kreuzt, sind die beiden Pfade nahe beieinander (in einem ständigen Abstand, den für große Entfernung, der für groß genug ist, $ k $ kleiner als