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

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

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

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

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

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

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

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

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

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

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

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

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

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

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

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

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

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

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

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

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

Μέθοδοι Βελτιστοποίησης

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

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

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

4. ΔΙΚΤΥΑ

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

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

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

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

Φροντιστήριο 11 Λύσεις

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

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

Δένδρα επικάλ επικ υψης ελάχιστου στους

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

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

Επίλυση 1 ης Εργασίας. Παραδόθηκαν: 11/12 15%

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

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

Στοιχεία Θεωρίας Γράφων (Graph Theory)

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

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

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

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

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

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

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

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

Πρόβλημα συντομότερης διαδρομής - Shortest path problem. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ

Αλγόριθμοι Δρομολόγησης. Γ. Κορμέντζας

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

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

ΑΛΓΟΡΙΘΜΙΚΕΣ ΜΕΘΟΔΟΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ

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

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

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

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

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

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

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

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

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

Δένδρα επικάλυψης ελάχιστου κόστους και το πρόβλημα του πλανόδιου πωλητή (Traveling Salesman Problem: TSP)

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

Λύσεις Σειράς Ασκήσεων 5

Αυτοματοποιημένη Επαλήθευση

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

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

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

Εκλογή αρχηγού σε σύγχρονο δακτύλιο: Οι αλγόριθμοι LCR και HS. 1 Ο αλγόριθμος LCR (Le Lann, Chang, and Roberts)

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

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

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

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

Τεχνολογία Πολυμέσων. Ενότητα # 9: Κωδικοποίηση εντροπίας Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

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

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

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

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

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

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

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

Κουτσιούμπας Αχιλλέας U. Adamy, C. Ambuehl, R. Anand, T. Erlebach

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

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

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

Ο Αλγόριθµος της Simplex

Τ Ε Ι Ιονίων Νήσων Τμήμα Εφαρμογών Πληροφορικής στη Διοίκηση και την Οικονομία. Υπεύθυνος: Δρ. Κολιός Σταύρος

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

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

Μη γράφετε στο πίσω μέρος της σελίδας

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

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

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

Transcript:

Προβλήματα βέλτιστων μονοπατιών Δρομολόγηση μιας οντότητας ανάμεσα σε δύο σημεία ενός δικτύου έτσι ώστε να ελαχιστοποιήσουμε ένα κόστος, μια διάρκεια,, κτλ. Εφαρμογές: Χρονοπρογραμματισμός (διαχείριση εργασιών, προγραμμάτων,...)

Κατευθυνόμενος γράφος Κατευθυνόμενος γράφος με βάρη: G = (X, A, W) X σύνολο n κόμβων Α σύνολο m(κατευθυνόμενων) πλευρών W(i, j) κόστος (κατευθυνόμενης) πλευράς ( x, y ) i j

Παράδειγμα: G= (X,A,W) 3 S= 3 3 3 7 8 7 3 6

Μονοπάτια Κόστος ενός μονοπατιού που συνδέει δύο κόμβους του είναι το άθροισμα των κοστών των (κατευθυνόμενων) μ πλευρών του.

Κόστος μονοπατιού S= 3 3 3 3 7 8 7. 8 κόστος 7 6 κόστος κόστος κόστος 3 6.

Τύποι Προβλημάτων Πρόβλημα Α: Δεδομένων δύο κόμβων s και t, να βρεθεί το συντομότερο μονοπάτι από τον κόμβο s προς τον κόμβο t. Πρόβλημα Β: Δεδομένου ενός κόμβου αφετηρίας s, να βρεθεί το συντομότερο μονοπάτι από το s προς κάθε άλλο κόμβο. Πρόβλημα C: Να βρεθεί το συντομότερο Πρόβλημα C: Να βρεθεί το συντομότερο μονοπάτι ανάμεσα σε κάθε ζευγάρι κόμβων.

Αλγόριθμοι με οριστικοποίηση ετικετών (Greedy για πρόβλημα Β) Γράφος G=(Χ, A, w), Χ = n, A = m και w(i,j) 0 (,j) Για κάθε κόμβο x : V[x], τιμή του συντομότερου μονοπατιού από τον κόμβο αφετηρία s προς τον κόμβο x. Διατήρηση για κάθε κόμβο x προσπελάσιμο ξεκινώντας από τον κόμβο s : P[x]. Σ άθ άλ έ ό β δέ ή Σε κάθε επανάληψη, ένας κόμβος x δέχεται την οριστική του ετικέτα (θα λέμε ότι είναι φιξαρισμένος). Ένας πίνακας FIXE[ ] θα δείχνει τους φιξαρισμένους κόμβους.

παράδειγμα (P[x], V[x]) ) (,0) S= 3 Πατέρας Αρχικοποίηση Τιμή 3 3 3 7 8 7 3 6

(,0) S= 3 Αρχικοποίηση 3 3 Βήμα επέλεξε κόμβο 3 7 8 7 3 ) 6 NOT FIXED

(P[x], V[x]) (,0) S= (,) ) 3 Αρχικοποίηση 3 3 Βήμα επέλεξε κόμβο (ενημέρωση γειτόνων) 3 7 8 7 (,) 3 6 ) NOT FIXED

FIXED (,0) S= (,) ) 3 Αρχικοποίηση 3 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο 3 7 8 7 3 ) 6

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο 3 (,) 7 8 (ενημέρωση γειτόνων του ) 7 (,) 3 6 )

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο 3 Βήμα 3 επέλεξε κόμβο 3 (,) 7 8 7 (,) 3 6 ) NOT FIXED

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο 3 Βήμα 3 επέλεξε κόμβο 3 (,) 7 8 (ενημέρωση γειτόνων του 3) 7 (,) (3,) 3 6 ) NOT FIXED

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 (,) 3 7 8 7 (,) (3,) 3 6 ) Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο NOT FIXED

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 (,) (, 7) 3 7 8 7 (,) (3,) 3 6 ) Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο (ενημέρωση γειτόνων του ) NOT FIXED

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 (,) (, 7) 3 7 8 7 (,) (3,) 3 6 ) Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο NOT FIXED

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 (,) (, 7) 3 7 8 7 (,) (3,) 3 6 ) Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο (ενημέρωση γειτόνων του ) NOT FIXED

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 (,) (, 7) 3 7 8 7 (,) (3,) 3 6 ) Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 6 επέλεξε κόμβο 6 NOT FIXED

FIXED (,0) S= (,) ) 3 (,) Αρχικοποίηση 3 3 (6, 6) (6, 8) (, 7) 3 (,) 7 8 7 (,) (3,) 3 6 ) Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 6 επέλεξε κόμβο 6 (ενημέρωση γειτόνων του 6) NOT FIXED

FIXED (,0) S= (,) ) 3 (,) 3 3 (6, 6) (6, 8) (, 7) 3 (,) 7 8 7 (,) (3,) 3 6 ) Αρχικοποίηση Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 6 επέλεξε κόμβο 6 Βήμα 7 επέλεξε κόμβο 7 NOT FIXED

FIXED (,0) S= (,) ) 3 (,) 3 3 (7, 7) (6, 6) (6, 8) (, 7) 3 (,) 7 8 7 (,) (3,) 3 6 ) Αρχικοποίηση Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 6 επέλεξε κόμβο 6 Βήμα 7 επέλεξε κόμβο 7 (ενημέρωση γειτόνων του 7) NOT FIXED

FIXED (,0) S= (,) ) 3 (,) 3 3 (7, 7) (6, 6) (6, 8) (, 7) 3 (,) 7 8 7 (,) (3,) 3 6 ) Αρχικοποίηση Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 3 επέλεξε κόμβο 3 Βήμα επέλεξε κόμβο Βήμα επέλεξε κόμβο Βήμα 6 επέλεξε κόμβο 6 Βήμα 7 επέλεξε κόμβο 7 Βήμα 8 επέλεξε κόμβο 8

(,0) S= 3 (, ) (, ) 3 3 (, ) 3 (6, 6) (7, 7) 7 8 7 3 (, ) 6 (3, ) Κόμβος : P[]=, P[]=, P[]=. Μονοπάτι: Κατευθυνόμενο δέντρο ελάχιστων μονοπατιών

Αρχικοποίησε τον πίνακα V με --#-- P με 0 --#-- FIXE σε False Θέσε V[S] = 0 και P[S] = Repeat --- --- Until {x V[x] < and x ΜΗ φιξαρισμένος} = Ø

Repeat Επέλεξε ένα κόμβο x ΜΗ φιξαρισμένο και με ελάχιστο V[x] ΑN V[x] < ΤΟΤΕ Φίξαρε x Για κάθε y επόμενο του x και ΜΗ φιξαρισμένο An V[y] > V[x] + W(x,y) ΤΟΤΕ V[y] = V[x] + W(x,y) Θέσε P[y] = x /*απομνημόνευσε ότι ερχόμαστε στο y απο τον x */ Until {x V[x] < and x ΜΗ φιξαρισμένος} = Ø

Ορθότητα αλγορίθμου Dijkstra FIXED x t W xy W tz y V(y) W zy z V(z) G NOT FIXED V[z] V[y]

Ορθότητα αλγορίθμου Dijkstra FIXED x t W xy W tz y V(y) W zy z V(z) G NOT FIXED [ ] V [ z ] [ ] [ ] [ ] V y Vz+ W < Vy Vz zy W 0 zy ΑΔΥΝΑΤΟ

Αρνητικά βάρη (κόστος = 3) 3 (κόστος = ) - 3 -

- (, 0) 3 -

- (, 0) (, -) (, ) 3 -

- (, 0) (, -) (, ) 3 (, 3) -

- (, 0) (, -) (, ) 3 (, 3) -

- (, 0) (, -) (, ) 3 (, 3) -

- (, 0) (, -) (, ) 3 (, 3) - Αποτέλεσμα λάθος

Αρνητικά βάρη (Dijkstra) - (, 0) (, -) (, ) ) 3 (, 3) αποτέλεσμα λάθος - - 3 - αποτέλεσμα ορθό

Αρνητικά βάρη 00 - - - 3 Επιδιόρθωση είναι εφικτή?

Αρνητικά βάρη 00+00 99 99 99 3 Πρόσθεση ενός μεγάλου αριθμού δεν επιδιορθώνει το πρόβλημα!