Ich suche nach Hinweisen in einer Frage, die mir mein Ausbilder gestellt hat.
Ich habe gerade herausgefunden, dass dieses Entscheidungsproblem :
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 e
Aber mein Lehrer fragte uns auch im Unterricht:
wäre es auch wenn wir anstelle von "exact set of " S
"beinhaltet die ganze Menge von und möglicherweise andere Blätter" oder "Teilmenge von "S
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. S
quelle
Antworten:
Kurz gesagt, Ihre Vermutungen sind richtig. Nennen wir zum Zweck dieser Antwort die drei fraglichen Probleme wie folgt:
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 ]
quelle
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:
quelle