Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών

Σχετικά έγγραφα
Συντομότερες ιαδρομές

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

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

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

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

Αναζήτηση Κατά Πλάτος

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

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Προσεγγιστικοί Αλγόριθμοι για NP- ύσκολα Προβλήματα

Ελάχιστο Συνδετικό έντρο

Ουρά Προτεραιότητας: Heap

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

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

Υπολογιστική Πολυπλοκότητα

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

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

Αλγόριθμοι Αναζήτησης

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

Ασυμπτωτικός Συμβολισμός

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

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

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

Λογιστικές Εφαρμογές Εργαστήριο

Πρόβλημα συντομότερης διαδρομής - Shortest path problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Αναζήτηση Κατά Πλάτος

Διαχείριση Χρόνου & Δίκτυα στη Διοίκηση Έργων. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

6 η ΕΝΟΤΗΤΑ ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Πληροφορική. Εργαστηριακή Ενότητα 8 η : Γραφήματα

Περιβαλλοντική Χημεία

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

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

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

Αναζήτηση Κατά Πλάτος

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

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

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

Ιστορία της μετάφρασης

Γενικά Μαθηματικά Ι. Ενότητα 14: Ολοκλήρωση Κατά Παράγοντες, Ολοκλήρωση Ρητών Συναρτήσεων Λουκάς Βλάχος Τμήμα Φυσικής

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Αναζήτηση Κατά Πλάτος

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

Θεωρία Πιθανοτήτων & Στατιστική

Μικροβιολογία & Υγιεινή Τροφίμων

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

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

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

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

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αυτοματοποιημένη χαρτογραφία

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

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

Λογική. Δημήτρης Πλεξουσάκης. Ασκήσεις 2ου Φροντιστηρίου: Προτασιακός Λογισμός: Κανονικές Μορφές, Απλός Αλγόριθμος Μετατροπής σε CNF/DNF, Άρνηση

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Ψηφιακή Τεχνολογία σε Ακαδημαϊκό Περιβάλλον

ΕΝΟΤΗΤΑ 5. ΚΥΚΛΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΑΙ ΕΛΕΓΧΟΥ. Κατερίνα Αδάμ, Μ. Sc., PhD Eπίκουρος Καθηγήτρια

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

Γενικά Μαθηματικά Ι. Ενότητα 5: Παράγωγος Πεπλεγμένης Συνάρτησης, Κατασκευή Διαφορικής Εξίσωσης. Λουκάς Βλάχος Τμήμα Φυσικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

ΜΑΚΡΟΟΙΚΟΝΟΜΙΚΗ Ενότητα 1: Εισαγωγή: Το αντικείμενο της Μακροοικονομικής Η έννοια και του ΑΕΠ Ονομαστικό και πραγματικό ΑΕΠ

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

Διαδικαστικός Προγραμματισμός

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Χώρος και Διαδικασίες Αγωγής

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Εκκλησιαστικό Δίκαιο

Γενικά Μαθηματικά Ι. Ενότητα 19: Υπολογισμός Εμβαδού και Όγκου Από Περιστροφή (2 ο Μέρος) Λουκάς Βλάχος Τμήμα Φυσικής

Υδραυλικά & Πνευματικά ΣΑΕ

Ιστορία της μετάφρασης

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 2: Μοντελο Συσχετίσεων Οντοτήτων, Μελέτη Περίπτωσης: Η βάση δεδομένων των CD

Αλγόριθμοι και Δομές Δεδομένων(Θ) Ευάγγελος Γ. Ούτσιος

ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ. Γενικά Μαθηματικά Ι. Ενότητα 6: Ακρότατα Συνάρτησης. Λουκάς Βλάχος Τμήμα Φυσικής

Οργανωσιακή Συμπεριφορά Ενότητα 1: Η έννοια της οργάνωσης και διοίκησης

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

ΝΟΜΙΣΜΑΤΙΚΗ ΟΙΚΟΝΟΜΙΚΗ ΠΟΛΙΤΙΚΗ. Ενότητα 3: Αγορά Χρήματος και επιτόκια. Γεώργιος Μιχαλόπουλος Τμήμα Λογιστικής-Χρηματοοικονομικής

Μοντελοποίηση Λογικών Κυκλωμάτων

Μαθηματικά. Ενότητα 6: Ασκήσεις Ορίων Συνάρτησης. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Προχωρημένες έννοιες προγραμματισμού σε C

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

ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ ΜΕ ΧΡΗΣΗ Η/Υ

Transcript:

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών Αλγόριθμοι και πολυπλοκότητα Στάθης Ζάχος, Δημήτρης Φωτάκης

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών Υπολογισμός απόστασης d(v, u) και συντομότερου v u μονοπατιού για κάθε ζεύγος (v, u) V V. Αλγόριθμος για ΣΜ από μία κορυφή για κάθε s V. Αρνητικά μήκη: Bellman-Ford σε χρόνο Θ(n 2 m). Mη-αρνητικά μήκη: Dijkstra σε χρόνο Θ(nm+ n 2 log n). Αρνητικά μήκη: Floyd-Warshall σε χρόνο Θ(n 3 ). Αναπαράσταση λύσης: Αποστάσεις: πίνακας D[1..n][1..n] Συντομότερα μονοπάτια: n ΣΜ, ένα για κάθε αρχική κορυφή. Πίνακας P[1..n][1..n]: n πίνακες προγόνων. Γραμμή P[i]: πίνακας προγόνων ΣΜ(v i ). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 26

Αλγόριθμος Floyd-Warshall Θεωρούμε γράφημα G(V, E, w) με μήκη στις ακμές. Καθορισμένη (αυθαίρετη) αρίθμηση κορυφών v 1, v 2,, v n. Αναπαράσταση γραφήματος με πίνακα γειτνίασης: Υπολογισμός απόστασης d(v i,v j ) από d(v i,v k ), d(v k,v j ) για όλα τα k V \ {v i }: Φαύλος κύκλος(;): d(v i, v k ) d(v i ) και d(v i ) d(v i, v k ) υναμικός προγραμματισμός: υπολογισμός όλων με συστηματικό bottom-up τρόπο! Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 27

Αλγόριθμος Floyd-Warshall D k ]: μήκος συντομότερου v i v j μονοπατιού με ενδιάμεσες κορυφές μόνο από V k = {v 1,, v k } Αρχικά D 0 ] = w(v i ) γιατί V 0 =. Έστω ότι γνωρίζουμε D k 1 ] για όλα τα ζεύγη v i. D k ] διέρχεται από v k καμία ή μία φορά (μονοπάτι!): Αναδρομική σχέση για D 0, D 1,, D n : Υπολογισμός D n με δυναμικό προγραμματισμό. Κύκλος αρνητικού μήκους αν D n, v i ] < 0. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 28

Αλγόριθμος Floyd-Warshall Τυπικός δυναμικός προγραμματισμός: Χρόνος: Θ(n 3 ) Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 29

Παράδειγμα 30

Υπολογισμός Συντομότερων Μονοπατιών P k, ] : ΣΜ(v i ) με ενδιάμεσες κορυφές μόνο από V k. Αποστάσεις D k, ] αντιστοιχούν σε μονοπάτια P k, ]. P k ]: προηγούμενη κορυφή της v j στο συντομότερο v i v j μονοπάτι με ενδιάμεσες κορυφές μόνο από V k. P 0 καθορίζεται από πίνακα γειτνίασης: Αναδρομική σχέση για P 0, P 1,, P n : Υπολογισμός P n ταυτόχρονα με υπολογισμό D n. Εύκολη τροποποίηση προηγούμενης υλοποίησης. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 31

Παράδειγμα 32

Αλγόριθμος Johnson Συντομότερα μονοπάτια για όλα τα ζεύγη κορυφών σε αραιά γραφήματα με αρνητικά μήκη: Μετατροπή αρνητικών μηκών σε μη αρνητικά χωρίς να αλλάξουν τα συντομότερα μονοπάτια. Αλγόριθμος για γράφημα G(V, E, w): Νέα κορυφή s που συνδέεται με κάθε u V με ακμή μηδενικού μήκους: G (V {s}, E {(s, u)}, w). Bellman-Ford για G με αρχική κορυφή s. Έστω h(u) απόσταση κορυφής u V από s. Αν όχι κύκλος αρνητικού μήκους, υπολόγισε νέα (μη αρνητικά) μήκη: Για κάθε u V, Dijkstra σε με αρχική κορυφή u. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 33

Αλγόριθμος Johnson Χρονική πολυπλοκότητα: Bellman-Ford και n φορές Dijkstra: Θ(nm+ n 2 log n). Ορθότητα: Νέαμήκημηαρνητικά: h( ) αποστάσεις από s, και ισχύει ότι Μεταβολή στα μήκη δεν επηρεάζει συντομότερα μονοπάτια. Μήκος κάθε α β μονοπατιού μεταβάλλεται κατά h(β) h(α). Έστω p (α = v 0, v 1,, v k = β) οποιοδήποτε α β μονοπάτι. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 34

Σύνοψη Συντομότερα μονοπάτια από μία αρχική κορυφή s: Αρνητικά μήκη: Bellman-Ford σε χρόνο Θ(nm). υναμικός προγραμματισμός. DAGs με αρνητικά μήκη σε χρόνο Θ(m + n). Mη-αρνητικά μήκη: Dijkstra σε χρόνο Θ(m + n log n). Απληστία. Συντομότερα μονοπάτια για όλα τα ζεύγη κορυφών: Αρνητικά μήκη: Floyd-Warshall σε χρόνο Θ(n 3 ). υναμικός προγραμματισμός. (Mη-)αρνητικά μήκη και αραιά γραφήματα, m = o(n 2 ): n φορές Dijkstra σε χρόνο Θ(nm+ n 2 log n). Αν αρνητικά μήκη, αλγ. Johnson για μετατροπή σε θετικά! Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2010) Συντομότερες ιαδρομές 35

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.