Fast broadcasting and gossiping in radio networks. Chrobak, Gasieniec, Rytter 2002. ιδάσκων: Άρης Παγουρτζής Παρουσίαση: Νίκος Λεονάρδος nleon@cs.ntua.gr 1
Το μοντέλο 2 6 5 9 1 3 4 7 8 Broadcasting: Ένας σε όλους Gossiping: Όλοι σε όλους 2
RoundRobin Broadcasting και gossiping σε χρόνο O(n 2 ) Stage 1: Step 1: node 1 transmits Step 2: node 2 transmits Step n: node n transmits Stage 2: Step 1: node 1 transmits Step 2: node 2 transmits Step n: node n transmits... 7 6 5 4 3 2 1 3
Μπορούμε καλύτερα; Μετωπικοί Y j Εσωτερικοί X v Εν αγνοία 4
Selectors w-selector: Οικογένεια συνόλων S, τέτοια που «για κάθε δύο ξένα σύνολα Χ,Υ με w/2 X w και Υ w, υπάρχει σύνολο στην S που περιέχει ακριβώς ένα στοιχείο του Χ και κανένα του Υ». X Υ j v 5
Υπάρχουν «μικροί» selectors Λήμμα: Για κάθε n και w n υπάρχει ένας w-selector S που περιέχει O(wlogn) σύνολα. Απόδειξη: Με την «probabilistic method»: Γιαναδείξουμεότιυπάρχουν(μικροί) selectors, κατασκευάζουμε μία οικογένεια S (μεγέθους cwlogn) με τυχαίο τρόπο και αποδεικνύουμε ότι με θετική πιθανότητα είναι w-selector! 6
Αριθμοί Ramsey και η probabilistic method R(κ) :=O ελάχιστος n, τέτοιος που κάθε 2-χρωματισμένος και πλήρης γράφος σε n κόμβους, περιέχει είτε μία κόκκινη, είτε μία μπλε κ-κλίκα. R(3) = 6 7
Ένα θεώρημα του Paul Erdös Θεώρημα: Για κάθε κ 3, R(κ) 2 κ/2. Απόδειξη: Θα δείξουμε ότι για n 2 κ/2 υπάρχει γράφος, χωρίς κόκκινη ή μπλε κ-κλίκα. Με πιθανότητα ½ βάφουμε μία ακμή με κόκκινο και με πιθανότητα ½ με μπλε χρώμα. Η πιθανότητα να υπάρχει μπλε κλίκα είναι το πολύ: Η πιθανότητα να υπάρχει μπλε ή κόκκινη είναι αυστηρά μικρότερη από ½+½=1. 8
Λήμμα: Για κάθε n και w n υπάρχει w-selector S, που περιέχει O(w log n) σύνολα Απόδειξη: Κατασκευάζουμε με τυχαίο τρόπο οικογένεια S={S 1,S 2,,S m }. Σε κάθε S i εισάγουμε κάθε στοιχείο από το {1,2,...,n} με πιθανότητα 1/(w+1). Για ξένα σύνολα Χ,Υ με w/2 X w και Υ w, ηπιθανότητατοs i να περιέχει ακριβώς ένα στοιχείο του Χ και κανένα του Υ είναι: Η πιθανότητα η οικογένεια S να μην είναι w-selector είναι το πολύ: 9
Ο αλγόριθμος DoBroadcast j m j S j selector 0 logn 1 1 2logn 2 2 4logn 4 3 8logn 8 logn nlogn... n 1 2 3 4 5... nlogn 10
O(nlogn) στάδια αρκούν X Y j v Πρόοδος: άγνοια μετωπικοί εσωτερικοί Η συνολική πρόοδος είναι 2n-1 και μπορεί να επιτευχθεί σε Ο(nlogn) στάδια. Αποδεικνύεται, δείχνοντας ότι σε κάποιο βάθος χρόνου, θα έχει συντελεστεί πρόοδος Ω(1/logn) και άρα για το 2n-1 αρκούν Ο(nlogn) στάδια. 11
Σκελετός απόδειξης X F Y j v Είτε το Y j είναι αρκετά μεγάλο, που σημαίνει ότι πολλοί νέοι κόμβοι πήραν το μήνυμα, j m j S j selector 0 1 2 3 logn logn 2 logn 4 logn 8 logn n logn... 1 2 4 8 n Είτε όλοι οι μετωπικοί κόμβοι F γίνονται εσωτερικοί, μετά από F logn στάδια. 1 2 3 4 5... n logn 12
Gossiping Παρατήρηση: ΟαλγόριθμοςDoBroadcast που μόλις είδαμε δεν κάνει και Gossip, σε αντίθεση με τον RoundRobin. Η ιδέα είναι οι κόμβοι να μην εκπέμπουν πριν μαζέψουν αρκετά μηνύματα, οπότε και τα στέλνουν όλα σε ένα βήμα. Με αυτόν τον τρόπο αποφεύγονται περιττές συγκρούσεις. 13
1 η Φάση: Ο αλγόριθμος DoGossip Εκτέλεσε Β(n) logn στάδια του RoundRobin; 2 η Φάση: Repeat Βρες τον κόμβο u max με το μεγαλύτερο αποθηκευμένο μήνυμα K(u max ); DoBroadcast με πηγή τον u max ; Για κάθε κόμβο u: K(u) := K(u)\K(u max ); Until K(u max ) = 0; back 14
Στη 2 η φάση αρκούν n/ Β(n) επαναλήψεις Μετά την 1 η φάση, κάθε μήνυμα μεταδόθηκε σε τουλάχιστον Β(n)logn κόμβους. Συνεπώς, κάθε ένα από τα n μηνύματα έχει Β(n)logn αποθηκευμένα αντίγραφα. Όλα μαζί τα αποθηκευμένα μηνύματα είναι τουλάχιστον n Β(n)logn. Τελικά μετά την 1 η φάση K(u max ) Β(n)logn. 15
Στη 2 η φάση αρκούν n/ Β(n) επαναλήψεις... 1 ο βήμα 2 ης φάσης: Τα διαφορετικά μηνύματα που απομένουν είναι το πολύ n-k(u max ) = n(1- Β(n)logn/n) = n(1-α) 2 ο βήμα 2 ης φάσης: Όμοια με προηγουμένως υπολογίζουμε ότι K(u max ) = (1-α) Β(n)logn και άρα τα διαφορετικά μηνύματα που απομένουν είναι το πολύ n(1-α)-k(u max )= n(1-α) 2 i οστο βήμα 2 ης φάσης: Τα διαφορετικά μηνύματα που απομένουν είναι το πολύ n(1-α) i 16
Πώς υπολογίζουμε τα u και max K(u Με Binary Search στο [0,n]: a := 0; b := n; Repeat c := [½(a+b)]; DoBroadcast με πηγή κάθε κόμβο u με c K(u) b και μήνυμα [c,b]; Εάν μετά από χρόνο Β(n) έχουν λάβει το μήνυμα, θέτουν a := c, αλλιώς b := c-1; Until a = b; return a; K(umax); B(n)logn 17
Πώς υπολογίζουμε τα u και max K(u Με Binary Search στο [0,n]: K(umax); B(n)logn a := 0; b := n; Repeat c := [½(a+b)]; DoBroadcast με πηγή κάθε κόμβο u με K(u) = K(u max ) και c u b και μήνυμα [c,b]; Εάν μετά από χρόνο Β(n) έχουν λάβει το μήνυμα, θέτουν a := c, αλλιώς b := c-1; Until a = b; return a; DoGossip 18
Αποτελέσματα Θεώρημα: Ο αλγόριθμος DoBroadcast επιτυγχάνει μετάδοση σε Ο(nlog 2 n). Θεώρημα: Χρησιμοποιώντας αλγόριθμο για broadcast πολυπλοκότητας Β(n), μπορούμε να επιτύχουμε gossiping σε Ο(n Β(n)logn) βήματα. Θεώρημα: Υπάρχει αλγόριθμος που επιτυγχάνει gossiping σε Ο(n 1.5 log 2 n) βήματα. 19
Ω(nlogn) ) Lower bound A 1 2 3... n-1 n B 1 2 3... n-1 n 1 2. 2(n-1) 1 2... lg[2(n-1)-1] 0 1 1 0 0 0 1... 1 0 0 1 0 0 1 0 1... 1 0 1 1 0 0 1 0 0... 0 1 lg[2(n-1)-1] + lg[2(n-3)-1] +. 1= Θ(nlgn) 20