Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Διακριτά Μαθηματικά ΙI Δέντρα
Advertisements

Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αλγόριθμοι και Πολυπλοκότητα
11-1 ΜΑΘΗΜΑ 12 ο Γράφοι, Διάσχιση Γράφων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Δυναμικός Προγραμματισμός
Προσεγγιστικοί Αλγόριθμοι
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Γράφοι: Προβλήματα και Αλγόριθμοι
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Διαίρει και Βασίλευε γνωστότερη Η γνωστότερη μέθοδος σχεδιασμού αλγορίθμων: Διαιρούμε.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 9: Αντιστοιχίσεις και καλύμματα Data Engineering Lab.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Ουρά Προτεραιότητας: Heap
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Τμ. Πληροφορικής,
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς.
Συντομότερες Διαδρομές
Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Eξάμηνο 4ο1 Μείωσε και Βασίλευε Μειώνουμε το στιγμιότυπο του προβλήματος σε ένα μικρότερο στιγμιότυπο.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής,
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Παρασκευή, 3 Απριλίου 2015Τμ.
Ελάχιστο Συνδετικό Δέντρο
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 2: Μονοπάτια και Κύκλοι (Hamilton) Data Engineering Lab.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Υπολογιστική Πολυπλοκότητα Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αναζήτηση Κατά Βάθος Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
1 Κατανεμημένοι αλγόριθμοι για την εύρεση γεννητικών δέντρων (spanning trees) 1.Ένας σταθερός κόμβος στέλνει ένα ‘start’ μήνυμα σε κάθε γειτονική του ακμή.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τετάρτη, 15 Απριλίου 2015Τμ.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 4 Δ ΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 1.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Δένδρα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ1 Δομές Δεδομένων - DFS σε κατευθυνόμενο γράφο - Ελάχιστα Μονοπάτια - Τοπολογική Ταξινόμηση - Eλάχιστα Ζευγνύοντα.
Data Engineering Lab Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα 1.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΤΕΙ Αθήνας: Σχολή ΤΕΦ: Τμήμα Ναυπηγικής Εφαρμογές Η/Υ στην Ναυπηγική ΙΙ ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ NA0703C39 Εξάμηνο Ζ’ Διδάσκων Κωνσταντίνος Β. Κώστας Παρουσίαση.
Άπληστοι Αλγόριθμοι. Ο Γιωρίκας, ο Κωστίκας και ο Πανίκας Σελ. 220 Kleinberg-Tardos 2.
Θεωρία & Αλγόριθμοι Γράφων Θεωρία & Αλγόριθμοι Γράφων Εφαρμογές DFS Data Science Lab 1.
Minimum Spanning Trees1 “Ελάχιστα” συνδετικά δέντρα JFK BOS MIA ORD LAX DFW SFO BWI PVD
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Θεωρία & Αλγόριθμοι Γράφων
Διερεύνηση γραφήματος
Δένδρα Δένδρο είναι ένα συνεκτικό άκυκλο γράφημα. Δένδρο Δένδρο Δένδρο
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Κεφάλαιο 9ο
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο
Θεωρία & Αλγόριθμοι Γράφων Αποστάσεις
Συντομότερα Μονοπάτια
Δυναμικός Προγραμματισμός
Ελαφρύτατες διαδρομές
ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΓΡΑΦΗΜΑΤΩΝ II
Αναζήτηση (Εξερεύνηση) Πρώτα σε Πλάτος
Μεταγράφημα παρουσίασης:

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών που είναι: b b εφικτές b b τοπικά βέλτιστες b b αμετάκλητες ΔΕΝ λύνονται όλα τα προβλήματα βελτιστο- ποίησης με αυτόν τον τρόπο

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο2 Εφαρμογή της άπληστης στρατηγικής b Βέλτιστες λύσεις: Υπολογισμός για ρέστα Ελάχιστα ζευγνύοντα δένδρα (MST) Ελάχιστα μονοπάτια (one-to-all) Απλά προβλήματα δρομολόγησης Κώδικες Huffman b Προσεγγίσεις: Πρόβλημα περιοδεύοντας πωλητή (TSP) Πρόβλημα σάκου Άλλα προβλήματα συνδυαστικής βελτιστοποίησης

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο3 Ελάχιστα ζευγνύοντα δένδρα (MST) b Ζευγνύον δένδρο b Ζευγνύον δένδρο ενός συνεκτικού γράφου G είναι ένας συνεκτικός ακυκλος υπογράφος του G που αποτελείται από όλες τις κορυφές του G b Ελάχιστο ζευγνύον δένδρο b Ελάχιστο ζευγνύον δένδρο ενός ζυγισμένου συνεκτικού γράφου G είναι το ζευγνύον δένδρο του G με το ελάχιστο συνολικό βάρος b b Παράδειγμα:

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο4 Αλγόριθμος του Prim b b Αρχικά το δένδρο αποτελείται από ένα κόμβο b b Το δένδρο μεγαλώνει κατά μια κορυφή/ακμή κάθε φορά για να προκύψει το MST Δημιουργείται μια σειρά μεγαλύτερων δένδρων T 1, T 2, … b b Σε κάθε στάδιο το δένδρο T i+1 κατασκευάζεται από το T i : προστίθεται η ακμή με το ελάχιστο βάρος, η οποία συνδέει μια κορυφή του δένδρου T i με κάποια που δεν ανήκει στο T i αυτό είναι το άπληστο βήμαΕπιλέγουμε από τις ακμές του κρασπέδου (fringe) – αυτό είναι το άπληστο βήμα b b Ο αλγόριθμος σταματά όταν έχουν επιλεγεί όλες οι κορυφές

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο5 Παραδείγματα: a edc b

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο6 Κώδικας αλγορίθμου Prim Algorithm Prim(G) V T  {v 0 } E T  {} for i  1 to |V|-1 do find a minimum weight edge e*=(v*,u*) among the edges (v,u) such that vЄV T and uЄ(V-V T ) V T  V T ∪ {u*} E T  E T ∪ {e*} return E T

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο7 Σχετικά με τον αλγόριθμο του Prim b b Πρέπει να αποδειχθεί ότι πράγματι ο αλγόριθμος δίνει το MST b b Χρειάζεται μια ουρά προτεραιότητας για να βρούμε την ακμή με το ελάχιστο βάρος: χρησιμοποιούμε ένα min-heap b b Αποτελεσματικότητα: για γράφο με n κορυφές και m ακμές: (n–1+m) log n b b Συνεπώς: Θ(m log n) number of stages (min-heap deletions) number of edges considered (min-heap insertions) insertion/deletion from min-heap

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο8 Αλγόριθμος του Kruskal b b Αρχίζουμε με ένα κενό δάσος από δένδρα b b Μεγαλώνουμε το MST με μια ακμή κάθε φορά στα ενδιάμεσα στάδια συνήθως έχουμε ένα δάσος από δένδρα (μη συνδεδεμένα) b b Σε κάθε στάδιο προσθέτουμε μια ακμή με ελάχιστο βάρος από αυτές που δεν έχουν χρησιμοποιηθεί και δεν δημιουργούν κύκλο Αρχικά οι κορυφές ταξινομούνται κατά αύξον βάρος Σε κάθε στάδιο η ακμή μπορεί να: – –Να επεκτείνει ένα υπάρχον δένδρο – –Να συνδυάσει δυο δένδρα σε ένα – –Να δημιουργήσει ένα νέο δένδρο Χρειάζεται ένας αποτελεσματικός τρόπος διαπίστωσης κύκλων b b Ο αλγόριθμος τερματίζει όταν επιλεγούν όλες οι κορυφές

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

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο10 Κώδικας αλγορίθμου του Kruskal Algorithm Kruskal(G) Sort E in nondecreasing order of the weights E T  { }; k  0; ecounter  0 while ecounter < |V|-1 k  k+1 if E T ∪ {e ik } is acyclic E T  E T ∪ {e ik } ecounter  ecounter+1 return E T

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο11 b b Ο αλγόριθμος φαίνεται ευκολότερος από του Prim αλλά είναι: Δυσκολότερος στην υλοποίηση (έλεγχος κύκλων) Λιγότερο αποτελεσματικός Θ(m log m) b Έλεγχος κύκλων b Έλεγχος κύκλων: ένας κύκλος υφίσταται αν και μόνο αν μια ακμή συνδέει κορυφές της ίδιας συνιστώσας b ένωσης-εύρεσης b Αλγόριθμοι ένωσης-εύρεσης (union-find) Σχετικά με τον αλγόριθμο του Kruskal

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο12 Συντομότερα μονοπάτια - Dijkstra b b Συντομότερα μονοπάτια (one-to-all) : Δεδομένου ενός ζυγισμένου γράφου G, να βρεθούν τα συντομότερα μονοπάτια από μια κορυφή προς όλες τις άλλες b b Δεν δουλεύει με αρνητικά βάρη b b Εφαρμόζεται σε κατευθυνόμενους και μη γράφους

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο13 Ο αλγόριθμος του Dijkstra είναι παρόμοιος με του Prim, με την εξής διαφορά: Αρχικά το δένδρο έχει μια κορυφή Το δένδρο μεγαλώνει με μια κορυφή/ακμή κάθε φορά Κρατούμε το συντομότερο μονοπάτι από την πηγή προς τις κορυφές του δένδρου T i προσθέ- τουμε την ακμή (v,w) με το ελάχιστο d(s,v)+d(v,w), όπου vЄΤ i, αλλά δεν ισχύει wЄV iΣε κάθε στάδιο κατασκευάζουμε το T i+1 από το T i : προσθέ- τουμε την ακμή (v,w) με το ελάχιστο d(s,v)+d(v,w), όπου vЄΤ i, αλλά δεν ισχύει wЄV i Επιλέγουμε από τις ακμές του κρασπέδου (fringe) – αυτό είναι το άπληστο βήμα Ο αλγόριθμος τερματίζει όταν επιλεγούν όλες οι κορυφές Αλγόριθμος του Dijkstra

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

Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο15 Κώδικας αλγορίθμου του Dijkstra Algorithm Dijkstra(G,s) Initialize(Q) for every vertex v Є V do d v  ∞; p v  null; Insert(Q,v, d v ) d s  0; Decrease(Q,s,d s ); V T  0 for i  0 to |V|-1 do u*  DeleteMin(Q); V T  V T ∪ {u*} for every vertex u in V-V T that is adjacent to u* do if d u* +w(u*,u)<d u d u  d u +w(u*,u); p u  u*; Decrease(Q,u,d u ) b b Αποτελεσματικότητα