random local exploration techniques for sublinear time
play

Random Local Exploration Techniques for Sublinear-Time Algorithms - PowerPoint PPT Presentation

Random Local Exploration Techniques for Sublinear-Time Algorithms Krzysztof Onak IBM Research Sublinear-Time Algorithms BIG DATA Sublinear-Time Algorithms Sublinear-time algorithms: Fast answer based on inspecting a tiny fraction of the


  1. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex ? To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  2. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .79 .41 .65 ? .60 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  3. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .79 .41 .65 ? .60 .11 .36 ? .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  4. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .79 .41 .65 ? .60 ? .11 .36 ? .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  5. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .79 .41 .65 ? .60 .11 .36 ? .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  6. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .79 .41 .65 ? .60 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  7. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .79 ? .41 .65 ? .60 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  8. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .79 .41 .65 ? .60 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  9. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .22 ? .79 .41 .65 ? .60 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  10. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .22 ? ? .79 .41 .65 ? .60 .27 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  11. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .22 ? .79 .41 .65 ? .60 .27 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  12. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .22 .79 .41 .65 ? .60 .27 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  13. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .22 .79 .41 .65 .60 .27 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I

  14. Local MIS Simulation Nguyen, O. (2008) Main idea: select maximal independent set greedily consider vertices in random order Random order ≡ random numbers r ( v ) assigned to each vertex .43 .22 .79 .41 .65 .60 .27 .11 .36 .75 To check if v ∈ I recursively check if neighbors w s.t. r ( w ) < r ( v ) are in I v ∈ I ⇐ ⇒ none of them in I E[ #visited vertices ] and query complexity of order 2 O ( d )

  15. Bounding Expected Query Complexity Pr[ a given path of length k is explored ] = 1 / ( k + 1)!

  16. Bounding Expected Query Complexity Pr[ a given path of length k is explored ] = 1 / ( k + 1)! ( number of vertices at distance k ) ≤ d k

  17. Bounding Expected Query Complexity Pr[ a given path of length k is explored ] = 1 / ( k + 1)! ( number of vertices at distance k ) ≤ d k E [ number of vertices explored at distance k ] ≤ d k / ( k + 1)!

  18. Bounding Expected Query Complexity Pr[ a given path of length k is explored ] = 1 / ( k + 1)! ( number of vertices at distance k ) ≤ d k E [ number of vertices explored at distance k ] ≤ d k / ( k + 1)! E [ number of explored vertices ] ≤ � ∞ k =0 d k / ( k + 1)! ≤ e d /d

  19. Bounding Expected Query Complexity Pr[ a given path of length k is explored ] = 1 / ( k + 1)! ( number of vertices at distance k ) ≤ d k E [ number of vertices explored at distance k ] ≤ d k / ( k + 1)! E [ number of explored vertices ] ≤ � ∞ k =0 d k / ( k + 1)! ≤ e d /d Expected query complexity = O ( d ) · e d /d = O ( e d )

  20. Improvement Heuristic: Consider neighbors w of v in ascending order of r ( w ) Once you find w ∈ I , v �∈ I (i.e., don’t check other neighbors) .82 .42 .91 .55 ? .60 .36 .77

  21. Improvement Heuristic: Consider neighbors w of v in ascending order of r ( w ) Once you find w ∈ I , v �∈ I (i.e., don’t check other neighbors) .82 .42 .91 .55 ? .60 .11 .36 .77

  22. Improvement Heuristic: Consider neighbors w of v in ascending order of r ( w ) Once you find w ∈ I , v �∈ I (i.e., don’t check other neighbors) .82 .42 .91 .55 ? .60 .11 .36 .77

  23. Improvement Heuristic: Consider neighbors w of v in ascending order of r ( w ) Once you find w ∈ I , v �∈ I (i.e., don’t check other neighbors) .82 .42 .91 .55 .60 .11 .36 .77

  24. Improvement Heuristic: Consider neighbors w of v in ascending order of r ( w ) Once you find w ∈ I , v �∈ I (i.e., don’t check other neighbors) .82 .42 .91 .55 .60 .11 .36 .77 Yoshida, Yamamoto, Ito (STOC 2009): E permutations , start vertex [ #recursive calls ] ≤ 1 + m n

  25. Improvement Heuristic: Consider neighbors w of v in ascending order of r ( w ) Once you find w ∈ I , v �∈ I (i.e., don’t check other neighbors) .82 .42 .91 .55 .60 .11 .36 .77 Yoshida, Yamamoto, Ito (STOC 2009): E permutations , start vertex [ #recursive calls ] ≤ 1 + m n Which gives: expected query complexity for random vertex = O ( d 2 )

  26. Algorithm for Vertex Cover

  27. Vertex Cover Goal: find smallest set S of nodes such that each edge has endpoint in S Classical 2 -approximation algorithm [Gavril & Yannakakis]: Greedily find a maximal matching M Output the set of nodes matched in M

  28. Vertex Cover Goal: find smallest set S of nodes such that each edge has endpoint in S Classical 2 -approximation algorithm [Gavril & Yannakakis]: Greedily find a maximal matching M Output the set of nodes matched in M

  29. Vertex Cover Goal: find smallest set S of nodes such that each edge has endpoint in S Classical 2 -approximation algorithm [Gavril & Yannakakis]: Greedily find a maximal matching M Output the set of nodes matched in M

  30. Sublinear-Time Algorithm General Idea: construct oracle O that answers queries: Is e ∈ E in M ? for a fixed maximal matching M

  31. Sublinear-Time Algorithm General Idea: construct oracle O that answers queries: Is e ∈ E in M ? for a fixed maximal matching M maximal matching ≡ maximal independent set in the line graph

  32. Sublinear-Time Algorithm General Idea: construct oracle O that answers queries: Is e ∈ E in M ? for a fixed maximal matching M maximal matching ≡ maximal independent set in the line graph approximate the number of vertices matched in M up to ± ǫn by checking for O (1 /ǫ 2 ) vertices if they are matched #queries to O = ( #tested nodes ) · ( max-degree ) = O ( d/ǫ 2 )

  33. Sublinear-Time Algorithm General Idea: construct oracle O that answers queries: Is e ∈ E in M ? for a fixed maximal matching M maximal matching ≡ maximal independent set in the line graph approximate the number of vertices matched in M up to ± ǫn by checking for O (1 /ǫ 2 ) vertices if they are matched #queries to O = ( #tested nodes ) · ( max-degree ) = O ( d/ǫ 2 ) This gives: VC − ǫn ≤ ( computed value ) ≤ 2 · VC + ǫn

  34. Sublinear-Time Algorithm General Idea: construct oracle O that answers queries: Is e ∈ E in M ? for a fixed maximal matching M maximal matching ≡ maximal independent set in the line graph approximate the number of vertices matched in M up to ± ǫn by checking for O (1 /ǫ 2 ) vertices if they are matched #queries to O = ( #tested nodes ) · ( max-degree ) = O ( d/ǫ 2 ) This gives: VC − ǫn ≤ ( computed value ) ≤ 2 · VC + ǫn Running time: 2 O ( d ) /ǫ 2

  35. VC − ǫn ≤ output ≤ 2 · VC + ǫn Parnas, Ron (2007): d O (log( d ) /ǫ 3 ) queries via simulation of local distributed algorithms Marko, Ron (2007): d O (log( d/ǫ )) queries via Luby’s algorithm Nguyen, O. (2008): 2 O ( d ) /ǫ 2 queries the algorithm and proof presented here Yoshida, Yamamoto, Ito (2009): O ( d 4 /ǫ 2 ) queries the Nguyen, O. algorithm + analysis of the heuristic O., Ron, Rosen, Rubinfeld (2012): ˜ O ( d/ǫ 3 ) queries further refinements of NO and YYI sampling from the neighbor sets near optimal: Ω( d ) lower bound due to Parnas, Ron (2007)

  36. Better Approximation for Maximum Matching

  37. Maximum Matching Goal: find a set of disjoint edges of maximum cardinality

  38. Review of Properties Augmenting Path: a path that improves matching

  39. Review of Properties Augmenting Path: a path that improves matching

  40. Review of Properties Augmenting Path: a path that improves matching

  41. Review of Properties Augmenting Path: a path that improves matching M = matching, M ∗ = maximum matching Fact: There are | M ∗ | − | M | disjoint augmenting paths for M

  42. Review of Properties Augmenting Path: a path that improves matching M = matching, M ∗ = maximum matching Fact: There are | M ∗ | − | M | disjoint augmenting paths for M Fact: k No augmenting paths of length < 2 k + 1 ⇒ | M | ≥ k +1 | M ∗ |

  43. Review of Properties Augmenting Path: a path that improves matching M = matching, M ∗ = maximum matching Fact: There are | M ∗ | − | M | disjoint augmenting paths for M Fact: k No augmenting paths of length < 2 k + 1 ⇒ | M | ≥ k +1 | M ∗ | To get (1 + ǫ ) -approximation, set k = ⌈ 1 /ǫ ⌉

  44. Standard Algorithm Lemma [Hopcroft, Karp 1973]: M = matching with no augmenting paths of length < t P = maximal set of vertex-disjoint augmenting paths of length t for M M ′ = M with all paths in P applied Claim: M ′ has only augmenting paths of length > t

  45. Standard Algorithm Lemma [Hopcroft, Karp 1973]: M = matching with no augmenting paths of length < t P = maximal set of vertex-disjoint augmenting paths of length t for M M ′ = M with all paths in P applied Claim: M ′ has only augmenting paths of length > t Algorithm: M := empty matching for i = 1 to k : find maximal set of disjoint augmenting paths of length 2 i − 1 apply all paths to M return M

  46. Transformation Standard Algorithm: Eliminate Eliminate Eliminate Eliminate augmenting augmenting augmenting augmenting ∅ ⇒ ⇒ M 1 ⇒ ⇒ M 2 ⇒ ⇒ M 3 ⇒ ⇒ M 4 paths paths paths paths of length 1 of length 3 of length 5 of length 7 Constant−Time Algorithm: Oracle O 2 : Oracle O 3 : Oracle O 1 : Oracle O 4 : no no no no augmenting augmenting approximation augmenting augmenting sampling paths paths paths paths of length ≤ 3 of length ≤ 5 of length ≤ 1 of length ≤ 7 Oracle O i : provides query access to M i simulates applying to M i − 1 a maximal set of disjoint augmenting paths of length 2 i − 1

  47. Transformation Sample graph considered by O 2 : O i ’s graph has degree d O ( i )

  48. Query Complexity Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query

  49. Query Complexity Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query Locality Lemma: for q queries, needs to visit at most q 2 · 2 O ( d 4 ) /δ vertices with probability 1 − δ

  50. Query Complexity Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query Locality Lemma: for q queries, needs to visit at most q 2 · 2 O ( d 4 ) /δ vertices with probability 1 − δ Query complexity: 2 d O (1 /ǫ ) queries for (1 , ǫn ) -approximation

  51. Query Complexity Can’t apply the previous approach! every query may disclose some information about the random numbers algorithm could use it to form a malicious query Locality Lemma: for q queries, needs to visit at most q 2 · 2 O ( d 4 ) /δ vertices with probability 1 − δ Query complexity: 2 d O (1 /ǫ ) queries for (1 , ǫn ) -approximation Yoshida, Yamamoto, Ito (2009) Query complexity: d O (1 /ǫ 2 ) uniform on higher level ⇒ close to uniform on lower

  52. Roadmap 1. Simulation of greedy algorithms 2. Partitioning oracles 3. Random walks

  53. Hyperfinite Graphs (All graphs of degree O (1) ) ( ǫ, δ ) -partition ( ǫ, δ ) -hyperfinite graphs: can remove ǫ | V | edges and get components of size at most δ

Recommend


More recommend