Lezione 8.

Slides:



Advertisements
Presentazioni simili
Dr. Marta Giorgetti Esercizi Calcolo combinatorio, spazio degli eventi, probabilità, indipendenza, teorema di Bayes.
Advertisements

Algoritmi e Strutture dati Mod B
ANALISI della VARIANZA FATTORIALE
DISTRIBUZIONE BINOMIALE (cenni) DISTRIBUZIONE NORMALE
Autocorrelazione Spaziale
                      Insertion-Sort
2. Introduzione alla probabilità
CON CONTAMINAZIONI TRATTE DAI FONDAMENTI DELLA GEOMETRIA DI D.HILBERT
Definizione di probabilità, calcolo combinatorio,
Vettori e matrici algebrici
Matematica I: Calcolo differenziale, Algebra lineare, Probabilità e statistica Giovanni Naldi, Lorenzo Pareschi, Giacomo Aletti Copyright © The.
INSIEMI INSIEME= gruppo di oggetti di tipo qualsiasi detti elementi dell’insieme. Un insieme è definito quando viene dato un criterio non ambiguo che.
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Variabili casuali a più dimensioni
Definizioni di probabilità
Analisi di covarianza L'analisi di covarianza è un'analisi a metà strada tra l'analisi di varianza e l'analisi di regressione. Nell'analisi di covarianza.
Progetto Pilota 2 Lettura e interpretazione dei risultati
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 11.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Ordinamenti lineari.
Valutazione delle ipotesi
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
DISTIBUZIONE BINOMIALE
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 4 Ordinamento: Heapsort Algoritmi e Strutture Dati.
Distribuzioni di probabilità
CALCOLO DIFFERENZIALE PER FUNZIONI DI PIÙ VARIABILI. ESTREMI VINCOLATI, ESEMPI.
Esercizi di riepilogo Gabriella Puppo.
Algoritmi e Strutture Dati Alberi Binari di Ricerca.
Algoritmi e Strutture Dati (Mod. A)
Alberi di Ricorrenza Gli alberi di ricorrenza rappresentano un modo conveniente per visualizzare i passi di sostitu- zione necessari per risolvere una.
STATISTICA a.a DISTRIBUZIONE BINOMIALE (cenni)
By prof. Camuso. Misura del grado di incertezza (medio) dei messaggi emessi da una sorgente.
Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco Gennaro Cordasco
Teoria degli INSIEMI A cura Prof. Salvatore MENNITI.
Lezione 5. Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Ancora esercizi!!! Chernoff Bound allora
Sistemi P2P avanzati Sistemi Peer To Peer (P2P) Avanzati Gennaro Cordasco – –
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi Abbiamo detto abbastanza KoordeNeighbor of Neighbor routing (NON)
Autori: I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger, M. F
Ricapitolando…. Sistemi P2P puri Sistemi UniformiSistemi Non uniformi KoordeNeighbor of Neighbor routing (NON)
Lezione 5 Domande: Laverage path length di Chord con 2^b identificatori e N=2^b nodi è (giustificare la risposta) Laverage path length di Chord con 2^b.
Domande Consideriamo un grafo di de bruijn con base k, ed N = k^b nodi, quale delle seguenti affermazioni è vera (giustificare la risposta) Il grado di.
Modello dati ALBERO Albero: Albero: insieme di punti chiamati NODI e linee chiamate EDGES EDGE: linea che unisce due nodi distinti Radice (root): in una.
Modello dati ALBERO Albero: Albero: insieme di punti chiamati NODI e linee chiamate EDGES EDGE: linea che unisce due nodi distinti Radice (root): in una.
Sistemi P2P avanzati Lezione 3 Chord seconda parte.
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Sistemi P2P avanzati Lezione 4 Consisten Hashing Altri sistemi P2P uniformi F-Chord :-)
Sistemi P2P Facciamo un piccolo test Quanti successori ha un nodo nel protocollo Chord? (m) (1) (log N) (nessun prec.) Aumentando il numero di identificatori.
Popolazione campione Y - variabile casuale y - valori argomentali Frequenza relativa: Estrazione Densità della classe i-esima: Lezione 1.
PROBABILITÀ La probabilità è un giudizio che si assegna ad un evento e che si esprime mediante un numero compreso tra 0 e 1 1 Evento con molta probabilità.
Logica Matematica Seconda lezione.
Main tools of the probabilistic method with applications in graph theory Attività formativa - Yuri Faenza Supervisore: Prof. B. Scoppola CdLS in Ingegneria.
Daniele Santamaria – Marco Ventura
Radix-Sort(A,d) // A[i] = cd...c2c1
Algoritmi e Strutture Dati
Per valutare la complessità ammortizzata scomponiamo ogni Union: nelle due FindSet e nella Link che la costituiscono e valuteremo la complessità in funzione.
CAMPIONAMENTO PER CENTRI
Errori casuali Si dicono casuali tutti quegli errori che possono avvenire, con la stessa probabilità, sia in difetto che in eccesso. Data questa caratteristica,
S.Affuso,L.Antolini,L.Longo
Cristina Tortora a.a.: 2012/2013 Università degli Studi di Napoli Federico II Facoltà di Economia.
PROPAGAZIONE DEGLI ERRORI:
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
Evento: “Fatto o avvenimento che già si è verificato o che può verificarsi ….” Gli eventi di cui ci occuperemo saranno soltanto gli eventi casuali, il.
R. Soncini Sessa, MODSS, L 26 Stima degli effetti Calcolo degli obiettivi (Laplace) Rodolfo Soncini Sessa MODSS Copyright 2004 © Rodolfo Soncini.
Soluzione 6: Algoritmo Quicksort
Strumenti statistici in Excell
Martina Serafini Martina Prandi
redditività var. continua classi di redditività ( < 0 ; >= 0)
I LIMITI.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Transcript della presentazione:

Lezione 8

Chernoff Bound Siano X1,…Xn n variabili casuali indipendenti tali che Pr[Xi =1]=pi Pr[Xi =0]=1-pi E[Xi]= pi Consideriamo la variabile casuale e poniamo  = E[X]= Allora abbiamo   > 0 0<pi<1

Chernoff Bound Esempio Supponiamo di lanciare 100 volte una moneta Sia Xi la variabile casuale Abbiamo quindi Pr[Xi=1]=1/2 e E[Xi]=1/2 per tutte le i. Allora conta il numero delle teste in 100 lanci. =E[X]=50 Calcoliamo un upper bound sulla probabilità che X>60 Pr[X>60]=Pr[X>(1+0.2) ]<(e0.2/1.21.2)500.393

Chernoff Bound Nella lezione precedente ci siamo posti una domanda Quanti nodi ci sono in 2b/n identificatori? Nel nostro sistema ci sono n nodi. Pr[Xi=1]=(2b/n)/2b=1/n Pr[Xi=0]=1- Pr[Xi=1]=(n-1)/n E[Xi]=1/n T 2b/n

Chernoff Bound 2b/n X conta quanti nodi cadono in T =E[X]=1/n*n=1 Proviamo che non ci sono più di O(logn / log log n) nodi. 4 ln n / ln ln n = O(log n / log log n) =1 Chernoff bound e/4<1 n>e2e

H-Chord Chord Sia n=2b, per ogni 0 ≤ i < b, il nodo x è connesso ai nodi (x+2i) mod 2b; Il grado è b; Il diametro è b; APL è b/2; R-Chord n=2b [MNW04] Sia n=2b, per ogni 0 ≤ i < b, sia rx(i) un intero scelto in maniera casuale dall’intervallo [0,2i), il nodo x è connesso ai nodi (x+2i+rx(i)) mod 2b; H-Chord Sia H() una funzione di hash (es SHA) che mappa un identificatore in nell’intervallo [0,1), il nodo x è connesso con i nodi x+2i+H(x)2i mod 2b;

H-Chord R-Chord vs H-Chord R-Chord 2i 2i+1 2i+2 H-Chord 2i 2i+1 2i+2

H-Chord Claim Per ogni nodo si  S, la probabilità che un vicino di si  I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova Consideriamo il generico vicino di s, si. Denotiamo con di la distanza fra si e t. Sia pi tale che 2pi ≤ di < 2pi+1 Due casi: d-d’≥si+2pi 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d pi≤p di 2pi 2pi+1 si d-d’ I s t d

H-Chord Claim Per ogni nodo si  S, la probabilità che un vicino di si  I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’≥si+2pi L’unico jump di si che può cadere in I è il jump (pi+1)-esimo, infatti il jump (pi+1)-esimo [si+2pi, si+2pi+1). In particolare il jump (pi+1)-esimo appartiene a I con probabilità |I|/2pi = d’/2pi ≥ d’/2p 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p di 2pi 2pi+1 si d-d’ I s d t pi≤p

H-Chord Claim Per ogni nodo si  S, la probabilità che un vicino di si  I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<si+2pi 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p d di 2pi+1 2pi si d-d’ I s t

H-Chord Claim Per ogni nodo si  S, la probabilità che un vicino di si  I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<si+2pi In questo caso sia il jump p-esimo che il jump (p+1)-esimo possono cadere in I. Sia I = A  B dove A=(d-d’, si+2pi) e B=[si+2pi,d] Ovviamente |A|+|B|=d’. 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p d di 2pi 2pi+1 si d-d’ I s t A B

H-Chord Claim Per ogni nodo si  S, la probabilità che un 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p A=(d-d’, si+2pi) B=[si+2pi,d] Claim Per ogni nodo si  S, la probabilità che un vicino di si  I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<2pi Sia C l’insieme (si+2pi+1 – 2|A|,si+2pi+1) In H-Chord se il (pi+1)-esimo jump di si cade in C allora il pi-esimo jump di si cade in A. Siamo interessati a calcolare la probabilità che il (pi+1)-esimo jump di si cade in C o in B. d di 2pi 2pi+1 si d-d’ I s t A B C

Ma questa volta QR è vuoto. H-Chord 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p A=(d-d’, si+2pi) Claim Per ogni nodo si  S, la probabilità che un vicino di si  I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<2pi Sia Q l’evento “il (pi+1)- esimo jump di si cade in C” Sia R l’evento “il (pi+1)-esimo jump di si cade in B” Siamo interessati a calcolare la Pr[QR]=Pr[Q]+Pr[R]-Pr[QR] d di 2pi 2pi+1 si d-d’ I s t A B C Ma questa volta QR è vuoto. Q R QR

H-Chord Claim Per ogni nodo si  S, la probabilità che un 2p ≤ d < 2p+1 p > (log n) / log (log n) I = (d-d’, d] d’= |S|=p di≤d, pi≤p A=(d-d’, si+2pi) Claim Per ogni nodo si  S, la probabilità che un vicino di si  I è almeno d’/2p. P’=Pr[Jk(si)I per qualche 0 ≤ k < b] ≥ d’/2p Prova d-d’<2pi Pr[QR]= Pr[Q]+Pr[R]-Pr[QR] =Pr[Q]+Pr[R] d di 2pi 2pi+1 si d-d’ I s t A B C

O almeno può stimare le posizioni dei vicini del nostro vicino H-Chord Perchè H-Chord e non R-Chord? Svantaggi R-Chord Come mantenere la lista dei vicini dei vicini? No fast bootstrap In H-Chord non c’è nessun fattore random, in particolare ogni nodo conoscendo il suo vicino conosce i vicini del suo vicino. O almeno può stimare le posizioni dei vicini del nostro vicino

La funzione di hash è uguale per tutti i nodi H-Chord Dato un nodo x, x conosce il suo vicino y, dato y, x può calcolare H(y) e quindi può calcolare per ogni 0≤i<b y+2i+H(y)2i. Tuttavia, quando il ring non è pieno, x non conosce l’esatta posizione dei vicini dei vicini ma ne ha una buona stima. La funzione di hash è uguale per tutti i nodi H-Chord 2i 2i+1 2i+1 2i+2

H-Chord

H-Chord

H-Chord Perchè H-Chord e non Chord? Svantaggi R-Chord Come mantenere la lista dei vicini dei vicini? No fast bootstrap Non è possibile fare fast bootstrap perché le tabelle di routing sono diverse, tuttavia se due nodi x, y generano due valori hash abbastanza vicini (H(x)H(y)) allora le loro tabelle sono simili. I problemi sono: Cosa vuol dire “abbastanza vicini” Come trovare un vicino con hash “abbastanza vicino”

Sistemi P2P uniformi Vantaggi: Svantaggi: Facili da implementare e da analizzare; Algoritmo di routing semplice (greedy); Routing locale, la procedura di lookup interessa solo i nodi che si trovano fra sorgente e destinazione; Non c’è congestione sui nodi, vale a dire il traffico generato dai messaggi di lookup è più o meno uguale per tutti i nodi. Fast bootstrap: Poiché tutti i nodi utilizzano gli stessi jump, è possibile utilizzare la tabella di routing del proprio predecessore per velocizzare notevolmente l’operazione di join; Svantaggi: Sfortunatamente non sono gli algoritmi più efficienti.

Koorde base k Scegliendo k = O(log n): Svantaggi Grado = O(log n) 10 b=2 k=3 Koorde base k 11 01 12 00 20 02 Scegliendo k = O(log n): Grado = O(log n) APL = O(log n / log (log n)) Svantaggi Bisogna stimare n a priori; Non è possibile cambiare il grado in un sistema attivo; E’ molto complicato stabilizzare la rete; 21 22

R-Chord Vantaggi: Svantaggi Algoritmo di routing locale Algoritmo di routing semplice Efficiente Non è necessaria la stima di log n L’algoritmo di stabilizzazione è identico a quello di Chord Svantaggi Come mantenere la lista dei vicini dei vicini? No fast bootstrap

H-Chord Vantaggi Svantaggi Algoritmo di routing locale Algoritmo di routing semplice Efficiente Non è necessaria la stima di log n L’algoritmo di stabilizzazione è identico a quello di Chord Svantaggi No fast bootstrap ???? Hc-Chord