Also mein Problem ist folgendes:Spanning Trees mit minimalen Anzahl von Blättern
Ich habe eine ungerichtete (komplett) Graph G = (V, E), und ich möchte alle möglichen Spannbäume erzeugen mit minimaler Anzahl von Blättern, dh mit einer minimalen Anzahl von Scheitelpunkten von Grad 1. Nennen wir diese Art von Bäumen MIN_LEAF.
Möglicherweise würde ich direkt wie zu generieren, unter allen Bäumen mit minimaler Anzahl von Blättern, die eine, die auch das Mindestgesamtgewicht hat (bitte beachten Sie, dass dies ein Minimum Spanning Tree ist nicht unbedingt). Ist das Problem zu entscheiden, ob ein Baum T ist ein MIN_LEAF für einen gegebenen Graphen G NP-vollständig?
Wenn ja, frage ich mich, ob eine Art heuristischer Algorithmus existiert (gierige oder lokale Suche), der zumindest eine ungefähre Lösung für dieses Problem bieten kann.
Vielen Dank im Voraus.
Vielen Dank. Ich möchte nur hinzufügen, dass die Entscheidungsversion des Problems NP-vollständig ist: wenn eine ganze Zahl k> = 2 die maximale Anzahl erlaubter Blätter in einem Spannbaum, ein Graph G und einen Kandidatenlösungsbaum T darstellt, ist es einfach zu überprüfen in Polynomialzeit, wenn T ein Spannbaum für G mit einer Anzahl von Blättern kleiner oder gleich k ist. – user7427473
@ user7427473 Absolut. Wie in der ursprünglichen Frage eingerahmt, hatten Sie diesen Teil nicht, deshalb erwähnte ich ** NP ** - Härte statt Vollständigkeit. – templatetypedef