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

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

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

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

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

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

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

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

Βασικές Έννοιες Θεωρίας Γραφημάτων

Βασικές Έννοιες Θεωρίας Γραφημάτων

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Μέγιστη Ροή Ελάχιστη Τομή

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

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

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

Μέγιστη Ροή Ελάχιστη Τομή

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

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

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

Θεωρία Γραφημάτων 5η Διάλεξη

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

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

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

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

Ουρά Προτεραιότητας: Heap

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

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

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

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

Θεωρία Γραφημάτων 5η Διάλεξη

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο

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

d(v) = 3 S. q(g \ S) S

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

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

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k

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

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

Ουρά Προτεραιότητας: Heap

Ουρά Προτεραιότητας: Heap

Ουρά Προτεραιότητας: Heap

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

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

Θεωρία Γραφημάτων 6η Διάλεξη

... a b c d. b d a c

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

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

E(G) 2(k 1) = 2k 3.

Ασκήσεις στους Γράφους. 2 ο Σετ Ασκήσεων. Δέντρα

Επαγωγή και αναδρομή για άκυκλα συνεκτικά γραφήματα

ΔΕΝΔΡΙΚΑ ΓΡΑΦΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 3

Θεωρία Γραφημάτων 4η Διάλεξη

z 1 E(G) 2(k 1) = 2k 3. x z 2 H 1 H 2

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

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

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

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Φεβρουάριος 2017

Προσεγγιστικοί Αλγόριθμοι βασισμένοι σε Γραμμικό Προγραμματισμό

Πιθανοτικοί Αλγόριθμοι

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Σεπτέμβριος 2017

q(g \ S ) = q(g \ S) S + d = S.

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

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

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

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

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

Δοµές Δεδοµένων. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Ουρές Προτεραιότητας 2

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

Θεωρία Γραφημάτων 11η Διάλεξη

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a.

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

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3.

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

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

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

Transcript:

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

Ελάχιστο Συνδετικό έντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος υπογραφήματος Ζητούμενο: ελάχιστου βάρους συνεκτικό υπογράφημα που καλύπτει όλες τις κορυφές. Συνεκτικό (εξ ορισμού) + ακυκλικό (ελάχιστο) έντρο. Minimum Spanning Tree (MST, ΕΣ ). Πρόβλημα συνδυαστ. βελτιστοποίησης με πολλές και σημαντικές εφαρμογές. Σχεδιασμός συνδετικού δικτύου (οδικού, τηλεπ/κου, ηλεκτρικού) με ελάχιστο κόστος. 5 1 4 4 10 2 3 5 6 8 6 10 3 5 5 12 2 4 6 7 7 8 9 1 5 Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 2

έντρα: Βασικές Ιδιότητες έντρο: συνεκτικό και ακυκλικό γράφημα. Για κάθε απλό μη-κατευθ. γράφημα T(V, E), τα παρακάτω είναι ισοδύναμα: T δέντρο. Κάθε ζευγάρι κορυφών ενώνεται με μοναδικό μονοπάτι. T συνεκτικό και E = V 1. T ακυκλικό και E = V 1. 1 T ελαχιστικά συνεκτικό. T μεγιστικά ακυκλικό. 2 3 4 5 6 7 8 9 Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 3

Τομές, Σύνολα Τομής, και ΕΣ Τομή (S, V \ S): διαμέριση κορυφών σε 2 σύνολα S, V \ S. Σύνολο τομής δ(s, V \ S): ακμές ένα άκρο στο S και άλλο άκρο στο V \ S. δ(s, V \ S): όλες οι ακμές που διασχίζουν τομή (S, V \ S). Σύνολο ακμών E διασχίζει τομή (S, V \ S) αν Ε δ(s, V \ S). (Ε)Σ ορίζεται από σύνολο ακμών (ελάχιστου) βάρους που διασχίζει όλες τις τομές. Άπληστη στρατηγική: ενόσω «αγεφύρωτη» τομή, διέσχισέ την με ακμή ελάχιστου βάρους. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 4 5 1 4 7 4 10 2 3 5 6 8 6 10 3 5 5 12 2 4 8 1 5 6 9 7

Άπληστος Αλγόριθμος για ΕΣ Έστω δάσος(σύνολο ακμών χωρίς κύκλους). Ακμή e είναι ακμή επαύξησης για αν: e διασχίζει μια τομή (S, V \ S) που δεν διασχίζει το, και e είναι ελάχιστου βάρους μεταξύ ακμών δ(s, V \ S). Ακμή επαύξησης για δάσος συνιστά άπληστη επιλογή που σε V -1 βήματα οδηγεί σε ΕΣ : Αν δάσοςκαι e ακμή επαύξησης, {e}δάσος. e δεν δημιουργεί κύκλο. Αν ΕΣ και e ακμή επαύξησης, {e} ΕΣ. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) 5 5 1 4 7 4 10 2 3 5 6 8 6 10 3 5 5 12 2 4 8 1 5 6 9 7

Άπληστος Υπολογισμός ΕΣ Έστω Τ(V, E Τ ) ΕΣ για G(V, E, w). Αφαιρώντας ακμή e από Ε Τ προκύπτουν δύο συνεκτικές συνιστώσες, έστω S και V \ S αντίστοιχα σύνολα κορυφών. G S και G V \ S αντίστοιχα επαγόμενα υπογραφήματα, και T S και T V \ S αντίστοιχα υποδέντρα. Αρχή βελτιστότητας: Τ S αποτελεί ΕΣ για G S και T V \ S αποτελεί ΕΣ για G V \ S. Ιδιότητα άπληστης επιλογής: e είναι μια ελάχιστου βάρους ακμή που διασχίζει τομή (S, V \ S). Άπληστος αλγόριθμος για ΕΣ! Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 6 5 1 4 7 4 10 2 3 5 6 8 6 10 3 5 5 12 2 4 8 1 5 6 9 7

Άπληστη Επιλογή: Ορθότητα Έστω δάσος ΕΣ και e = {u, v} ακμή επαύξησης. Τότε {e } ΕΣ. (S, V \ S) τομή που δεν διασχίζει και διασχίζει ηακμήe. e ελάχιστου βάρους μεταξύ ακμών του δ(s, V \ S). Έστω Τ ΕΣ τ.ω. Τ. Υποθέτουμε ότι Έστω p μονοπάτι u v στο Τ, και e = {x, y} ακμή Τ που διασχίζει (S, V \ S). Αφού w(e) w(e ), και το είναι ΕΣ : Έχουμε ότι Τ και e. Άρα... και Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) 7

Άπληστος Αλγόριθμος για ΕΣ Αρχικά = δάσος και υποσύνολο κάθε ΕΣ. Επαγωγικά, e ακμή επαύξησης για : { e } δάσος και υποσύνολο κάποιου ΕΣ. Όταν = V 1, δέντρο, άρα και ΕΣ. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 8

Αλγόριθμος Kruskal Υλοποίηση: κύκλος στο {e i } ελέγχεται με Union-Find. Χρόνος εκτέλεσης: Θ(mlogm). Ορθότητα: αν e i προστεθεί τότε ακμή επαύξησης για : Όχι κύκλος, άρα e i διασχίζει μια τομή που δεν διασχίζει το. Αύξουσα σειρά βάρους: e i ελάχιστου βάρους (πρώτη που ελέγχεται) από όσες ακμές διασχίζουν συγκεκριμένη τομή. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 9

Αλγόριθμος Kruskal: Παράδειγμα Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 10

Αλγόριθμος Prim: Παράδειγμα Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 11

Αλγόριθμος Prim Υλοποίηση: Ελάχιστο c[v]: ουρά προτεραιότητας. Binary heap: Θ(mlogn) Fibonacci heap: Θ(m+nlogn) Ορθότητα: {v, p[v]} αποτελεί ακμή επαύξησης: ιασχίζει τομή (S, V \ S). Ελάχιστου βάρους μεταξύ ακμών του δ(s, V \ S). Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 12

Κανόνες Σχηματισμού ΕΣ Ακμή e που για κάποια τομή (S, V \ S), αποτελεί ελάχιστου βάρους ακμή που διασχίζει τομή (S, V \ S): e ανήκει σε κάποιο ΕΣ. Γρήγορη επιλογή τέτοιων ακμών χωρίς κύκλους, και ένταξη σε ΕΣ. Ακμή e που για κάποιον κύκλο C αποτελεί μέγιστου βάρους ακμή κύκλου C: Αν βάρος e μεγαλύτερο από βάρος άλλων ακμών του C, e δεν ανήκει σε κανένα ΕΣ. Αν όλες οι ακμές του C έχουνίδιοβάρος, e δεν ανήκει σε κάποιο ΕΣ. Ενόσω υπάρχει κύκλος C, αποκλεισμός (μιας) βαρύτερης ακμής C. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 13

Αλγόριθμος Boruvka «Παράλληλη» εκδοχή γενικού άπληστου αλγόριθμου. Αρχικά κάθε κορυφή αποτελεί μία συνεκτική συνιστώσα. Φάση: ενόσω #συνεκτικών συνιστωσών > 1: Κάθε συνεκτική συνιστώσα σ επιλέγει στο ΕΣ την ελαφρύτερη ακμή με ένα άκρο στο σ (ακμή επαύξησης). Μια ακμή μπορεί να επιλεγεί και από τα δύο άκρα της. Απαραίτητη ολική διάταξη των ακμών (χωρίς ισοπαλίες), διαφορετικά μπορεί να σχηματιστούν κύκλοι. Συνεκτικές συνιστώσες ενημερώνονται με βάση ακμές που επιλέχθηκαν στην τρέχουσα φάση. Ολική διάταξη ακμών (χωρίς ισοπαλίες): υπολογίζει ΕΣ. Κάθε ακμή που επιλέγεται, αποτελεί ακμή επαύξησης: ελάχιστου βάρους ακμή που διασχίζει μία τομή. Όχι κύκλοι: μοναδική ελαφρύτερη ακμή διασχίζει κάθε τομή. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 14

Αλγόριθμος Boruvka: Παράδειγμα Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 15

Αλγόριθμος Boruvka (Ακολουθιακή) υλοποίηση σε O(m log n). Κάθε φάση σε χρόνο Ο(m) με δύο περάσματα των ακμών. 1 ο πέρασμα βρίσκει ελαφρύτερη ακμή κάθε συνιστώσας. 2 ο πέρασμα εντάσσει ελαφρύτερες ακμές στο ΕΣ και ενημερώνει / συμπτύσσει συνιστώσες (π.χ., με BFS/DFS). Σε κάθε φάση, #συνιστωσών μειώνεται στο μισό. #φάσεων = O(logn). Πολλοί σύγχρονοι αλγόριθμοι (σχεδόν) γραμμικού χρόνου βασίζονται σε ιδέα Boruvka. Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 16

Συζήτηση Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 17

Συζήτηση Ασκήσεις Έστω γράφημα G με διαφορετικά βάρη στις ακμές. Νδο κάθε ΕΣ του G περιέχει την ακμή ελάχιστου βάρους. Νδο G έχει μοναδικό ΕΣ. Αληθεύει ότι η ακμή μέγιστου βάρους δεν ανήκει στο ΕΣ ; Έστω γράφημα G με κύκλο C. Νδο η ακμή μέγιστου βάρους του C (αν είναι μοναδική) δεν ανήκει σε κανένα ΕΣ του G. Έστω T ΕΣ για γράφημα G(V, E, w). Να δείξετε ότι ΤπαραμένειΕΣ για G(V, E, w/2). Αληθεύει ότι το ΤπαραμένειΕΣ για G(V, E, w+k); Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 18

Συζήτηση Ασκήσεις (Ντετερμινιστικός) αλγόριθμος ΕΣ με χρόνο εκτέλεσης Ο(mloglogn); Υπολογισμός ΕΣ Τ υπό περιορισμούς ότι κάποιες ακμές πρέπει να (μην) ανήκουν στο Τ; Υπολογισμός Σ Τ με δεύτερο μικρότερο βάρος; Bottleneck κόστος Σ Τ: Υπολογισμός Σ με ελάχιστο bottleneck κόστος; Αλγόριθμοι & Πολυπλοκότητα (Χειμώνας 2016) Ελάχιστο Συνδετικό έντρο 19