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 δ

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend