Uitleg Algoritme van Dijkstra

advertisement
Wat is de kortste afstand?
Tegenwoordig kunnen we met behulp van de navigatie overal komen. De navigatie
vind niet alleen de eindbestemming waar je naar toe wilt gaan, maar je kunt ook een
keuze maken of je de kortste/ langste route wilt kiezen. Dat is leuk en aardig, maar heb
je jezelf weleens afgevraagd hoe dat allemaal in elkaar zit? Er is een programma
ontwikkeld waarbij de navigatie de routes kan berekenen. Het enige wat jij hoeft te
doen is de eindbestemming intoetsen en de route die de navigatie aangeeft te volgen.
Dat kan iedereen wel! Het is natuurlijk veel leuker om de kortste route zelf te kunnen
berekenen!
Ali in Afrika…
Ali is een jonge man die wiskunde heeft gestudeerd. Al
heel zijn leven lang wilde hij graag op wereldreis. Hij heeft
een auto gehuurd waar hij 3 maanden mee gaat reizen.
Hij gaat op stap met een landkaart. Van te voren heeft Ali
de afstanden tussen de landen opgezocht en het op de
landkaart genoteerd. Momenteel bevindt hij zich al twee
dagen in de hoofdstad van Mali, genaamd Bamako. Hij
wil graag via de kortste route van de hoofdstad van Mali
naar de hoofdstad van Egypte reizen. Het probleem is dat
hij geen navigatie bij de hand heeft, alleen de landkaart.
De kortste afstand gaat hij met behulp van een algoritme
(=reeks instructies) berekenen, namelijk met de kortste
pad Algoritme.
Ali heeft de afstanden van de hoofdsteden van de volgende landen opgezocht
Uitleg ‘kortste pad Algoritme’
Om de kortste route van de hoofdstad van Mali naar de hoofdstad van Egypte te
bepalen, moet je achtereenvolgens de kortste wegen van de hoofdstad van Mali tot de
tussengelegen hoofdsteden van de landen bepalen. Het is gemakkelijker als je een
schematische tekening maakt waarbij je de hoofdsteden van de buurlanden met elkaar
verbindt en ook de afstanden erbij noteert (zie hieronder):
Om de landkaart duidelijker te maken is er een schematische tekening weergegeven
waarbij de gele punten de hoofdsteden van de landen aangeven en de blauwe lijnen
de wegen. De getallen langs de blauwe lijnen zijn de kortste afstanden van de
hoofdsteden van de buurlanden.
Regels
Om de kortste route te kunnen bepalen moet je steeds 2 dingen herhalen:
- Kleur de kortste afstand tussen de hoofdsteden van de buurlanden;
- Indien de gevonden kortste afstand bij de volgende hoofdstad wordt vervangen
door een kortere afstand kleur je de nieuwe kortste afstand;
Ga als volgt te werk:
1) Maak een tabel (zie hieronder), noteer in de eerste rij de letter ‘M’ van Mali
en vervolgens de voorletters van de andere landen in de alfabetische
volgorde. De laatste letter moet de hoofdstad van de eindbestemming zijn. In
dit geval ligt de hoofdstad van de eindbestemming in Egypte, dus je noteert
de letter ‘E’
2) Noteer in de eerste kolom de letter M van Mali. Dit doe je omdat de
hoofdstad van Mali het beginpunt is van de route
3) Noteer vervolgens alle directe afstanden van de buurlanden naar de
hoofdstad van Mali
4) Kies de hoofdstad van het buurland uit die de kortste route tot de hoofdstad
van Mali heeft. Dat is in dit geval de hoofdstad van Niger (kleur dit getal)
5) Noteer de eerste letter van Niger op de eerstvolgende rij van de eerste
kolom, dus onder de letter ‘M’. Dit doe je omdat je nu vanuit de hoofdstad
van Niger naar de volgende hoofdsteden moet gaan
6) Wat je bij punt 3 heb gedaan herhaal je hier ook, maar vergeet niet dat je nu
je de afstanden van de buurlanden van Niger moet noteren;
7) Zoek de kortste route vanuit de hoofdstad van Niger tot de hoofdsteden van
de buurlanden. Kleur dit getal. Let op je kunt niet terug naar Mali, want daar
kom je vandaan. Nadat je de hoofdstad met de kortste afstand hebt
gevonden, noteer je de letter van dit land in de eerste kolom onder de letter
‘N’
8) Herhaal steeds de punten die je hierboven hebt gelezen totdat je bij de
eindbestemming bent aangekomen.
9) De som van alle gekleurde afstanden is de kortste afstand van het beginpunt
tot aan de eindbestemming.
M
N
C
S
E
M
0
-
A
5186
3748
-
C
1715
1715
-
L
4297
4701
7398
1738
N
1417
1417
-
S
2701
2701
T
-
E
1613
1613
Tabel toelichting per land:
Mali
Je begint bij de hoofdstad van Mali dus bij de letter ‘M’.
De letter ‘M’ krijgt getal 0, want je hebt op dat moment 0 km afgelegd.
Vervolgens kijk je welke buurlanden de kortste afstand tot de hoofdstad
van Mali hebben. Je kunt kiezen uit Algeria of Niger. De kortste afstand tot
de hoofdstad van Mali is Niger (1417 km). Dit is met geel gekleurd.
Niger
Nu moet je vanuit de hoofdstad van Niger alle afstanden van de
buurlanden noteren.
De dichtstbijzijnde hoofdstad van de buurlanden van de hoofdstad van
Niger is de hoofdstad van Chad (1715 km). Dit is ook met geel gekleurd.
Chad
Vanuit de hoofdstad van Chad noteer je weer alle afstanden tot de
buurlanden. De buurlanden van Chad zijn Sudan, Niger en Libya. We
kwamen van Niger, dus daar willen we niet weer naar terug.
Je hebt de keuze uit Sudan en Libya. De hoofdstad van Sudan ligt het
dichtstbijzijnd bij de hoofdstad van Chad, namelijk 2701 km.
Sudan
Noteer de afstanden van de buurlanden van Sudan. De buurlanden van
Sudan zijn Chad, Libya en Egypte. De kortste afstand is naar de hoofdstad
van Egypte, namelijk 1613 km.
Conclusie:
De kortste afstand van de hoofdstad van Mali tot de hoofdstad van Egypte is vanuit:
Mali  Niger  Chad  Sudan  Egypte
1417 + 1715 + 2701 + 1613 = 7446 km
Download