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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Καταδίωξη / Διαφυγή. Οι κανόνες • Ένας «φυγάς», ένας ή περισσότεροι «κυνηγοί» • Κινούνται πάνω σε ένα γράφημα • Στην πιο απλή περίπτωση, μία κίνηση ο.
Advertisements

Γραφήματα & Επίπεδα Γραφήματα
Nikos Louloudakis Nikos Orfanoudakis Irini Genitsaridi
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
1 Θεματική Ενότητα Γραφήματα & Επίπεδα Γραφήματα.
ΔΤΨΣ 150: Ψηφιακή Επεξεργασία Εικόνας © 2005 Nicolas Tsapatsoulis Κατάτμηση Εικόνων: Κατάτμηση με βάση τις περιοχές Τμήμα Διδακτικής της Τεχνολογίας και.
Προσεγγιστικοί Αλγόριθμοι
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Γράφοι: Προβλήματα και Αλγόριθμοι
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Ενεργή επιλογή αλγορίθμου, Active Algorithm Selection, Feilong Chen and Rong Jin Εύα Σιταρίδη.
Συντομότερες Διαδρομές
1 routing Δρομολόγηση (routing) σε δίκτυα Αυτοδύναμα Πακέτα (Datagrams): απόφαση δρομολόγησης για κάθε πακέτο. Εικονικά Κυκλώματα (Virtual Circuits): μία.
Ο αλγόριθμος Bellman-Ford (επανεξετάζεται)
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Ελάχιστο Συνδετικό Δέντρο
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
1 Κατανεμημένοι αλγόριθμοι για την εύρεση γεννητικών δέντρων (spanning trees) 1.Ένας σταθερός κόμβος στέλνει ένα ‘start’ μήνυμα σε κάθε γειτονική του ακμή.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 4 Δ ΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 1.
A Scalable Content-Addressable Network Μυρτώ Ντέτσικα Παναγιώτα Νικολαΐδου Ελένη Γεώργα Λαμπρινή Κώνστα Βαγγέλης Λάππας Γρηγόρης Τζώρτζης Γιώργος Καρπάθιος.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
Δένδρα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΤΕΙ Αθήνας: Σχολή ΤΕΦ: Τμήμα Ναυπηγικής Εφαρμογές Η/Υ στην Ναυπηγική ΙΙ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ NA0703C39 Εξάμηνο Ζ’ Διδάσκων Κωνσταντίνος Β. Κώστας Παρουσίαση.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
Σχεδιασμός των Μεταφορών Ενότητα #6: Μοντέλα κατανομής μετακινήσεων – Distribution models. Δρ. Ναθαναήλ Ευτυχία Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών.
Για μτ από ατ μέχρι ττ [με_βήμα β] εντολές Τέλος_επανάληψης : περιοχή εντολών μτ : η μεταβλητή της οποίας η τιμή θα περάσει από την αρχική.
ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ Άπληστη Αναζήτηση και Αναζήτηση Α* ΣΠΥΡΟΣ ΛΥΚΟΘΑΝΑΣΗΣ, ΚΑΘΗΓΗΤΗΣ.
1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ. 2 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα –Αναζήτηση κατά βάθος (Depth-first search – DFS) –Αναζήτηση κατά πλάτος (Breadth-first.
Γράφημα είναι μία διμελής σχέση επί ενός συνόλου την οποία παριστάνουμε με γραφικό τρόπο.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
ΟΜΑΔΕΣ Δημιουργία Ομάδων
Επίλυση Προβλημάτων με Αναζήτηση
Προβλήματα Ικανοποίησης Περιορισμών
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Δένδρα Δένδρο είναι ένα συνεκτικό άκυκλο γράφημα. Δένδρο Δένδρο Δένδρο
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
ΓΡΑΦΟΙ (GRAPHS).
Επιλέγοντας… Αν θέλουμε να γράψουμε έναν αλγόριθμο που να τον εκτελεί ένα μικρό παιδί, ώστε να διασχίσει με ασφάλεια το δρόμο, πρέπει να συμπεριλάβουμε.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Κεφάλαιο 9ο
Αλγόριθμοι για ανάθεση συχνοτήτων και έλεγχο αποδοχής κλήσεων σε κυψελικά ασύρματα δίκτυα (μέρος ΙIΙ)
Χρωματισμός κορυφών -Χρωματισμός χαρτών
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΕΞΕΛΙΚΤΙΚΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ
Ισοδυναμία ΜΠΑ με ΠΑ Για κάθε ΜΠΑ Μ υπάρχει αλγόριθμος ο οποίος κατασκευάζει ΠΑ Μ’ αιτιοκρατικό ώστε να αναγνωρίζουν την ίδια ακριβώς γλώσσα. Καθώς το.
Στοιχεία Θεωρίας Γραφημάτων
Διάλεξη 6: Εξίσωση διάχυσης (συνέχεια)
Θεωρία & Αλγόριθμοι Γράφων Αποστάσεις
Επικαλύπτοντα Δέντρα και Σύνολα Τομής
Traveling Salesman-Greedy algorithm (GTS1)
Aλγόριθμος BFS Θέτουμε i  0. Στην κορυφή x θέτουμε τη ετικέτα i.
Ελαφρύτατες διαδρομές
Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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 {, 0 + 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 {, 0 + 10} = 10 5 3  4 4 Ετικέτα της 5 = min {, 0 + 1} = 1

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 {, 0 + 10} = 10 Ετικέτα της 5 = min {, 0 + 1} = 1 10 1 5 3  4 4

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

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

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

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

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, 1 + 10} = 10 10 1 5 3  4 4

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, 1 + 10} = 10 10 1 5 3  4 4 Ετικέτα της 4 = min {, 1 + 5} = 6

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, 1 + 10} = 10 10 1 5 3 6 4 4 Ετικέτα της 4 = min {, 1 + 5} = 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.