Θεωρία Γράφων Αλγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford

Σχετικά έγγραφα
Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Διδάσκων: Παναγιώτης Ανδρέου

Δομές Δεδομένων και Αλγόριθμοι

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Κατανεμημένα Συστήματα Ι

Πρόβλημα του ελάχιστα εκτεταμένου δένδρου - Minimum spanning tree. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

(elementary graph algorithms)

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Παναγιώτης Ανδρέου

Αυτόνομα Συστήματα (ΑΣ)

Ελάχιστα Γεννητορικά ένδρα

Δομές Δεδομένων Ενότητα 6

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Αλγόριθμοι Γραφημάτων

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

(elementary graph algorithms)

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αλγόριθμοι και Πολυπλοκότητα

ΔΙΚΤΥΑ (13) Π. Φουληράς

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Δένδρα επικάλυψης ελάχιστου κόστους και το πρόβλημα του πλανόδιου πωλητή (Traveling Salesman Problem: TSP)

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Γράφοι: κατευθυνόμενοι και μη

Αλγόριθμοι και πολυπλοκότητα Τα συντομότερα μονοπάτια(shortest Paths)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αλγόριθμοι Γραφημάτων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Σωροί, Γράφοι

Εισαγωγή στους Αλγόριθμους

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Εκτενείς Δομές Δεδομένων

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων

Αλγόριθµοι Ροής σε Γράφους (CLR, κεφάλαιο 27)

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων

Εισαγωγή - ορολογία. Προώθηση (forwarding): Δρομολόγηση (routing):

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Αλγόριθμοι Γραφημάτων

Επίλυση προβλημάτων με αναζήτηση

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

Σχεδίαση & Ανάλυση Αλγορίθμων

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Δροµολόγηση (Routing)

1 Το πρόβλημα της συντομότερης διαδρομής

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

Αλγόριθµοι και Πολυπλοκότητα

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Αλγόριθμοι Eλάχιστα μονοπάτια

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Αλγόριθµοι και Πολυπλοκότητα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ EPL035: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

Αλγόριθμοι για Ασύρματα Δίκτυα. Θεωρία Γραφημάτων

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

Ελαφρύτατες διαδρομές

Μάθημα 21: Ουρές (Queues)

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

Αλγόριθμοι και πολυπλοκότητα Depth-First Search

Αλγόριθμοι και Πολυπλοκότητα

Επιχειρησιακή Έρευνα I

Ενότητα 10 Γράφοι (ή Γραφήµατα)

Εισαγωγή στη Θεωρία Γράφων

Διδάσκων: Κωνσταντίνος Κώστα

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΔΙΚΤΥΑ Η/Υ ΙΙ. Αρχές δρομολόγησης

Θεωρία Γράφων - Εισαγωγή

Εκτενείς Δομές Δεδομένων

ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ Δρομολόγηση στο Internet (II) Αλγόριθμοι Distance Vector (Bellman) Αλγόριθμοι Link State (Dijkstra)

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)

Transcript:

Θεωρία ράφων λγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford

Θεωρία γράφων Υπογράφοι και spanning trees Ένας γράφος G =(V,E ) είναι υπογράφος (subgraph) ενός γράφου G=(V,E) αν V ' V και E' E Ένας υπογράφος G =(V,E ) ενός γράφου G=(V,E) ονομάζεται spanning tree του G εάν ο G είναι δένδρο και περιλαμβάνει όλους τους κόμβους του G

Θεωρία γράφων Υπογράφοι και spanning trees Συμπεραίνουμε λοιπόν ότι ένα spanning tree G προκύπτει από ένα γράφο G εάν αφαιρέσουμε ακμές από τον G έτσι ώστε να εκλείψουν τυχόν κύκλοι αλλά ο γράφος να παραμείνει συνδεδεμένος ενικά, ένας γράφος μπορεί να συσχετίζεται με περισσότερα από ένα spanning trees

Θεωρία γράφων Υπογράφοι και spanning trees Το πρόβλημα της εύρεσης ενός spanning tree για ένα γράφο G έχει μελετηθεί εκτενώς Μια από τις γνωστότερες προσεγγίσεις στο πρόβλημα αυτό είναι o αλγόριθμος breadth first search (BFS) οοποίος: πισκέπτεται όλους τους κόμβους και τις ακμές του αρχικού γράφου G Καθορίζει εάν ο G είναι συνδεδεμένος

Spanning trees λγόριθμος BFS φαιρεί όλες τις ακμές του γράφου που δημιουργούν τυχόν κύκλους Πιο συγκεκριμένα, έστω γράφος G=(V,E) e E θεωρούνται ότι είναι στην κατάσταση ρχικά, όλοι οι κόμβοι u V και όλες οι ακμές U (unexplored) Έστω ότι ο αλγόριθμος BFS(G,s) ξεκινάει από τον κόμβο s V

Spanning trees λγόριθμος BFS Ο αλγόριθμος χρησιμοποιεί ένα μηχανισμό συσχετισμού ετικετών: Συσχετίζει την ετικέτα D (discovery) με κάθε ακμή του γράφου την οποία επισκέπτεται για πρώτη φορά Συσχετίζει την ετικέτα V (visited) με κάθε κόμβο του γράφου τον οποίο επισκέπτεται για πρώτη φορά

BFS(G,s) L 0 <s> setlabel(s, V ) i 0 while ( L i <> ) L i + <> for all v in L i for all e in Edges(v) <body> i i + <body>: if (label(e) = U ) w leads(e,v) if (label(w) = U ) setlabel(e, D ) setlabel(w, V ) L i + L i +^<w> else setlabel(e, C )

Spanning trees λγόριθμος BFS Όπου: ια κάθε κόμβο v, η συνάρτησηedges(v) επιστρέφει το σύνολο των ακμών οι οποίες εκκινούν από τον v ια κάθε ακμή ή κόμβο x, η συνάρτηση label(x) επιστρέφει την τρέχουσα ετικέτα του x ια κάθε ακμή ή κόμβο x, η συνάρτηση setlabel(x, L ) προσάπτει την ετικέτα L στον x ια κάθε ακμή e και κόμβο v, ησυνάρτηση leads(e,v) επιστρέφει τον κόμβο στον οποίο καταλήγει η ακμή e εκκινώντας από τον κόμβο v ΗλίσταL i εμπεριέχει τους κόμβους του επιπέδου i

Spanning trees λγόριθμος BFS (Παράδειγμα) Visited Discovered Crossed L 0 αρχικό στάδιο

Spanning trees λγόριθμος BFS (Παράδειγμα) Visited Discovered Crossed L L L

Spanning trees λγόριθμος BFS (Παράδειγμα) Visited Discovered Crossed L L

Spanning trees λγόριθμος BFS (Παράδειγμα) Visited Discovered Crossed L

Spanning trees λγόριθμος BFS (Παράδειγμα) Visited Discovered Crossed L L

Spanning trees λγόριθμος BFS (Παράδειγμα) Visited Discovered Crossed

Spanning trees λγόριθμος BFS O BFS εντοπίζει την απόσταση του συντομότερου μονοπατιού από δεδομένο κόμβο εκκίνησης κ ε προς οποιοδήποτε άλλο κόμβο κ Το συντομότερο μονοπάτι ορίζεται ως ο ελάχιστος αριθμός ακμών που πρέπει να διανύσουμε για να καταλήξουμε από τον κ ε στον κ Κάθε επίπεδο L i ενός spanning tree περιλαμβάνει εκείνους και μόνο εκείνους τους κόμβους που η απόσταση τους από τη ρίζα είναι ακριβώς i ακμές

Spanning trees λγόριθμος του Prim ντοπίζει το ελάχιστο spanning tree για ένα γράφο G=(V,E) με συσχετισμένους συντελεστές βάρους To ελάχιστο spanning tree είναι εκείνο που έχει το ελάχιστο συνολικό μήκος ακμών ρχικά, όλοι οι κόμβοι u V και όλες οι ακμές e E θεωρούνται ότι είναι στην κατάσταση U (unexplored) Έστω ότι ο αλγόριθμος Prim(G,s) ξεκινάει από τον κόμβο s V

Prim(G,s) L {s} setlabel(s, V ) while (L V) dist for all v in L for all e in Edges(v) <body> setlabel(e C, D ) setlabel(next, V ) L L U<next> <body>: if (label(e) = U ) w leads(e,v) if (label(w) = U ) if (weight(e) < dist ) dist weight(e) e C e next w

Spanning trees λγόριθμος Prim (Παράδειγμα) αρχικό στάδιο Visited Chosen L={} L={A} L={A}

Spanning trees λγόριθμος Prim (Παράδειγμα) L={A,} L={A,} L={A,,E} Visited Chosen

Spanning trees λγόριθμος Prim (Παράδειγμα) L={A,,,B} L={A,,E} L={A,,E,B} Visited Chosen

Spanning trees λγόριθμος Prim (Παράδειγμα) L={A,,,B,} L={A,,,B,} L={A,,E,,,} Visited Chosen

Καθορισμός λάχιστου Μονοπατιού Ένα δίκτυο μεταγωγής πακέτων δεδομένων αποτελεί ένα διγράφο Κόμβοι οι πόροι του δικτύου (συμπεριλαμβανομένων των δρομολογητών) κμές οι τηλεπικοινωνιακές γραμμές που διασυνδέουν τους κόμβους ς υποθέσουμε ότι ο κόμβος επιθυμεί να αποστείλει πακέτα δεδομένων στον κόμβο

Καθορισμός λάχιστου Μονοπατιού Ένα πρόβλημα που πρέπει να επιλυθεί είναι ο καθορισμός του δρομολογίου το οποίο θα ακολουθήσουν τα πακέτα κατά τη μετάβαση τους από τον στον Όπως είναι προφανές το συντομότερο δρομολόγιο από τον στον είναι και το επιθυμητό

Καθορισμός λάχιστου Μονοπατιού Ο καθορισμός του συντομότερου μονοπατιού βασίζεται σε κάποιο κριτήριο ελάχιστου κόστους το οποίο μπορεί να συσχετίζεται με παράγοντες όπως: Χωρητικότητα τηλεπικοινωνιακών γραμμών Τρέχων τηλεπικοινωνιακός φόρτος γραμμών Οικονομικό κόστος χρήσης τηλεπικοινωνιακών γραμμών

Καθορισμός λάχιστου Μονοπατιού Κάθε τηλεπικοινωνιακή ζεύξη λοιπόν ανάμεσα σε δύο πόρους ενός δικτύου συσχετίζεται με μία τιμή η οποία και περιγράφει το κόστος επικοινωνίας μέσω της ζεύξης αυτής Η τιμή αυτή αποτελεί το συντελεστή βάρους της αντίστοιχης ακμής που αναπαριστά την τηλεπικοινωνιακή ζεύξη

Καθορισμός λάχιστου Μονοπατιού Ως κόστος ενός μονοπατιού ορίζεται το άθροισμα των τιμών αυτών για όλες τις ζεύξεις από τις οποίες διέρχεται Οι περισσότεροι αλγόριθμοι εύρεσης μονοπατιού ελάχιστου κόστους βασίζονται σε δύο κυρίως αλγορίθμους: Τον αλγόριθμο του Dijkstra Τον αλγόριθμο Bellman-Ford

λγόριθμος του Dijkstra Έστω γράφος G=(V,E) με συνδεδεμένους συντελεστές βάρους ρχικά, ο αλγόριθμος εντοπίζει τον κοντινότερο απευθείας συνδεδεμένο κόμβο κ στο ριζικό κόμβο εκκίνησης s Ο κόμβος κ έχει πλέον ανακαλυφθεί ν συνεχεία, εντοπίζει τον κοντινότερο στον s κόμβο κ τέτοιον ώστε Ο κ δεν έχει ήδη ανακαλυφθεί

λγόριθμος του Dijkstra Ο κ είναι απευθείας συνδεδεμένος είτε με τον s είτε με κάποιο κόμβο που έχει ήδη ανακαλυφθεί υτό συνεχίζεται μέχρι να ανακαλυφθούν όλοι οι κόμβοι ρχικά όλοι οι κόμβοι v V οι οποίοι δεν είναι απευθείας συνδεδεμένοι με τον s θεωρούνται ότι έχουν άπειρη απόσταση από τον s

Dijkstra(G,s) <> L {s} setlabel(s,0) while (L V) dist for all v in L for all e in Edges(v) <body> setlabel(next, dist) E E^< e C > L L U{next} <body>: w leads(e,v) if (w L) d(s,w) label(v)+weight(e) if (dist d(s,w) ) dist d(s,w) e C e next w

λγόριθμος Dijkstra (Παράδειγμα) Visited Chosen αρχικό στάδιο L={} E=<> L={A} E=<> L={A} E=<> 0 0

λγόριθμος Dijkstra (Παράδειγμα) Visited Chosen L={A,} L={A,} L={A,,E} E=<(,)> E=<(,)> E=<(,), (,E)> 0 0 0

λγόριθμος Dijkstra (Παράδειγμα) Visited Chosen L={A,,E} E=<(,), (,E)> 0 L={A,,E,B} E=<(,), (,E), (A,B)> 0 L={A,,E,B} E=<(,), (,E), (A,B)> 0

λγόριθμος Dijkstra (Παράδειγμα) Visited Chosen L={A,,E,B,} E=<(,), (,E), (A,B),(,)> 0 5 L={A,,E,B,} E=<(,), (,E), (A,B),(,)> 0 5 L={A,,E,B,,} E=<(,), (,E), (A,B),(,),(,)> 0 5 7

λγόριθμος του Dijkstra Ο ιστότοπος http://www.dgp.toronto.edu/people/jamesstewa rt/70/979s/laffra/dijkstraapplet.html περιέχει ένα applet ιδανικό για εξάσκηση και εξοικείωση με τον αλγόριθμο του Dijkstra

λγόριθμος Bellman-Ford Έστω γράφος G=(V,E) με συσχετισμένους συντελεστές βάρους ρχικά, ο αλγόριθμοςεντοπίζειτοελάχιστο μονοπάτιαπότοριζικόκόμβοεκκίνησηςs αποτελούμενο από μία ζεύξη ν συνεχεία, εντοπίζει το ελάχιστο μονοπάτιαπότοριζικόκόμβοεκκίνησηςs αποτελούμενο από δύο ζεύξεις

λγόριθμος Bellman-Ford ν συνεχεία, εντοπίζει το ελάχιστο μονοπάτιαπότοριζικόκόμβοεκκίνησηςs αποτελούμενο από τρεις ζεύξεις Συνεχίζει κατά τον τρόπο αυτό για n- φορές όπου n τοπλήθοςτωνκόμβωνστο σύνολο V ρχικά όλοι οι κόμβοι v θεωρούνται ότι έχουν άπειρη απόσταση από τον s

Bellman-Ford(G,s) L i (s)=0 (for all i [, V -]) path(s)=<> for each v V if (v s) path 0 (v) <> L 0 (v) for i to V - for each v V-{s} <body> <body>: L i (v) L i- (v) path i (v) path i- (v) for each u V-{v} if (L i- (u) + w(u,v)< L i (v)) L i (v) L i- (u)+w(u,v) path i (v) path i- (u)^<(u,v)>

λγόριθμος Bellman-Ford Όπου: ια κάθε κόμβο v, η συνάρτησηpath(v) επιστρέφει ένα μονοπάτι στον v ια κάθε κόμβο v, η συνάρτησηl i (v) επιστρέφει την ετικέτα του v στο γύρο i του αλγορίθμου ια κόμβους v,u, ησυνάρτησηw(u,v) επιστρέφει τo συντελεστή βάρους της ζεύξης μεταξύ των δύο κόμβωνήτηντιμή σεπερίπτωσηπουηζεύξη δεν υφίσταται

λγόριθμος Bellman-Ford (Παράδειγμα) 5 0 i=0 i= 5 0 5 0 5 0 i= 5 0 5 3 7 i=3

λγόριθμος Bellman-Ford (Παράδειγμα) i= 3 0 5 7 5 i=5 3 0 5 7 5

λγόριθμος Bellman-Ford Σημείωση: Ο παραπάνω αλγόριθμος δεν παίρνει υπόψη αρνητικούς συντελεστές βάρους και ως εκ τούτου αποτελεί υποπερίπτωση του αλγορίθμου Bellman-Ford