/ / Den längsten Pfad findend, der <= x ist (gewichteter, ungerichteter Graph) - Algorithmus, Graph, Pfad

Den längsten Pfad findend, der <= x (gewichteter, ungerichteter Graph) ist - Algorithmus, Graph, Pfad

Ich kann mir keinen Algorithmus vorstellen, der es finden würdeder längste Pfad, der kleiner oder gleich einer x-Variable ist. Mit Dijkstras Algorithmus kann ich leicht den längsten Weg finden, aber ich bin mir nicht sicher, ob ich es in meinem Problem verwenden kann.

Antworten:

2 für die Antwort № 1

Dijkstras Algorithmus gibt Ihnen den kürzesten Weg, nicht den längsten.

Den längsten (einfachen) Pfad zu finden ist NP-Hard. Da Ihr Problem in das längste Pfadproblem degeneriert werden kann (x ist gleich der Summe aller Kantengewichte, was eine obere Grenze für die Länge des längsten Pfads ist), ist es auch NP-Hard.

Sie könnten immer noch eine Baumsuche verwenden, aber es ist wahrscheinlich nicht handhabbar.

Wenn Sie nicht einfache Pfade betrachten (Knoten können mehrmals durchlaufen werden), dann ist das ein anderes Problem. Ein degenerierter Fall ist das Rucksackproblem, das ebenfalls NP-Hard ist.


0 für die Antwort № 2

Sie können den DFS-Algorithmus verwenden, um den längsten Pfad zu finden. Wenn Sie suchen, können Sie einige nützliche Artikel finden, wie Tiefensuche und gerichtete azyklische Graphen.