5 Wegprobleme

Werbung
Vorlesungsmitschrift Graphentheorie
5
Wegprobleme
Wegprobleme
5.1
Erreichbarkeit
Definition : xj heißt erreichbar von xi , wenn es einen Weg von xi nach xj
gibt.
Erreichbarkeit
Welche Knoten xj sind von einem vorgegebenem Startkonten xi0 aus erreichbar und wie lautet ein entsprechender Weg von xi0 nach xj ?
Gegeben : gerichteter Graph G = (X, K) mittels Nachfolgerliste nf und
zugehöhriger Indexliste inf sowie der Startknoten xi0
Verfahren :
1. Markiere Startknoten xi0 ; i = i0
2. Wähle ein Kante (xi , xj ), wobei xi markiert ist und xj nicht markiert
ist; xj wird nun markiert; wiederhole Schritt 2
Sinnvolle Markierungen :
• Markierung von xj mit i ( xj wurde von xi aus erreicht )
• Markierung von xi0 mit n + 1 ( Kennzeichnung des Startknotens )
• Markierung von xj mit 0 (xj wurde noch nicht erreicht)
Strategien für die Auswahl geeigneter Kanten :
1. DFS-Strategie ( Depth First Search, Tiefensuche )
DFS-Strategie
Sobald ein Knoten markiert wird, versuche von diesem Knoten ausgehend einen weiteren zu markieren. Ist kein Knoten markierbar, versuche
Gleiches mit dem zuvor markiertem Knoten.
2. BFS-Strategie ( Breath First Search, Breitensuche )
BFS-Strategie
Falls von einem markierten Knoten xi aus Knoten markierbar sind, so
markiere nacheinander alle diese von xi aus markierbaren Knoten.
Eine zusätzliche Neunummerrierung der Knoten kann eingearbeitet werden :
xi erhält die Nr. k , wenn xi als k-ter Knoten markiert wurde
Technisch : NUM[k]:=i ( Es gilt immer: NUM[1]=i0. )
35
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Damit ist die Folge der neuen Nummern der Konten eines gefundenen Weges
von xi0 aus immer aufsteigend.
Listing 3: DFS-Algorithmus
1
2
3
VAR N ,M , i0 : i n t e g e r;
TYPE PLISTE = array [1.. N +1] OF i n t e g e r;
KLISTE = array [1.. M ] OF i n t e g e r;
4
5
6
7
P R O C E D U R E DFS ( nf : KLISTE ; inf , num , mar , H : PLISTE );
VAR i ,j ,k , l : i n t e g e r;
LABEL Weiter ;
8
9
10
11
12
13
14
BEGIN
FOR i :=1 TO N DO BEGIN
num [ i ]:=0;
mar [ i ]:=0;
H [ i ] := inf [ i ];
END ;
15
16
17
18
19
num [1]:= i0 ;
mar [ i0 ]:= N +1;
l :=1;
i := i0 ;
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Weiter :
k := H [ i ];
H [ i ]:= H [ i ]+1;
IF k < inf [ i +1] THEN BEGIN
j := nf [ k ];
IF mar [ j ]:=0 THEN BEGIN
mar [ j ]:= i ;
i := j ;
l := l +1;
num [ l ]:= j ;
END ;
IF l < N THEN GOTO Weiter ;
END ELSE BEGIN
i := mar [ i ];
IF i < N +1 THEN GOTO Weiter ;
END ;
END ;
36
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Listing 4: BFS-Algorithmus
1
2
3
VAR N ,M , i0 : i n t e g e r;
TYPE PLISTE = array [1.. N +1] OF i n t e g e r;
KLISTE = array [1.. M ] OF i n t e g e r;
4
5
6
P R O C E D U R E BFS ( nf : KLISTE ; inf , num , mar : PLISTE );
VAR i ,j ,k ,l , m : i n t e g e r;
7
8
9
10
11
12
BEGIN
FOR i :=1 to N DO BEGIN
num [ i ]:=0;
mar [ i ]:=0;
END ;
13
14
15
16
17
num [1]:= i0 ;
mar [ i0 ]:= N +1;
l :=1;
k :=1;
18
19
20
21
22
23
24
25
26
27
28
29
30
31
WHILE ( num [ k ] < > 0 ) AND ( l < N ) DO BEGIN
i := num [ k ];
FOR j := inf [ i ] TO inf [ i +1] -1 DO BEGIN
m := nf [ j ];
IF mar [ m ] = 0 THEN BEGIN
mar [ m ]:= i ;
l := l +1;
num [ l ]:= m ;
END ;
END ;
k := k +1;
END ;
END ;
Beispiel :
Gegeben ist der folgende Graph mit der Nachfolgerliste :
j
nf[j]
1
5
2
2
3
1
4
7
5
5
6
6
7
7
8
1
9
2
und der zugehörigen Indexliste :
i
inf[i]
1
1
2
2
3
2
4
4
5
6
6
7
7
8
8
10
37
Vorlesungsmitschrift Graphentheorie
Wegprobleme
1
2
3
7
2
6
3
5
6
4
5
4
1
(a) Abarbeitung des DFS-Algorithmus, Startknoten ist x4
4
2
1
4
5
5
6
3
1
7
2
6
(b) Baum der Erreichbarkeit nach DFS
38
Vorlesungsmitschrift Graphentheorie
Wegprobleme
1
2
4
7
2
5
3
6
6
3
5
4
1
(c) Abarbeitung des BFS-Algorithmus, Startknoten ist x4
(d) Baum der Erreichbarkeit nach BFS
39
Vorlesungsmitschrift Graphentheorie
5.2
Wegprobleme
Kürzeste Wege
Gegeben ist ein ( gerichteter ) Graph G = (X, K) mit einer Kantenbewertungsfunktion :
l:K →R
Gesucht sind die Antworten auf folgenden Fragen :
1. Ist xj von xi0 erreichbar ?
2. Welche Länge hat ein gerichteter Weg xi0 nach xj ?
Antwort :
1. Die Erreichbarkeit wurde im Textabschnitt 5.1 beschrieben.
2. Die Länge eines Weges kann durch die Kantenbewertungsfunktion l
ermittelt werden. Dazu wird zunächst der Weg W betrachtet :
W = {(xi0 , xi1 ), (xi1 , xi2 ), . . . , (xir−1 , xir )}.
xj
Damit kann die Länge des Weges errechnet werden :
Dl (W ) := l(xi0 , xi1 ) + l(xi1 , xi2 ) + . . . + l(xir−1 , xir ).
Im Sinne dieser Weglänge ist ein kürzester Weg und seine Länge gesucht.
40
Vorlesungsmitschrift Graphentheorie
Zunächst : l(k) ≥ 0
Wegprobleme
∀k ∈ K
Gegeben sei ein gerichteter Graph G = (X, K) mit l(k) ≥ 0 ∀k ∈ K.
Der Anfangsknoten sei xi0 .
Gesucht ist ein kürzester Weg und seine Länge zu jedem von xi0 aus erreichbaren Knoten xj .3
Algorithmus von Dijkstra :
1. Setze Dl (xi0 , xj ) = ∞ für j = i0 und Dl (xi0 , xi0 ) = 0. Setze i = i0 und
markiere xi .
2. Fixiere xi . Betrachte alle Knoten xj , zu denen es eine Kante von xi
gibt. Berechne eine vorläufige Distanz :
Dl (xi0 , xj ) := min{Dl (xi0 , xj ), Dl (xi0 , xi ) + l(xi , xj )}
Fall A
Fall B
Die Markierung bleibt bestehen, sofern die Minimum-Funktion Fall A
liefert, ansonsten wird xj mit i markiert ( Fall B ).
3. Unter allen nicht fixierten Knoten xj suche einen Knoten mit kleinster Distanz Dl (xi0 , xj ) < ∞. Dieser Knoten ist ein neuer Knoten xi .
Wiederhole Schritt 2.
4. Gibt es keinen nicht fixierten Knoten xj mit Dl (xi0 , xj ) < ∞, so ist der
Algorithmus beendet.
3
Zu beachten : Es kann auch mehrere kürzeste Wege geben !
41
Algorithmus von Dijkstra
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Listing 5: Algorithmus von Dijkstra
1
2
3
4
5
VAR N ,M , i0 : i n t e g e r;
TYPE PListe = ARRAY [1.. N +1] OF i n t e g e r;
KListe = ARRAY [1.. M ] OF i n t e g e r;
K B L i s t e = ARRAY [1.. M ] OF real ;
DListe = ARRAY [1.. N ] OF real ;
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
P R O C E D U R E D I J K S T R A ( nf : Kliste ; inf , mar : PListe ;
L : K B L i s t e ; DL : DListe );
CONST UNENDL = M A X R E A L;
VAR i ,j , k : i n t e g e r;
H : ARRAY [1.. N ] OF b o o l e a n;
min , d0 : real ;
BEGIN
// I n i t i a l i s ie rung , S c h r i t t 1 des V e r f a h r e n s
FOR i :=1 TO N DO BEGIN
DL [ i ]:= UNENDL ;
mar [ i ]:=0;
H [ i ]:= false ;
END ;
DL [ i0 ]:=0; mar [ i0 ]:= N +1; min :=0; i := i0 ;
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
REPEAT
// S c h r i t t 2 des V e r f a h r e n s
H [ i ]:= true ;
FOR j := inf [ i ] TO inf [ i +1] -1 DO BEGIN
k := nf [ j ];
d0 := DL [ i ]+ L [ j ];
IF d0 < DL [ k ] THEN BEGIN
DL [ k ]:= d0 ;
mar [ k ]:= i ;
END ;
END ;
// S c h r i t t 3 des V e r f a h r e n s
min := UNENDL ;
FOR j :=1 to N DO
IF ( NOT ( H [ j ] ) ) AND ( DL [ j ] < min ) THEN BEGIN
min := DL [ j ];
i := j ;
END ;
UNTIL ( min = UNENDL ) ; / / S c h r i t t 4 des V e r f a h r e n s
END ;
42
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Beispiel :
2
12
5
1
1
3
7
3
7
1
2
4
5
3
1
1
7
8
6
(a) Graph G mit Kantenbewertung
(b) 1. Zyklus
(c) 2. Zyklus
(d) 3. Zyklus
(e) 4. Zyklus
(f) 5. Zyklus
(g) 6. Zyklus
(h) letzter Zyklus
Abbildung 14: Dijkstra-Algorithmus
43
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Bemerkung der Autoren : Der Dijkstra-Algorithmus ist recht einfach
und kann gut nachvollzogen werden.
Der gerichtete Graph G mit der Kantenbewertung ist in Abbildung 14(a)
gegeben. Der Startknoten ist der Knoten 1.
1. Zyklus : der Knoten 1 wird fixiert ( Abbildung 14(b) ). Die Weglänge
vom fixierten Knoten 1 zu seinen Nachfolgern ( Knoten 2, 3 und 4 ) wurden blau dargestellt. Alle anderen Knoten wurden mit einer Weglänge
von ∞ festgelegt. Aus den nicht fixierten4 Knoten ( Knoten 2, 3 und
4 ) wird nun derjenige gesucht, dessen Weglänge minimal und nicht ∞
ist. Dies ist Knoten 3. Er wird markiert und für den nächsten Zyklus
fixiert.
2. Zyklus : der Knoten 3 ist nun fixiert ( Abbildung 14(c) ). Für seine
Nachfolger werden nun die kumulierten Weglängen errechnet ( rote
Zahlen neben den Knoten 4 und 5, da hier eine Verbesserung erreicht
wird ). Aus den nicht fixierten Knoten wird nun derjenige gesucht,
dessen Weglänge minimal und endlich ist. Dies ist Knoten 2.5 Er wird
markiert und fixiert.
3. Zyklus : der Knoten 2 ist nun fixiert ( Abbildung 14(d) ). Für seine
Nachfolger werden nun die kumulierten Weglängen errechnet ( braune
Zahl neben dem Knoten 7, da hier eine Verbesserung erreicht wird
). Aus den nicht fixierten Knoten wird nun derjenige gesucht, dessen
Weglänge minimal und endlich ist. Es wird Knoten 4 markiert und
fixiert.
4. Zyklen bis zum Ende : es werden nun nacheinander die Knoten 5, 6 und
7 markiert und fixiert. Die kumulierten Weglänge befinden sich in den
Abbildungen in der Farbe des fixierten Knotens neben den jeweiligen
Nachfolgern.
Zum Beispiel kann als kürzester Weg von Knoten 1 nach Knoten 7 durch die
Kantenmarkierungen der Weg W
W = {(1, 3), (3, 4), (4, 6), (6, 5), (5, 7)}
bestimmt werden. Die Weglänge dieses kürzesten Weges beträgt 10.
4
In den Abbildungen sind die fixierten Knoten immer gestrichelt umrandet
Es kann auch Knoten 4 genutzt werden. Es gibt aber die Nummerierung der Knoten
den Ausschlag.
5
44
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Jetzt : l(k) < 0 für k ∈ K ist erlaubt
Dazu folgendes Beispiel :
xj
3
-4
xi
6
xk
Dabei sei xi fixiert. Nach dem obigen Algorithmus folgt daraus für die Distanzen der Nachfolgerknoten :
Dl (j) = Dl (i) + 3
Dl (k) = Dl (i) + 6
Angenommen, xj wird als nächstes fixiert. Dann ist aber
Dl (k) − 4 = Dl (i) + 6 − 4 = Dl (i) + 2
besser ! Deshalb muß Schritt 2 des Verfahrens allgemeiner gefaßt werden :
2. Solange es eine Kante von xi nach xj gibt mit
Dl (xi0 , xi ) + l(xi , xj ) < Dl (xi0 , xj )
korrigiere Dl (xi0 , xj ) = Dl (xi0 , xi ) + l(xi , xj ).
45
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Betrachtet wird nun folgendes Beispiel :
xj
3
-2
xi
-2
xk
Hier würde Schritt 2 immer wieder zur Verbesserung von Dl (xi0 , xj ) führen,
da ein Durchgang von xj über xk und xi zurück nach xi immer Dl (xi0 , xj )
um −1 verringert. Offenbar dürfen also Kreise negativer Länge dürfen nicht
beachtet werden.
Eine Teillösung liefert der folgende Algorithmus.
Algorithmus von Ford :
Algorithmus von Ford
Schritt 2 des obigen Algorithmus wird n−1 mal durchlaufen. Dann sind Wege
mit n − 1 Kanten durchlaufen. Wird Schritt 2 ein weiteres Mal durchlaufen
und tritt eine Verbesserung auf, so muß ein Kreis negativer Länge vorhanden
sein.
46
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Listing 6: Algorithmus von Ford
1
2
3
4
5
VAR N ,M , i0 : i n t e g e r;
TYPE PListe = ARRAY [1.. N +1] OF i n t e g e r;
KListe = ARRAY [1.. M ] OF i n t e g e r;
K B L i s t e = ARRAY [1.. M ] OF real ;
DListe = ARRAY [1.. N ] OF real ;
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
P R O C E D U R E Ford ( nf : Kliste ; inf , mar , num : PListe ;
L : K B L i s t e ; DL : DListe );
CONST UNENDL = M A X R E A L;
VAR i , j , k , durchl , p , q : i n t e g e r;
Kreis : b o o l e a n;
d0 : real ;
BEGIN
// I n i t i a l i s i e r u n g des V e r f a h r e n s
FOR i :=1 TO N DO BEGIN
DL [ i ]:= UNENDL ;
mar [ i ]:=0;
num [ i ]:=0;
END ;
DL [ i0 ]:=0; mar [ i0 ]:= N +1; num [1] := i0 ;
q :=1; Durchl := 0;
22
23
24
25
26
REPEAT
durchl := durchl +1;
Kreis := false ;
p :=1;
27
28
29
WHILE ( p <= N ) AND ( num [ p ] >0 ) DO BEGIN
i := num [ p ]; p := p +1;
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
FOR j := inf [ i ] TO inf [ i +1] -1 DO BEGIN
k := nf [ j ]; d0 := DL [ i ]+ L [ j ];
IF mar [ k ] = 0 THEN BEGIN
DL [ k ]:= d0 ; mar [ k ]:= i ; q := q +1; num [ q ]:= k ;
END
ELSE
IF d0 < DL [ k ] THEN BEGIN
DL [ k ]:= d0 ; mar [ k ]:= i ;
Kreis := true ; // erst w i c h t i g im n - ten D u r c h l a u f
END ;
END ;
END ; // Ende eines D u r c h l a u f s
UNTIL ( durchl = N );
END ;
47
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Beispiel :
1
2
8
-3
-3
1
2
Kantenbewertung
Knotennummer
5
Kantennummer
4
2
3
-2
4
6
5
5
5
3
Durchl := 1
P := 1
-3
-5
4
DL - Entfernung
2
7
Knotennummer
Durchl := 1
P := 2
-3
1
1
DL - Entfernung
2
Knotennummer
-6
2
3
3
5
5
4
Durchl := 1
P := 3..5
-3
4
DL - Entfernung
2
1
Knotennummer
Durchl := 2..5
P := 1..5
4
4
-3
2
1
-6
DL - Entfernung
Knotennummer
-6
3
3
-8
-8
5
5
-1
4
-1
4
Abbildung 15: Algorithmus von Ford
48
Vorlesungsmitschrift Graphentheorie
5.3
Wegprobleme
Längste Wege
Beispiel 1 : Bauvorhaben ( Netzplantechnik )
Netzplantechnik
I
E
H
B
Start
G
D
A
J
J
F
C
J
F
J
K
Ende
wobei :
Kante
A
B
C
D
E
F
G
H
I
J
K
Aktion
Ausschachten
Keller anlegen
Gas- oder Öltank anlegen
Heizung montieren
Rohbau
Heizung installieren
Elektroinstallation
Sanitärinstallation
Innenausbau
Malerarbeiten
Einzug
Mathematisch gesehen ist dieser Netzplan also ein gerichteter Graph G =
(X, K) mit
• Kante Aktivität ( Vorgang ) mit Bewertung ( meist Zeitdauer )
• Knoten Ereignis der Beendigung aller Aktivitäten, die in den Knoten
einmünden
Dabei wird angenommen, daß x1 der Start- und xn der Endknoten sind. Es
sei nun ti der Zeitpunkt für das Eintreten des Ereignisses xi .
49
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Eine sinnvolle Aufgabe ist es, tn zu minimieren. Mathematisch kann die Aufgabe dann so ausgedrückt werden :
tn = min!
t1 = 0
tj − ti ≥ l(k) , falls xi und xj durch die Kante k verbunden sind
Diese Aufgabe heißt Terminplanungsproblem oder Potentialproblem.
Terminplanungsproblem
Lösung :
Sei W ein beliebiger Weg von x1 nach xn , d.h.
W = {( xi0 , xi1 ), (xi1 , xi2 ), . . . , (xir−1 , xir )}
x1
xn
so gilt
tn =
tn −tir−1 + tir−1 − tir−2 + tir−2 ± . . . − ti1 + ti1 − ti0
tir
t1 =0
≥ l(xir−1 , xir ) + l(tir−2 , tir−1 ) + . . . + l(ti0 , ti1 )
= l(W )
D.h., der frühestmögliche Zeitpunkt tn ist größer oder gleich der Länge eines
beliebigen Weges von x1 nach xn !
Somit ist die Länge eines längsten Weges von x1 nach xn interessant.
Bemerkungen :
Ist xn von x1 aus erreichbar, dann gibt es immer einen längsten Weg von x1
nach xn .
Zur Bestimmung eines längsten Weges stören jetzt Kreise positiver Länge.
In diesem Fall ist das Terminplanungsproblem unlösbar.
50
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Beispiel :
x2
2
1
x1
1
x3
Im Beispiel soll t3 minimal werden. Beim Startknoten x1 ist t1 = 0. Aus
t2 − t1 ≥ 2 folgt, daß −t2 ≤ −2 sein muß. Weiterhin ist t3 − t2 ≥ 1. Durch
t1 − t3 ≥ 1 folgt, daß t3 ≤ −1 sein muß.
Summiert man −t2 ≤ −2 und t3 ≤ −1, erhält man t3 − t2 ≤ −3. Dies ist ein
Widerspruch zu t3 − t2 ≥ 1.
Beispiel 2 : Knappsackproblem
Knappsackproblem
Gegeben sei ein Handelsmann, der n Gegenstände A1 , A2 , . . . , An seinen Kunden verkaufen soll. Die Gegenstände haben jeweils ein gewisses Gewicht pi
und versprechen jeweils einen Gewinn von gi .
Das Problem ist nun, daß nur ein Transport der Gegenstände bis zu einem
maximalen Gewicht K möglich ist. Es soll aber ein maximaler Gewinn realisiert werden.
Mathematisch ausgedrückt :
• Nutzung der Gegenstände :
0 Ai ist nicht eingepackt
Ai → xi =
1 Ai ist eingepackt
• Gewichtsbegrenzung :
• Gewinnmaximierung :
n
i=1
pi · xi ≤ K
i=1
gi · xi = max!
n
51
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Beispiel : Bei K = 16 und n = 6 sind folgende Werte bekannt :
0
1
2
3
Ai
1
2
3
4
5
6
pi
gi
9
13
7
10
5
8
4
6
4
5
2
2
7
8
4
5
6
9
10
11
12
13
14
15
16
1
13
0
2
10
0
10
0
3
0
8
0
0
8
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
0
5
5
0
6
2
0
7
0
8
0
Graph ist nicht vollständig !
Abbildung 16: Knappsack-Problem
Die Länge eines längsten Weges in diesem Graphen entspricht dem maximalen Gewinn des Handelsmannes.
Anmerkung der Autoren : Im Graphen ist auf der x-Achse das momentane Gesamtgewicht der eingepackten Gegenstände dargestellt ( 0 bis
maximal 16 ). Auf der y-Achse sind die jeweils einzupackenden Gegenstände
abgetragen. Auf den Kanten ist der jeweilige Gewinn dargestellt.
Ausgehend von Gegenstand 1 hat der Handelsmann die Wahl, ob er es einpackt oder nicht ( Knoten auf Koordinate (0,1)6 ).
Packt er es ein, erhöht sich das Gesamtgewicht auf 9 ( p1 = 9 ). Dabei ist ein
Gewinn von g1 = 13 zu erwarten ( Kante vom Knoten auf Koordinate (0,1)
zu Knoten auf Koordinate (9,2) ). Vom Knoten auf Koordinate (9,2) hat er
nun die Wahl, ob er Gegenstand 2 einpackt oder nicht. Packt er es ein, erhöht
sich das Gesamtgewicht auf 16 ( p1 + p2 = 16) bei einem Gesamtgewinn von
23 ( g1 +g2 = 23 ), wodurch man im Graphen auf den Knoten auf Koordinate
(16,3) gelangt. Da nun das Maximalgewicht von K = 16 erreicht ist, können
keine Gegenstände mehr eingepackt werden.
6
(0,1) bedeutet : Gesamtgewicht von Null, Gegenstand 1
52
Vorlesungsmitschrift Graphentheorie
Wegprobleme
Hat sich der Handelsmann aber entschieden, Gegenstand 1 nicht einzupacken,
so gelangt man vom Knoten auf Koordinate (0,1) zu Koordinate (0,2). Das
Gesamtgewicht hat sich nicht erhöht und der Gesamtgewinn verbleibt auf
Null. Vom Knoten auf Koordinate (0,2) hat der Handelsmann nun die Wahl,
ob er den Gegenstand 2 einpackt oder nicht.
Nach diesem Prinzip kann der Graph aufgestellt werden ( Anmerkung: In
obiger Abbildung ist der Graph nicht vollständig ! ).
Lösung des Längsten-Weg-Problems :
Man kann sich stets auf das Kürzester-Weg-Problem zurückziehen, indem die
Vorzeichen aller Kantenbewertungen umgedreht und dann der kürzeste Weg
bestimmt wird7 .
Damit ist auch begründet, daß beim Längsten-Weg-Problem Kreise positiver
Länge stören“.
”
7
Anmerkung der Autoren : Dieser Weg ist dann der längste Weg
53
Herunterladen