sampling vertices uniformly from a graph
play

Sampling Vertices Uniformly from a Graph Flavio Chierichetti - PowerPoint PPT Presentation

Sampling Vertices Uniformly from a Graph Flavio Chierichetti Sapienza University With subsets of Anirban Dasgupta IIT Gandhinagar Shahrzad Haddadan Sapienza University Silvio Lattanzi Google Zurich Ravi Kumar Google MTV Tams Sarls Google MTV


  1. Sampling Vertices Uniformly from a Graph Flavio Chierichetti Sapienza University With subsets of Anirban Dasgupta IIT Gandhinagar Shahrzad Haddadan Sapienza University Silvio Lattanzi Google Zurich Ravi Kumar Google MTV Tamás Sarlós Google MTV

  2. Social Networks • Social Networks are “large” • We would like to study their properties • We need to be able to sample from them

  3. Learning Average Opinions

  4. Learning Average Opinions

  5. Learning Average Opinions

  6. Learning Average Opinions 2

  7. Learning Average Opinions 2 0 0 3 0 1 4 4 5 1 2 2 1 2

  8. Learning Average Opinions 2 0 0 3 0 1 4 4 5 1 2 2 1 2 Asking all the users 
 is too costly!

  9. Learning Average Opinions Select some people uniformly-at-random and ask them 
 their opinion

  10. Learning Average Opinions Select some people uniformly-at-random and ask them 
 their opinion d = 1 d = 2

  11. Learning Average Opinions 0 Select some people 1 uniformly-at-random and ask them 
 their opinion 1 2

  12. Learning Average Opinions 0 Select some people 1 uniformly-at-random and ask them 
 their opinion 1 2 The empirical 
 average will be 
 close to the real 
 average

  13. Learning Average Opinions

  14. Learning Average Opinions

  15. Learning Average Opinions What is the 
 fraction of ?

  16. Learning Average Opinions Select some people uniformly-at-random and ask them 
 their opinion

  17. Learning Average Opinions Select some people uniformly-at-random and ask them 
 their opinion The empirical 
 fraction of will 
 be close to the real fraction

  18. How do we select 
 uniform-at-random profiles 
 in a Social Network? • We can access the SN through a crawling process. • But we cannot crawl the whole network. 
 Then, what can we do? http://s-n.com/001.html

  19. How do we select 
 uniform-at-random profiles 
 in a Social Network? • We can access the SN through a crawling process. • But we cannot crawl the whole network. 
 Then, what can we do? http://s-n.com/001.html

  20. How do we select 
 uniform-at-random profiles 
 in a Social Network? • We can access the SN through a crawling process. • But we cannot crawl the whole network. 
 Then, what can we do? http://s-n.com/005.html

  21. How do we select 
 uniform-at-random profiles 
 in a Social Network? • We can access the SN through a crawling process. • But we cannot crawl the whole network. 
 Then, what can we do? http://s-n.com/011.html

  22. How do we select 
 uniform-at-random profiles 
 in a Social Network? • We can access the SN through a crawling process. • But we cannot crawl the whole network. 
 Then, what can we do? http://s-n.com/012.html

  23. How do we select 
 uniform-at-random profiles 
 in a Social Network? • We can access the SN through a crawling process. • We cannot crawl the whole network. 


  24. Random Walks

  25. Random Walks 1/4 1/4 1/4 1/4

  26. Random Walks

  27. Random Walks 1/3 1/3 1/3

  28. Random Walks

  29. Random Walks

  30. Random Walks

  31. Random Walks If the process goes on for enough many steps, the random node it ends up on will be “random”, 
 chosen with probability proportional to its degree

  32. Random Walks Mixing Time T(G) If the process goes on for enough many steps, the random node it ends up on will be “random”, 
 chosen with probability proportional to its degree

  33. Random Walks The Mixing Times of many “Social Networks” are small 
 [Leskovec et al, ’08] Mixing Time T(G) If the process goes on for enough many steps, the random node it ends up on will be “random”, 
 chosen with probability proportional to its degree

  34. Random Walks Mixing Time T(G) If the process goes on for enough many steps, the random node it ends up on will be “random”, 
 chosen with probability proportional to its degree

  35. Random Walks 1/18 Mixing Time T(G) If the process goes on for enough many steps, the random node it ends up on will be “random”, 
 chosen with probability proportional to its degree

  36. Random Walks 4/18 1/18 Mixing Time T(G) If the process goes on for enough many steps, the random node it ends up on will be “random”, 
 chosen with probability proportional to its degree

  37. Random Walks 4/18 1/18 Mixing Time T(G) If the process goes on for enough many steps, the random node it ends up on will be “random”, 
 chosen with probability proportional to its degree

  38. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v).

  39. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v).

  40. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v). ~ 4/18 · 1/4 = ~ 1/18

  41. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v). ~ 4/18 · 1/4 = ~ 1/18

  42. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v). ~ 4/18 · 1/4 = ~ 1/18

  43. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v). ~ 1/18 ~ 1/18 · 1/1

  44. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v). ~ 1/18 ~ 1/18

  45. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v). This algorithm returns a node chosen 
 (arbitrarily close to) uniformly at random

  46. A Folklore Algorithm • While True: • run the random walk for T(G) steps; • suppose it ends on the node v; • return v with probability 1/deg(v). One can easily show that this algorithm 
 downloads , with high probability, at most 
 O(T(G) · AvgDeg(G)) nodes from the network

  47. The Max-Degree Algorithm • Let D be the max-degree of G. • Add self-loops to G in order to make it D-regular. • Run the random walk for D · T(G) steps. • return the node on which it ends.

  48. The Max-Degree Algorithm • Let D be the max-degree of G. • Add self-loops to G in order to make it D-regular. • Run the random walk for D · T(G) steps. • return the node on which it ends.

  49. The Max-Degree Algorithm • Let D be the max-degree of G. • Add self-loops to G in order to make it D-regular. • Run the random walk for D · T(G) steps. • return the node on which it ends. Running Time: D · T(G)

  50. The Max-Degree Algorithm • Let D be the max-degree of G. • Add self-loops to G in order to make it D-regular. • Run the random walk for D · T(G) steps. • return the node on which it ends. Running Time: D · T(G) # of Downloaded Vertices ≤ AvgDeg(G) · T(G)

  51. Can one do better? • In [C., Dasgupta, Kumar, Lattanzi, Sarlós,’16] we analyzed various algorithms for selecting a UAR node. • Some of them were on-par with the Folklore Algorithm, some of them were worse. • In [C., Haddadan, ’18], we show that if an algorithm downloads < o(T(G) AvgDeg(G)) nodes from the network, then it cannot return anything close to a uniform-at-random node. • That is, the Folklore algorithm is optimal. 


  52. Can one do better? • In [C., Dasgupta, Kumar, Lattanzi, Sarlós,’16] we analyzed various algorithms for selecting a UAR node. • Some of them were on-par with the Folklore Algorithm, some of them were worse. • In [C., Haddadan, ’18], we show that if an algorithm downloads < o(T(G) AvgDeg(G)) nodes from the network, then it cannot return anything close to a uniform-at-random node. • That is, the Folklore algorithm is optimal. 


  53. Two Main Ingredients

  54. Two Main Ingredients G H

  55. Two Main Ingredients G H A distribution over graphs G

  56. Decoration Construction 
 [C., Haddadan,’18] • Let G = (V,E) be a graph, with mixing time T . • The (random) decoration of G is a super-graph H of G constructed as follows: • for each v in V , flip an iid coin: with probability 1/T, • mark node v ; • create a new node v’ , and cT new nodes v’ i • add an edge from v to v’ , and an edge to v’ to each v’ i

  57. Decoration Construction 
 [C., Haddadan,’18] • Let G = (V,E) be a graph, with mixing time T . • The (random) decoration of G is a super-graph H of G constructed as follows: • for each v in V , flip an iid coin: with probability 1/T, • mark node v ; • create a new node v’ , and cT new nodes v’ i • add an edge from v to v’ , and an edge to v’ to each v’ i v

  58. Decoration Construction 
 [C., Haddadan,’18] • Let G = (V,E) be a graph, with mixing time T . • The (random) decoration of G is a super-graph H of G constructed as follows: • for each v in V , flip an iid coin: with probability 1/T, • mark node v ; • create a new node v’ , and cT new nodes v’ i • add an edge from v to v’ , and an edge to v’ to each v’ i v

Recommend


More recommend