Das Institut für Rechnergestützte Wissensverarbeitung (KBS) der Universität Hannover hat 1996
als „Weihnachtsrätsel“ die Aufgabe gestellt, für 26 europäische
Hauptstädte die kürzeste Rundreise zu finden. Die Aufgabe mit
Lösungen
wurden in das Internet gestellt. Die Entfernungsmatrix
ist hier abgedruckt, weil inzwischen die Internet-Seiten
entfernt wurden. Heuristisch wurde als kleinste Rundreise eine
Rundreise von 16.189 km ermittelt, ohne den Nachweis, ob es
sich hierbei um die optimal kürzeste Rundreise handelt. Mit
der neuen algebraischen Lösungsmethode kann nachgewiesen werden,
dass diese heuristisch gefundene kleinste Rundreise von 16189 km
auch die optimale Rundreise ist.
Neuer algebraischer Lösungsweg:
Vor der Berechnung wurden die Daten manuell nach 3.2.2.
optimal aufbereitet. Ziel ist es, bei der begrenzten Enumeration möglichst
frühzeitig irrelevante Teilgraphen ausscheiden zu können.
Folgende Einsparungseffekte werden durch einen Abbruch nach der
entsprechenden Kante erzielt:
Tabelle 4.9. Einsparungen bei Abbruch
Anzahl aller Gesamtgraphen (=25!) : |
15.511.210.043.330.985.984.000.000 |
Anzahl aller symmetrischen Gesamtgraphen : |
7.755.605.021.665.492.992.000.000 |
Anzahl aller Teilgraphen : |
7.905.853.580.625 |
|
|
Einsparung bei Abbruch nach der 1.Kante : |
316.234.143.225 |
nach der 2. Kante: |
13.749.310.575 |
nach der 3. Kante: |
654.729.075 |
nach der 4. Kante: |
34.459.425 |
nach der 5.
Kante: |
2.027.025 |
nach der 6. Kante: |
135.135 |
nach der 7. Kante: |
10.395 |
nach der 8. Kante: |
945 |
nach der 9. Kante: |
105 |
nach der 10. Kante: |
15 |
nach der 11. Kante: |
3 |
nach der 12. Kante: |
1 |
nach der 13. Kante: |
0 |
Es lohnt sich also,
möglichst frühzeitig die Berechnung abbrechen zu können.
Drei
Größen beeinflussen günstig das Backtracking:
-
ein
vorher heuristisch gefundener möglichst kleiner Ausgangswert,
-
eine
für das Verfahren sinnvolle Nummerierung der Knoten und
-
die
noch ausstehenden Kantenlängen je Kantenplatz.
Zu 1 (Ausgangswert)
Der kleinste heuristisch gefundene Gesamtgraph betrug 16.189
km und setzte sich aus den beiden Teilgraphen von 7331 km und 8858
km zusammen. Wie sich später herausgestellt hat, war diese
Vorgabe sehr günstig, jedoch nicht zwingend notwendig. Bereits
der kleinste Teilgraph (6845 km) mit seinem kleinsten
Komplement-Teilgraphen (9912 km) ergeben schon einen Gesamtgraphen
von nur 16.757 km.
Zu 2 (Knotennummerierungsregel)
Gerade in diesem Beispiel ist eine Knoten-Nummerierung in
alphabetischer Reihenfolge der Städtenamen schon wegen der
zentralen Lage von Amsterdam als ersten Knoten ungünstig, weil
die Abweichungen der Kanten dieses Knoten im Vergleich zu den
Abweichungen der Kanten anderer Knoten relativ gering sind. Es
wurde deshalb eine Knoten-Umnummerierung absteigend nach der Größe
der Abweichung aller Kantenlängen je Knoten vorgenommen. Diese
Umnummerierung erzielt gute Ergebnisse, ist aber nicht zwingend.
Es können auch andere Methoden angewandt werden.
Tabelle 4.10. Knoten-Umnummerierung
alter Knoten |
Kn.-Nr. |
neuer Knoten |
relevante Kanten |
min. Kantenlänge |
Amsterdam |
1 |
Lissabon |
1-2
bis 1-26 |
1 - 3 Þ
639 |
Athen |
2 |
Helsinki |
2-3
bis 2-26 |
2 - 8 Þ383 |
Barcelona |
3 |
Madrid |
3-4
bis 3-26 |
3 - 23 Þ
637 |
Belgrad |
4 |
Istanbul |
4-5
bis 4-26 |
4 - 7 Þ
577 |
Berlin |
5 |
Athen |
5-6
bis 5-26 |
5-7 Þ
847 |
Brüssel |
6 |
Bucarest |
6-7
bis 6-26 |
6-7 Þ
407 |
Bucarest |
7 |
Sofia |
7-8
bis 7-26 |
7-10 Þ
409 |
Budapest |
8 |
Stockholm |
8-9
bis 8-26 |
8-9 Þ
549 |
Frankfurt/M. |
9 |
Oslo |
9-10 bis
9-26 |
9-12 Þ
588 |
Genf |
10 |
Belgrad |
10-11 bis 10-26 |
10-11 Þ
428 |
Helsinki |
11 |
Budapest |
11-12 bis 11-26 |
11-15 Þ
256 |
Istanbul |
12 |
Kopenhagen |
12-13 bis 12-26 |
12-16 Þ
367 |
Kopenhagen |
13 |
Rom |
13-14 bis 13-26 |
13-21 Þ
565 |
Lissabon |
14 |
Warschau |
14-15 bis 14-26 |
14-16 Þ
589 |
London |
15 |
Wien |
15-16 bis 15-26 |
15-20 Þ
312 |
Madrid |
16 |
Berlin |
16-17 bis 16-26 |
16-20 Þ
337 |
Mailand |
17 |
Amsterdam |
17-18 bis 17-26 |
17-19 Þ
220 |
Oslo |
18 |
London |
18-19 bis 18-26 |
18-19 Þ
371 |
Paris |
19 |
Brüssel |
19-20 bis 19-26 |
19-26 Þ
297 |
Prag |
20 |
Prag |
20-21 bis 20-26 |
20-25 Þ
504 |
Rom |
21 |
Mailand |
21-22 bis 21-26 |
21-22 Þ
305 |
Sofia |
22 |
Zürich |
22-23 bis 22-26 |
22-24 Þ
280 |
Stockholm |
23 |
Barcelona |
23-24 bis 23-26 |
23-24 Þ
772 |
Warschau |
24 |
Genf |
24-25 bis 24-26 |
24-26 Þ
517 |
Wien |
25 |
Frankfurt / M. |
25-26 |
25-26 Þ
567 |
Zürich |
26 |
Paris |
- |
- |
Für die minimalen Kantenlängen der
einzelnen Knoten ergibt sich von der kleinsten bis zur größten Länge
diese Sortierung: 220, 256, 280, 297, 305, 312, 337, 367, 371,
383, 407, 409 ....
Die Kanten der jeweiligen Anfangsknoten
(s.o.) verteilen sich auf die einzelnen Kantenplätze im
Teilgraphen wie folgt:
Tabelle 4.11. Beziehung zwischen Kanten und
Kantenplatz
Nr. |
neuer
Knoten |
relevante
Kanten |
Kantenplatz
im Teilgraph: |
1. |
2. |
3. |
4. |
5. |
6. |
7. |
8. |
9. |
10. |
11. |
12. |
13. |
1 |
Lissabon |
1-2
bis 1-26 |
X |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
Helsinki |
2-3
bis 2-26 |
|
X |
|
|
|
|
|
|
|
|
|
|
|
3 |
Madrid |
3-4
bis 3-26 |
|
X |
X |
|
|
|
|
|
|
|
|
|
|
4 |
Istanbul |
4-5
bis 4-26 |
|
|
X |
X |
|
|
|
|
|
|
|
|
|
5 |
Athen |
5-6
bis 5-26 |
|
|
X |
X |
X |
|
|
|
|
|
|
|
|
6 |
Bucarest |
6-7
bis 6-26 |
|
|
|
X |
X |
X |
|
|
|
|
|
|
|
7 |
Sofia |
7-8
bis 7-26 |
|
|
|
X |
X |
X |
X |
|
|
|
|
|
|
8 |
Stockholm |
8-9
bis 8-26 |
|
|
|
|
X |
X |
X |
X |
|
|
|
|
|
9 |
Oslo |
9-10 bis
9-26 |
|
|
|
|
X |
X |
X |
X |
X |
|
|
|
|
10 |
Belgrad |
10-11 bis 10-26 |
|
|
|
|
|
X |
X |
X |
X |
X |
|
|
|
11 |
Budapest |
11-12 bis 11-26 |
|
|
|
|
|
X |
X |
X |
X |
X |
X |
|
|
12 |
Kopenhagen |
12-13 bis 12-26 |
|
|
|
|
|
|
X |
X |
X |
X |
X |
X |
|
13 |
Rom |
13-14 bis 13-26 |
|
|
|
|
|
|
X |
X |
X |
X |
X |
X |
X |
14 |
Warschau |
14-15 bis 14-26 |
|
|
|
|
|
|
|
X |
X |
X |
X |
X |
X |
15 |
Wien |
15-16 bis 15-26 |
|
|
|
|
|
|
|
X |
X |
X |
X |
X |
X |
16 |
Berlin |
16-17 bis 16-26 |
|
|
|
|
|
|
|
|
X |
X |
X |
X |
X |
17 |
Amsterdam |
17-18 bis 17-26 |
|
|
|
|
|
|
|
|
X |
X |
X |
X |
X |
18 |
London |
18-19 bis 18-26 |
|
|
|
|
|
|
|
|
|
X |
X |
X |
X |
19 |
Brüssel |
19-20 bis 19-26 |
|
|
|
|
|
|
|
|
|
X |
X |
X |
X |
20 |
Prag |
20-21 bis 20-26 |
|
|
|
|
|
|
|
|
|
|
X |
X |
X |
21 |
Mailand |
21-22 bis 21-26 |
|
|
|
|
|
|
|
|
|
|
X |
X |
X |
22 |
Zürich |
22-23 bis 22-26 |
|
|
|
|
|
|
|
|
|
|
|
X |
X |
23 |
Barcelona |
23-24 bis 23-26 |
|
|
|
|
|
|
|
|
|
|
|
X |
X |
24 |
Genf |
24-25 bis 24-26 |
|
|
|
|
|
|
|
|
|
|
|
|
X |
25 |
Frankfurt / M. |
25-26 |
|
|
|
|
|
|
|
|
|
|
|
|
X |
26 |
Paris |
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
Bemerkung:
Umnummerierung und die Berechnung der ausstehenden
Mindestkanten-längen sind abhängige Verfahren. Erst aufgrund der
Festlegung der Knoten-Nummer kann die Mindestlänge der noch
ausstehenden Kanten für jeden einzelnen Kantenplatz bestimmt
werden.
Zu 3. (Mindestkantenregel)
Für jeden Kantenplatz ist die Gesamt-Mindestlänge aller noch
ausstehenden Kanten zu berechnen. Die exakten Mindestlängen
lassen sich in diesem Beispiel nur maschinell bestimmen. Gute Näherungswerte
erhält man aber auch manuell unter Berücksichtigung der
Minimalkanten.
Tabelle 4.12. Mindestkanten
je Kantenplatz
Abzuziehender Wert beim |
å |
aus den noch offenen Kanten im Teilgraph (Kantenbezeichnung)
|
2. |
3. |
4. |
5. |
6. |
7. |
8. |
9. |
10. |
11. |
12. |
13.
|
1. Kantenplatz |
5518 |
2-8 |
3-23 |
4-6 |
7-10 |
9-12 |
11-15 |
13-21 |
14-16 |
17-19 |
18-26 |
20-25 |
22-24 |
2. Kantenplatz |
4869 |
|
3-23 |
4-6 |
7-10 |
8-9 |
11-15 |
12-16 |
14-20 |
17-19 |
18-26 |
21-24 |
22-25 |
3. Kantenplatz |
4232 |
|
|
4-6 |
7-10 |
8-9 |
11-15 |
12-16 |
14-20 |
17-19 |
18-26 |
21-24 |
22-25 |
4. Kantenplatz |
3464 |
|
|
|
6-7 |
8-9 |
10-11 |
12-16 |
15-20 |
17-19 |
18-26 |
21-24 |
22-25 |
5. Kantenplatz |
2915 |
|
|
|
|
6-7 |
10-11 |
12-16 |
15-20 |
17-19 |
18-26 |
21-24 |
22-25 |
6. Kantenplatz |
2403 |
|
|
|
|
|
7-10 |
11-15 |
16-20 |
17-19 |
18-26 |
21-24 |
22-25 |
7. Kantenplatz |
1994 |
|
|
|
|
|
|
11-15 |
16-20 |
17-19 |
18-26 |
21-24 |
22-25 |
8. Kantenplatz |
1542 |
|
|
|
|
|
|
|
11-15 |
16-20 |
17-19 |
18-26 |
22-24 |
9. Kantenplatz |
1093 |
|
|
|
|
|
|
|
|
11-15 |
16-20 |
17-19 |
22-24 |
10. Kantenplatz |
756 |
|
|
|
|
|
|
|
|
|
11-15 |
17-19 |
22-24 |
11. Kantenplatz |
500 |
|
|
|
|
|
|
|
|
|
|
17-19 |
22-24 |
12. Kantenplatz |
220 |
|
|
|
|
|
|
|
|
|
|
|
17-19 |
Programmierte Berechnungen beim Beispiel mit 26 Kanten:
Der heuristisch gefundene kleinste
Gesamtgraph mit einer Kantenlänge von 16189 km setzt sich aus den
beiden Teilgraphen mit einer Länge von 7331 km und 8858 km
zusammen. Mittelwert der Kantenlängen ist 8094 km. Des weiteren
wurde durch ein Programm der kleinste Teilgraph mit einer Kantenlänge
von 6845 km berechnet. Die Länge des zugehörigen kleinsten
Komplement-Teilgraphen beträgt 9912 km.
Zu ermitteln war jetzt, ob es einen kleineren
Gesamtgraphen von weniger als 16189 km gibt. Bei diesem
Gesamtgraph muss der kleinere
Teilgraph zwingend eine Kantenlänge zwischen 6845 km und 8094 km
haben. Hat keiner der Teilgraphen mit einer Kantenlänge bis zu
8094 km einen entsprechenden Komplement-Teilgraph, der mit diesem
eine kleinere Gesamtkantenlänge von 16189 km bildet, so ist damit
der optimale kleinste Gesamtgraph bereits gefunden.
Dazu wurden
die Teilgraphen mit folgenden Kantenlängen gezählt
Tabelle 4.13. Ergebnisse
des Beispiels 4.3
Kantenlänge |
Anzahl der TG |
Bemerkung |
bis 6845 km |
1 |
minimaler Teilgraph |
bis 7331 km |
40 |
Teilgraph des optimalen Graphen |
bis 8094 km |
2.725 |
(7331 + 8858 ) : 2 = 8094 |
bis 8858 km |
57.200 |
Teilgraph des optimalen Graphen |
bis 9344 km |
293.380 |
16189 - 6845 = 9344 |
bis 9912 km |
1.568.529 |
min. Komp.-TG des minimalen TG |
alle Teilgraphen |
7.905.853.580.625 |
nicht berechnet |
Zu berechnen waren also nur 2725 Teilgraphen. Aus der Menge der 293.380 Komplement-Teilgraphen
bis zu einer Kantenlänge von 9344 km war dazu jeweils der zugehörige
kleinste Komplement-Teilgraph zu ermitteln. Bereits nach 40 Durchläufen
verringerte sich die Anzahl der Komplement-Teilgraphen auf 57200.
Es wurde kein kleinerer Gesamtgraph gefunden. Damit ist bewiesen,
dass der Gesamtgraph mit einer Kantenlänge von 16189 km der
optimale kleinste Graph ist.

Abb.
4.1 geografische Darstellung des optimalen Graphen
Aus den beiden
Teilgraphen wird der Gesamtgraph bzw. sein Spiegelbild gebildet:
Tabelle
4.14 Optimaler Teilgraph und zugehöriger min.
Komplement-Teilgraph
Nr. |
Kante |
Länge |
und:
|
Nr. |
Kante |
Länge |
1-3 |
Lissabon-Madrid |
639 |
1-23 |
Lissabon-Barcelona |
1276 |
2-14 |
Helsinki-Warschau |
1130 |
2-8 |
Helsinki-Stockholm |
383 |
4-6 |
Istanbul-Bucarest |
638 |
3-13 |
Madrid-Rom |
952 |
5-7 |
Athen-Sofia |
847 |
4-5 |
Istanbul-Athen |
1141 |
8-9 |
Stockholm-Oslo |
549 |
6-14 |
Bucarest-Warschau |
1487 |
10-11 |
Belgrad-Budapest |
428 |
7-10 |
Sofia-Belgrad |
409 |
12-16 |
Kopenhagen-Berlin |
367 |
9-12 |
Oslo-Kopenhagen |
588 |
13-21 |
Rom-Mailand |
565 |
11-15 |
Budapest-Wien |
256 |
15-20 |
Wien-Prag |
312 |
16-17 |
Berlin-Amsterdam |
669 |
17-19 |
Amsterdam-Brüssel |
220 |
18-19 |
London-Brüssel |
371 |
18-26 |
London-Paris |
449 |
20-25 |
Prag-Frankfurt /
M. |
504 |
22-25 |
Zürich-Frankfurt
/ M. |
415 |
21-22 |
Mailand-Zürich |
305 |
23-24 |
Barcelona-Genf |
772 |
24-26 |
Genf-Paris |
517 |
|
|
7331 |
|
|
8858 |
Tabelle 4.15. Optimaler
Gesamtgraph und Spiegelbild des optimalen Gesamtgraphen
Nr. |
Kante |
Länge |
|
Nr. |
Kante |
Länge |
1-3 |
Lissabon-Madrid |
639 |
1-23 |
Lissabon-Barcelona |
1276 |
3-13 |
Madrid-Rom |
952 |
23-24 |
Barcelona-Genf |
772 |
13-21 |
Rom-Mailand |
565 |
24-26 |
Genf-Paris |
517 |
21-22 |
Mailand-Zürich |
305 |
26-18 |
Paris-London |
449 |
22-25 |
Zürich-Frankfurt
/ M. |
415 |
18-19 |
London-Brüssel |
371 |
25-20 |
Frankfurt / M.
-Prag |
504 |
19-17 |
Brüssel-Amsterdam |
220 |
20-15 |
Prag-Wien |
312 |
17-16 |
Amsterdam-Berlin |
669 |
15-11 |
Wien-Budapest |
256 |
16-12 |
Berlin-Kopenhagen |
367 |
11-10 |
Budapest-Belgrad |
428 |
12-9 |
Kopenhagen-Oslo |
588 |
10-7 |
Belgrad-Sofia |
409 |
9-8 |
Oslo-Stockholm |
549 |
7-5 |
Sofia-Athen |
847 |
8-2 |
Stockholm-Helsinki |
383 |
5-4 |
Athen-Istanbul |
1141 |
2-14 |
Helsinki-Warschau |
1130 |
4-6 |
Istanbul-Bucarest |
638 |
14-6 |
Warschau-Bucarest |
1487 |
6-14 |
Bucarest-Warschau |
1487 |
6-4 |
Bucarest-Istanbul |
638 |
14-2 |
Warschau-Helsinki |
1130 |
4-5 |
Istanbul-Athen |
1141 |
2-8 |
Helsinki-Stockholm |
383 |
5-7 |
Athen-Sofia |
847 |
8-9 |
Stockholm--Oslo |
549 |
7-10 |
Sofia-Belgrad |
409 |
9-12 |
Oslo-Kopenhagen |
588 |
10-11 |
Belgrad-Budapest |
428 |
12-16 |
Kopenhagen-Berlin |
367 |
11-15 |
Budapest-Wien |
256 |
16-17 |
Berlin-Amsterdam |
669 |
15-20 |
Wien-Prag |
312 |
17-19 |
Amsterdam-Brüssel |
220 |
20-25 |
Prag-Frankfurt /
M. |
504 |
19-18 |
Brüssel-London |
371 |
25-22 |
Frankfurt /
M.-Zürich |
415 |
18-26 |
London-Paris |
449 |
22-21 |
Zürich-Mailand |
305 |
26-24 |
Paris-Genf |
517 |
21-13 |
Mailand-Rom |
565 |
24-23 |
Genf-Barcelona |
772 |
13-3 |
Rom-Madrid |
952 |
23-1 |
Barcelona-Lissabon |
1276 |
3-1 |
Madrid-Lissabon |
639 |
|
|
16189 |
|
|
16189 |