Warum ist das k-gebundene Spanning Tree-Problem NP-vollständig?

12

Das gebundene Spanning Tree-Problem besteht darin, dass Sie einen ungerichteten Graphen haben und entscheiden müssen, ob er einen Spanning Tree hat oder nicht, sodass jeder Scheitelpunkt einen Grad von höchstens .kG(V,E)k

Mir ist klar, dass dies für den Fall das Hamiltonsche Pfadproblem ist. Ich habe jedoch Probleme mit Fällen, in denen . Ich habe versucht, darüber in dem Sinne nachzudenken, dass Sie einem vorhandenen Spanning Tree mit weitere Knoten hinzufügen können, und da die Basis NP-vollständig ist, wird sie durch Hinzufügen von Dingen ebenfalls NP-vollständig, aber das scheint nicht zu sein richtig. Ich lerne selbst CS und habe Probleme mit der Theorie, daher wird jede Hilfe geschätzt!k=2k>2k=2

user17199
quelle

Antworten:

9

Die Frage wurde bereits beim Stackoverflow gestellt und dort auch beantwortet. Die Idee ist, jeden Scheitelpunkt mit neuen Scheitelpunkten zu verbinden. Das neue Diagramm hat einen k- gebundenen Spannbaum, wenn das ursprüngliche Diagramm einen Hamilton-Pfad hat.k-2k

(k+1)k1

Yuval Filmus
quelle
1

Wenn Sie einen Algorithmus haben, der ein k-beschränktes Spanning Tree-Problem mit jedem k lösen kann, können Sie diesen Algorithmus verwenden, um einen Sonderfall mit k = 2 zu lösen, der im Wesentlichen ein Hamilton-Pfad ist. Wenn Ihr Algorithmus also Polynomzeit erreichen kann, kann er verwendet werden, um den Hamilton-Pfad in Polynomzeit zu lösen, was der Lösung aller np-vollständigen Probleme in Polynomzeit entspricht. Das k-gebundene Spanning-Tree-Problem muss also np-vollständig sein. Beachten Sie, dass dies eine allgemeine Idee und kein vollständiger Beweis ist.

Beachten Sie auch, dass np-complete nicht bedeutet, dass es keine polynomialen Zeitalgorithmen gibt, die das Problem lösen können. Niemand hat dies bisher bewiesen. Es bedeutet nur, dass alle Probleme, die np-vollständig sind, gleich schwer sind und wenn eines in Polynomzeit gelöst werden kann, dann können alle in Polynomzeit gelöst werden.

Sam G
quelle