Διάλεξη 19: Κατανομή Πόρων Κόψιμο Τούρτας. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

Ταχεία Ταξινόμηση Quick-Sort

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

Διάλεξη 18: Πρόβλημα Βυζαντινών Στρατηγών. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 11: Μη Ασυμφραστικές Γλώσσες

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

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

Διάλεξη 04: Παραδείγματα Ανάλυσης

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

Διάλεξη 09: Αλγόριθμοι Ταξινόμησης I

Διάλεξη 6: Εκλογή Προέδρου σε Σύγχρονους Δακτύλιους. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

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

ΠΟΛΛΑΠΛΑΣΙΑΣΜΟΣ (συνέχεια)

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 19: Αλγόριθμοι ΤαξινόμησηςII. Διδάσκων: Παναγιώτης Ανδρέου

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

Ταξινόμηση. Σαλτογιάννη Αθανασία

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ.

Αλγοριθμικές Τεχνικές. Brute Force. Διαίρει και Βασίλευε. Παράδειγμα MergeSort. Παράδειγμα. Τεχνικές Σχεδιασμού Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ

Διάλεξη 10: Αλγόριθμοι Ταξινόμησης II

Αλγοριθμικές Τεχνικές

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 6: Μη Κανονικές Γλώσσες

17. Εισαγωγή σε αριθμητικές μεθόδους για μηχανικούς και αλγορίθμους

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 7 η. Βασίλης Στεφανής

ΕΠΛ 674: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

Αλγόριθµοι. Παράδειγµα. ιαίρει και Βασίλευε. Παράδειγµα MergeSort. Τεχνικές Σχεδιασµού Αλγορίθµων

Η κλασματική γραμμή είναι η πράξη της διαίρεσης.

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

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

Αλγόριθμοι Ταξινόμησης Bubble Sort Quick Sort. Αντρέας Δημοσθένους Καθηγητής Πληροφορικής Ολυμπιάδα 2012

1 Κ α τ α σ κ ε υ ά σ τ ε έ ν α ν α σ τ ε ρ ι σ μ ό

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεωρία Παιγνίων και Αποφάσεων Διδάσκων: Ε. Μαρκάκης, Εαρινό εξάμηνο 2015

Αλγόριθμοι ταξινόμησης

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

ΕΠΛ 475: Εργαστήριο 2 Ο απλοποιημένος αλγόριθμος κρυπτογράφησης S-DES

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

Fast Fourier Transform

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

Σ 1, Σ 2... Σ N p 1, p 2,... p N k 1, k 2... k n

Αξιοποίηση Η/Υ και Πληροφορικής στην Μηχανική

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

Ταξινόμηση με συγχώνευση Merge Sort

Εντολή Επίλεξε.. Στοίβα & Ουρά Διαίρει & Βασίλευε

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

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

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Πολλαπλασιασμός: αλγόριθμος

Αλγόριθμοι Ταξινόμησης Μέρος 2

Παράλληλοι Αλγόριθμοι: Ανάλυση Εικόνας και Υπολογιστική Γεωμετρία. Πέτρος Ποτίκας CoReLab 4/5/2006

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Β. Βασιλειάδης. Επιχειρησιακή Έρευνα Διάλεξη 5 η -Αλγόριθμος Simplex

Συνδυαστική Βελτιστοποίηση Εισαγωγή στον γραμμικό προγραμματισμό (ΓΠ)

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

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

ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 2-1

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ταξινόµηση Mergesort Κεφάλαιο 8. Ε. Μαρκάκης Επίκουρος Καθηγητής

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής»

Δομές Δεδομένων Ενότητα 2

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

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά

Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει την αξιολόγηση των καταστάσεων του χώρου αναζήτησης.

Ψευδοκώδικας. November 7, 2011

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

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

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

ΑΛΓΟΡΙΘΜΟΙ Άνοιξη I. ΜΗΛΗΣ

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

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

Detecting Duplicates over Distributed Data Sources. Δημήτρης Σουραβλιάς

Λειτουργικά Συστήματα Η/Υ

2. Να γράψετε έναν αριθμό που είναι μεγαλύτερος από το 3,456 και μικρότερος από το 3,457.

Εργασία 1 η Ενεργή παρακολούθηση του Διεθνούς Συνεδρίου Scinte2015 με θέμα «Science in Technology»

Επιμέλεια: Σπυρίδων Τζινιέρης-ΘΕΩΡΙΑ ΚΛΑΣΜΑΤΩΝ ΓΙΑ ΤΗΝ Α ΓΥΜΝΑΣΙΟΥ ΘΕΩΡΙΑ ΚΛΑΣΜΑΤΩΝ Α ΓΥΜΝΑΣΙΟΥ

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

bca = e. H 1j = G 2 H 5j = {f G j : f(0) = 1}

Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Υπολογιστική Γεωμετρία

Μαθηματικά: Αριθμητική και Άλγεβρα Μάθημα 6 ο, Τμήμα Α. Μέγιστος Κοινός Διαιρέτης (Μ.Κ.Δ.) και Ελάχιστο Κοινό Πολλαπλάσιο (Ε.Κ.Π.)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΘΕΩΡΗΤΙΚΗ ΑΣΚΗΣΗ 1 ΛΥΣΕΙΣ Ανάλυση Πολυπλοκότητας

Διάλεξη 9: Αλγόριθμοι Αμοιβαίου Αποκλεισμού με τη χρήση μεταβλητών Ανάγνωσης/Εγγραφής. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

3 ο βήμα: Βγάζουμε παρενθέσεις 4 ο βήμα: Προσθέσεις και αφαιρέσεις

1.Παρατηρώντας τις παρακάτω εικόνες, αντιστοίχισε ποιες εκφράζουν

Ακρότατα πίνακα, χωρίς min, max, μόνο με pos

Ελαφρύτερος και βαρύτερος Αλγόριθμοι ταξινόμησης

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

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Transcript:

Διάλεξη 19: Κατανομή Πόρων Κόψιμο Τούρτας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Ορισμός Προβλήματος Τι θα δούμε σήμερα Συνθήκη Δικαιοσύνης Αλγόριθμος 2 επεξεργαστών (Cut & Choose) Αλγόριθμος 3 επεξεργαστών (Trimming) Αλγόριθμος 4 επεξεργαστών (Divide & Conquer) ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 1

Το Πρόβλημα (In Real Life) Η Alice και ο Bob θέλουν να μοιραστούν μια τούρτα 50% Η Alice προτιμά το κομμάτι με τη το λιλά λουλούδι (Εκτίμηση Κομματιού=70%) 50% 70% Ο Bob προτιμά το κίτρινο λουλούδι (Εκτίμηση Λουλουδιού=50%) Κάθε άτομο αποτιμά την τούρτα με τις δικές του προτιμήσεις! Computer Science & Engineering Department 2

Το Πρόβλημα στην Πληροφορική Η τούρτα αντιπροσωπεύει έναν πόρο που διαμοιράζεται μεταξύ χρηστών (ή επεξεργαστών) Χρονοπρογραμματισμός διεργασιών Διαμοιρασμός του χρόνου της CPU Διαμοιρασμός του εύρους ζώνης της σύνδεσης με το δίκτυο Η Alice και ο Bob αντιπροσωπεύουν τους χρήστες Κάθε χρήστης μπορεί να εκτιμά ένα συγκεκριμένο κομμάτι από την τούρτα (του πόρου) με διαφορετικό τρόπο. Δεν είναι γνωστό πώς ο χρήστης εκτιμά διαφορετικά μέρη: Ο χρήστης μπορεί να αιτηθεί να «κόψει» κομμάτια της τούρτας σε συγκεκριμένες αναλογίες. Σκοπός: Να χωριστεί ο πόρος «δίκαια» μεταξύ των χρηστών. Computer Science & Engineering Department 3

Δικαιοσύνη Στόχος: Κάθε χρήστης πρέπει να αισθάνεται ικανοποιημένος με το κομμάτι της τούρτας που του αναλογεί Ικανοποίηση Χρήστη: Αν υπάρχουν Ν χρήστες τότε ένας χρήστης είναι ικανοποιημένος με μια κοπή τούρτας εάν έχει την "αίσθηση" ότι του αναλογεί τουλάχιστον το 1/Ν της τούρτας. Δίκαιη Διαίρεση Τούρτας: Η διαίρεση της τούρτας με την οποία όλοι οι χρήστες να είναι ικανοποιημένοι. Computer Science & Engineering Department 4

Άλλες μορφές Ικανοποίησης Χρηστών Απλό Μοντέλο: Κάθε χρήστης πιστεύει ότι λαμβάνει ένα κομμάτι της τούρτας με θετική τιμή. Ελευθερία- Ζήλιας: κάθε χρήστης πιστεύει ότι έχει τουλάχιστον τόσο μεγάλο κομμάτι όσο οι άλλοι χρήστες Δυνατή Ελευθερία- Ζήλιας: κάθε χρήστης πιστεύει ότι έχει μεγαλύτερο κομμάτι από τους άλλους χρήστες. Super Ελευθερία- Ζήλιας: κάθε χρήστης πιστεύει ότι κάθε χρήστης έχει το πολύ ένα ίσο κομμάτι. Computer Science & Engineering Department 5

Επίλυση Κοπής- Τούρτας Θεωρούμε ότι η τούρτα είναι ένα διάστημα I = [0,1]. Κομμάτι της τούρτας: ένα υποδιάστημα στο [0,1], και Τμήμα της τούρτας: είναι μια συλλογή από κομμάτια Κάθε χρήστης χρησιμοποιεί μια συνάρτηση αποτίμησης για να εκτιμήσει ένα κομμάτι Δεν γνωρίζει τη συνάρτηση αποτίμησης των άλλων χρηστών. Υπάρχει ένας συντονιστής S (ο πρόεδρος) ο οποίος ελέγχει την κοπή της τούρτας και αναθέτει κομμάτια στους χρήστες Δεν γνωρίζει τη συνάρτηση αποτίμησης των χρηστών. Πολυπλοκότητα: Ορίζεται από τον αριθμό των κοπών που χρειαζόμαστε για να επιτευχθεί δίκαιη κατανομή της τούρτας. ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 6

Κάτω Φράγματα στις «Κοπές» Απλό Μοντέλο: Χρειαζόμαστε Ω(NlogN) κοπές (η πιο αδύνατη συνθήκη) Μοντέλο Ελεύθερο- Ζήλιας: Επίσης Ω(NlogN) κοπές Δυνατή και Super Ελευθερία- Ζήλιας: Χρειάζονται Ω(N 2 ) κοπές ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 7

Αλγόριθμος 2 επεξεργαστών (Κόψε & Διάλεξε) Έστω ότι έχουμε τον συντονιστή S και δύο χρήστες U1, U2 Βήμα 1: Ο S ζητά από τον U1 να κόψει την τούρτα σε δύο ίσα μέρη Βήμα 2: Ο S ζητά από τον U2 να επιλέξει το κομμάτι με την μεγαλύτερη αξία για εκείνον Βήμα 3: Ο S ζητά από τον U1 να πάρει το κομμάτι που έμεινε ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 8

Παράδειγμα Εκτέλεσης User A User B Έστω ότι έχουμε δύο χρήστες Α και Β S ζητά από τον A να κόψει την τούρτα σε 2 ίσα μέρη 50% 50% 30% 70% S ζητά από τον B να διαλέξει το κομμάτι με την μεγαλύτερη αξία. Ο S ζητά από τον U1 να πάρει το κομμάτι που έμεινε ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 9

Απόδειξη Δικαιοσύνης Ο Α κόβει την τούρτα σε 2 ίσα κομμάτια (σύμφωνα με την συνάρτηση αποτίμησής του) Κ1 και Κ2 Κ1(Α) = ½ Κ2(Α) = ½ Ο Β αποτιμά τα κομμάτια διαφορετικά Κ1(Β) = x K2(B) = 1- x Αφού ο Β επιλέγει το Κ2 έπεται Κ2(Β) Κ1(β) => 1- x x => x ½ Άρα K2(B) ½ Επομένως ο Α πιστεύει ότι θα πάρει Κ1(Α)=1/2 της τούρτας και ο Β Κ2(Β) 1/2 της τούρτας => Και οι δύο ικανοποιημένοι ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 10

Πολυπλοκότητα Αλγορίθμου Ο αλγόριθμος 2 Κόψε & Διάλεξε χρειάζεται μόνο μια κοπή (βέλτιστος) Πως θα μπορούσαμε να λύσουμε το πρόβλημα με 3 επεξεργαστές; ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 11

Αλγόριθμος 3 επεξεργαστών (Κλάδεμα) Έστω ότι έχουμε τον συντονιστή S και τρεις χρήστες U1, U2, U3 Βήμα 1: Ο S ζητά από όλους να κόψουν ένα κομμάτι που κατά τη γνώμη τους αντιστοιχεί στο 1/3 της τούρτας Βήμα 2: Ο S ζητά από τον χρήστη που έκοψε το πιο μικρό κομμάτι να το πάρει Βήμα 3: Ο S ζητά από τους υπόλοιπους χρήστες να εφαρμόσουν τον αλγόριθμο Κόψε & Διάλεξε στο κομμάτι που έμεινε ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 12

Παράδειγμα Εκτέλεσης Έστω ότι έχουμε τους χρήστες A, B, C B A C C 1/3 For B 1/2 For C >1-1/3 For A,C >1-1/2 For A ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 13

Απόδειξη Δικαιοσύνης Αρχικά όλοι κόβουν την τούρτα στο σημείο που θεωρούν ότι αξίζει 1/3. Επομένως ο Β θεωρεί ότι πήρε κομμάτι Κ1(Β) = 1/3 Αφού το κομμάτι του ήταν το πιο μικρό σημαίνει ότι η υπόλοιπη τούρτα αξίζει > 1-1/3 για τους Α και C O C ακολούθως μοιράζει στα δύο το υπόλοιπο της τούρτας άρα για τον C το κάθε κομμάτι αξίζει K2(C)=K3(C)>1/2 (1-1/3) => K2(C)=K3(C)>1/3 Αφού ο Α επιλέγει το Κ3 έπεται Κ3(A) ½ (1-1/3) > 1/3 Επομένως οι Α και C πιστεύουν ότι θα πάρουν >1/3 της τούρτας και ο Β 1/3 της τούρτας => Και οι τρείς ικανοποιημένοι ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 14

Αλγόριθμος Ν επεξεργαστών (Κλάδεμα) Έστω ότι έχουμε τον συντονιστή S και Ν χρήστες U1,..., UΝ Βήμα 1: Ο S ζητά από όλους να κόψουν ένα κομμάτι που κατά τη γνώμη τους αντιστοιχεί στο 1/Ν της τούρτας Βήμα 2: Ο S ζητά από τον χρήστη που έκοψε το πιο μικρό κομμάτι να το πάρει Βήμα 3: Ο S ζητά από τους υπόλοιπους χρήστες να επαναλάβουν τον αλγόριθμο για Ν- 1 στο υπόλοιπο κομμάτι της τούρτας ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 15

Πολυπλοκότητα Αλγορίθμου Κλαδέματος Χρειαζόμαστε Ν, Ν- 1, Ν- 2,..., 1 κοπές Επομένως Αριθμός Κοπών= (Ν(Ν+1)/2) 1 = Ο(Ν 2 ) Υπάρχει πιο αποδοτικός αλγόριθμος; ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 16

Αλγόριθμος Ν επεξεργαστών (Διαίρει & Βασίλευε) Έστω ότι έχουμε τον συντονιστή S και Ν χρήστες U1,..., UΝ Βήμα 1: Ο S ζητά από όλους να κόψουν ένα κομμάτι που κατά τη γνώμη τους αντιστοιχεί στο 1/2 της τούρτας Βήμα 2: Ο S ζητά από τους Ν/2 χρήστες με τις μικρότερες κοπές να επαναλάβουν τον αλγόριθμο στο αριστερό «μισό» της τούρτας Βήμα 3: Ο S ζητά από τους υπόλοιπους Ν/2 χρήστες να επαναλάβουν τον αλγόριθμο στο δεξί «μισό» της τούρτας ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 17

Παράδειγμα Εκτέλεσης Για Ν=4 Β C A D A >= 1/4 B >=1/4 C >=1/4 D >=1/4 1/2 >=1/2 For For For B,C B C >1/2 For For A,D A 1/2 For D ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 18

Πολυπλοκότητα Διαίρει & Βασίλευε Χρειαζόμαστε Ν κοπές σε κάθε γύρο εκτέλεσης των βημάτων Σε logn γύρους κάθε επεξεργαστής θα είναι μόνος του σε κάποιο κομμάτι. Επομένως Αριθμός Κοπών = Ο(ΝlogN) ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 19

Ερωτήσεις; ΕΠΛ432: Κατανεµηµένοι Αλγόριθµοι 20