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



Σχετικά έγγραφα
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

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

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

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

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

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

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

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

Δένδρα. συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

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

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

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

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

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

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

e 2 S F = [V (H), V (H)]. 3-1 e 1 e 3

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

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

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

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

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

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

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

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

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

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

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

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

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

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

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

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

ΘΕΩΡΙΑ ΓΡΑΦΩΝ. 7 η Διάλεξη Συνεκτικότητα (Συνδεσμικότητα) Βασικές έννοιες και ιδιότητες Το θεώρημα του Merger Ισομορφισμός

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

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

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

Επίπεδα Γραφήματα (planar graphs)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

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

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

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

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

Αλγόριθμος Kruskal Δέντρα Επικάλυψης Ελάχιστου Κόστους

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

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

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

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

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

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

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

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

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

1. Σε ένα τουρνουά με 8 παίκτες μπορεί οι παίκτες να συμμετείχαν σε: 6,5,4,4,4,3,1,1 αγώνες αντίστοιχα;

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

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

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

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

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

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

2 ) d i = 2e 28, i=1. a b c

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

Μια Επισκόπηση της Ύλης & Μερικές Οδηγίες

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

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

Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Δένδρα. συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Διάλεξη 7: X Y Σχήμα 7.2: Παράδειγμα για το Πόρισμα 7.2, όπου: 1 = {1, 2, 5}, 2 = {1, 2, 3}, 3 = {4}, 4 = {1, 3, 4}. Θ

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

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

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

Minimum Spanning Tree: Prim's Algorithm

Διάλεξη 3: Σχήμα 3.3: Το σύνολο των κόκκινων ακμών είναι ακμοδιαχωριστής αλλά όχι τομή. Το σύνολο ακμών {1, 2, 3} είναι τομή. Από

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

Transcript:

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #7: Ελάχιστα Επικαλυπτικά Δένδρα, Αλγόριθμος Kruskal, Δομές Union-Find Άσκηση # 0 5 0 0 0 5 5 7 6 5 6 Έστω το παραπάνω μη κατευθυνόμενο βεβαρημένο συνεκτικό γράφημα G=(V,E,w). Να δείξετε το ελάχιστο επικαλυπτικό δένδρο (Minimum Spanning Tree MST) που προκύπτει μετά την εφαρμογή του αλγορίθμου Kruskal. Σε περιπτώσεις που υπάρχουν παραπάνω από μια επιλογές, προκρίνεται εκείνη η ακμή που ενώνει κορυφές με το μικρότερο άθροισμα. Υπόδειξη: Η κεντρική φιλοσοφία του αλγορίθμου Kruskal συμπυκνώνεται στα ακόλουθα βήματα (για μια αναλυτική παρουσίαση, δείτε τη σχετική διάλεξη). Ο αλγόριθμος του Kruskal εξετάζει τις ακμές σε αύξουσα σειρά βάρους. Σε κάθε βήμα του αλγορίθμου, εξετάζεται η ακμή με το μικρότερο βάρος (που δεν έχει ήδη εξεταστεί) και προστίθεται στο MST εφόσον πληροί το cut property (δηλαδή δε δημιουργεί κύκλο με τις ακμές που έχουν ήδη προστεθεί στο MST). Η διαδικασία ολοκληρώνεται όταν προστεθούν V - ακμές. Αλγόριθμος Kruskal ο βήμα: Προσθήκη της ακμής (5,6) που έχει βάρος ο βήμα: Προσθήκη της ακμής (0,) που έχει βάρος ο βήμα: Προσθήκη της ακμής (,) που έχει βάρος ο βήμα: Προσθήκη της ακμής (,) που έχει βάρος 5 ο βήμα: Προσθήκη της ακμής (,) που έχει βάρος 6 ο βήμα: Η ακμή (0,) δεν μπορεί να προστεθεί γιατί παραβιάζει το cut property 7 ο βήμα: Προσθήκη της ακμής (5,7) που έχει βάρος 5

8 ο βήμα: Η ακμή (6,7) δεν μπορεί να προστεθεί γιατί παραβιάζει το cut property 9 ο βήμα: Προσθήκη της ακμής (,5) που έχει βάρος 6 0 6 5 6 5 7 Σχήμα : Το MST του γραφήματος μετά την εφαρμογή του Αλγορίθμου του Kruskal. Άσκηση #: Έστω το ακόλουθο μη κατευθυνόμενο βεβαρημένο συνεκτικό γράφημα G=(V,E,w). Να δείξετε το ελάχιστο επικαλυπτικό δένδρο (Minimum Spanning Tree MST) που προκύπτει μετά την εφαρμογή του αλγορίθμου Kruskal με δομές union-find και ένωση με βαθμό (union by rank). Σε περιπτώσεις που υπάρχουν παραπάνω από μια επιλογές, προκρίνεται εκείνη η ακμή που ενώνει κορυφές με το μικρότερο λεξικογραφικό άθροισμα. A C E 5 B D F Υπόδειξη: Η κεντρική φιλοσοφία του αλγορίθμου Kruskal όταν υλοποιείται με union by rank συμπυκνώνεται στα ακόλουθα βήματα (για μια αναλυτική παρουσίαση, δείτε τη σχετική διάλεξη). Αρχικά έχω V σύνολα, καθένα από τα οποία αποτελείται από μια μόνο κορυφή. Ο βαθμός (rank) κάθε κορυφής (δηλ. το ύψος του δένδρου στο οποίο ανήκει) είναι προφανώς 0. (Γενικά, το rank μιας κορυφής είναι το ύψος του υποδένδρου με ρίζα τη συγκεκριμένη κορυφή).

Σε κάθε βήμα εξετάζεται η ακμή με το μικρότερο βάρος (που δεν έχει ήδη εξεταστεί). Αν οι κορυφές αυτής της ακμής ανήκουν στην ίδια συνεκτική συνιστώσα (δηλ. στο ίδιο δένδρο), η ακμή δεν προστίθεται στο MST και δε χρειάζεται να κάνω union των κορυφών αυτών. Αν οι κορυφές αυτής της ακμής ανήκουν σε διαφορετική συνεκτική συνιστώσα, προχωρώ στο union των κορυφών ως εξής: Έστω a και b οι κορυφές που θέλουμε να κάνουμε ένωση. Έστω r a και r b οι ρίζες των δένδρων που ανήκουν τα a, b. Έστω rank(r a ) και rank(r b ) οι αντίστοιχοι βαθμοί. o Αν rank(r a )=rank(r b ), τότε δημιουργείται ένα νέο δένδρο με ρίζα το r b και το r a να είναι άμεσο παιδί της (και το δένδρο αυτό γίνεται υποδένδρο του νέου δένδρου). Σε αυτή την περίπτωση το νέο rank του r b ισούται με rank(r b )+ ενώ όλα τα άλλα ranks παραμένουν αμετάβλητα. o Αν rank(r a )>rank(r b ), τότε το δένδρο με ρίζα το r b γίνεται υποδένδρο του δένδρου με ρίζα το r a. Σε αυτή την περίπτωση δε μεταβάλλεται κάποιο rank. o Αν rank(r a )<rank(r b ), τότε το δένδρο με ρίζα το r a γίνεται υποδένδρο του δένδρου με ρίζα το r b. Σε αυτή την περίπτωση δε μεταβάλλεται κάποιο rank. Ο αλγόριθμος ολοκληρώνεται όταν πραγματοποιηθούν V - union. Από το σημείο αυτό και μετά αποκλείεται να αλλάξει το rank κάποιου κόμβου και η ρίζα του μοναδικού πια δένδρου θα έχει το μεγαλύτερο rank που μπορεί να προκύψει. Χρησιμοποιώ τον ακόλουθο συμβολισμό με τον αριθμό που είναι δείκτης του κόμβου να αντιστοιχεί στο rank του συγκεκριμένου κόμβου. Αρχική Κατάσταση: BB0 C 0 D 0 E 0 F 0 ο βήμα: Ακμή (A,C) βάρους. union (A,C): Το C γίνεται ρίζα με παιδί το Α και rank(c)=.

D 0 B 0 C E 0 F 0 ο βήμα: Ακμή (D,F) βάρους. union (D,F): Το F γίνεται ρίζα με παιδί το D και rank(f)=. B 0 C E 0 F D 0 ο βήμα: Ακμή (B,D) βάρους. union (B,D): Το B γίνεται παιδί του F και rank(b)=0 (δεν αλλάζει το rank κάποιου κόμβου). C E 0 F D 0 B 0 ο βήμα: Ακμή (C,D) βάρους. union (C,D): Το F γίνεται ρίζα του νέου δένδρου με το C να είναι παιδί του και rank(f)=.

5 E 0 F D 0 C B 0 5 ο βήμα: Ακμή (A,B) βάρους. Τα Α, Β ανήκουν στο ίδιο δένδρο, οπότε δε χρειάζεται να κάνω union 6 ο βήμα: Ακμή (B,C) βάρους. Τα Β, C ανήκουν στο ίδιο δένδρο, οπότε δε χρειάζεται να κάνω union 7 ο βήμα: Ακμή (C,F) βάρους. Τα C, F ανήκουν στο ίδιο δένδρο, οπότε δε χρειάζεται να κάνω union 8 ο βήμα: Ακμή (C,E) βάρους. union (C,E): Το E γίνεται παιδί του F και rank(e)=0 (δεν αλλάζει το rank κάποιου κόμβου). F D 0 C B 0 E 0

6 9 ο βήμα: [Περιττό καθόσον έχουν ήδη πραγματοποιηθεί V - union]. Ακμή (E,F) βάρους 5. Τα E, F ανήκουν στο ίδιο δένδρο, οπότε δε χρειάζεται να κάνω union Οπότε, το MST είναι το ακόλουθο και έχει βάρος 0. A C E B D F Άσκηση # Έστω το ακόλουθο μη κατευθυνόμενο βεβαρημένο συνεκτικό γράφημα G=(V,E,w). Να δείξετε το ελάχιστο επικαλυπτικό δένδρο (Minimum Spanning Tree MST) που προκύπτει μετά την εφαρμογή: a. του αλγορίθμου Kruskal b. του αλγορίθμου Kruskal αν υλοποιηθεί με δομές union find και union by rank Σε περιπτώσεις που υπάρχουν παραπάνω από μια επιλογές, προκρίνεται εκείνη η ακμή που ενώνει κορυφές με το μικρότερο λεξικογραφικό άθροισμα.