Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Συντομότερα Μονοπάτια

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Συντομότερα Μονοπάτια"— Μεταγράφημα παρουσίασης:

1 Συντομότερα Μονοπάτια
Μορφές Προβλημάτων Εύρεσης Συντομότερων Μονοπατιών Εύρεση συντομότερου μονοπατιού από μια προκαθορισμένη αρχική κορυφή σε μια προκαθορισμένη τελική κορυφή. Εύρεση των συντομότερων μονοπατιών από μια αρχική κορυφή προς όλες τις άλλες κορυφές του γραφήματος. Εύρεση του συντομότερου μονοπατιού για κάθε ζεύγος κορυφών του γραφήματος. Έυρεση του συντομότερου μονοπατιού μεταξύ δύο προκαθορισμένων κορυφών με τον επιπλέον περιορισμό το συντομότερο μονοπάτι να διέρχεται από ένα σύνολο άλλων προκαθορισμένων κορυφών. Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο.

2 Aλγόριθμος Dijkstra Εφαρμόζεται σε γραφήματα με μη αρνητικά βάρη.
Βρίσκει το μήκος του συντομότερου μονοπατιού από μία αρχική κορυφή προς μία τελική κορυφή Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο.

3 Συμβολισμοί για το παράδειγμα
Τελική Κορυφή Αρχική Κορυφή Κορυφή Προσωρινή Ετικέτα Οι προσωρινές ετικέτες δίνουν τις τιμές των συντομότερων μονοπατιών μεταξύ των μονοπατιών που εξετάστηκαν μέχρι το τρέχον στάδιο της αλγοριθμικής διαδικασίας. Κορυφή Μόνιμη Ετικέτα Σε κάθε επανάληψη του αλγόριθμου Kruskal, επιλέγουμε την ακμή με το μικρότερο βάρος (εφόσον δεν την έχουμε διαλέξει στα προηγούμενα βήματα). Ενώ προσέχουμε να μη σχηματίζεται κύκλος, δεν μας ενδιαφέρει η συνδεσιμότητα της με τις προηγούμενα επιλεχθείσες ακμές. Αυτό έχει ως αποτέλεσμα να δημιουργείται ένα δάσος από δέντρα που αναπτύσσεται κατά κάποιον τρόπο τυχαία. Στον αλγόριθμο Prim, από την άλλη πλευρά, το ελάχιστο δέντρο κάλυμμα ενός γραφήματος αναπτύσσεται πιο «φυσικά», ξεκινώντας μία, αυθαίρετα επιλεγμένη, κορυφή. Σε κάθε επανάληψη, προσθέτουμε ένα νέο κλάδο στο ήδη κατασκευασμένο δέντρο και ο αλγόριθμος σταματάει όταν όλες οι κορυφές του γραφήματος ανήκουν στο δέντρο. Η μόνιμη ετικέτα μιας κορυφής δίνει την τιμή του συντομότερου μονοπατιού από την αρχική κορυφή. Κορυφή Μόνιμη Ετικέτα Η κορυφή που απέκτησε μόνιμη ετικέτα στην τρέχουσα επανάληψη του αλγόριθμου.

4 Aλγόριθμος Dijkstra: Αρχικές Συνθήκες
2 2 Θέλουμε να βρούμε το μήκος του συντομότερου μονοπατιού από την κορυφή 1 ως την κορυφή 3. 1 9 10 1 3 10 5 3 4 4

5 Aλγόριθμος Dijkstra: Αρχικές Συνθήκες
2 2 Θέλουμε να βρούμε το μήκος του συντομότερου μονοπατιού από την κορυφή 1 ως την κορυφή 3. 1 9 Η ετικέτα της αρχικής κορυφής γίνεται 0 και είναι μόνιμη. 10 1 3 10 5 3 4 4

6 Aλγόριθμος Dijkstra: Αρχικές Συνθήκες
2 2 Θέλουμε να βρούμε το μήκος του συντομότερου μονοπατιού από την κορυφή 1 ως την κορυφή 3. 1 1 9 Η ετικέτα της αρχικής κορυφής γίνεται 0 και είναι μόνιμη. 10 Οι υπόλοιπες κορυφές έχουν προσωρινές ετικέτες ίσες με άπειρο. 1 3 10 5 3 4 4

7 Aλγόριθμος Dijkstra: Αρχικές Συνθήκες
2 2 Θέλουμε να βρούμε το μήκος του συντομότερου μονοπατιού από την κορυφή 1 ως την κορυφή 3. 1 9 Η ετικέτα της αρχικής κορυφής γίνεται 0 και είναι μόνιμη. 10 Οι υπόλοιπες κορυφές έχουν προσωρινές ετικέτες ίσες με άπειρο. 1 3 10 5 3 4 4

8 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 3 Κορυφή με το πράσινο πλαίσιο = 1 Γειτονικές της 1 = {2, 3, 5} Όλες οι κορυφές που ανήκουν στο Γ(1) έχουν προσωρινές ετικέτες. Ενημέρωση Ετικέτα της 2 = min {, 0 + 2} = 2 10 5 3 4 4

9 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 3 Κορυφή με το πράσινο πλαίσιο = 1 Γειτονικές της 1 = {2, 3, 5} Όλες οι κορυφές που ανήκουν στο Γ(1) έχουν προσωρινές ετικέτες. Ενημέρωση Ετικέτα της 2 = min {, 0 + 2} = 2 10 5 3 4 4 Ετικέτα της 3 = min {, } = 10

10 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 10 3 10 Κορυφή με το πράσινο πλαίσιο = 1 Γειτονικές της 1 = {2, 3, 5} Όλες οι κορυφές που ανήκουν στο Γ(1) έχουν προσωρινές ετικέτες. Ενημέρωση Ετικέτα της 2 = min {, 0 + 2} = 2 Ετικέτα της 3 = min {, } = 10 5 3 4 4 Ετικέτα της 5 = min {, 0 + 1} = 1

11 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 10 3 Κορυφή με το πράσινο πλαίσιο = 1 Γειτονικές της 1 = {2, 3, 5} Όλες οι κορυφές που ανήκουν στο Γ(1) έχουν προσωρινές ετικέτες. Ενημέρωση Ετικέτα της 2 = min {, 0 + 2} = 2 Ετικέτα της 3 = min {, } = 10 Ετικέτα της 5 = min {, 0 + 1} = 1 10 1 5 3 4 4

12 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη προσωρινή (μαύρη) ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 2, 3, 4, 5. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 5. Η κορυφή 5 αποκτά πράσινη ετικέτα. 10 1 10 3 10 1 5 3 4 4

13 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη προσωρινή (μαύρη) ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 2, 3, 4, 5. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 5. Η κορυφή 5 αποκτά πράσινη ετικέτα. 10 1 10 3 Η κορυφή 5 αποκτά πράσινο πλαίσιο γιατί είναι η πιο πρόσφατη με πράσινη ετικέτα. 10 1 5 3 4 4

14 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη προσωρινή (μαύρη) ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 2, 3, 4, 5. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 5. Η κορυφή 5 αποκτά πράσινη ετικέτα. Η κορυφή 5 αποκτά πράσινο πλαίσιο γιατί είναι η πιο πρόσφατη με πράσινη ετικέτα. 10 1 10 3 10 1 5 3 4 4

15 Aλγόριθμος Dijkstra: Έλεγχος Τερματισμού
2 2 2 Αν η κόκκινη κορυφή έχει πράσινο πλαίσιο τότε η αλγοριθμική διαδικασία τελειώνει και η ετικέτα της δηλώνει το μήκος του συντομότερου μονοπατιού από την μπλε κορυφή. Διαφορετικά, επαναλαμβάνεται ο προσδιοριμός των προσωρινών ετικετών και της μόνιμης ετικέτας με βάση κάθε φορά την κορυφή που απέκτησε πράσινο πλαίσιο. 1 1 9 10 1 10 3 10 1 5 3 4 4

16 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 10 3 Κορυφή με το πράσινο πλαίσιο = 5 Γειτονικές της 5 = {1, 3, 4} Οι κορυφές που ανήκουν στο Γ(5) και έχουν μαύρες ετικέτες είναι οι 3 και 4. Ενημέρωση Ετικέτα της 3 = min {10, } = 10 10 1 5 3 4 4

17 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 10 3 Κορυφή με το πράσινο πλαίσιο = 5 Γειτονικές της 5 = {1, 3, 4} Οι κορυφές που ανήκουν στο Γ(5) και έχουν μαύρες ετικέτες είναι οι 3 και 4. Ενημέρωση Ετικέτα της 3 = min {10, } = 10 10 1 5 3 4 4 Ετικέτα της 4 = min {, 1 + 5} = 6

18 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 10 3 Κορυφή με το πράσινο πλαίσιο = 5 Γειτονικές της 5 = {1, 3, 4} Οι κορυφές που ανήκουν στο Γ(5) και έχουν μαύρες ετικέτες είναι οι 3 και 4. Ενημέρωση Ετικέτα της 3 = min {10, } = 10 10 1 5 3 6 4 4 Ετικέτα της 4 = min {, 1 + 5} = 6

19 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 2, 3, 4. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 2. Η κορυφή 2 αποκτά πράσινη ετικέτα. 10 1 10 3 10 1 5 3 6 4 4

20 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 2, 3, 4. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 2. Η κορυφή 2 αποκτά πράσινη ετικέτα. 10 1 10 3 10 1 5 3 6 4 4

21 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 2, 3, 4. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 2. Η κορυφή 2 αποκτά πράσινη ετικέτα. 10 Η κορυφή 2 αποκτά πράσινο πλαίσιο γιατί είναι η πιο πρόσφατη με πράσινη ετικέτα. 1 10 3 10 1 5 3 6 4 4

22 Aλγόριθμος Dijkstra: Έλεγχος Τερματισμού
2 2 2 Αν η κόκκινη κορυφή έχει πράσινο πλαίσιο τότε η αλγοριθμική διαδικασία τελειώνει και η ετικέτα της δηλώνει το μήκος του συντομότερου μονοπατιού από την μπλε κορυφή. Διαφορετικά, επαναλαμβάνεται ο προσδιοριμός των προσωρινών ετικετών και της μόνιμης ετικέτας με βάση κάθε φορά την κορυφή που απέκτησε πράσινο πλαίσιο. 1 1 9 10 1 10 3 10 1 5 3 6 4 4

23 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 10 3 Κορυφή με το πράσινο πλαίσιο = 2 Γειτονικές της 2 = {1, 3} Η κορυφή που ανήκει στο Γ(2) και έχουν μαύρες ετικέτες είναι η 3. Ενημέρωση Ετικέτα της 3 = min {10, 2 + 9} = 10 10 1 5 3 6 4 4

24 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 3, 4. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 4. Η κορυφή 4 αποκτά πράσινη ετικέτα. 10 1 10 3 10 1 5 3 6 4 4

25 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 3, 4. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 4. Η κορυφή 4 αποκτά πράσινη ετικέτα. 10 Η κορυφή 4 αποκτά πράσινο πλαίσιο γιατί είναι η πιο πρόσφατη με πράσινη ετικέτα. 1 10 3 10 1 5 3 6 4 4

26 Aλγόριθμος Dijkstra: Έλεγχος Τερματισμού
2 2 2 Αν η κόκκινη κορυφή έχει πράσινο πλαίσιο τότε η αλγοριθμική διαδικασία τελειώνει και η ετικέτα της δηλώνει το μήκος του συντομότερου μονοπατιού από την μπλε κορυφή. Διαφορετικά, επαναλαμβάνεται ο προσδιοριμός των προσωρινών ετικετών και της μόνιμης ετικέτας με βάση κάθε φορά την κορυφή που απέκτησε πράσινο πλαίσιο. 1 1 9 10 1 10 3 10 1 5 3 6 4 4

27 Aλγόριθμος Dijkstra: Προσδιορισμός Προσωρινών Ετικετών
2 2 2 Ενημερωσε τις προσωρινές εικέτες των κορυφών vi που είναι γειτονικές της κορυφής με το πράσινο πλαίσιο σύμφωνα με τη σχέση: Ετικέτα (vi) = min {Ετικέτα (vi), Ετικέτα κορυφής με το πράσινο πλαίσιο + Βάρος Ακμής από την κορυφή με το πράσινο πλαίσιο στην κορυφή vi} 1 1 9 10 1 10 3 Κορυφή με το πράσινο πλαίσιο = 4 Γειτονικές της 4 = {3, 5} Η κορυφή που ανήκει στο Γ(4) και έχει μαύρη ετικέτα είναι η 3. Ενημέρωση Ετικέτα της 3 = min {10, 6 + 3} = 9 10 1 5 3 6 4 4

28 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 3. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 3. Η κορυφή 3 αποκτά πράσινη ετικέτα. 10 1 9 3 10 1 5 3 6 4 4

29 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 3. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 3. Η κορυφή 3 αποκτά πράσινη ετικέτα. 10 1 9 3 10 1 5 3 6 4 4

30 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 3. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 3. Η κορυφή 3 αποκτά πράσινη ετικέτα. 10 Η κορυφή 3 αποκτά πράσινο πλαίσιο γιατί είναι η πιο πρόσφατη με πράσινη ετικέτα. 1 9 3 10 1 5 3 6 4 4

31 Aλγόριθμος Dijkstra: Προσδιορισμός Μόνιμης Ετικετας
2 2 2 Επέλεξε εκείνη την κορυφή με τη μικρότερη μαύρη ετικέτα και σημάδεψέ την με μόνιμη ετικέτα. 1 1 9 Οι κορυφές με μαύρες ετικέτες είναι οι 3. Η κορυφή με τη μικρότερη μαύρη ετικέτα είναι η 3. Η κορυφή 3 αποκτά πράσινη ετικέτα. 10 Η κορυφή 3 αποκτά πράσινο πλαίσιο γιατί είναι η πιο πρόσφατη με πράσινη ετικέτα. 1 9 3 10 1 5 3 6 4 4

32 Aλγόριθμος Dijkstra: Έλεγχος Τερματισμού
2 2 2 Η κόκκινη κορυφή απέκτησε πράσινο πλαίσιο άρα η αλγοριθμική διαδικασία τελειώνει Το μήκος του συντομότερου μονοπατιού από την κορυφή 1 εως την κορυφή 3 είναι 9. 1 1 9 10 1 9 3 10 1 5 3 6 4 4

33 Aλγόριθμος Dijkstra (βάσει του παραδείγματος)
{Αρχικές Συνθήκες} Χρωμάτισε μπλε την αρχική κορυφή - Χρωμάτισε κόκκινη την τελική κορυφή Δώσε την τιμή 0 στην ετικέτα της αρχικής κορυφής, χρωμάτισε την ετικέτα πράσινη και θέσε ένα πράσινο πλαίσιο γύρω από την αρχική κορυφή Δώσε την τιμή άπειρο στις ετικέτες των υπόλοιπων κορυφών. Επανέλαβε τα παρακάτω βήματα {Προσδιορισμός Προσωρινών Ετικετών} Για κάθε γειτονική κορυφή v της κορυφής με το πράσινο πλαίσιο, που έχει μαύρη ετικέτα, ενημέρωσε την ετικέτα της ως εξής: Ετικέτα της v = min {Ετικέτα της v, Ετικέτα της κορυφής με πράσινο πλαίσιο + Βάρος της ακμής από την κορυφή με πράσινο πλαίσιο στην κορυφή V} {Προσδιορισμός Μόνιμης Ετικέτας} Από όλες τις κορυφές με μαύρες ετικέτες διάλεξε εκείνη που έχει την μικρότερη ετικέτα, χρωμάτισε την ετικέτα της με πράσινη και θέσε γύρω της ένα πράσινο πλαίσιο. μέχρι η κόκκινη κορυφή να αποκτήσει πράσινο πλαίσιο

34 Aλγόριθμος Dijkstra {Αρχικές Συνθήκες}
Θέσε l(S) = 0 και σημείωσε την ετικέτα της κορυφής S ως μόνιμη. Θέσε l(v) = άπειρο για κάθε κορυφή του γραφήματος που είναι διαφορετική από την αρχική. Θέσε p = S. Επανέλαβε τα παρακάτω βήματα {Προσδιορισμός Προσωρινών Ετικετών} Για κάθε v που ανήκει στο Γ(p) και έχει προσωρινή ετικέτα, ενημέρωσε την ετικέτα της ως εξής: l(v) = min {l(v), l(p) + apv {Προσδιορισμός Μόνιμης Ετικέτας} Από όλες τις προσωρινές ετικέτες στις κορυφές v του γραφήματος επέλεξε την u έτσι ώστε: l(u) = min {l(v)} Σημείωσε την ετικέτα της u ως μόνιμη Θέσε p = u μέχρι p = T.


Κατέβασμα ppt "Συντομότερα Μονοπάτια"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google