Werd mich mal versuchen
Hallo,
Tripel-Algorithmus ist eigentlich ganz einfach.
Beispiel 3.5., Seite 63, KE 1:
Du hast dort ein Netzwerk abgebildet, dieses schreibst du erst einmal in matrixschreibweise als Entfernungsmatrix.
D=
d11 d12 d13 d14 d15
d21 d22 d23 d24 d25
d31 d32 d33 d33 d34
d41 d42 d43 d44 d45
d51 d52 d53 d54 d55
(in großer eckiger Klammer)
siehe auch S.61 Abb. 3.9
Nun gehst du her und schaust, wie weit z.B Knoten 1 von Knoten 2 (also d12) entfernt ist. In diesem Fall 15. Das trägst du für d12 in die D-Matrix ein. Für d11, d22, d33, d44, d55 wird jeweils 0 eingetragen. Das steht auf Seite 60 ganz oben, da i = j gilt (d11, i=1, j=1). Wenn der Knoten beispielsweise vom gewählten Knoten nicht erreichbar ist, dann trägst du unendlich ein. Soweit zur Entfernungsmatrix, die hast du aber wahrscheinlich schon verstanden.
Jetzt kanns losgehen: Du markierst die erste Zeile und die erste Spalte und verfährst nach dem Tripel-Algorithmus auf Seite 62.
D.h. Schritt 1 (die Eingabedaten entsprechen deiner Entfernungsmatrix):
Für alle Elemente der Entfernungsmatrix sollst du jetzt schauen, ob das
gerade betrachtete Element kleiner unendlich oder unendlich ist, falls es kleiner als unendlich ist, dann schreibst du die Zeilennummer der Entfernungsmatrix für dieses Element an die selbe Stelle in die Wegematrix Q, wenn das Element unendlich ist, dann schreibst du 0.
Anhand des Beispiels: Der Wert von d11 (0) ist kleiner als unendlich also wird in der Wegematrix eine 1 vermerkt (erste Zeile, i=1); der Wert von d23 ist unendlich also wird in der Wegematrix für q23 eine 0 vermerkt; der Wert von d45 (3) ist kleiner als unendlich also wird in der Wegematrix für q45 eine 4 vermerkt (vierte Zeile, i=4), das geht so lange, bis du die Wegematrix vervollständigt hast.
Schritt 2:
Diese beiden Matizen erhalten eine hochgestellte 1 (erste Durchführung des Algorithmus; weiß nicht wie ich das schreiben soll, genaue Bezeichnung...).
Für die eben ermittelte Entfernungsmatrix gilt nun: Falls in der markierten Spalte ein Unendlich stehen sollte, dann kannst du diese so in die neue Matrix übernehmen, ansonsten führst du die letzte Zeile des Algorithmus auf Seite 62 durch. Am besten, du setzt dir dafür die einzelnen Nummern ein, wenn es dir anfangs noch schwer fallen sollte.
Für das Beispiel auf Seite 63 gilt, dass bei D(1) die zweite und die vierte Zeile stehen bleiben, die neue Matrix nennst du natürlich D(2).
Für d11 (0) gilt: d11 + d11 < d11 -> 0+0<0 Ungleichung nicht erfüllt, d.h. die 0 bleibt für d11 in der Matrix D(2) stehen.
Für d12 (15) gilt: d11 + d12 < d12 -> 0 + 15 < 15 Ungleichung nicht erfüllt, d.h. die 15 bleibt für d12 in der D(2) Matrix stehen.
Für d52 (unendlich) gilt: d51 + d12 < d52 -> 5 + 15 < unendlich Ungleichung ist erfüllt, d.h. du musst jetzt für d52 in D(2) die Summe aus d51 + d12 dort einsetzten, also den Wert 20. usw.
Wenn du diese Übung durchmachst, erkennst du irgendwann das System. Falls du eine Zahl in der D(2) Matrix "erneuerst", dann markierst du sie dir am Besten wie im Skript mit einem Pfeildreieck. Jetzt übernimmst du alle Werte der neuen Entfernungsmatrix, die du nicht verändert hast in die neue Wegematrix Q(2). Dann ergänzt du die markierten und "erneuerten", verbesserten Werte nach der "Formel" qij :=qvj (steht ganz am Schluss vom Algorithmus).
D.h. für d52: q52:=q15 (du befindest dich noch beim ersten Durchlauf!)
q52 = 1.
Wenn deine Wegematrix vervollständigt ist, dann markierst du die zweite Spalte und die zweite Zeile und verfährst noch einmal genauso, bis du alle Spalten und alle Zeilen einmal markiert hast. D.h. bei einer 5x5 Matrix brauchst du 6 Durchläufe. Schritt 1 gilt jeweils für die Wegematrix Q, aber da du die Werte, die du nicht veränderst eigentlich nur abschreiben brauchst, kannst du sofort auf Schritt 2 eingehen.
Ich hab auch eine Zeit lang gebraucht, bis ich die Algorithmen "lesen" konnte. Braucht ein bisschen, bis man sich da richtig reindenken kann, aber dann ist es eigentlich immer das selbe Verfahrensmuster.
Hoffentlich konnte ich dir helfen, ich weiß wie schwer es ist, hier jemanden zu finden, der die Fragen beantworten kann. Vor allem ganz am Anfang vom Semesterbeginn.
LG Taja