NP-Vollständigkeitsnachweis eines Spanning-Tree-Problems

23

Ich suche nach Hinweisen in einer Frage, die mir mein Ausbilder gestellt hat.

Ich habe gerade herausgefunden, dass dieses Entscheidungsproblem :NP-complete

Gibt es in einem Graphen einen Spannbaum in , der eine genaue Menge von als Blätter enthält? Ich habe herausgefunden, dass wir beweisen können, dass es indem wir den Hamilton-Pfad auf dieses Entscheidungsproblem reduzieren.G S = { x 1 , x 2 , ... , x n } N P - c o m p l e t eGGS={x1,x2,,xn}NP-complete

Aber mein Lehrer fragte uns auch im Unterricht:

wäre es auch wenn wir anstelle von "exact set of " SNP-completeS

"beinhaltet die ganze Menge von und möglicherweise andere Blätter" oder "Teilmenge von "SSS

Ich denke, "Teilmenge von S" wäre , aber ich kann es einfach nicht beweisen, ich weiß nicht, welches Problem ich darauf reduzieren kann. Was "include the set of ..." betrifft, so kann es meiner Meinung nach in polynomialer Zeit gelöst werden. SNP-completeS

initialisieren
quelle
Können Sie erläutern, warum Sie glauben, dass die eine Version in polynomialer Zeit gelöst werden kann?
Raphael
@pad: "Mein Lehrer hat im Unterricht gefragt" ist keine Aufgabe, sondern ein Rätsel. Sehen Sie sich auch diese Metadiskussion auf dem Hausaufgaben-Tag an.
Raphael

Antworten:

13

Kurz gesagt, Ihre Vermutungen sind richtig. Nennen wir zum Zweck dieser Antwort die drei fraglichen Probleme wie folgt:

  • Gleichheitsversion: Entscheide anhand eines Graphen und einer Menge , ob einen Spannbaum so dass die Menge der Blätter in gleich . Wie Sie sagten, ist dies NP-vollständig, indem das Hamiltonsche Pfadproblem reduziert wird.S V G T T SG=(V,E)SVGTTS
  • Teilmengenversion: Entscheide bei und wie oben, ob einen Spannbaum so dass die Menge der Blätter in eine Teilmenge von .S G T T SGSGTTS
  • Superset-Version: Entscheide bei und wie oben, ob einen Spannbaum so dass die Menge der Blätter in eine Superset von .S G T T SGSGTTS

Um zu beweisen, dass die Teilmengenversion NP-vollständig ist, können Sie das Problem mit dem Hamitonschen Pfad dennoch auf diese Version reduzieren. Versuchen Sie, den Nachweis der NP-Vollständigkeit der Gleichstellungsversion zu ändern.

Um zu beweisen, dass die übergeordnete Version in Polynomzeit gelöst werden kann, versuchen Sie, eine notwendige und ausreichende Bedingung für die Existenz eines solchen Baums zu finden.T

Beide Versionen (sowie einige andere Probleme mit Spannbäumen) werden in [SK05] untersucht. Aber ich denke, es ist besser, wenn Sie versuchen, die Probleme selbst zu lösen, bevor Sie sich die Proofs im Papier ansehen, da das Betrachten des Papiers ein großer Spoiler sein kann. Leider hatte ich mir die Arbeit angesehen, bevor ich versuchte, einen Polynomial-Time-Algorithmus für die Superset-Version zu finden!


[SK05] Mohammad Sohel Rahman und Mohammad Kaykobad. Komplexität einiger interessanter Probleme auf überspannenden Bäumen. Information Processing Letters , 94 (2): 93–97, April 2005. [ doi ] [ Autorenkopie ]

Tsuyoshi Ito
quelle
Schön dich hier zu sehen! Beachten Sie, dass wir auch hier MathJax haben.
Raphael
1
Danke für die Anleitung !! Ich wünschte, ich würde das vor dem Unterricht lesen, er hätte es heute verdorben, haha. Falls sich jemand für den Polynomalgorithmus der Superset-Version interessiert, ist ein weiterer Hinweis, einen neuen Graphen mit V \ L zu konstruieren.
initialisieren
0

Diese Hinweise reichten nicht aus, um eine Lösung für die Obermenge des S-Problems zu finden - obwohl die Hinweise hilfreich und korrekt sind. Dies ist mein Gedankengang, der mich zu einer Lösung brachte.

Was passiert, wenn Sie alle Eckpunkte in S aus G (VS) entfernen und dann mit DFS einen Spanning Tree T finden? Wenn es in G noch nicht verbundene Eckpunkte gibt, sagen Sie v1; Was sagt das über die Rolle von mindestens einem der Scheitelpunkte in S aus, der entfernt wurde? Dass es auf dem Pfad zu v1 von einem Scheitelpunkt liegt, der sich derzeit im Spanning Tree befindet. Daher kann es kein Blatt sein (da Blätter keine Kinder haben). Wenn es keine nicht verbundenen Knoten gibt, bedeutet dies, dass jeder Scheitelpunkt in S ein Blatt sein kann, vorausgesetzt, er hat eine Kante, die zum Spannbaum führt. Scheitelpunkte in S, die nur mit anderen Scheitelpunkten in S verbunden sind, haben natürlich keine Verbindung zum Spanning Tree und würden die Bedingung verletzen. Es gibt also zwei Fälle, auf die geprüft werden muss:

  1. Wenn alle Knoten, die nicht in S sind, verbunden sind, nachdem S aus G entfernt und ein Spanning Tree gefunden wurde
  2. Wenn jeder Knoten in S direkt mit dem Spanning Tree verbunden werden kann.
DanGoodrick
quelle