Complex Networks and Decentralized Search Algorithms
Transcript
Complex Networks and Decentralized Search Algorithms
Complex Networks and Decentralized Search Algorithms (Jon Kleinberg) Federico Barocci Sistemi Complessi Informatica Magistrale - University of Bologna a.a. 2013-2014 Federico Barocci Complex Networks and Decentralized Search Algorithms Alcune premesse In una rete complessa i nodi tipicamente non possiedono conoscenza globale della rete. Nelle reti Small World esistono cammini brevi tra due nodi. Delivery time = numero di nodi attraversati per raggiungere il nodo destinatario. “Sei gradi di separazione” (Milgram) Federico Barocci Complex Networks and Decentralized Search Algorithms Alcune premesse In una rete sociale di n persone esistono cammini relativamente brevi che uniscono qualsiasi coppia scelta casualmente. Federico Barocci Complex Networks and Decentralized Search Algorithms Definizione del problema Ci domandiamo: Esiste un algoritmo decentralizzato di ricerca con delivery time polilogaritmico in n? Federico Barocci Complex Networks and Decentralized Search Algorithms Definizione del problema Ci domandiamo: Esiste un algoritmo decentralizzato di ricerca con delivery time polilogaritmico in n? Quali modelli di rete possiamo considerare per ottenere prestazioni ottimali con questi algoritmi? Federico Barocci Complex Networks and Decentralized Search Algorithms Definizione del problema Ci domandiamo: Esiste un algoritmo decentralizzato di ricerca con delivery time polilogaritmico in n? Quali modelli di rete possiamo considerare per ottenere prestazioni ottimali con questi algoritmi? Occorre: Definire un modello Federico Barocci Complex Networks and Decentralized Search Algorithms Definizione del problema Ci domandiamo: Esiste un algoritmo decentralizzato di ricerca con delivery time polilogaritmico in n? Quali modelli di rete possiamo considerare per ottenere prestazioni ottimali con questi algoritmi? Occorre: Definire un modello Parametrizzare la distribuzione dei contatti long-range Federico Barocci Complex Networks and Decentralized Search Algorithms Definizione del problema Ci domandiamo: Esiste un algoritmo decentralizzato di ricerca con delivery time polilogaritmico in n? Quali modelli di rete possiamo considerare per ottenere prestazioni ottimali con questi algoritmi? Occorre: Definire un modello Parametrizzare la distribuzione dei contatti long-range Stabilire per quali valori dei parametri si possono raggiungere prestazioni efficienti in delivery time. Federico Barocci Complex Networks and Decentralized Search Algorithms Small World Watts - Strogatz Una rete Small World è una rete strutturata in cui per ogni coppia di nodi esiste un cammino relativamente breve, eventualmente con alcuni archi “casuali” che connettono porzioni della rete distanti tra loro. Federico Barocci Complex Networks and Decentralized Search Algorithms Small World Bollobás - de la Vega Dato un insieme di n nodi e fissata d ≥ 3 costante, si aggiungano archi tra coppie di nodi scelti casualmente in modo che ogni nodo possieda esattamente grado d. Con alta probabilità per ogni coppia di nodi esiste un cammino di lunghezza O(log n). Federico Barocci Complex Networks and Decentralized Search Algorithms Small World Bollobás - Chung Dato un anello di n nodi, si costruisca un grafo aggiungendo un arco ad ogni coppia di nodi scelti casualmente. Con alta probabilità per ogni coppia di nodi esiste un cammino di lunghezza O(log n). Federico Barocci Complex Networks and Decentralized Search Algorithms Analisi dei modelli di rete Teorema Nel modello di Watts - Strogatz si dimostra che per ogni algoritmo decentralizzato di ricerca la complessità in delivery time è Ω(n2/3 ). Federico Barocci Complex Networks and Decentralized Search Algorithms Analisi dei modelli di rete Teorema Nel modello di Watts - Strogatz si dimostra che per ogni algoritmo decentralizzato di ricerca la complessità in delivery time è Ω(n2/3 ). Estensione del modello Invece di scegliere casualmente i contatti long-range, questi sono approssimativamente distribuiti in modo uniforme su larga scala. Federico Barocci Complex Networks and Decentralized Search Algorithms Analisi dei modelli di rete Teorema Nel modello di Watts - Strogatz si dimostra che per ogni algoritmo decentralizzato di ricerca la complessità in delivery time è Ω(n2/3 ). Estensione del modello Invece di scegliere casualmente i contatti long-range, questi sono approssimativamente distribuiti in modo uniforme su larga scala. Occorre definire una correlazione tra contatti long-range e disposizione geometrica dei nodi. Occorre definire una probabilità di scelta dei nodi. Federico Barocci Complex Networks and Decentralized Search Algorithms Alcuni modelli Consideriamo alcuni esempi di modelli: Modello basato su griglia Modello basato su gerarchie Modello basato su insiemi Federico Barocci Complex Networks and Decentralized Search Algorithms Modello basato su griglia Consideriamo una griglia di d dimensioni: ρ(v , w ) = lunghezza cammino minimo tra i nodi v , w Aggiungiamo 1 connessione long-range ad ogni nodo Probabilità selezione nodo: ρ(v , w )−α Parametri ottimali α = d, nel caso di una griglia quadrata α = 2 Federico Barocci Complex Networks and Decentralized Search Algorithms Modello basato su griglia In una griglia quadrata (d = 2) con parametro α: Se 0 ≤ α < 2 il delivery time è Ω(n 2−α 3 ) 2 Se α = 2 il delivery time è O(log n) α−2 Se α > 2 il delivery time è Ω(n α−1 ) Federico Barocci Complex Networks and Decentralized Search Algorithms Modello basato su griglia In una griglia quadrata (d = 2) con parametro α: Se 0 ≤ α < 2 il delivery time è Ω(n 2−α 3 ) 2 Se α = 2 il delivery time è O(log n) α−2 Se α > 2 il delivery time è Ω(n α−1 ) Federico Barocci Complex Networks and Decentralized Search Algorithms Modello basato su gerarchie Un esempio di modello gerarchico: Federico Barocci Complex Networks and Decentralized Search Algorithms Modello basato su gerarchie Ipotizziamo un albero b-ario completo con n nodi foglia: h(v , w ) = altezza antenato comune ai nodi foglia v , w Costruiamo un grafo considerando solamente i nodi foglia Ad ogni foglia si assegnano k archi orientati uscenti Probabilità selezione destinatario: b −β∗h(v ,w ) Parametri ottimali β = 1 e out-degree k = c log2 n, c costante sufficientemente grande. Federico Barocci Complex Networks and Decentralized Search Algorithms Modello basato su insiemi Esempio di modello basato su insiemi: Federico Barocci Complex Networks and Decentralized Search Algorithms Modello basato su insiemi Consideriamo un insieme composto da gruppi di nodi: g (v , w ) = dimensione del più piccolo gruppo contenente entrambi i nodi v , w Ad ogni nodo aggiungiamo k archi Probabilità selezione nodo: g (v , w )−γ Parametri ottimali γ = 1 e out-degree k = c log2 n, c costante sufficientemente grande. Federico Barocci Complex Networks and Decentralized Search Algorithms Descrizione algoritmo Algoritmo Greedy Ogni nodo invia il messaggio al vicino la cui distanza verso il destinatario è la più piccola disponibile. Federico Barocci Complex Networks and Decentralized Search Algorithms Varianti con informazioni aggiuntive Nei risultati precedenti si assume che i nodi non interagiscano per ottenere una visione più ampia della rete. Alcune varianti dell’algoritmo: Consultazione anticipata Vicini dei vicini Federico Barocci Complex Networks and Decentralized Search Algorithms Consultazione anticipata Prima di inoltrare il messaggio vengono consultati al più O(log n) nodi vicini. Il messaggio viene inoltrato al nodo con distanza inferiore rispetto al destinatario. Nodi totali consultati: O(log2 n) Passi nel cammino costruito: O(log n(log log n)2 ) Federico Barocci Complex Networks and Decentralized Search Algorithms Vicini dei vicini Ogni nodo consulta i propri vicini per ricevere un elenco dei loro rispettivi vicini. Il messaggio viene inviato al nodo con distanza inferiore rispetto al destinatario. Passi nel cammino costruito: O(log n/ log log n) Federico Barocci Complex Networks and Decentralized Search Algorithms Conclusioni Una rete Small World non garantisce automaticamente un delivery time polilogaritmico. In generale non basta considerare l’algoritmo, le prestazioni possono variare a seconda del modello considerato e dal valore dei relativi parametri. Esistono diverse varianti che possono essere considerate e presentano prestazioni differenti. Federico Barocci Complex Networks and Decentralized Search Algorithms