• Keine Ergebnisse gefunden

Der Algorithmus von Dijkstra

N/A
N/A
Protected

Academic year: 2022

Aktie "Der Algorithmus von Dijkstra"

Copied!
10
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 1/10

Der Algorithmus von Dijkstra

(Berechnung kürzester Wege in bewerteten Graphen)

GIS Praxis II, Jan Hinzmann, Matr.-Nr.: 2068095

(2)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 2/10

Inhaltsverzeichnis

● Edsger Wybe Dijkstra

● Graphen

● Kürzester Weg?

● Algorithmus

● Beispiel

● Applet

(3)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 3/10

Edsger Wybe Dijkstra

● Holländer (1930 Rotterdam– 2002)

● erster Programmierer der Niederlande

● 1972 Turing Preis

"In der Informatik geht es genau so wenig um Computer wie in der Astronomie um Teleskope."

● Dijkstra-Algorithmus

findet kürzeste Wege in Graphen

(4)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 4/10

Graphen

● Ein Graph G(N,E) hat

N (Node): Menge der Knoten

E (Edge): Menge der Kanten, die Knoten verbinden

Knoten N := {n 1 , n 2 , ..., n n }

Kanten E := {e 1 (n i , n j ), ..., e 2 (n k , n l )}

es gibt gerichtete, gewichtete, benannte, ... Graphen

(5)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 5/10

Graphen (2)

● Ein gerichteter Graph

gerichtete Kanten

● Ein gewichteter Graph

gewichtete Kanten

● Ein benannter Graph

benannte Knoten

kurze Wege in Graphen?

1 1 4

2 1 4

3

5

1 4

2

(6)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 6/10

Kürzester Weg?

Oft gibt es mehrere Wege:

Was ist der kürzeste Weg vom Startknoten s zum Ziel z ?

Weg 1 kostet 9

Weg 2 kostet 6

Weg 3 aber nur 5 !

Die Lösung berechnet der Algorithmus von Dijkstra ...

s 1

1 4

2 4

1 z

1

1 4

2 4

1 z

s

1

1 4

2 4

1 z

s

(7)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 7/10

Algorithmus

Knotenmenge s,k; //s = Startknoten Knotenmenge opti = {s};

Knotenmenge rest = k\{s};

for ( k aus rest ) do

D[k] = d[s,k] (es gibt Weg);

= ∞ sonst;

done;

while ( rest nicht leer ) do;

wähle k aus rest mit min(D[k]);

opti += {k};

rest = rest -{k};

for ( alle Knoten n von k ) do

D[n] = min(D[n], D[k] + d[k,n]);

done;

done;

In Worten:

1. Der Startknoten kommt in opti 2. Alle anderen Knoten in rest

3. berechne alle Distanzen für die Knoten in rest

4. verschiebe den Knoten mit der kleinsten Distanz von rest nach opti

5. berechne die Distanzen für die Knoten in rest neu

6. wiederhole Schritt 4 und 5 solange, bis rest leer ist

Initialisierung Itera tio n

(8)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 8/10

Beispiel

Der Dijkstra-Algorithmus findet die kürzesten Distanzen zu allen anderen Knoten, wenn keine negativen Distanzen

(Betrag) zugelassen sind

Für die Navigation kann er abgebrochen werden, sobald der Zielknoten zu Opt hinzugefügt worden ist

3 1

1 4

2 4

1 5

1 4

2 Opt D[2] D[3] D[4] D[5] Rest

{1} 4 1 ∞ ∞ {2,3,4,5}

{1,3} 4 - 2 ∞ {2,4,5}

{1,3,4} 3 - - 6 {2,5}

{1,3,4,2} - - - 5 {5}

{1,3,4,2,5} - - - - ∅

(9)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 9/10

Applet

● Dijkstra Applet

● http://carbon.cudenver.edu/~hgreenbe/session

s/dijkstra/DijkstraApplet.html

(10)

Jan Hinzmann – 2068095 – GIS Praxis II – Slide 10/10

Diskussion

● Edsger Wybe Dijkstra

● Graphen (gerichtet, gewichtet)

● Kürzester Weg?

● Algorithmus

● Beispiel

● Applet

– Danke –

Referenzen

ÄHNLICHE DOKUMENTE

Computer-gestützte Programme für das Ge- wichtsmanagmeent seien zwar weniger wirk- sam als persönliche Interventionen, aber auf jeden FAll besser als nichts und auch ange- sichts

 Wenngleich dieser lange nicht so konkret wie SOAP ist, hat er sich dennoch durchgesetzt, zum Teil in seiner ursprünglichen, zum Teil in abgewandelter Form. Cloud Computing

Und wenn ich das tue, möchte ich auch nicht Toleranz in Anspruch nehmen müssen - Toleranz würde ja nur bedeuten, dass ich zwar schon was und womöglich begründet dagegen habe,

[r]

[r]

[r]

Zwei Pfeile werden also addiert, indem der Fuß des einen an die Spitze des anderen gesetzt wird, der resultierende Pfeil ergibt sich dann als Pfeil zwischen dem Fuß des einen und

Wenngleich das Konzept quattromodaler Knoten einen gewissen Interpretationsspielraum lässt – so werden etwa die Pipeline, Normal- und Breitspur sowie die Binnen- und