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

Σχετικά έγγραφα
Κατανεμημένα Συστήματα Ι

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

Ενδεικτικές Λύσεις 1ου Σετ Ασκήσεων

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

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

Διάλεξη 3: Αλγόριθμοι σε Γράφους ΙΙ. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 Το πρόβλημα της συντομότερης διαδρομής

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατανεµηµένα Συστήµατα Ένα κατανεµηµένο σύστηµα είναι µια συλλογή από αυτόνοµες διεργασίες οι οποίες έχουν τη δυνατότητα να επικοινωνούν µεταξύ τους.

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

Διάλεξη 5: Κάτω Φράγμα για Αλγόριθμους Εκλογής Προέδρου. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

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

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

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

ΚΑΤΑΝΕΜΗΜΕΝΟΣ ΥΠΟΛΟΓΙΣΜΟΣ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

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

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

Το Πρόβληµα Οµοφωνίας Σύγχρονα Συστήµατα Μεταβίβασης Μηνύµατος Μοντέλο Κατάρρευσης (crash model) Οι διεργασίες µπορούν να σταµατούν να εκτελούνται σε

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

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

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

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

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

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

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

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :

Δυναμικός προγραμματισμός για δέντρα

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

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

Transcript:

Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά αποτελεσματικός τρόπος για να κατασκευαστεί ένα γεννητικό δέντρο αναζήτησης πρώτα κατά πλάτος (breadth first search BFS). Ωστόσο, στα ασύγχρονα συστήματα τα γεννητικά δέντρα που κατασκευάζονται από τον αλγόριθμο της πλημμύρας μπορούν να απέχουν πολύ από BFS. Σε αυτή την περίπτωση εφαρμόζουμε δύο κλασικές τεχνικές κατασκευής δέντρου BFS, τον αλγόριθμο του Dijkstra και τον αλγόριθμο των Bellman-Ford, ως ασύγχρονους αλγορίθμους. Υποθέτουμε ότι το δίκτυο είναι ένα μη κατευθυνόμενο γράφημα G = (V, E) με n = V κορυφές (κόμβους) και m = V πλευρές (ακμές). 1.1 Αλγόριθμος Dijkstra για BFS Ξεκινάμε με τον αλγόριθμο του Dijkstra. Η βασική ιδέα είναι να προσθέτουμε πάντα τον κοντινότερο κόμβο στο ήδη κατασκευασμένο τμήμα του δέντρου BFS. Μπρούμε να παραλληλοποιήσουμε αυτή την ιδέα αναπτύσσοντας το BFS δέντρο επίπεδο προς επίπεδο. Ο αλγόριθμος προχωράει σε φάσεις. Στη φάση p ανιχνεύονται οι κόμβοι σε απόσταση p από τη ρίζα. Έστω T p το δέντρο στη φάση p. 1

Αλγόριθμος BFS Dijkstra 1. Ξεκινάμε με το T 1 που αποτελείται από τη ρίζα μαζί με όλους τους άμεσους γείτονες της ρίζας. Ξεκινάμε με τη φάση p = 1 : 2. repeat 3. Η ρίζα ξεκινά τη φάση p εκπέμποντας ένα μήνυμα start p μέσα στο T p. 4. Όταν ένας κόμβος-φύλλο u του T p (δηλαδή, ένας κόμβος που μόλις ανακαλύφθηκε στην τελευταία φάση) λάβει start p, στέλνει ένα μήνυμα join p + 1 προς όλους εκείνους τους γείτονές του από τους οποίους δεν έχει λάβει έως τώρα κάποιο μήνυμα. 5. Ένας κόμβος v που λαμβάνει για πρώτη φορά το μήνυμα join p+1 απαντά με ACK και γίνεται ένα φύλλο του δέντρου T p+1. 6. Αν ο κόμβος v λάβει κάποιο οποιοδήποτε άλλο μήνυμα join απαντά με ΝΑCΚ. 7. Όταν τα φύλλα του T p συλλέξουν όλες τις απαντήσεις από τους γεείτονές τους, τότε τα φύλλα ξεκινούν έναν αλγόριθμο ηχούς προς τη ρίζα. 8. Όταν η διαδικασία της ηχούς τερματίσει στη ρίζα, η ρίζα αυξάνει τη φάση. 9. until δεν ανιχνεύθηκε κανένας νέος κόμβος. Ανάλυση πολυπλοκότητας. Έστω diam η διάμετρος του γραφήματος (η μέγιστη απόσταση ανάμεσα σε δύο οποιουσδήποτε κόμβους). Ένας αλγόριθμος flooding/echo στο T p χρειάζεται χρόνο 2diam το πολύ. Η εύρεση νέων γειτόνων στα φύλλα κοστίζει 2 μονάδες χρόνου. Δεδομένου ότι το ύψος του δέντρου BFS φράσσεται από τη διάμετρο, έχουμε diam φάσεις, που δίνουν μια συνολική χρονική πολυπλοκότητα O(diam 2 ). Κάθε κόμβος που συμμετέχει σε flooding/echo λαμβάνει μόνο το πολύ 1 μήνυμα και στέλνει το πολύ μία φορά. Δεδομένου ότι υπάρχουν diam φάσεις, το κόστος φράσσεται από O(n diam). Σε κάθε ακμή υπάρχουν το πολύ 2 μηνύματα join. Οι απαντήσεις σε ένα αίτημα join δίνονται από 1 ACK ή ΝΑCΚ, το οποίο σημαίνει ότι έχουμε το πολύ 4 επιπλέον μηνύματα ανά ακμή. Ως εκ τούτου, η πολυπλοκότητα επικοινωνίας είναι O(m + n diam). 1.2 Αλγόριθμος Bellman-Ford για BFS Η ιδέα του αλγορίθμου Bellman-Ford είναι απλά να κρατάμε σε κάθε κόμβο τη σωστή απόσταση από τη ρίζα. Εάν ένας γείτονας κάποιου κόμβου έχει βρει μια καλύτερη διαδρομή για τη ρίζα, τότε ενδέχεται ο κόμβος να χρειαστεί να ενημερώσει και τη δική του απόσταση από τη ρίζα. 2

Αλγόριθμος BFS Bellman-Ford 1. Κάθε κόμβος u αποθηκεύει έναν ακέραιο d u που αντιστοιχεί στην απόσταση του u από τη ρίζα. Αρχικά d root = 0, και d u = για κάθε άλλο κόμβο u. 2. Η ρίζα ξεκινά τον αλγόριθμο στέλνοντας 1 σε όλους τους γείτονες. 3. if ένας κόμβος u λάβει ένα μήνυμα y με y < d u από έναν γείτονα v then 4. ο κόμβος u θέτει d u := y 5. ο κόμβος u στέλνει y + 1 σε όλους τους γείτονες (εκτός του v) 6. endif Ανάλυση πολυπλοκότητας. Θα αποδείξουμε ότι η χρονική πολυπλοκότητα του αλγορίθμου Bellman- Ford είναι O(diam). Θα χρησιμοποιήσουμε τη μέθοδο της επαγωγής. Συγκεκριμένα, θα αποδείξουμε ότι ένας κόμβος σε απόσταση d από τη ρίζα έχει λάβει το μήνυμα d σε χρόνο d, δηλαδή γνωρίζει σε χρόνο d ότι απέχει d από τη ρίζα. Επαγωγική βάση. Η ρίζα ξέρει από το χρόνο 0 οτι είναι η ρίζα. Επαγωγική υπόθεση. Έστω ότι κάθε κόμβος σε απόσταση d 1, για κάποιο d 1, έχει λάβει σε χρόνο d 1 ένα μήνυμα d 1. Επαγωγικό βήμα. Ένας κόμβος v σε απόσταση d έχει ένα γείτονα u σε απόσταση d 1. Ο κόμβος u, από την επαγωγική υπόθεση, στέλνει ένα μήνυμα d στον u σε χρόνο d 1 ή νωρίτερα, το οποίο στη συνέχεια λαμβάνεται από τον v σε χρόνο d ή νωρίτερα. Η πολυπλοκότητα επικοινωνίας είναι ευκολότερη: Ένας κόμβος μπορεί να μειώσει την απόστασή του το πολύ n 1 φορές, όπου κάθε φορά στέλνει ένα μήνυμα προς όλους τους γείτονές του. Αν όλοι οι κόμβοι το κάνουν αυτό, τότε έχουμε O(nm) μηνύματα. 2 Ασύγχρονη κατασκευή MST Υπάρχουν διάφοροι τύποι γεννητικών δέντρων, με το καθένα να εξυπηρετεί ένα διαφορετικό σκοπό. Ένα ιδιαίτερα ενδιαφέρον γεννητικό δένδρο είναι το ελάχιστο γεννητικό δένδρο (minimum spanning tree, MST). Το πρόβλημα κατασκευής ενός MST έχει νόημα μόνο σε γραφήματα με βάρη. Στο εξής λοιπόν υποθέτουμε ότι κάθε ακμή e του γραφήματος έχει ένα (μη αρνητικό) βάρος w e. Ορισμός 1 Δοθέντος ενός γραφήματος με βάρη G = (V, E, w), το MST του G είναι ένα γεννητικό δένδρο T που ελαχιστοποιεί το w(t ), όπου w(g ) = e G w e για οποιαδήποτε υπογράφημα G G. 3

Στη συνέχεια θα κάνουμε την υπόθεση ότι δεν υπάρχουν δύο ακμές του γραφήματος που να έχουν το ίδιο βάρος. Αυτό απλοποιεί το πρόβλημα, καθώς κάνει το MST μοναδικό, ωστόσο η απλούστευση αυτή δεν είναι απαραίτητη γιατί πάντα μπορούμε να σπάσουμε την ομοιομορφία λαμβάνοντας υπόψη και τα IDs των κορυφών μιας πλευράς μαζί με το βάρος της. Προφανώς μας ενδιαφέρει ο υπολογισμός του MST με έναν κατανεμημένο τρόπο. Για το σκοπό αυτό χρησιμοποιούμε ένα γνωστό λήμμα: Ορισμός 2 (Μπλε πλευρές, blue edges) Έστω T ένα γεννητικό δένδρο του γραφήματος με βάρη G και T T ένα υπογράφημα του T. Η πλευρά e = (u, v) είναι μια εξερχόμενη πλευρά του T αν u T και v / T (ή και αντιστρόφως). Η εξερχόμενη πλευρά με το ελάχιστο βάρος b(t ) ονομάζεται μπλε πλευρά του T. Λήμμα 1 Για ένα δεδομένο γράφημα με βάρη G (τέτοιο ώστε να μην υπάρχουν δύο πλευρές με ίδια βάρη), έστω T το MST του G και T ένα τμήμα (υπογράφημα) του T. Τότε η μπλε πλευρά του T είναι επίσης μέρος του T, δηλαδή T b(t ) T. Απόδειξη. Με απαγωγή σε άτοπο. Έστω ότι στο MST T υπάρχει ακμή e b(t ) που συνδέει το T με το υπόλοιπο T. Προσθέτοντας την μπλε πλευρά b(t ) στο MST T έχουμε έναν κύκλο, που περιλαμβάνει και την e και την b(t ). Αν αφαιρέσουμε την e από αυτόν τον κύκλο, τότε έχουμε ένα άλλο γεννητικό δένδρο, και επειδή από τον ορισμό της μπλε ακμής w e > w b(t ), το βάρος του νέου αυτού γεννητικού δένδρου είναι μικρότερο από το βάρος του T, που είναι άτοπο. Με άλλα λόγια, οι μπλε πλευρές φαίνεται να είναι το κλειδί για την ανάπτυξη ενός κατανεμημένου αλγορίθμου για το πρόβλημα MST. Δεδομένου ότι κάθε κόμβος είναι ένα τμήμα (υπογράφημα) του MST, τότε κάθε κόμβος έχει αυτομάτως μια μπλε πλευρά! Το μόνο που χρειάζεται να κάνουμε είναι να μεγαλώσουμε αυτά τα τμήματα. Ουσιαστικά αυτή είναι μια κατανεμημένη έκδοση του ακολουθιακού αλγορίθμου του Kruskal. Σε κάθε δεδομένη στιγμή οι κόμβοι του γραφήματος διαμερίζονται σε τμήματα (υποδένδρα του MST). Κάθε τμήμα έχει μια ρίζα, και το ID του τμήματος ορίζεται ως το ID της ρίζας του. Κάθε κόμβος γνωρίζει τον πατέρα του και τα παιδιά του στο τμήμα. Ο αλγόριθμος λειτουργεί σε φάσεις. Κατά την έναρξη μιας φάσης, οι κόμβοι γνωρίζουν τα IDs των τμημάτων των γειτονικών τους κόμβων. 4

Αλγόριθμος GHS (Gallager Humblet Spira) 1. Αρχικά κάθε κόμβος είναι η ρίζα του δικού του τμήματος. Προχωρούμε σε φάσεις: 2. repeat 3. Όλοι οι κόμβοι μαθαίνουν τα IDs των τμημάτων των γειτόνων τους. 4. Η ρίζα του κάθε τμήματος χρησιμοποιεί flooding/echo στο τμήμα της για να προσδιορίσει τη μπλε πλευρά b = (u, v) του τμήματος. 5. Η ρίζα στέλνει ένα μήνυμα στον κόμβο u. Καθώς προωθεί το μήνυμα στο μονοπάτι από τη ρίζα στον κόμβο u, όλες οι σχέσεις γονέα-παιδιού αντιστρέφονται (έτσι ώστε το u είναι η νέα προσωρινή ρίζα του τμήματος). 6. Ο κόμβος u στέλνει ένα αίτημα συγχώνευσης στη μπλε πλευρά b = (u, v). 7. if ο κόμβος v έστειλε επίσης ένα αίτημα συγχώνευσης στην ίδια μπλε πλευρά b = (v, u) then 8. είτε η u ή η v (όποια από τις δύο έχει το μικρότερο ID) είναι η νέα ρίζα του τμήματος 9. η μπλε πλευρά b κατευθύνεται ανάλογα 10. else 11. ο κόμβος v είναι ο νέος γονέας του κόμβου u 12. endif 13. ο νέος κόμβος-ρίζα ενημερώνει όλους τους κόμβους στο τμήμα του (και πάλι χρησιμοποιώντας flooding/echo) σχετικά με την ταυτότητά του 14. until όλοι οι κόμβοι είναι στο ίδιο τμήμα (δηλαδή, δεν υπάρχει καμμία εξερχόμενη πλευρά). Ανάλυση πολυπλοκότητας. Κάθε φάση αποτελείται κυρίως από δύο διαδικασίες flooding/echo. Γενικά, το flooding/echo κόστος σε ένα δέντρο είναι O(diam) χρόνος και O(n) μηνύματα. Ωστόσο, η διάμετρος diam των τμημάτων μπορεί να αποδειχθεί οτι δεν σχετίζεται με τη διάμετρο του γραφήματος, επειδή το MST μπορεί να είναι εκφυλλισμένο (μια γραμμή). Επομένως η χρονική πολυπλοκότητα είναι στην πραγματικότητα O(n). Επιπλέον, κατά το πρώτο βήμα της κάθε φάσης, οι κόμβοι πρέπει να μάθουν το ID του τμήματος κάθε γείτονά τους. Αυτό μπορεί να γίνει σε 2 βήματα, αλλά κοστίζει O(m) μηνύματα. Συνολικά μια φάση κοστίζει O(n) χρόνο και O(m) μηνύματα. Έτσι, μένει μόνο να υπολογίσουμε τον αριθμό των φάσεων: Αρχικά όλα τα τμήματα είναι μονοί κόμβοι και ως εκ τούτου έχουν μέγεθος 1. Σε κάθε επόμενη φάση, κάθε τμήμα συγχωνεύεται με τουλάχιστον ένα άλλο τμήμα, δηλαδή, το μέγεθος του μικρότερου τμήματος τουλάχιστον διπλασιάζεται. Με άλλα λόγια, έχουμε το πολύ log n φάσεις. Άρα η πολυπλοκότητα χρόνου είναι O(n log n) και η πολυπλοκότητα επικοινωνίας είναι O(m log n). 5