Diskrete Mathematik > Graphentheorie > Schaltungen >

Ein Hamiltonscher Pfad, auch Hamilton-Pfad genannt, ist ein Graphenpfad zwischen zwei Scheitelpunkten eines Graphen, der jeden Scheitelpunkt genau einmal besucht. Wenn ein Hamilton’scher Pfad existiert, dessen Endpunkte benachbart sind, dann wird der resultierende Graphzyklus als Hamilton’scher Zyklus (oder Hamilton’scher Zyklus) bezeichnet.

Ein Graph, der einen Hamilton’schen Pfad besitzt, wird als traceablegraph bezeichnet.

Im Allgemeinen ist das Problem, einen Hamilton’schen Pfad zu finden, NP-komplett (Garey und Johnson 1983, pp. 199-200), so dass der einzige bekannte Weg, um festzustellen, ob ein gegebener allgemeiner Graph einen Hamiltonschen Pfad hat, darin besteht, eine erschöpfende Suche durchzuführen

Jeder bipartite Graph mit einem Vertex-Paritäts-Ungleichgewicht 1 hat keine Hamiltonschen Pfade.

Das Finden eines einzelnen Hamiltonschen Pfades eines Graphen g ist in der Wolfram Language als FindHamiltonianPath implementiert. Alle Hamiltonschen Pfade eines gegebenen Graphen können (ineffizient) mit dem Befehl HamiltonianPath im Wolfram Language-Paket Combinatorica` gefunden werden. Eine vorberechnete Liste aller Hamiltonschen Pfade für viele benannte Graphen erhält man mit GraphData, wobei und beide Orientierungen der Pfade enthalten sind (so dass {} als verschieden von {} betrachtet wird). Eine vorberechnete Anzahl der entsprechenden Hamilton-Pfade wird von GraphData angegeben.

Die Gesamtzahl der gerichteten Hamilton-Pfade für alle einfachen Graphen der Ordnung n=1, 2, … sind 0, 2, 8, 50, 416, 5616, 117308, 4862736, … (OEIS A193352).

Rubin (1974) beschreibt ein effizientes Suchverfahren, das einige oder alle Hamilton-Pfade und -Schaltungen in einem Graphen mit Hilfe von Ableitungen finden kann, die Backtracking und Rätselraten stark reduzieren. Ein probabilistischer Algorithmus, der auf Angluin und Valiant (1979) zurückgeht und von Wilf (1994) beschrieben wird, kann ebenfalls nützlich sein, um Hamilton’sche Kreisläufe und Pfade zu finden. Ein Hamiltonscher Pfad zwischen zwei Eckpunkten i und j kann gefunden werden, wenn ein Algorithmus für Hamiltonsche Zyklen vorhanden ist. Dazu wird geprüft, ob der ursprüngliche Graph G die Kante (i,j) enthält, und wenn nicht, wird sie hinzugefügt, um G^'' zu erhalten. Da ein Hamilton’scher Pfad mit benachbarten Endpunkten ein Hamilton’scher Zyklus ist und da i und j nun benachbart sind, Die Suche nach einem Hamilton-Zyklus und die Aufteilung am Rand ergibt einen Hamilton-Pfad von i nach j in G. Ähnlich, wenn kein Hamilton-Zyklus in G^'' existiert, dann gibt es keinen Hamilton-Pfad von i nach j in G.

Die folgende Tabelle fasst die Anzahl der (ungerichteten) Hamiltonschen Pfade auf verschiedenen Klassen von Graphen zusammen.

Getriebe graph

Graph Formel
Barbell-Graph ^2
Cocktailparty-GraphK_(n×2) (2n)!_1F_1(-n;-2n;-2)
vollständiger Graph K_n n!
vollständiger bipartiter Graph K_(n,n) (n!)^2
2n-gekreuzter Prismengraph 6-2^(n-1)n(n+1)
ZyklusdiagrammC_n n
n(n+1)
Leiterdiagramm P_2 Quadrat P_n n^2-n+2
Möbius-Leiter M_n 1/2(-1)^nn
Pfaddiagramm P_n 1
Prismengraph Y_n 1/2n
Sonnengraph n(n+1)
Raddiagramm W_n 2(n-1)(n-2)

Die Wiederkehrbeziehungen für die Anzahl der gerichteten Hamiltonschen Pfade für einige Graphenfamilien sind unten zusammengefasst.

Graph Ordnung Wiederholung
Antiprismengraph 9 a_n=a_(n-9)+a_(n-8)-3a_(n-7)-5a_(n-6)+5a_(n-5)+7a_(n-4)-4a_(n-3)-6a_(n-2)+5a_(n-1)
Kronendiagramm 3 a_n=n(n-1)^2a_(n-2)+(n-2)n(n-1)a_(n-3)+n(n-1)a_(n-1)
Prismengraph Y_n 6 a_n=-a_(n-6)+2a_(n-5)+a_(n-4)-4a_(n-3)+a_(n-2)+2a_(n-1)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.