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

Σχετικά έγγραφα
Αλγόριθµοι και Πολυπλοκότητα

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

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

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

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

Αριθµητική Ανάλυση. Ενότητα 6 Αριθµητική Παραγώγιση και Ολοκλήρωση. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

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

Τµήµα Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

Εισαγωγή στους Υπολογιστές

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Έλεγχος και Διασφάλιση Ποιότητας Ενότητα 4: Μελέτη ISO Κουππάρης Μιχαήλ Τμήμα Χημείας Εργαστήριο Αναλυτικής Χημείας

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

Διοικητική Λογιστική

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

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

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Ορισμός κανονικής τ.μ.

Κβαντική Επεξεργασία Πληροφορίας

Βέλτιστος Έλεγχος Συστημάτων

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 7: Αλγόριθμοι γραμμικής άλγεβρας

ΑΛΓΟΡΙΘΜΟΙ Ενότητα 10

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Τίτλος Μαθήματος. Ενότητα 1: Γενικά περί λογικού προγραμματισμού

Διδακτική των εικαστικών τεχνών Ενότητα 1

Διδακτική των εικαστικών τεχνών Ενότητα 3

Μικροοικονομική Ανάλυση της Κατανάλωσης και της Παραγωγής

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 8: Αναζήτηση και ταξινόμηση

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 6: Αποτελεσματικότητα αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στις Επιστήμες της Αγωγής

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Βέλτιστος Έλεγχος Συστημάτων

Θεατρικές Εφαρμογές και Διδακτική της Φυσικής Ι

Ψηφιακή Επεξεργασία Εικόνων

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

Διδακτική των εικαστικών τεχνών Ενότητα 2

Υπολογιστική άλγεβρα Ενότητα 10: Βάσεις Groebner ενός ιδεώδους ΙΙΙ

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

Φιλοσοφία της Ιστορίας και του Πολιτισμού

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Γενική Φυσική Ενότητα: Εισαγωγή στην Ειδική Θεωρία της Σχετικότητας

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

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

Διοίκηση Επιχειρήσεων

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 4: Συναρτήσεις

Το Εικονογραφημένο Βιβλίο στην Προσχολική Εκπαίδευση

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

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Γενική Φυσική Ενότητα: Δυναμική Άκαμπτου Σώματος

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

Κβαντική Επεξεργασία Πληροφορίας

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

Ανάπτυξη Ανοικτού Ακαδημαϊκού Μαθήματος Ενότητα 1: Παρουσίαση Ανοικτού Ακαδημαϊκού Μαθήματος

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

P (B) P (B A) = P (AB) = P (B). P (A)

Έλεγχος Ποιότητας Φαρμάκων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Υπολογιστική άλγεβρα Ενότητα 1: Πολυωνυμικές σχέσεις και ταυτότητες, μέρος Ι

Ψηφιακές Επικοινωνίες

Εορτολογία. Ενότητα 4: Οι Εορτές της Αναλήψεως και της Πεντηκοστής. Γεώργιος Φίλιας Θεολογική Σχολή Τμήμα Κοινωνικής Θεολογίας

Ηλεκτρονική. Ενότητα 9: Τρανζίστορ Επίδρασης Πεδίου (FET) Αγγελική Αραπογιάννη Τμήμα Πληροφορικής και Τηλεπικοινωνιών

Διδακτική των εικαστικών τεχνών Ενότητα 2

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 9: Αναδρομή

Γενική Φυσική Ενότητα: Ταλαντώσεις

Αριθµητική Ανάλυση. Ενότητα 4 Αριθµητικός Υπολογισµός Ιδιοτιµών και Ιδιοδιανυσµάτων. Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών,

Ψηφιακή Επεξεργασία Εικόνων

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Βέλτιστος Έλεγχος Συστημάτων

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

Λειτουργία και εφαρμογές της πολιτιστικής διαχείρισης

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διδακτική Απειροστικού Λογισμού

Εφαρμογές πληροφορικής σε θέματα πολιτικού μηχανικού

Πρακτική Άσκηση σε σχολεία της δευτεροβάθμιας εκπαίδευσης

Transcript:

Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Bellman Ford Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 1 / 52

Εύρεση Ελάχιστου Μονοπατιού Αλγόριθµος Bellman-Ford Γραµµικός Προγραµµατισµός (linear programming) και περιορισµοί διάταξη VLSI Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 2 / 52

Κύκλοι Αρνητικού Βάρους Επιλύει το πρόβληµα στην περίπτωση που οι ακµές ενδέχεται να έχουν αρνητικά ϐάρη. Αν ένα γράφηµα G = (V, E) περιέχει ένας κύκλο αρνητικού ϐάρους, τότε πιθανώς να µην υπάρχουν κάποια ελάχιστα µονοπάτια. Παράδειγµα: Αλγόριθµος Bellman-Ford: Βρίσκει όλα τα ελάχιστα µονοπάτια από µια πηγή s V προς όλες τις κορυφές v V ή αποφασίζει αν υπάρχει κύκλος αρνητικού ϐάρους. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 3 / 52

Αλγόριθµος Bellman-Ford d[s] 0 για κάθε v V {s} d[v] αρχικοποίηση για i 1 έως V 1 για κάθε ακµή (u, v) E αν d[v] > d[u]+w(u, v) τότε d[v] d[u]+w(u, v) } ϐήµα χαλάρωσης για κάθε ακµή (u, v) E αν d[v] > d[u]+w(u, v) τότε υπάρχει κύκλος αρνητικού ϐάρους d[v] = δ(s, v), αν δεν υπάρχουν αρνητικού ϐάρους κύκλοι χρόνος: O(VE) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 4 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 5 / 52

Παράδειγµα Bellman-Ford Αρχικοποίηση Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 6 / 52

Παράδειγµα Bellman-Ford ιάταξη χαλάρωσης ακµών Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 7 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 8 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 9 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 10 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 11 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 12 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 13 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 14 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 15 / 52

Παράδειγµα Bellman-Ford Τέλος πρώτης επανάληψης Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 16 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 17 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 18 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 19 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 20 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 21 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 22 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 23 / 52

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 24 / 52

Παράδειγµα Bellman-Ford Τέλος 2ης επανάληψης (και 3ης και 4ης) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 25 / 52

Ορθότητα (Correctness) Theorem Αν G = (V, E) δεν περιλαµβάνει αρνητικού ϐάρους κύκλους, µετά την εφαρµογή του αλγορίθµου Bellman-Ford, d[v] = δ(s, v) για κάθε v V. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 26 / 52

Ορθότητα (Correctness) Απόδειξη Εστω v V µια οποιαδήποτε κορυφή και p το ελάχιστο µονοπάτι από την s στη v µε το ελάχιστο πλήθος ακµών. Αφού το p είναι ελάχιστο µονοπάτι, έχουµε: δ(s, v i ) = δ(s, v i 1 )+w(v i 1, v i ). Αρχικά, d[v 0 ] = 0 = δ(s, v 0 ), και d[v 0 ] είναι αµετάβλητο(d[v] δ(s, v)) µετά από 1 πέρασµα του E, d[v 1 ] = δ(s, v 1 ). µετά από 2 περάσµατα του E, d[v 2 ] = δ(s, v 2.). µετά από k περάσµατα του E, d[v k ] = δ(s, v k ). Αφού ο G δεν περιέχει αρνητικού ϐάρους κύκλους, το p είναι απλό. Το µεγαλύτερο απλό µονοπάτι έχει V 1 ακµές. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 27 / 52

Ανίχνευση Κύκλου µε Αρνητικό Βάρος Corollary Αν µια τιµή d[v] δεν συγκλίνει µετά από V 1 περάσµατα, τότε υπάρχει κύκλος µε αρνητικό ϐάρος στον G προσβάσιµο από την s. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 28 / 52

Γραµµικός Προγραµµατισµός Εστω A ένας πίνακας m n, b m διάνυσµα και c n διάνυσµα. Βρες n διάνυσµα x που µεγιστοποιεί το c T x δεδοµένου ότι Ax b, ή αποφάσισε ότι δεν υπάρχει τέτοια λύση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 29 / 52

Αλγόριθµοι Γραµµικού Προγραµµατισµού Αλγόριθµοι για το γενικό πρόβληµα Μέθοδοι Simplex : πρακτικές αλλά εκθετικοί χρόνοι (χείριστη περίπτωση). Μέθοδοι Εσωτερικού Σηµείου: πολυωνυµικός χρόνος και ανταγωνίζεται την simplex. Πρόβληµα επιλυσιµότητας: κανένα κριτήριο ϐελτιστοποίησης απλά ϐρες κάποιο x τέτοιο ώστε A b. γενικά, τόσο δύσκολο όσο τα κοινά LP. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 30 / 52

Λύνοντας ένα σύστηµα µε διαφορετικές συνιστώσες Γραµµικός προγραµµατισµός όπου κάθε γραµµή του A περιέχει ακριβώς ένα 1, ένα -1 και τα υπόλοιπα 0. Παράδειγµα: x 1 x 2 3 x 2 x 3 2 x 1 x 3 2 Γράφος Περιορισµών x j x i w ij Λύση: x 1 = 3 x 2 = 0 x 3 = 2 (Ο πίνακας Α έχει διαστάσεις E V ) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 31 / 52

Μη Ικανοποιήσιµοι Περιορισµοί Theorem Αν ο γράφος περιορισµών περιέχει έναν κύκλο αρνητικού ϐάρους, τότε το σύστηµα των διαφορών είναι µη ικανοποιήσιµο. Proof. Εστω ότι ο κύκλος µε αρνητικό ϐάρος είναι ο v 1 v 2... v k v 1. Τότε, έχουµε x 2 x 1 w 12 x 3 x 2 w 23. x k x k 1 w k 1,k x 1 x k w k1 0 weight of cycle < 0 Συνεπώς δεν υπάρχει τιµή του x i περιορισµούς. που µπορεί να ικανοποιήσει τους Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 32 / 52

Ικανοποίηση Περιορισµών Theorem Αν ο γράφος περιορισµών δεν περιέχει κανέναν κύκλο αρνητικού ϐάρους, τότε το σύστηµα των διαφορών είναι ικανοποιήσιµο. Proof. Πρόσθεσε µια νέα κορυφή s στο V µε µηδενικό ϐάρος ακµής προς κάθε κορυφή v i V. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 33 / 52

Ικανοποίηση Περιορισµών Theorem Αν ο γράφος περιορισµών δεν περιέχει κανέναν κύκλο αρνητικού ϐάρους, τότε το σύστηµα των διαφορών είναι ικανοποιήσιµο. Proof. Πρόσθεσε µια νέα κορυφή s στο V µε µηδενικό ϐάρος ακµής προς κάθε κορυφή v i V. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 34 / 52

Απόδειξη (συν.) Ισχυρισµός: Η ανάθεση x i = δ(s, v i ) λύνει το σύστηµα των περιοριµών. Εστω περιορισµός x j x i w ij, και τα ελάχιστα µονοπάντια από το s στο v j και v i : Η τριγωνική ανισότητα µας δίνει δ(s, v j ) δ(s, v i )+w ij. Αφού x i = δ(s, v i ) και x j = δ(s, v j ), τότε ο περιορισµός x j x i w ij ικανοποιείται. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 35 / 52

Bellman-Ford και Γραµµικός Προγραµµατισµός Corollary Ο αλγόριθµος Bellman-Ford λύνει ένα σύστηµα µε m περιορισµούς διαφορών και n µεταβλητές σε χρόνο O(mn). Τα ελάχιστα µονοπάτια µιας πηγής είναι ένα απλό πρόβληµα LP. O Bellman-Ford µεγιστοποιεί το x 1 + x 2 +...+x n αναφορικά µε το x j x i w ij και x i 0 (άσκηση) O Bellman-Ford επίσης ελαχιστοποιεί το max i {x i } min i {x i } (άσκηση) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 36 / 52

VLSI Πρόβληµα: Συνέπτηξε (σε µια διάσταση) τον χώρο µεταξύ των γνωρισµάτων ενός σχεδιαγράµµατος VLSI χωρίς να έρθουν πολύ κοντά κάποια από τα χαρακτηριστικά. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 37 / 52

VLSI Περιορισµός: x 2 x 1 d 1 +λ Ο Bellman-Ford ελαχιστοποιεί την max i {x i } min i {x i }, που συµπιέζει το σχεδιάγραµµα στη χ-διάσταση. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 38 / 52

Συντοµότερα µονοπάτια στα ΚΑΓ Χαλαρώνοντας τις ακµές σε ένα ΚΑΓ µε ϐάρη σύµφωνα µε την τοπολογική ταξινόµηση µπορούµε να υπολογίσουµε τα συντοµότερα µονοπάτια από µια απλή πηγή σε Θ(V+E) χρόνο. Τα συντοµότερα µονοπάτια είναι πάντα καλά ορισµένα σε ένα ΚΑΓ αφού ακόµα και αν υπάρχουν ακµές µε αρνητικά ϐάρη, δεν µπορούν να υπάρχουν κύκλοι µε αρνητικά ϐάρη. Ο αλγόριθµος ξεκινάει µε την τοπολογική ταξινόµηση του ΚΑΓ Γίνεται µια διάταξη όλων των κορυφών της τοπολογικής ταξινόµησης και χαλαρώνεται κάθε ακµή που ϕεύγει από µια κορυφή. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 39 / 52

Συντοµότερα µονοπάτια στα ΚΑΓ DAG - Shortest- Paths (G,w,s) Topological Sort (G,w,s) d[s] = 0 for each v V {s} do d[v] = αρχικοποίηση Θ(V) Analysis for each vertex u, taken in topological order do for each vertex v Adj[u] do if d[v] > d[u]+w(u, v) then d[v] d[u]+w(u, v) E times Θ(V+E) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 40 / 52

Theorem Μετά το τέλος της εκτέλεσης DAG -Shortest -Paths (G,w,s) ισχύει για όλα τα v V ότι d[v] = δ(s, v). Απόδειξη Εστω p : v 0 v 1 v k, όπου v 0 = s και v k = v είναι το συντοµότερο µονοπάτι. Λόγω του ότι χρησιµοποιείται τοπολογική ταξινόµηση, οι ακµές του p χαλαρώνουν µε την εξής διάταξη Από το Λήµµα 3 προκύπτει ότι για i = 0, 1,..., k. (v 0, v 1 ),(v 1, v 2 ),...,(v k 1, v k ). d[v i ] = δ(s, v i ) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 41 / 52

6 1 r s t x y z 5 2 7-1 -2 0 3 4 2 (α) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 42 / 52

6 1 r s t x y z 5 2 7-1 -2 0 3 4 2 (β) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 43 / 52

6 1 r s t x y z 5 2 7-1 -2 0 2 6 3 4 2 (γ) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 44 / 52

6 1 r s t x y z 5 2 7-1 -2 0 2 6 6 4 3 4 2 (δ) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 45 / 52

6 1 r s t x y z 5 2 7-1 -2 0 2 6 5 4 3 4 (ǫ) 2 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 46 / 52

6 1 r s t x y z 5 2 7-1 -2 0 2 6 5 4 3 4 2 (στ) Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 47 / 52

6 1 r s t x y z 5 2 7-1 -2 0 2 6 5 4 3 4 (ζ) 2 Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 48 / 52

Σηµειώµατα Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 49 / 52

Σηµείωµα Αναφοράς Copyright Εθνικόν και Καποδιστριακόν Πανεπιστήµιον Αθηνών 2015, Νικόλαος Μισυρλής, Αλγόριθµοι και Πολύπλοκότητα. Ενότητα 3 - Αλγόριθµοι Γραφηµάτων Εκδοση:1.01. Αθήνα 2015. ιαθέσιµο από τη δικτυακή διεύθυνση:http://opencourses.uoa.gr/courses/di13/. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 50 / 52

Σηµείωµα Αδειοδότησης Το παρόν υλικό διατίθεται µε τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εµπορική Χρήση Παρόµοια ιανοµή 4.0 [1] ή µεταγενέστερη, ιεθνής Εκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. ϕωτογραφίες, διαγράµµατα κ.λ.π., τα οποία εµπεριέχονται σε αυτό και τα οποία αναφέρονται µαζί µε τους όρους χρήσης τους στο «Σηµείωµα Χρήσης Εργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εµπορική ορίζεται η χρήση: που δεν περιλαµβάνει άµεσο ή έµµεσο οικονοµικό όφελος από την χρήση του έργου, για το διανοµέα του έργου και αδειοδόχο που δεν περιλαµβάνει οικονοµική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προορίζει στο διανοµέα του έργου και αδειοδόχο έµµεσο οικονοµικό όφελος (π.χ. διαφηµίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος µπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιµοποιεί το έργο για εµπορική χρήση, εφόσον αυτό του Ϲητηθεί. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 51 / 52

ιατήρηση Σηµειωµάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού ϑα πρέπει να συµπεριλαµβάνει: το Σηµείωµα Αναφοράς το Σηµείωµα Αδειοδότησης τη δήλωση ιατήρησης Σηµειωµάτων το Σηµείωµα Χρήσης Εργων Τρίτων (εφόσον υπάρχει) µαζί µε τους συνοδευόµενους υπερσυνδέσµους. Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Bellman Ford 52 / 52