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

Σχετικά έγγραφα
Κεφάλαιο 4. Αλγόριθµος του Dijkstra. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Κεφάλαιο 1. Πέντε Αντιπροσωπευτικά Προβλήματα. Έκδοση 1.4, 30/10/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

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

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

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

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

Κεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014

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

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

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

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

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

Κεφάλαιο 2. Η δοµή δεδοµένων Σωρός και η Ταξινόµηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.1, 12/05/2010

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

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

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

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

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

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

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

Βασικές Έννοιες Δοµών Δεδοµένων

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

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

Αλγόριθμοι Eλάχιστα μονοπάτια

Κλάσεις Πολυπλοκότητας

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

Κατανεμημένα Συστήματα Ι

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

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

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

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

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

Σειρά Προβλημάτων 5 Λύσεις

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

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

4. ΔΙΚΤΥΑ

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

Ελαφρύτατες διαδρομές

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

Περιεχόμενα. 1. Εισαγωγή: Κάποια αντιπροσωπευτικά προβλήματα Βασικά στοιχεία ανάλυσης αλγορίθμων Γραφήματα...

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

u v 4 w G 2 G 1 u v w x y z 4

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

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

Κεφάλαιο 4. Άπληστοι Αλγόριθµοι (Greedy Algorithms) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

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

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

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

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

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

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

Μετασχηματισμοί, Αναπαράσταση και Ισομορφισμός Γραφημάτων

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

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

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

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

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

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

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

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

Θεωρία και Αλγόριθμοι Γράφων

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Σχέσεις. Διμελής Σχέση. ΣτοΊδιοΣύνολο. Αναπαράσταση

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

βασικές έννοιες (τόμος Β)

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ.

Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια, κτλ.

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

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

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

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

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

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

Σειρά Προβλημάτων 1 Λύσεις

Transcript:

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

. Συντομότερες Διαδρομές σε ένα Γράφημα hore pah from Princeon CS deparmen o Einein' houe

το πρόβλημα της συντομότερης διαδρομής (hore pah problem) Ένας φοιτητής στην Ξάνθη θέλει να μετακινηθεί από την πλατεία Αντίκα στην πλατεία Μητροπόλεως έχει στη διάθεσή του χάρτη με τις αποστάσεις γειτονικών κόμβων του οδικού δικτύου της παλιάς πόλης Μπορούμε να τον βοηθήσουμε;

Συντομότερη (;) διαδρομή από την πλατεία Αντίκα στην πλατεία Μητροπόλεως

συντομότερες διαδρομές με κοινή αφετηρία (ingle-ource hore pah) Ένας αναποφάσιστος μοτοσικλετιστής θέλει να βρει επιλέξει σε ποια παραλία ή θέρετρο της Ανατολικής Μακεδονίας ή της Θράκης θα πάει έχει στη διάθεσή του χάρτη με τις αποστάσεις γειτονικών κόμβων του οδικού δικτύου χρειάζεται την ελάχιστη απόσταση (συντομότερη διαδρομή) από την Ξάνθη προς κάθε πιθανό προορισμό Μπορούμε να τον βοηθήσουμε;

πολυπλοκότητα του προβλήματος Συντομότερη διαδρομή από μία κορυφή προς μία κορυφή : Το πρόβλημα επιλύεται σε πολυωνυμικό χρόνο Και το πρόβλημα τις εύρεσης συντομότερων διαδρομών από μία κορυφή προς κάθε άλλη κορυφή επιλύεται και αυτό πολυωνυμικά (μπορείτε να σκεφτείτε μια απλή απόδειξη ;) Και το πρόβλημα τις εύρεσης συντομότερων διαδρομών για όλα τα ζεύγη κορυφών του γραφήματος (αφετηρία τερματισμός) επιλύεται και αυτό πολυωνυμικά (μπορείτε να σκεφτείτε μια απλή απόδειξη ;) ΑΝΤΙΘΕΤΑ το πρόβλημα του περιοδεύοντος πωλητή (raveling aleman problem) αν και φαίνεται να μοιάζει με το πρόβλημα συντομότερων διαδρομών είναι NP-Complee πρόβλημα και πιθανότατα δεν επιλύεται σε πολυωνυμικό χρόνο.

αλγόριθμος του Dijkra Ο αλγόριθμος του Dijkra επιλύει αποδοτικά το πρόβλημα των συντομότερων διαδρομών από μία κοινή αφετηρία σε κατευθυνόμενα γραφήματα με μη-αρνητικά βάρη στις ακμές. Είναι ένας από τους πιο κλασικούς και ευρύτατα χρησιμοποιούμενους αλγορίθμους

Το πρόβλημα των συντομότερων διαδρομών (hore pah problem) Περιγραφή του προβλήματος Κατευθυνόμενο γράφημα G = (V, E). Αφετηρία, τερματισμός. Μήκος e = το μήκος της ακμής e. Πρόβλημα συντομότερης διαδρομής (hore pah problem): εύρεση του συντομότερου κατευθυνόμενου μονοπατιού από το στο. κόστος ενός μονοπατιού = το άθροισμα των βαρών των ακμών του μονοπατιού 8 Κόστος του μονοπατιού ---- = + + + =. 8

Αλγόριθμος του Dijkra Αλγόριθμος του Dijkra. Διατηρεί ένα σύνολο S από κόμβους που έχουν εξερευνηθεί για τους οποίους έχει βρεθεί η ελάχιστη απόσταση d(u) από το στον u. Αρχικοποίησε = { }, d() =. Επέλεγε συνεχώς έναν κόμβο v που δεν έχει εξερευνηθεί και οποίος ελαχιστοποιεί ( v) min e ( u, v) : us d( u) e, πρόσθεσε τον v στο S, και θέσε d(v) = (v). συντομότερη διαδρομή προς έναν κόμβο u σε εξερευνημένο μέρος, και επιπλέον μια μεμονωμένη ακμή edge (u, v) S d(u) u e v

Αλγόριθμος του Dijkra Αλγόριθμος του Dijkra. Διατηρεί ένα σύνολο S από κόμβους που έχουν εξερευνηθεί για τους οποίους έχει βρεθεί η ελάχιστη απόσταση d(u) από το στον u. Αρχικοποίησε = { }, d() =. Επέλεγε συνεχώς έναν κόμβο v που δεν έχει εξερευνηθεί και οποίος ελαχιστοποιεί ( v) min e ( u, v) : us d( u) e, πρόσθεσε τον v στο S, και θέσε d(v) = (v). συντομότερη διαδρομή προς έναν κόμβο u σε εξερευνημένο μέρος, και επιπλέον μια μεμονωμένη ακμή edge (u, v) S d(u) u e v

Αλγόριθμος του Dijkra: Απόδειξη Ορθότητας Αναλλοίωτη συνθήκη (Invarian). Για κάθε κόμβο u S, το d(u) είναι το μήκος του συντομότερου μονοπατιού -u. Απόδειξη. (με επαγωγή στο S ) Βάση της επαγωγής: S = ισχύει προφανώς. Επαγωγική υπόθεση: Υποθέτουμε ότι ισχύει για S = k. Έστω v ο επόμενος κόμβος που προστίθεται στο S, και έστω u-v η ακμή που επιλέχθηκε. Η συντομότερη διαδρομή -u συν την ακμή (u, v) είναι ένα μονοπάτι -v pah μήκους (v). Έστω P ένα οποιοδήποτε μονοπάτι -v. Θα δούμε ότι δεν μπορεί να είναι πιο σύντομο από το (v). Έστω x-y η πρώτη ακμή στο P η οποία βγαίνει από το S, και έστω P' ένα μονοπάτι μέχρι το x. Το μονοπάτι P έχει ήδη υπερβολικό μήκος όταν βγαίνει από το σύνολο S. P P' x y (P) (P') + (x,y) d(x) + (x, y) (y) (v) μη-αρνητικά βάρη επαγωγική υπόθεση ορισμός του (y) ο Dijkra επιλέγει το v αντί του y S u v

Αλγόριθμος του Dijkra: Υλοποίηση Για κάθε κόμβο που δεν έχει εξερευνηθεί ακόμα, διατηρούμε ρητά το (v) min e (u,v) : u S d(u) e. Ο επόμενος κόμβος που επιλέγεται για εξερεύνηση = ο κόμβος με το ελάχιστο (v). Όταν εξερευνούμε τον κόμβο v, για κάθε ακμή e = (v, w) που ξεκινά από τον v, ενημερώνουμε (w) min { (w), (v) e }. Αποδοτική υλοποίηση. Διατηρούμε μια ουρά προτεραιότητας με κόμβους που δεν έχουν εξερευνηθεί, με βάση την προτεραιότητα (v). Prioriy Queue PQ Operaion Dijkra Array Binary heap d-way Heap Fib heap Iner n n log n d log d n ExracMin n n log n d log d n log n ChangeKey m log n log d n IEmpy n Toal n m log n m log m/n n m + n log n Οι χρόνοι για τις μεμονωμένες λειτουργίες είναι amorized

Επιπλέον Διαφάνειες

Edger W. Dijkra The queion of wheher compuer can hink i like he queion of wheher ubmarine can wim. Do only wha only you can do. In heir capaciy a a ool, compuer will be bu a ripple on he urface of our culure. In heir capaciy a inellecual challenge, hey are wihou preceden in he culural hiory of mankind. The ue of COBOL cripple he mind; i eaching hould, herefore, be regarded a a criminal offence. APL i a miake, carried hrough o perfecion. I i he language of he fuure for he programming echnique of he pa: i creae a new generaion of coding bum.

Παράδειγμα Αλγορίθμου Dijkra

Αλγόριθμος του Dijkra Find hore pah from o. 8

Αλγόριθμος του Dijkra S = { } PQ = {,,,,,,, } 8 diance label

Αλγόριθμος του Dijkra S = { } PQ = {,,,,,,, } delmin 8 diance label 8

Αλγόριθμος του Dijkra S = { } PQ = {,,,,,, } decreae key X X 8 diance label X

Αλγόριθμος του Dijkra S = { } PQ = {,,,,,, } X delmin X 8 diance label X

Αλγόριθμος του Dijkra S = {, } PQ = {,,,,, } X X 8 X

Αλγόριθμος του Dijkra S = {, } PQ = {,,,,, } decreae key X X X 8 X

Αλγόριθμος του Dijkra S = {, } PQ = {,,,,, } X X X delmin 8 X

Αλγόριθμος του Dijkra S = {,, } PQ = {,,,, } X X X X X 8 X

Αλγόριθμος του Dijkra S = {,, } PQ = {,,,, } X X X X X 8 X delmin

Αλγόριθμος του Dijkra S = {,,, } PQ = {,,, } X X X X X X 8 X X

Αλγόριθμος του Dijkra S = {,,, } PQ = {,,, } delmin X X X X X X 8 X X

Αλγόριθμος του Dijkra S = {,,,, } PQ = {,, } X X X X X X 8 X X X X 8

Αλγόριθμος του Dijkra S = {,,,, } PQ = {,, } X X X X 8 X X X delmin X X X

Αλγόριθμος του Dijkra S = {,,,,, } PQ = {, } X X X X X X 8 X X X X X X

Αλγόριθμος του Dijkra S = {,,,,, } PQ = {, } X X X X X X 8 X X delmin X X X X

Αλγόριθμος του Dijkra S = {,,,,,, } PQ = { } X X X X X X 8 X X X X X X

Αλγόριθμος του Dijkra S = {,,,,,, } PQ = { } X X X X X X 8 X X X delmin X X X

Αλγόριθμος του Dijkra S = {,,,,,,, } PQ = { } X X X X X X 8 X X X X X X

Αλγόριθμος του Dijkra S = {,,,,,,, } PQ = { } X X X X X X 8 X X X X X X

παράδειγμα εκτέλεσης του αλγορίθμου του Dijkra Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Συντομότερα Μονοπάτια (Shore Pah),,,, 8 8,,,,

Τα βήματα σε πίνακα (,-) (,) (,-) (,) Μ= (,) (,) (8,) {,} Μ= {,} (,) (,) Μ= {,} (,) Μ= {,} Δομές Δεδομένων και Αλγόριθμοι 8

,,,,,,, 8, 8 (,-) (,) (,-) (,) Μ= (,) (,) (8,) {,} Μ= {,} (,) (,) Μ= {,} (,) Μ= {,} Δομές Δεδομένων και Αλγόριθμοι

πηγές/αναφορές Κεφάλαιο, Σχεδίαση Αλγορίθμων, J. Kleinberg and E. Tardo, Ελληνική έκδοση από τις Εκδ. Κλειδάριθμος Κεφάλαιο, Ενότητες.8,.. και., Σχεδίαση Αλγορίθμων, J. Kleinberg and E. Tardo, Ελληνική έκδοση από τις Εκδ. Κλειδάριθμος Κεφάλαια, Εισαγωγή στους αλγόριθμους, T. Cormen, C. Leieron, R. Rive and C. Sein, Ελληνική έκδοση από τις Πανεπιστημιακές Εκδ. Κρήτης Αλγόριθμοι - Εισαγωγικά θέματα και παραδείγματα, Θ. Παπαθεοδώρου, Εκδόσεις Πανεπιστημίου Πατρών Αλγόριθμοι, Π.Μποζάνη, Εκδ. Τζιόλα, Κεφάλαιο