Γ. Κορίλη Αλγόριθµοι ροµολόγησης

Σχετικά έγγραφα
3 Αναδροµή και Επαγωγή

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

... a b c d. b d a c

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

Μαθηµατικά για Πληροφορική

( y) ( x) ( 0) ( ) ( 0) ( y) ( ) ( ) ( ) Παραδείγµατα και εφαρµογές. 1)Έστω D απλά συνεκτικός τόπος στο R που φράσσεται από την ( κατά τµήµατα 1

(β) Θεωρούµε µια ακολουθία Nθετικών ακεραίων η οποία περιέχει ακριβώς

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

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

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

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

u v 4 w G 2 G 1 u v w x y z 4

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

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

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

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

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

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

Προβλήματα Ελάχιστου Κόστους Ροής σε Δίκτυο. Δίκτυα Ροής Ελάχιστου Κόστους (Minimum Cost Flow Networks)

Συνεκτικά σύνολα. R είναι συνεκτικά σύνολα.

m 1 min f = x ij 0 (8.4) b j (8.5) a i = 1

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

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a.

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 9

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

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

7.9 ροµολόγηση. Ερωτήσεις

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

Μάθηµα Θεωρίας Αριθµών Ε.Μ.Ε

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

ροµολόγηση πακέτων σε δίκτυα υπολογιστών

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

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

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

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

ιµελής Σχέση ιατεταγµένο ζεύγος (α, β): ύο αντικείµενα (όχι κατ ανάγκη διαφορετικά) σε καθορισµένη σειρά. Γενίκευση: διατεταγµένη τριάδα (α, β, γ), δι

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ ΙΙ (ΠΕΡΙΤΤΟΙ) Ασκησεις - Φυλλαδιο 5

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

3η Σειρά Γραπτών Ασκήσεων

Κρυπτογραφία και Πολυπλοκότητα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Εισαγωγή στην Τοπολογία

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Σεπτέμβριος 2017

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Προτεινοµενες Ασκησεις - Φυλλαδιο 9

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

Υπολογισµός διπλών ολοκληρωµάτων µε διαδοχική ολοκλήρωση

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

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

ροµολόγηση σε ίκτυα εδοµένων Εργασία στα ίκτυα Υπολογιστών

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

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

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12)

ιαδίκτυα & Ενδοδίκτυα Η/Υ

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

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

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Σχέσεις. ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 9

Κεφάλαιο 3β. Ελεύθερα Πρότυπα (µέρος β)

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 2

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

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

HY118- ιακριτά Μαθηµατικά. Μαθηµατική επαγωγή. 11 Επαγωγή

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

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Ανοικτά και κλειστά σύνολα

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Λυσεις Ασκησεων - Φυλλαδιο 1

ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων

Συντομότερες ιαδρομές

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

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

1 Ορισµός ακολουθίας πραγµατικών αριθµών

Παράρτηµα Α. Στοιχεία θεωρίας µέτρου και ολοκλήρωσης.

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

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

Προβλήματα Μεταφορών (Transportation)

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

Εισαγωγή στην Τοπολογία

Markov. Γ. Κορίλη, Αλυσίδες. Αλυσίδες Markov

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει.

Συντομότερες Διαδρομές

Κεφάλαιο 7 Βάσεις και ιάσταση

Προβλήµατα Μεταφορών (Transportation)

Κεφάλαιο 3. Ελεύθερα Πρότυπα. στοιχείων του Μ καλείται βάση του e λ παράγει το Μ, και ii) κάθε m M γράφεται κατά µοναδικό

Transcript:

- Γ. Κορίλη Αλγόριθµοι ροµολόγησης http://www.seas.upenn.edu/~tcom50/lectures/lecture.pdf ροµολόγηση σε ίκτυα εδοµένων Αναπαράσταση ικτύου µε Γράφο Μη Κατευθυνόµενοι Γράφοι Εκτεταµένα έντρα Κατευθυνόµενοι Γράφοι Αλγόριθµοι Ελαχίστου ρόµου: ellman-ord ikstra loyd-warshall Κατανεµηµένος Ασύγχρονος Αλγόριθµος ellman- ord

-2 Εισαγωγή στη ροµολόγηση Τι είναι δροµολόγηση; Η δηµιουργία πληροφοριών (για τις καταστάσεις) στο δίκτυο που θα επιτρέψει την αποτελεσµατική παράδοση των πακέτων στους επιθυµητούς προορισµούς τους υο κύρια στοιχεία Απόκτηση πληροφοριών: Τοπολογία, διευθύνσεις Χρήση πληροφοριών: Υπολογισµός καλών δρόµων προς όλους τους προορισµούς Ερωτήµατα Πού είναι το ; Πώς θα φθάσουµε στο ; Πώς θα φθάσουµε καλύτερα στο ; G Πώς θα κατανέµουµε καλύτερα όλη την κυκλοφορία (όχι µόνο από το στο );

-3 Έννοιες Θεωρίας Γράφων Ένας Μη Κατευθυνόµενος Γράφος G = (N, ) αποτελείται από: Ένα πεπερασµένο µη κενό σύνολο κόµβων N και Μια συλλογή πλευρών ή συνδέσεων, που συνδέουν ζευγάρια (διακριτών) κόµβων του N. Αν i και είναι κόµβοι στο N και (i, ) πλευρά στο in, η πλευρά αυτή λέγεται προσπίπτουσα (incident) στα i και ιαδροµή: µια ακολουθία κόµβων (n, n 2,, n k ), όπου (n, n 2 ), (n 2, n 3 ),, (n k-, n k ) είναι πλευρές ρόµος: µια διαδροµή χωρίς επαναλαµβανόµενους κόµβους Κύκλος: µια διαδροµή (n, n 2,, n k ) µε n =n k και χωρίς άλλους επαναλαµβανόµενους κόµβους Συνεκτικός Γράφος: για κάθε i, N, υπάρχει δρόµος (n, n 2,, n k ) µε i=n, =n k G N = {, G,,,,, } = {(, ),(, ),(, ),(, ), (, ),( G, ),( g, )}

-4 Εκτεταµένα έντρα (Spanning Trees) Ένας γράφος G' = (N', ), µε N' N και ' ονοµάζεται υπογράφος του G = (N, ) έντρο: συνεκτικός γράφος που δεν περιέχει κύκλους Εκτεταµένο δένδρο (spanning tree) του γράφου G: υπο-γράφος του G, που περιλαµβάνει όλους τους κόµβους του G(N' =N) G Λήµµα: Έστω ο συνεκτικός γράφος G = (N, ) και S ένα µη κενό γνήσιο υποσύνολο του σύνολο των κόµβων N. Τότε, υπάρχει τουλάχιστον µια πλευρά (i, ) τέτοια ώστε i S και S.

-5 Αλγόριθµος Εκτεταµένου έντρου. Επιλέξτε αυθαίρετα έναν κόµβο n N και αρχίστε µε G' = (N', ' ) 2. Αν N' = N, ΤΕΛΟΣ: G' = (N ', ' ) είναι ένα εκτεταµένο δέντρο ΑΛΛΙΩΣ: πάτε στο βήµα 3 3. Έστω (i, ) µε i N' και N-N' Αλλάξτε: N : = N { }, : = {( i, )} Πάτε στο βήµα 2 N = {}, n = Απόδειξη: είξτε µε επαγωγή ότι µετά την προσθήκη ενός νέου κόµβου i, ο G παραµένει συνεκτικός και δεν περιέχει κανένα κύκλο δηλαδή, είναι δένδρο.

-6 Κατασκευή Εκτεταµένου έντρου V = {}; = V = {,}; = {(,)} V = {,,}; = {(,),(,)} V = {,,,}; = {(,),(,),()} V = {,,,,}; = {(,),(,),(),()} V = {,,,,,}; = {(,),(,),(),(),(,)} V = {,,,,,,G}; = {(,),(,),(),(),(,),(,G)} G

-7 Εκτεταµένα έντρα (συνέχεια) Πρόταση: Έστω G συνεκτικός γράφος µε N κόµβους και συνδέσεις. Τότε:. G περιέχει ένα εκτεταµένο δέντρο 2. N- 3. G είναι δέντρο αν και µόνον αν =N- Απόδειξη: Ο αλγόριθµος κατασκευής του εκτεταµένου δέντρου αρχίζει µε ένα µόνο κόµβο και σε κάθε επανάληψη αυξάνει το δέντρο κατά έναν κόµβο και µια πλευρά. Εποµένως, το δέντρο κατασκευάζεται µετά από N- επαναλήψεις κι έχει N- συνδέσεις, δηλαδή, N-. Αν =N-, το εκτεταµένο δέντρο περιέχει όλες τις πλευρές του G, δηλαδή, G είναι δέντρο. Αν >N-, υπάρχει µια σύνδεση (i, ) που δεν ανήκει στο δέντρο. Θεωρώντας το δρόµο που συνδέει τα i και µέσα στο εκτεταµένο δέντρο, ο δρόµος αυτός (i, ) σχηµατίζει κύκλο κι, έτσι, το G δεν είναι δέντρο.

-8 Η Χρήση των Εκτεταµένων έντρων Πρόβληµα: πώς να διανέµουµε τις πληροφορίες σε όλους τους κόµβους σ ένα γράφο (δίκτυο) π.χ., πληροφορίες για διευθύνσεις και τοπολογία Πληµµύρα: όταν κάθε κόµβος προωθεί τις πληροφορίες προς όλους τους γείτονές του. Εκτεταµένο δέντρο: οι κόµβοι προωθούν τις πληροφορίες µόνο κατά την κατεύθυνση των συνδέσεων που ανήκουν στο εκτεταµένο δέντρο. Πιο αποτελεσµατικά: Οι πληροφορίες φθάνουν σε κάθε κόµβο µόνο µια φορά και διασχίζουν κάθε σύνδεση µόνο µια φορά Παρατηρήστε ότι το εκτεταµένο δέντρο είναι διπλής κατεύθυνσης G

-9 Εκτεταµένα έντρα Ελάχιστου Βάρους Το βάρος w i σε µια πλευρά χρησιµοποιείται για να δώσει το κόστος χρήσης της σύνδεσης (i, ) Παραδείγµατα: καθυστέρηση, φορτίο, απόσταση, κλπ. Το βάρος (κόστος) ενός δέντρου είναι το άθροισµα των βαρών όλων των συνδέσεών του (τα πακέτα διασχίζουν τις συνδέσεις µόνο µια φορά) Ορισµός: Ένα Εκτεταµένο έντρο Ελάχιστου Βάρους ή Ελάχιστο Εκτεταµένο έντρο (ΕΕ ) είναι ένα εκτεταµένο δέντρο µε ελάχιστο άθροισµα βαρών των συνδέσεων Ορισµός: Ένα υπο-δέντρο ενός ΕΕ ονοµάζεται τεµάχιο. Μια πλευρά που έχει έναν κόµβο σε κάποιο τεµάχιο και τον άλλο κόµβο όχι σ αυτό το τεµάχιο ονοµάζεται εξερχόµενη πλευρά από το τεµάχιο. 5 2 5 2 3 6 3 6 7 7 4 2 G 3 W = 2 4 2 G 3 W = 5

-0 Ελάχιστα Εκτεταµένα έντρα Λήµµα: οθέντος ενός τεµαχίου, έστω e=(i, ) µια εξερχόµενη πλευρά ελάχιστου βάρους, όπου. Τότε το επεκτεταµένο µε τηνπλευράe και τον κόµβο είναι ένα τεµάχιο. Απόδειξη: Έστω T το ΕΕ που περιέχει το τεµάχιο. Αν e T, τελειώσαµε. Έστω e T: τότε σχηµατίζεται ένας κύκλος από την e και τις πλευρές του T Αφού. Υπάρχει πλευρά e e που ανήκει στον κύκλο και το T και είναι εξερχόµενη από το. Έστω T =(T-{e }) {e}. Αυτός είναι υπογράφος µε N- πλευρές και χωρίς κύκλους, δηλαδή, εκτεταµένο δέντρο. Επειδή w e w e, το βάρος του T είναι µικρότερο ή ίσο του βάρους του T Τότε T είναι ένα ΕΕ και το επεκτεταµένο από την πλευρά e και τον κόµβο είναι τεµάχιο. 4 e 4 3 6 7 e' 2 4 3 G

Αλγόριθµοι Ελάχιστων Εκτεταµένων - έντρων Επαγωγικοί αλγόριθµοι που βασίζονται στο προηγούµενο λήµµα Ο Αλγόριθµος του Prim: Ξεκινήστε µε έναν τυχαίο κόµβο ως το αρχικό τεµάχιο Επεκτείνετε το τεµάχιο µε τη διαδοχική πρόσθεση εξερχόµενων πλευρών ελάχιστου βάρους Ο Αλγόριθµος του Kruskal: Όλες οι κορυφές είναι τα αρχικά τεµάχια ιαδοχικά συνδυάστε τα τεµάχια χρησιµοποιώντας πλευρές ελάχιστου βάρους που δεν δηµιουργούν κύκλους

-2 Αλγόριθµος του Prim 2 3 9 7 5 6 8 4

-3 Ο Αλγόριθµος του Kruskal 2 3 9 7 5 6 8 4

-4 Αλγόριθµοι Ελάχιστου ρόµου Πρόβληµα: οθέντων των κόµβων και, βρείτε την καλύτερη διαδροµή για να περάσει η κυκλοφορία από το στο Καλύτερη: ελάχιστου κόστους όπου τυπικά το κόστος µιας διαδροµής ισούται προς το άθροισµα των κοστών των συνδέσεων της διαδροµής Σηµαντικό πρόβληµα για διάφορες δικτυακές εφαρµογές ροµολόγηση της κυκλοφορίας σε δικτυακές συνδέσεις χρειάζεται να λάβουµε υπόψη την κατεύθυνση της ροής Κατάλληλο δικτυακό µοντέλο: Κατευθυνόµενος Γράφος

-5 Κατευθυνόµενοι Γράφοι Ένας Κατευθυνόµενος Γράφος (ή ι-γραφος) G = (N, ) αποτελείται από: Ένα πεπερασµένο µη κενό σύνολο κόµβων N και Μια συλλογή τόξων, δηλαδή, διατεταγµένων ζευγαριών (διακριτών) κόµβων του N. Κατευθυνόµενες διαδροµές, κατευθυνόµενοι δρόµοι και κατευθυνόµενοι κύκλοι ορίζονται όπως (αντίστοιχα) µε τους µη κατευθυνόµενους γράφους οθέντος του κατευθυνόµενου γράφου G = (N, ), υπάρχει ένας αντίστοιχος µη κατευθυνόµενος γράφος G' = (N', ' ), µε N'=N και (i, ) ' αν είτε (i, ) ή (, i) Ένας κατευθυνόµενος γράφος G = (N, ) ονοµάζεται συνεκτικός αν ο αντίστοιχος µη κατευθυνόµενος γράφος G' = (N ', ' ) είναι συνεκτικός Ένας κατευθυνόµενος γράφος G = (N, ) ονοµάζεται ισχυρά συνεκτικός αν, για κάθε i, N, υπάρχει ένας κατευθυνόµενος δρόµος (n, n 2,, n k ), µε i=n, =n k

-6 Αλγόριθµοι Ελάχιστου ρόµου: Γενική ιατύπωση Έστω ο γράφος G = (V,) µε N κόµβους και µε µήκη πλευρών d i για την πλευρά (i,) (θεωρούµε d i = αν (i,) ) Πρόβληµα: Βρείτε τους δρόµους ελάχιστης απόστασης από όλους τους κόµβους του V προς τον κόµβο Αλλιώς διατυπωµένο, βρείτε τους δρόµους ελάχιστης απόστασης από τον κόµβο προς όλους τους κόµβους του V Πάλι η γενική προσέγγιση θα είναι επαναληπτική: ( n+ ) ( n) = min{ + i d i } ιαφορές για το πώς προχωρούµε στις επαναλήψεις κι έτσι υπάρχουν Τρεις κύριοι αλγόριθµοι

-7 Ο Αλγόριθµος ellman-ord Σε κάθε επαναληπτικό βήµα αυξάνει το πλήθος των πλευρών κατά ένα Ορίζουµε το ih σαν το µήκος της ελάχιστης διαδροµής από το i στο που περιέχει το πολύ h πλευρές h = 0, εξ ορισµού, για κάθε h Αλγόριθµος ellman-ord: Ορίζουµε h+ i = min{ Θέτουµε αρχικά i0 = για κάθε i h a Τα ih είναι τα µήκη των ελάχιστων διαδροµών κατά µήκος το πολύ h πλευρών από το i στο + b Ο αλγόριθµος τερµατίζει µετά από πεπερασµένο πλήθος επαναλήψεων αν και µόνον αν όλοι οι κύκλοι, που δεν περιέχουν τον, έχουν µη αρνητικό µήκος. Επιπλέον, αν ο αλγόριθµος τερµατίσει, το κάνει σε Ν το πολύ επαναλήψεις και τερµατίζει στο µήκος του ελάχιστου δρόµου από το i στο. d i }, i

Απόδειξη του Αλγόριθµου ellman- -8 ord () Με επαγωγή στο πλήθος των πλευρών h Για h =, έχουµε i = d i, για κάθε i, οπότε ισχύει το ζητούµενο, για i = Υποθέτουµε ότι αυτό ισχύει για όλα τα k h. Πρέπει να δείξουµε ότι ισχύει και για h+ Αρκεί να εξετασθούν δυο περιπτώσεις Η ελάχιστη ( h+) διαδροµή από το i στο έχει h πλευρές Τότε το µήκος της είναι i h 2 Η ελάχιστη ( h+) διαδροµή από το i στο έχει (h+) πλευρές Αποτελείται από τη συνένωση της πλευράς (i,) µε την ελάχιστη διαδροµή σε h πλευρές από το στο Η δεύτερη περίπτωση είναι αυτή που θα εστιασθούµε

-9 Απόδειξη του Αλγόριθµου ellman- ord (2) Από τις Περιπτώσεις και 2, έχουµε Από την επαγωγική υπόθεση και τις αρχικές συνθήκες i k i k- για όλα τα k h έτσι ώστε i h i = d i = d i + h Συνδυάζοντας τα παραπάνω παίρνουµε Που ολοκληρώνει την απόδειξη του µέρους a { [ ]} h h, min d shortest ( h + ) walk length = min + shortest ( = min h + ) { h h+ } h+, = i i walk length i = min i [ ] [ ] h h h + d min + d = min = h+ i i i { [ ]} h h,min + d i i i i

-20 Απόδειξη του Αλγόριθµου ellman- ord (3) Υποθέτουµε ότι ο αλγόριθµος τερµατίζει µετά από h βήµατα Αυτό συνεπάγεται ότι i k = i h για όλα τα i και k h Άρα µε την προσθήκη περισσότερων πλευρών δεν µπορούν να µειωθούν τα µήκη αυτών των διαδροµών Εποµένως, δεν µπορούν να υπάρξουν κύκλοι αρνητικού µήκους που δεν περιέχουν τον κόµβο Αυτοί θα µπορούσαν να επαναλαµβάνονταν πολλές φορές για να έκαναν τα µήκη των διαδροµών αυθαίρετα µικρά Αφαιρούµε όλους αυτούς τους κύκλους Τότε παίρνουµε δρόµους µικρότερου ή ίσου µήκους Έτσι, για όλα τα i έχουµε ένα δρόµο h ή λιγότερων πλευρών προς τον κόµβο µε µήκος i h Αφού αυτοί οι δρόµοι δεν περιέχουν κύκλους, περιλαµβάνουν το πολύ N- πλευρές κι, άρα, in = i N- για όλα τα i Ο αλγόριθµος τερµατίζεται σε N το πολύ βήµατα, που αποδεικνύει το µέρος b

-2 Πολυπλοκότητα Αλγόριθµου ellman-ord Πλήθος υπολογισµών στη χειρότερη περίπτωση για την εύρεση των ελάχιστων διαδροµών Ο αλγόριθµος επαναλαµβάνεται το πολύ N φορές Κάθε επανάληψη γίνεται για N- κόµβους (όλα τα i ) Το βήµα της ελαχιστοποίησης απαιτεί την εξέταση το πολύ N- ενδεχοµένων Η υπολογιστική πολυπλοκότητα είναι O(N 3 ) Πιο λεπτοµερής υπολογισµός δίνει υπολογιστική πολυπλοκότητα τάξεως O(hM)

-22 Κατασκευή Ελάχιστων ρόµων Ο αλγόριθµος - algorithm δίνει τα µήκη των ελάχιστων δρόµων αλλά µας ενδιαφέρει να βρούµε και ποιες είναι οι διαδροµές αυτές Ξεκινάµε από την εξίσωση - i = G [ + d ], i, and 0 min = i Για κάθε κόµβο i, διαλέγουµε την πλευρά (i,) που ελαχιστοποιεί την εξίσωση - Αυτό παράγει έναν υπο-γράφο µε N- πλευρές (ένα δέντρο) Για κάθε κόµβο I, ακολουθούµε τις πλευρές από τον i κατά µήκος αυτού του υπο-γράφου µέχρι να φθάσουµε στον Παρατήρηση: Για γράφους χωρίς κύκλους µηδενικού ή αρνητικού µήκους, η εξίσωση - ορίζει ένα σύστηµα N- εξισώσεων που έχουν µια µοναδική λύση

-23 Παράδειγµα Κατασκευής Ελάχιστου ρόµου µε τον Αλγόριθµο - = 3 + = 4 + G G = 3 + = 3 = 2 + G = + = 6 + = 6 = --G- 4 4 7 6 3 2 3 G 4

-24 Ο Αλγόριθµος του ikstra () ιαφορετικά κριτήρια στις επαναλήψεις Ο αλγόριθµος προχωρά αυξάνοντας το µήκος δρόµου αντί του πλήθους πλευρών Ξεκινάµε µε τον πλησιέστερο κόµβο στον προορισµό, τον χρησιµοποιούµε για να βρούµε τον επόµενο πλησιέστερο κόµβο κοκ. Για τη σύγκλιση απαιτείται να έχουµε µη αρνητικά βάρη πλευρών ιακρίνονται δυο κατηγορίες κόµβων L: Αποδεκτοί κόµβοι (στον ελάχιστο δρόµο) : Υποψήφιοι κόµβοι (εκτός ελάχιστου δρόµου ως τότε) Σε κάθε επανάληψη ένας κόµβος µετακινείται από το στο L

-25 Ο Αλγόριθµος του ikstra (2) Έναρξη L = {} and = G - L (ο κόµβος είναι ο προορισµός) = 0 και = d για Επαναληπτικά βήµατα Βρείτε τον επόµενο πλησιέστερο κόµβο εκτός L, δηλαδή, Βρείτε τον κόµβο i L τέτοιον ώστε L Τροποποιείστε τα και L: L = L {i} και = - {i} 2 Τροποποιείστε τα µήκη δρόµων των κόµβων που παραµένουν στο : = min[ Ο αλγόριθµος τερµατίζει όταν L = G, i + d i = min i ],

-26 Απόδειξη του Αλγόριθµου ikstra () Στην αρχή κάθε βήµατος, έχουµε a i για όλα τα i L και L b Για κάθε κόµβο, είναι η ελάχιστη απόσταση του από το για οποιοδήποτε δρόµο χρησιµοποιώντας κόµβους (πιθανόν εκτός του ) µόνον από το L Απόδειξη της συνθήκης (a) Μη αρνητικά βάρη πλευρών Η (a) ικανοποιείται αρχικά Έχουµε d i 0 και i = min L έτσι ώστε η συνθήκη (a) να διατηρείται από την τροποποιηµένη εξίσωση : = min[, i + d i ],

-27 Απόδειξη του Αλγόριθµου ikstra (2) Μένει να αποδείξουµε τη συνθήκη (b), που θα το κάνουµε µε επαγωγή Η (b) ικανοποιείται αρχικά Επαγωγική υπόθεση (H) Η συνθήκη (b) ισχύσει στην αρχή κάποιου βήµατος, όπου i είναι ο κόµβος που προστίθεται στο L σ αυτό το βήµα Από την (H), η συνθήκη (b) ισχύει για κάθε κόµβο i καθώς και L λόγω της (a) Θεωρήστε στη συνέχεια έναν κόµβο L {i}

-28 Απόδειξη του Αλγόριθµου ikstra (3) Έστω το µήκος του ελάχιστου δρόµου από L {i} στο µε όλους τους κόµβους του εκτός του στο L {i} Ο δρόµος αυτός αποτελείται από µια πλευρά (,k), k L {i}, συνενωµένη µε τον ελάχιστο δρόµο απόk σε µε κόµβους στο L {i} Από την (H), k είναι το µήκος αυτού του ελάχιστου δρόµου από k στο Έχουµε ' = min k L { i} [ Κι από την (H) έχουµε επίσης Συνδυάζοντας τα δυο αυτά παίρνουµε k Κάτι που ολοκληρώνει την απόδειξη της επαγωγής + d k ] = min min[ k L k + k d k k L = min[ + d ' = min[, + d ] = i i ], k ] i + d i

Υπολογιστική Πολυπλοκότητα -29 Αλγόριθµου ikstra Όπως µε τον αλγόριθµο ellman-ord, έχουµε µέχρι N επαναλήψεις, όπου N = G Η κύρια εξοικονόµηση είναι ότι σε κάθε επανάληψη θεωρούµε κάθε κόµβο µόνο µια φορά Στα βήµατα και 2 κοιτάµε πρώτα τους κόµβους στο L (βήµα ) και µετά στο = G-L (βήµα 2) Το κόστος των πράξεων σε κάθε βήµα είναι το ίδιο (µια µονάδα κόστους) Το πολύ N επαναλήψεις και N πράξεις µιας µονάδας κόστους ανά επανάληψη Το συνολικό κόστος είναι τάξης O(N 2 ) (αλλά µπορεί να βελτιωθεί)

-30 Ο Αλγόριθµος loyd-warshall () Σκοπεύει στον υπολογισµό των ελάχιστων δρόµων µεταξύ όλων των ζευγαριών των κόµβων Ο αλγόριθµος αυτός επιτρέπει θετικά κι αρνητικά βάρη πλευρών αλλά απαιτεί να µην υπάρχουν κύκλοι µε αρνητικό µήκος Οι επαναλήψεις γίνονται ως προς το σύνολο των κόµβων που αφήνονται να είναι ενδιάµεσοι κόµβοι σ ένα δρόµο Η αρχική συνθήκη είναι όπως για ellman-ord και ikstra,δηλαδή, δρόµοι µιας πλευράς για όλους τους κόµβους Η επόµενη επανάληψη αφήνει µόνο τον κόµβο να γίνει ενδιάµεσος κόµβος Ο αλγόριθµος τερµατίζει όταν όλοι οι κόµβοι έχουν χρησιµοποιηθεί ως ενδιάµεσοι κόµβοι

-3 Ο Αλγόριθµος loyd-warshall (2) Αρχικές συνθήκες = d, i, και i 0 i n i i Έστω το µήκος του ελάχιστου δρόµου µεταξύ των κόµβων i και, όταν οι ενδιάµεσοι κόµβοι στο δρόµο περιορίζονται στους κόµβους,2,...,n Το επαναληπτικό βήµα ορίζεται ως n i + n = min[, + i i( n+ ) ( n+ ) n i Ελέγξτε αν η απόσταση µεταξύ των κόµβων i και βελτιώνεται χρησιµοποιώντας τον κόµβο (n+) ως ενδιάµεσο κόµβο n ],

-32 Απόδειξη Αλγόριθµου loyd-warshall Πάλι επαγωγικά Για n=0 οι αρχικές συνθήκες προφανώς δίνουν τους ελάχιστους δρόµους χωρίς ενδιάµεσους κόµβους Η Επαγωγική Υπόθεση (H) n Για δοθέν n, το i δίνει το µήκος του ελάχιστου δρόµου από i σε µε ενδιάµεσους µόνο τους κόµβους ως n Ο ελάχιστος δρόµος από i σε µε ενδιάµεσους µόνο τους κόµβους ως (n+) είτε περιλαµβάνει τον κόµβο (n+) ή δεν τον περιέχει Αν ναι, το µήκος του δρόµου είναι ο 2ος όρος του επαναληπτικού βήµατος Αν όχι, το µήκος του δρόµου είναι ο ος όρος του επαναληπτικού βήµατος

Πολυπλοκότητα Αλγόριθµου loyd- -33 Warshall N επαναληπτικά βήµατα Ένα για κάθε δυνατό σύνολο ενδιάµεσων κόµβων Οι υπολογισµοί σε κάθε επαναληπτικό βήµα περιλαµβάνουν συγκρίσεις για κάθε ζευγάρι κόµβων Υπάρχουν N(N-) ζευγάρια κόµβων Το συνολικό κόστος είναι της τάξης O(N 3 ) Ισοδύναµο µε N εφαρµογές του αλγόριθµου ikstra Κάθε εφαρµογή του ikstra δίνει ελάχιστους δρόµους από όλους τους κόµβους προς έναν προορισµό

Ελάχιστοι ρόµοι οθέντων -34 Προελεύσεων Η διαφορά είναι τώρα ότι ενδιαφερόµαστε να βρούµε δρόµους που ξεκινούν από δοθέντα κόµβο προέλευσης προς όλους τους άλλους κόµβους αντί από όλους τους κόµβους προέλευσης προς δοθέντα κόµβο προορισµού Η βασική προσέγγιση παραµένει η ίδια ευτερεύουσες διαφορές στους ορισµούς των αρχικών συνθηκών και των επαναληπτικών βηµάτων Θα εξετάσουµε και τον αλγόριθµο ellman-ord και τον αλγόριθµο ikstra µε αυτή την εστίαση στον κόµβο προέλευσης

-35 Αλγόριθµος ellman-ord µε οθείσα Προέλευση Η προέλευση είναι ο κόµβος Έναρξη h = 0, h i0 = για i Ορίζουµε h+ i = min{ + }, i Την απόσταση από τον προς τον i µέσω το πολύ h+ πλευρών Όπως πριν, οι επαναλήψεις τερµατίζουν όταν επιτυγχάνεται σύγκλιση h d i 3 4 3 = 3, = 3 2 = 3, 2 = 3, 2 = 4, 2 G = 7, 2 = 7 3 = 3, 3 = 3, 3 = 4, 3 G = 5, 3 = 7, 3 = 5 4 = 3, 4 = 3, 4 = 4, 4 G = 5, 4 = 6, 4 = 5 3 G 4

-36 Έναρξη Αλγόριθµος ikstra µε οθείσα Προέλευση L = {} και = G - L (ο κόµβος είναι η προέλευση) = 0 και i = d για Επαναληπτικά βήµατα Βρείτε τον επόµενο πλησιέστερο κόµβο στο Βρείτε τον κόµβο i L τέτοιο ώστε i = min L Τροποποιήστε το και L: L = L {i} και = - {i} 2 Τροποποιήστε τα µήκη των δρόµων που αποµένουν στο : = min[, i + d i ], 3 4 4 G 3 {}; =3, =3 {,}; =3; =3, G =7 {,,}; =3, =3; =4, G =7, =7 {,,,}; =3, =3, =4; G =5, =7, =5 {,,,,}; =3, =3, =4, =5; G =5, =6 {,,,,,G}; =3, =3, =4, =5, G =5; =6 {,,,,,G,}; =3, =3, =4, =5, G =5, =6 3

-37 έντρα Ελάχιστων ρόµων Για την προσθετική συνάρτηση απόστασης έχουµε υποθέσει: Αν ο δρόµος p=i,i 2,...,i h, µε i=i and = i h είναι ένας ελάχιστος δρόµος από i σε, τότε για κάθε k, 0 k h-, ο υπο-δρόµος s=i,i 2,...,i k είναι ένας ελάχιστος δρόµος από i σε i k Αν αυτό δεν ίσχυε, θα µπορούσαµε να βελτιώναµε τον ελάχιστο δρόµο µεταξύ i και διαλέγοντας τον ελάχιστο δυνατό δρόµο που υπάρχει µεταξύ i και i k Έστω διάνυσµα των αποστάσεων από τον κόµβο I. Τότε, ένας κατευθυνόµενος δρόµος p από i σε είναι ελάχιστος δρόµος αν και µόνον αν k = l + d kl για όλες τις πλευρές (k,l) p Μπορούµε να κατασκευάσουµε ένα δέντρο ελάχιστου δρόµου από τον κόµβο i προς όλους τους άλλους κόµβους

-38 έντρο Ελάχιστου ρόµου και Ελάχιστο Εκτεταµένο έντρο Τα δυο δέντρα ΕΝ είναι τα ίδια Ελάχιστο Εκτεταµένο έντρο έντρο Ελάχιστου ρόµου 3 3 2 G Συνολικό Βάρος: 0 = 6 3 4 3 3 2 G Συνολικό Βάρος: = 5 3 4