Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
23. Jun 2005
@Jelly: Ich hatte das erstmal als ungerichteten Graphen betrachtet, weiter unten bin ich auf die Möglichkeit der unterschiedlichen Bewertung ("b liegt auf einem Berg") eingegangen. Trotzdem danke für den Hinweis...
@Minz: Eine Möglichkeit, bei Rekursion eine Gehirnverwurstung zu verhindern, ist, sich nur zu überlegen, wie ich von einem Knoten zum nächsten komme. Wenn dabei alle Sonderfälle...
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
23. Jun 2005
@Minz: Der Fehler wurde von mir nur eingebaut, um zu testen, ob Du alles auch verstanden hast :oops:
Frage: Wieviele Knoten hast Du denn in deinem Graphen (AKA: Wie viele Städte muss der Reisende besuchen?')
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
23. Jun 2005
Nein, nicht ganz, weil Djikstra den "Single Pair Shortest Path" findet, wir aber das TSP implementieren wollen. Aber, in der Richtung sollte man weiter forschen, da hat du schon recht.
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
23. Jun 2005
Ein Graph ist definiert durch eine Menge von Knoten (Nodes) N, eine Menge von Kanten (Edges) E und eine Funktion Cost (n1,n2) (n1 und n2 sind Knoten) die angibt, wieviel ein Gang von n1 nach n2 kostet, wobei n1 und n2 durch eine Kante aus E verbunden sind...
Als Knoten kannst Du die Zahlen 1...N annehmen. Die Kanten und die Kosten sind als Entfernungsmatrix (1..N, 1..N) definiert.
Ein Weg der...
Forum: Object-Pascal / Delphi-Language
Delphi
by alzaimar,
22. Jun 2005
Graphen durchlaufen, z.B. so:
Procedure Visit (aNode : TNode);
Var
Neighbor: TNode;
Begin
if aNode.Visited Then Exit;
aNode.Visited := True;
Foreach Neighbor in aNode.Neighbors do
Visit (Child);