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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογίες Υλοποίησης Αλγορίθµων

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

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

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

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

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

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

Ελάχιστα Γεννητορικά ένδρα

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

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

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

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

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

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

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

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

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

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

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

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

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

Κεφάλαιο 1. Εισαγωγή: Κάποια Αντιπροσωπευτικά Προβλήµατα. Έκδοση 1.3, 29/02/2012. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

4. ΔΙΚΤΥΑ

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

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

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

Στοιχεία Θεωρίας Γραφηµάτων (1)

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

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

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

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

Υπολογιστικό Πρόβληµα

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

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

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

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

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

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

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 3

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

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

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

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

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

Δοµές Δεδοµένων. 2η Διάλεξη Αλγόριθµοι Ένωσης-Εύρεσης (Union-Find) Ε. Μαρκάκης. Βασίζεται στις διαφάνειες των R. Sedgewick K.

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

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). Αφετηρία, τερµατισµός. Μήκος l e = το µήκος της ακµής e. Πρόβληµα συντοµότερης διαδροµής (hore pah problem): εύρεση του συντοµότερου κατευθυνόµενου µονοπατιού από το στο. κόστος ενός µονοπατιού = το άθροισµα των βαρών των ακµών του µονοπατιού 8 Κόστος του µονοπατιού ---- = + + + = 8. 8

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

Αλγόριθµος του Dijkra Αλγόριθµος του Dijkra. Διατηρεί ένα σύνολο S από κόµβους που έχουν εξερευνηθεί για τους οποίους έχει βρεθεί η ελάχιστη απόσταση d(u) από το στον u. Αρχικοποίησε = { }, d() =. Επέλεγε συνεχώς έναν κόµβο v που δεν έχει εξερευνηθεί και οποίος ελαχιστοποιεί π ( v) = min e = ( u, v) : u S d( u) + l e, πρόσθεσε τον v στο S, και θέσε d(v) = π(v). συντοµότερη διαδροµή προς έναν κόµβο u σε εξερευνηµένο µέρος, και επιπλέον µια µεµονωµένη ακµή edge (u, v) S d(u) u l 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 l (P) l (P') + l (x,y) d(x) + l (x, y) π(y) π(v) µη-αρνητικά βάρη επαγωγική υπόθεση ορισµός του π(y) ο Dijkra επιλέγει το v αντί του y S u v

Αλγόριθµος του Dijkra: Υλοποίηση Για κάθε κόµβο που δεν έχει εξερευνηθεί ακόµα, διατηρούµε ρητά το π(v)= min e=(u,v) : u S d(u)+ l e. Ο επόµενος κόµβος που επιλέγεται για εξερεύνηση = ο κόµβος µε το ελάχιστο π(v). Όταν εξερευνούµε τον κόµβο v, για κάθε ακµή e = (v, w) που ξεκινά από τον v, ενηµερώνουµε π (w)=min { π(w), π(v)+l 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθµος του Dijkra S = {,,,,,,, } PQ = { } X X X X 8 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, Ελληνική έκδοση από τις Πανεπιστηµιακές Εκδ. Κρήτης Αλγόριθµοι - Εισαγωγικά θέµατα και παραδείγµατα, Θ. Παπαθεοδώρου, Εκδόσεις Πανεπιστηµίου Πατρών Αλγόριθµοι, Π.Μποζάνη, Εκδ. Τζιόλα, Κεφάλαιο