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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-1

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

(CLR, κεφάλαιο 32) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Παραστάσεις πολυωνύµων Πολυωνυµική Παρεµβολή ιακριτός Μετασχηµατισµός Fourier

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler

ίκτυα Ταξινόµησης (CLR κεφάλαιο 28)

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

ΕΠΛ 232 Φροντιστήριο 2

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

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

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

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

Αριθµοθεωρητικοί Αλγόριθµοι και το. To Κρυπτοσύστηµα RSA

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

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016

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

Θέματα Εφαρμογών Βάσεων Δεδομένων: Ιδιωτικότητα Δεδομένων

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

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

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

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

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

Γεωµετρικοί Αλγόριθµοι (CLR, κεφάλαιο 35)

Διωνυµικοί Συντελεστές. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Δυναµικός Προγραµµατισµός 1

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

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

Παράλληλοι Αλγόριθµοι

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

Ασκήσεις (2) Άσκηση 1

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

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

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

6 Εφαρµογές των παραγώγων στον υπολογισµό ορίων α- προσδιόριστων µορφών - Κανόνες L Hôpital

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

QR είναι ˆx τότε x ˆx. 10 ρ. Ποιά είναι η τιµή του ρ και γιατί (σύντοµη εξήγηση). P = [X. 0, X,..., X. (n 1), X. n] a(n + 1 : 1 : 1)

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

Δυναμικός προγραμματισμός για δέντρα

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

ΑΠΑΝΤΗΣΕΙΣ. . γ) Μετατόπιση δεξιά, συνολικά µείωση της ποσότητας του Cl. . στ) Καµία µεταβολή.

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

4. Αναδροµικός τύπος Είναι ο τύπος που συσχετίζει δύο ή περισσότερους γενικούς όρους µιας ακολουθίας

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Τµήµα Επιστήµης Υπολογιστών. HY-317: Εφαρµοσµένες Στοχαστικές ιαδικασίες - Εαρινό Εξάµηνο ιδάσκων : Π.

Αλγόριθµοι Οπισθοδρόµησης

ΑΠΑΝΤΗΣΕΙΣ ÅÐÉËÏÃÇ. . γ) Μετατόπιση δεξιά, συνολικά µείωση της ποσότητας του Cl. . στ) Καµία µεταβολή.

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

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

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

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

ΑΠΑΝΤΗΣΕΙΣ. . γ) Μετατόπιση δεξιά, συνολικά µείωση της ποσότητας του Cl. . στ) Καµία µεταβολή.

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

ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

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

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑ Α Β )

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

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

Μηχανική ΙI. Μετασχηµατισµοί Legendre. της : (η γραφική της παράσταση δίνεται στο ακόλουθο σχήµα). Εάν

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

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

EΦΑΡΜΟΓΕΣ ΤΗΣ ΨΗΦΙΑΚΗΣ ΕΠΕΞΕΡΓΑΣΙΑΣ ΣΗΜΑΤΩΝ Γραµµική Εκτίµηση Τυχαίων Σηµάτων Φίλτρο Kalman

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

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

Δυναµικός Προγραµµατισµός (ΔΠ)

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

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

a 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1

I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 10 I 11

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Επιστηµονικός Υπολογισµός ΙΙ

ΘΕΩΡΙΑ ΑΠΟΘΕΜΑΤΩΝ. Ι. Προσδιοριστικά Μοντέλα αποθεµάτων

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

Το θεώρηµα αντίστροφης απεικόνισης. ) και ακόµη ότι η g f 1 1. g y

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

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

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

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

Προσεγγιστικοί αλγόριθµοι για οµαδοποίηση στοιχείων από συγκρίσεις

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Γραµµική Αλγεβρα. Ενότητα 1 : Εισαγωγή στη Γραµµική Αλγεβρα. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Εισαγωγή. Οπως είδαµε για την εκκίνηση της Simplex χρειαζόµαστε µια Αρχική Βασική Εφικτή Λύση. υϊσµός

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

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

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

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

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

ΛΙΒΑΘΙΝΟΣ ΝΙΚΟΛΑΟΣ Επιστήµη και Τεχνολογία των Υπολογιστών Α.Μ.: 403. Πρώτη Οµάδα Ασκήσεων

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

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.

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

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

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 8: Δυναμικός Προγραμματισμός. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

Transcript:

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 5) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Βραχύτερα Μονοπάτια για όλα τα Ζεύγη Λύση υναµικού Προγραµµατισµού Ο αλγόριθµος των Floyd-Warshal ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-

Βραχύτερα Μονοπάτια Με δεδοµένο ένα κατευθυνόµενο γράφο µε βάρη G=(V,E), και µια συνάρτηση βαρών w: E R, θέλουµε να βρούµε, για κάθε ζεύγος κορυφών (u, v) το βάρος του ελάχιστου µονοπατιού µεταξύ των δύο κορυφών στον G. ηλαδή, αν V =n, θέλουµε να υπολογίσουµε ένα πίνακα n n ο οποίος να περιέχει όλα τα δ(u,v). Λύση Τρέξε τον αλγόριθµο Bellman-Ford, n φορές, µια φορά για κάθε κορυφή. Πολυπλοκότητα λύσης : n Θ(n E )= Θ(n² E ) ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-

Λύση υναµικού Προγραµµατισµού Παριστάνουµε τo γράφο µε τον πίνακα βαρών W, όπου W[i]=, για κάθε i. Συµβολισµός: d[j,m] συµβολίζει το βάρος του βραχύτερου µονοπατιού από την κορυφή i στην κορυφή j το οποίο χρησιµοποιεί m ακµές. Αναδροµικός ορισµός της βέλτιστης λύσης: d[ d[, j,] =, j, m] = min αν i = j αν i { d[ k, m ] w[ k, j] } k + j m- ακµές j i ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-3

Λύση υναµικού Προγραµµατισµού Έστω D m ο πίνακας που περιέχει στη θέση D m [j] την τιµή d[j,m]. Η πιο κάτω διαδικασία υπολογίζει τον πίνακα D m, υποθέτοντας γνώση των πινάκων D m- και W. distance(m){ for(i=; i n; i++) for(j=; j n; j++) for (k=; k n; k++) d[j,m]= min(d[j,m-], d[k,m-] + w[k,j]) } Χρονική Πολυπλοκότητα της distance: Θ(n³) ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-

Λύση υναµικού Προγραµµατισµού εδοµένου ότι δεν υπάρχουν κύκλοι αρνητικού βάρους, λύση στο πρόβληµα δίνεται από τις τιµές του πίνακα D n-. Άρα θα πρέπει να εφαρµόσουµε τη διαδικασία distance, n- φορές. Σηµείωση: Ο πίνακας D µπορεί να υπολογιστεί εύκολα Συνολική χρονική πολυπλοκότητα: (n-) Θ(n³)=Θ(n ). Όχι καλύτερη από την πολυπλοκότητα της λύσης. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-5

Σχέση του προβλήµατος µε πολλαπλασιασµό πινάκων Θυµηθείτε τον ορισµό του πολλαπλασιασµού πινάκων: c Συγκρίνετέ το µε ij = k b Η τελευταία εξίσωση µπορεί να θεωρηθεί σαν ένας γενικευµένος πολλαπλασιασµός των πινάκων D m- και W για να δώσουν τον πίνακα D m, όπου οι πράξεις και +, του συνήθους πολλαπλασιασµού, έχουν αντικατασταθεί µε τις πράξεις + και min αντίστοιχα. a ik kj { d[ k, m ] w[ k, ] } d[ j, m] = min k + j ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-6

Σχέση του προβλήµατος µε πολλαπλασιασµό πινάκων Μπορούµε λοιπόν να γράψουµε D m = D m- W πράξη γενικευµένου πολλαπλασιασµού. Toουδέτερο στοιχείο του γενικευµένου πολλαπλασιασµού είναι ο πίνακας...... I =...... Παρατηρούµε ότι Ι=D!! ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-7

Βελτίωση Έχουµε λοιπόν D = D W= W D = D W = W W = W² D n- = D n- W = W n- W = W n- Άρα µε βάση αυτή την ιδέα, υπολογίζουµε τις n- γενικευµένες δυνάµεις του πίνακα W, και επιστρέφουµε σαν αποτέλεσµα τον πίνακα W n-. Χρονική πολυπλοκότητα: ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-8

Βελτίωση Μετατρέπουµε τον πιο πάνω αλγόριθµο ως εξής: Αντί να υπολογίζουµε όλες τις γενικευµένες δυνάµεις υπολογίζουµε µόνο τις γενικευµένες δυνάµεις σε δύναµη του, δηλαδή, υποθέτοντας απλοποιητικά ότι το n- είναι δύναµη του : W,W, W,..., W lg( n ) = W n χρησιµοποιώντας το γεγονός ότι W k W k = W k το οποίο ισχύει, αφού η πράξη είναι προσεταιριστική (γιατί;). Χρονική Πολυπλοκότητα: Θ(lg n) Θ(n³) = Θ(lg n n³) πλήθος των γενικευµένων τετραγωνισµών ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-9

Ο αλγόριθµος των Floyd-Warshall Χρησιµοποιεί επίσης δυναµικό προγραµµατισµό, αλλά είναι ταχύτερος κατά έναν συντελεστή lg n. Συµβολισµός: c[j,m] συµβολίζει το βάρος του βραχύτερου µονοπατιού από την κορυφή i στην κορυφή jµε ενδιάµεσες κορυφές που ανήκουν στο σύνολο {,, m}. i m m m m j Αναδροµικός ορισµός της βέλτιστης λύσης: c[ c[ j,] = w[ j] j, m] = min( c[ j, m ], c[ m, m ] + c[ m, j, m ]) ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-

Ο αλγόριθµος των Floyd-Warshall Επεξήγηση του αναδροµικού βήµατος: m c[m,m-] c[m,j,m-] i j c[j,m-] Παρατήρηση: σηµαντική διαφορά από την προηγούµενη αναδροµική σχέση είναι ότι τώρα εξετάζεται µόνο µια καινούρια κορυφή πηγαίνοντας από το c[j,m-] στο c[j,m], ενώ η προηγούµενη εξέταζε όλες τις κορυφές. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-

Ο αλγόριθµος των Floyd-Warshal Μπορούµε να υπολογίσουµε τα c[j,m] ως εξής: cost(){ for all j c[j,] = w(j); for(m=; m n; m++) for (i=; i n; i++) for (j=; j n; j++) c[j,m]= min(c[j,m-], c[m,m-]+c[m,j,m-]) } Χρονική πολυπλοκότητα: Για πυκνούς γράφους ( E = n²), o αλγόριθµος των Floyd-Warshall δίνει όλα τα βραχύτατα µονοπάτια στον ίδιο χρόνο που ο αλγόριθµος των Bellman-Ford δίνει ένα µόνο βραχύτατο µονοπάτι. ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-

ΕΠΛ 3 Αλγόριθµοι και Πολυπλοκότητα 7-3 Παράδειγµα 3 5 3 3 6 5 7 [] 3 6 5 9 C[3] 3 5 [] [] C[] 3 5 [] = = = = = C C C C