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

Σχετικά έγγραφα
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μηχανολογικό Σχέδιο Ι

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

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

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

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

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

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

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

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

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

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

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

Διδακτική της Πληροφορικής

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

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

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

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

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

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

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

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

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

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

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

Βάσεις Περιβαλλοντικών Δεδομένων

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

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

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

Εισαγωγή στη Δικτύωση Υπολογιστών

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

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

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

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

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

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

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

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

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

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

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

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

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

Τίτλος Μαθήματος: Εργαστήριο Φυσικής Ι

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 6

ΗΛΕΚΤΡΟΝΙΚΗ IΙ Ενότητα 3

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

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

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

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

Θέματα Εφαρμοσμένης. Ενότητα 14.2: Η ψήφος στα πρόσωπα. Θεόδωρος Χατζηπαντελής Τμήμα Πολιτικών Επιστημών ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Μάρκετινγκ Αγροτικών Προϊόντων

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

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

Δυναμική και Έλεγχος E-L Ηλεκτρομηχανικών Συστημάτων

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

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

Transcript:

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr

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

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

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

Πρόβλημα Συντομότερης Διαδρομής Δίκτυο συντομότερων διαδρομών. Κατευθυνόμενο γράφημα G = (V, E) Αφετηρία s, προορισμός t e (e) 0 : κόστος της ακμής e (P) = Σ e P (e) : κόστος διαδρομής P Πρόβλημα συντομότερης διαδρομής s-t : βρείτε τη συντομότερη (κατευθυνόμενη) διαδρομή από τον s στον t. Κόστος συντομότερης s-t διαδρομής δ(s,t) 9 a 23 b s 15 14 5 c 20 30 d 18 11 2 16 e 6 6 19 Κόστος διαδρομής (s,a,b,d,t) = 9 + 23 + 2 + 16 = 50 f 44 t 5

Αλγόριθμος Dijkstra Διατήρηση ετικέτας d(v), v V (απόσταση v από s) Διατήρηση συνόλων S (κόμβοι u S με d(u) = δ(s,u)) και S = V S (κόμβοι v S με d(v) δ(s,v)) Αρχικά S = Ø, S = V, d(s) = 0. Επαναληπτικά, διάλεξε τον κόμβο v S με την ελάχιστη προσωρινή ετικέτα d(v), διέγραψε τον από το S και πρόσθεσέ τον στο S (v,z) E: if d(z) > d(v) + (v,z) then d(z) = d(v) + (v,z) 6

Συντομότερες Διαδρομές Άσκηση 1: Στο παρακάτω κατευθυνόμενο γράφημα να βρείτε αποστάσεις (κόστη συντομότερων διαδρομών) από την κορυφή s προς όλες τις υπόλοιπες κορυφές εφαρμόζοντας τον αλγόριθμο του Dijkstra. Η απάντησή σας πρέπει να περιλαμβάνει ένα πίνακα συμπληρώνοντας: α) τις κορυφές με την σειρά κατά την οποία οριστικοποιούνται («μονιμοποιούνται») από τον αλγόριθμο και (β) τις προσωρινές τιμές του d(u) κάθε κορυφής μέχρι την οριστικοποίησή τους. 10 s 150 x 20 y 70 50 120 30 20 w 25 t 60 z 45 7 35 70 80 5 p 25 q 55 r 7

Συντομότερες Διαδρομές Άσκηση 2: Στο παρακάτω κατευθυνόμενο γράφημα να βρείτε αποστάσεις (κόστη συντομότερων διαδρομών) από την κορυφή s προς όλες τις υπόλοιπες κορυφές εφαρμόζοντας τον αλγόριθμο του Dijkstra. Η απάντησή σας πρέπει να περιλαμβάνει ένα πίνακα συμπληρώνοντας: α) τις κορυφές με την σειρά κατά την οποία οριστικοποιούνται («μονιμοποιούνται») από τον αλγόριθμο και (β) τις προσωρινές τιμές του d(u) κάθε κορυφής μέχρι την οριστικοποίησή τους. a 5 d 10 40 20 10 20 s 80 b 5 e 10 t 100 c 10 40 8

Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων 9

Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων Πρόβλημα σταθμισμένου χρονοπρογραμματισμού διαστημάτων. Σύνολο αιτημάτων ή εργασιών {1,, n} Το αίτημα j ξεκινά την στιγμή s j, τελειώνει την στιγμή f j, και έχει βαρύτητα w j Δύο αιτήματα είναι συμβατά αν δεν επικαλύπτονται. Στόχος: εύρεση υποσυνόλου S {1,, n} συμβατών αιτημάτων μέγιστης βαρύτητας Σ i S w i. 1, w 1 = 2 2, w 2 = 4 3, w 3 = 2 4, w 4 = 3 5, w 5 = 7 6, w 6 = 1 7, w 7 = 5 8, w 8 = 4 0 1 2 3 4 5 6 7 8 9 10 11 Χρόνος 10

Δυναμικός Προγραμματισμός: Δυαδική επιλογή OPT(j) = τιμή της βέλτιστης λύσης προβλήματος αποτελούμενο από αιτήματα 1, 2,..., j Περίπτωση 1: Η OPT(j) επιλέγει το αίτημα j, με βαρύτητα v j Δεν μπορούν να χρησιμοποιηθούν τα ασύμβατα αιτήματα { p(j) + 1, p(j) + 2,..., j - 1 } Πρέπει να περιέχει την βέλτιστη λύση OPT(p(j)) στο πρόβλημα που αποτελείται από τα συμβατά αιτήματα {1, 2,..., p(j)} που έχουν απομείνει Περίπτωση 2: Η OPT(j) δεν επιλέγει το αίτημα j Βέλτιστο υποπρόβλημα Πρέπει να περιέχει την βέλτιστη λύση OPT(j 1) στο πρόβλημα που αποτελείται από τα συμβατά αιτήματα {1, 2,..., j-1} που έχουν απομείνει OPT ( j) 0 max v j OPT ( p( j)), OPT ( j 1) αν j 0 αλλιώς 11

Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων Απομνημόνευση Απομνημόνευση. Αποθήκευσε τα αποτελέσματα κάθε υποπροβλήματος σε μια καθολικά προσπελάσιμη θέση μνήμης. Αναζήτηση όποτε χρειαστεί. Είσοδος: n, s 1,,s n, f 1,,f n, v 1,,v n Ταξινόμησε τα αιτήματα κατά χρόνο λήξης, έτσι ώστε f 1 f 2... f n Υπολόγισε p(1), p(2),, p(n) for j = 1 to n M[j] = empty M[0] = 0 M-Compute-Opt(n) Καθολικός πίνακας απομνημόνευσης M-Compute-Opt(j) { if (M[j] is empty) M[j] = max{v j + M-Compute-Opt(p(j)), M-Compute-Opt(j-1)} return M[j] } 12

Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων Εύρεση Λύσης Ερ. Ο αλγόριθμος βρίσκει τη βέλτιστη τιμή. Τι γίνεται αν θέλουμε την ίδια την λύση ; Απ. Εκτελούμε ένα επιπλέον βήμα μετεπεξεργασίας του M, «ινχηλατώντας» τη λύση Run M-Compute-Opt(n) Run Find-Solution(n) Find-Solution(j) { if (j = 0) μην εκτυπώσεις τίποτα else if (v j + M[p(j)] > M[j-1]) εκτύπωσε το j Find-Solution(p(j)) else Find-Solution(j-1) } # επαναληπτικών κλήσεων n O(n). 13

Άσκηση 3: Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων Βρείτε ένα σύνολο μη επικαλυπτόμενων αιτημάτων από το παρακάτω διάγραμμα, έτσι ώστε να μεγιστοποιείται το συνολικό βάρος. Δείκτης 1 2 3 4 5 6 w 1 = 2 w 2 = 4 w 3 = 4 w 4 = 7 w 5 = 2 w 6 = 1 14

Τέλος Φροντιστηρίου 15

Σημείωμα Ιστορικού Εκδόσεων Έργου Το παρόν έργο αποτελεί την έκδοση 1.0. 16

Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Πατρών, Χρήστος Ζαρολιάγκης, 2014. «Εισαγωγή στους Αλγορίθμους». Έκδοση: 1.0. Πάτρα 2014. Διαθέσιμο από τη δικτυακή διεύθυνση: https://eclass.upatras.gr/courses/ceid1083 17

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση, Όχι Παράγωγα Έργα 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό. [1] http://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 18

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς το Σημείωμα Αδειοδότησης τη δήλωση Διατήρησης Σημειωμάτων το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει) μαζί με τους συνοδευόμενους υπερσυνδέσμους. 19