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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

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

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

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

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

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

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

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

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

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

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

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

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

Προσεγγιστικοί Αλγόριθμοι

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

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

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

Μοντελοποίηση προβληµάτων

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

Βασική Εφικτή Λύση. Βασική Εφικτή Λύση

Αλγόριθμοι Προσέγγισης για NP-Δύσκολα Προβλήματα

Ακέραιος Γραµµικός Προγραµµατισµός

Προσεγγιστικοί Αλγόριθμοι

Επιχειρησιακή Έρευνα Θεωρητική Θεμελίωση της Μεθόδου Simplex

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

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

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων

max c 1 x 1 + c 2 x c n x n υπό a 11 x 1 + a 12 x a 1n x n b 1 a 21 x 1 + a 22 x a 2n x n b 2 a m1 x 1 + a m2 x a mn x n b m

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

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

ΚΕΦΑΛΑΙΟ 4. Ακέραια Πολύεδρα

Θεωρία Αποφάσεων και Βελτιστοποίηση

ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΑΙ ΜΕΘΟΔΟΣ SIMPLEX, διαλ. 3. Ανωτάτη Σχολή Παιδαγωγικής και Τεχνολογικής Εκπαίδευσης 29/4/2017

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση

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

Ακέραιος Γραµµικός Προγραµµατισµός

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

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

Θεωρία Αποφάσεων και Βελτιστοποίηση

z = c 1 x 1 + c 2 x c n x n

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

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

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

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

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

υναμικός Προγραμματισμός

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

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

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

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

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

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

Θεωρία Παιγνίων και Αποφάσεων. Ενότητα 5: Εύρεση σημείων ισορροπίας σε παίγνια μηδενικού αθροίσματος. Ε. Μαρκάκης. Επικ. Καθηγητής

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

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

Επιχειρησιακή Έρευνα. Εισαγωγική Διάλεξη

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

Το µαθηµατικό µοντέλο του Υδρονοµέα

Γραμμικός Προγραμματισμός Μέθοδος Simplex

Μη Ντετερμινισμός και NP-Πληρότητα

Αριθµητική Γραµµική ΑλγεβραΚεφάλαιο 4. Αριθµητικός Υπολογισµός Ιδιοτιµών 2 Απριλίου και2015 Ιδιοδιανυσµάτων 1 / 50

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

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

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

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

για NP-Δύσκολα Προβλήματα

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

Η Μέθοδος Αναθεωρηµένης Εκχώρησης (MODI)

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

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

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

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

υναμικός Προγραμματισμός

Transcript:

Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 1 / 48

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

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

Αλγόριθµος 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) Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 4 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 5 / 48

Παράδειγµα Bellman-Ford Αρχικοποίηση Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 6 / 48

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

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 8 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 9 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 10 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 11 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 12 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 13 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 14 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 15 / 48

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

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 17 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 18 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 19 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 20 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 21 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 22 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 23 / 48

Παράδειγµα Bellman-Ford Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 24 / 48

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

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

Ορθότητα (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 ακµές. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 27 / 48

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

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

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

Λύνοντας ένα σύστηµα µε διαφορετικές συνιστώσες Γραµµικός προγραµµατισµός όπου κάθε γραµµή του 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 ) Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 31 / 48

Μη Ικανοποιήσιµοι Περιορισµοί 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 περιορισµούς. που µπορεί να ικανοποιήσει τους Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 32 / 48

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

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

Απόδειξη (συν.) Ισχυρισµός: Η ανάθεση 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 ικανοποιείται. Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 35 / 48

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 } (άσκηση) Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 36 / 48

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

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

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

Συντοµότερα µονοπάτια στα ΚΑΓ 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) Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 40 / 48

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 ) Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 30 Απριλίου 2015 41 / 48

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

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

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

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

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

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

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