captures the complexity of
play

Captures the Complexity of Sampling Edges The Task Given query - PowerPoint PPT Presentation

Talya Eden Dana Ron Will Rosenbaum The Arboricity Captures the Complexity of Sampling Edges The Task Given query access to a graph Design a sublinear algorithm for sampling an edge from a distribution that is pointwise


  1. Talya Eden Dana Ron Will Rosenbaum The Arboricity Captures the Complexity of Sampling Edges

  2. The Task ๏‚จ Given query access to a graph ๐ป ๏‚จ Design a sublinear algorithm for sampling an edge from a distribution that is ๐œ—โˆ’ pointwise close to uniform 1โˆ’๐œ— 1 โˆ€ ๐‘ฃ, ๐‘ค โˆˆ ๐น, Pr ๐‘ฃ, ๐‘ค is returned โˆˆ , ๐‘› ๐‘› ๐‘ฃ 1 w.p. โ‰ˆ G ๐‘› ๐‘ค Sample 1 w.p. โ‰ˆ ๐‘ฆ ๐‘ง Edge ๐‘› w.p. โ‰ˆ 1 ๐‘จ ๐‘› ๐‘ฅ ๐‘› โ€“ sum of degrees

  3. Pointwise vs. Total Variational Distance (TVD) ๐œ— -TVD close: ๐‘ˆ๐‘Š๐ธ ๐‘„, ๐‘… = เท |๐‘„ ๐‘Œ โˆ’ ๐‘…(๐‘Œ)| An ๐œ— -fraction of the edges can be ignored ๐‘ฆ Might be exactly the edges of interest ๐œ— -Pointwise close: Every edge is (almost) equally likely to be the returned edge ๐ป Counting arbitrary subgraphs ๐œ—๐‘› -clique in sublinear time given uniform edge samples [Assadi Kapralov Khanna 19] ๐‘› ๐œ(๐ผ) #๐ผ

  4. The Query Access Model ๏‚จ Vertices are labeled arbitrarily [1..n] ๏‚จ Query access to the graph: G Query ๏‚ค Degree queries on the ๐‘— th vertex Answer ๏‚ค Uniform neighbor queries 1 ๐‘ค ๐‘˜ w.p. ๐‘’(๐‘ค ๐‘— ) ๐‘ค ๐‘— ๐‘’ ๐‘ค ๐‘— = 5 ๐‘’ ๐‘ค ๐‘— =? ๐‘ค ๐‘˜โ€ฒ 1 w.p. ๐‘’(๐‘ค ๐‘— )

  5. Previous results ๏‚จ Sampling an edge almost uniformly [E Rosenbaum 18]: ๐‘› ๐‘ƒ โˆ— ๐‘› โ€“ sum of degrees ๐‘’ ๐‘๐‘ค๐‘• ๐‘’ ๐‘๐‘ค๐‘• - avg. degree ๐‘ƒ โˆ— - poly(log ๐‘œ, 1/๐œ—) factors ๐‘› ๏‚จ Lower bound ฮฉ ๐‘’ ๐‘๐‘ค๐‘• Can we improve for sparse graphs? Yes, for sparse โ€œ everywhere โ€ graphs

  6. Arboricity โ€“ A Measure of Sparseness ๐›ฝ โˆ’ Maximal average degree over all subgraphs ๐‘’ ๐‘๐‘ค๐‘• (๐ผ) โ‰ค ๐›ฝ โˆ€๐ผ โŠ† ๐ป, If ๐›ฝ is small then: Rich family of graphs No dense subgraphs with bounded arboricity: โ–ก Planar graphs Sparse โ€œ everywhere โ€ โ–ก Excluded-minor graphs โ–ก โ€˜ Real world โ€™ graphs For all graphs, ๐›ฝ โ‰ค โ–ก โ€ฆ ๐‘›

  7. Results Sampling an edge from an ๐œ— -pointwise close to uniform dist.: ๐‘› log 3 ๐‘œ [E Rosenbaum 18] ๐›ฝ ๐‘ƒ โˆ— ๐‘ƒ ๐‘’ ๐‘๐‘ค๐‘• โ‹… ๐‘’ ๐‘๐‘ค๐‘• ๐œ—

  8. Results Sampling an edge from an ๐œ— -pointwise close to uniform dist.: ๐’ log 3 ๐‘œ [E Rosenbaum 18] ๐œท ๐‘ƒ โˆ— ๐‘ƒ ๐’† ๐’ƒ๐’˜๐’‰ โ‹… โ‰ค ๐’† ๐’ƒ๐’˜๐’‰ ๐œ— ๐›ฝ โ‰ค ๐‘› Expon Ex onen ential tial imp mproveme ment nt for graphs with constant arboricity ๐›ฝ = ฮ˜(1) ๏‚จ Lower Bounds: ๐›ฝ log ๐‘œ ฮฉ ฮฉ ๐‘’ ๐‘๐‘ค๐‘• log log ๐‘œ for any graph with for graphs with ๐›ฝ = ฮ˜(1) arboricity ๐‘ƒ(๐›ฝ)

  9. The Task ๏‚จ Given query access to a graph ๐ป ๏‚จ Design a sublinear algorithm for sampling an edge from a distribution that is ๐œ—โˆ’ pointwise close to uniform 1โˆ’๐œ— 1 โˆ€ ๐‘ฃ, ๐‘ค โˆˆ ๐น, Pr ๐‘ฃ, ๐‘ค is returned โˆˆ , ๐‘› ๐‘› ึž 1โˆ’๐œ— ๐’† ๐’˜ ๐’† ๐’˜ โˆ€ ๐‘ค โˆˆ ๐‘Š, Pr ๐‘ค is returned โˆˆ , ๐‘› ๐‘› Uniform ๐‘ค ๐‘ฃ neighbor โ‰ˆ ๐‘’(๐‘ค) ๐‘’ ๐‘ค = 1 1 โ‹… ๐‘› โ€“ sum of degrees ๐‘› ๐‘›

  10. The Algorithm

  11. The algorithm Sample ple-a-ver ertex ( ๐œท, ๐‘ ) 1. While tru rue: a) ๐‘ค โ† Try-to-sample-a-vertex ( ๐›ฝ, ๐œ— ) b) If succeeded, retu eturn ๐‘ค Try-to-sample-a-vertex ( ๐›ฝ, ๐œ— ): 1 ๐‘’ ๐‘ค Returns each vertex w.p. โ‰ˆ ๐›ฝ or fa fails (for โ„“ = log ๐‘œ, เทค ๐›ฝ โ‰ˆ ๐›ฝ ) โ„“ โ‹… ๐‘œโ‹…เทฅ Total success prob. of a single execution of Try-to-sample: ๐‘’ ๐‘ค ๐‘› โ‰ˆ เท ๐›ฝ = โ„“๐‘œ เทค โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ ๐‘คโˆˆ๐‘Š Expected number of sufficient attempts: โ‹… log 3 ๐‘œ ๐›ฝ โ‰ˆ โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ ๐›ฝ เทค = โ‹… โ„“ ๐‘’ ๐‘๐‘ค๐‘• ๐œ— ๐‘› ๐‘’ ๐‘๐‘ค๐‘•

  12. A Relative Decomposition An inductive definition: ๐›ฝโ‹…4๐‘š๐‘๐‘• ๐‘œ ๐œ— , เทฅ ๐›ฝ โ‰ˆ เทค ๐œ— โ‰ˆ ๐œ— log ๐‘œ ๐‘€ 0 = {๐‘ค โˆฃ ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ} ๐‘€ 0

  13. A Relative Decomposition An inductive definition: ๐‘€ โ„“ โ„“ = log ๐‘œ ๐›ฝโ‹…4๐‘š๐‘๐‘• ๐‘œ ๐œ— , เทฅ ๐›ฝ โ‰ˆ เทค ๐œ— โ‰ˆ ๐œ— log ๐‘œ ๐‘€ ๐‘˜ ๐‘€ ๐‘˜ = {๐‘ค โˆ‰ ๐‘€ <๐‘˜ โˆฃ ๐‘’ <๐‘˜ ๐‘ค โ‰ฅ 1 โˆ’ เทฅ ๐œ— ๐‘’(๐‘ค)} ๐‘€ 1 ๐‘€ 1 = {๐‘ค โˆ‰ ๐‘€ 0 โˆฃ ๐‘’ 0 ๐‘ค โ‰ฅ 1 โˆ’ เทฅ ๐œ— ๐‘’(๐‘ค)} ๐‘€ 0 = {๐‘ค โˆฃ ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ} ๐‘€ 0

  14. ๐‘’(๐‘ค) (Try to) Sample a vertex w.p. โ„“โ‹…๐‘œโ‹…เทฅ ๐›ฝ Try-to to-Sam Sampl ple-a-vertex ๐‘€ โ„“ 1. Choose ๐‘˜ โˆˆ 0, โ„“ 2. ๐‘ค โ† Sa Sampl ple- ๐‘ด ๐Ÿ (if failed abort) 3. Rando dom m wa walk k for ๐‘˜ steps 3. ๐‘€ ๐‘˜ 4. (If returned to ๐‘€ 0 , abort) rn the ๐‘˜ th vertex 5. Retu eturn 5. Sample ple- ๐‘ด ๐Ÿ 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r ๐‘€ 1 ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. เทฅ ๐›ฝ ๐‘€ 0

  15. Correctness Try-to to-Sa Sample le-a-ver ertex ๐‘€ โ„“ Choose ๐‘˜ โˆˆ 0, โ„“ 1. ๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€ 0 (if failed abort) 2. Rando dom m walk k for ๐‘˜ steps 3. 3. ๐‘€ ๐‘˜ If returned to ๐‘€ 0 , abort 4. rn the ๐‘˜ th vertex Retu eturn 5. 5. Sample ple- ๐‘ด ๐Ÿ 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. ๐‘€ 1 ๐œท เทฅ Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€ ๐‘˜ , ๐‘€ 0 ๐œ— ๐‘˜ ๐‘’(๐‘ค) 1โˆ’เทค Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ โ„“โ‹…๐‘œโ‹…เทฅ ๐›ฝ

  16. Correctness - ๐‘˜ = 0 Try-to to-Sa Sample le-a-ver ertex ๐‘€ โ„“ Choose ๐‘˜ โˆˆ 0, โ„“ 1. ๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€ 0 (if failed abor ort) 2. Rando dom m walk k for ๐‘˜ steps 3. 3. ๐‘€ ๐‘˜ If returned to ๐‘€ 0 , abort 4. urn the ๐‘˜ th vertex Ret eturn 5. 5. Sample ple- ๐‘ด ๐Ÿ 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. ๐‘€ 1 ๐œท เทฅ Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€ ๐‘˜ , ๐‘€ 0 ๐‘ ๐’Œ ๐’†(๐’˜) ๐‘ค 1 โ„“ โ‹… 1 ๐‘œ โ‹… ๐‘’ ๐‘ค = ๐‘’(๐‘ค) ๐Ÿโˆ’เทค Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ ๐›ฝ เทค โ„“๐‘œ เทค ๐›ฝ โ„“โ‹…๐’โ‹…เทฅ ๐œท

  17. Correctness - ๐‘˜ = 0 Try-to to-Sa Sample le-a-ver ertex ๐‘€ โ„“ Choose ๐‘˜ โˆˆ 0, โ„“ 1. ๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€ 0 (if failed abor ort) 2. Rando dom m walk k for ๐‘˜ steps 3. 3. ๐‘€ ๐‘˜ If returned to ๐‘€ 0 , abort 4. urn the ๐‘˜ th vertex Ret eturn 5. 5. Sample ple- ๐‘ด ๐Ÿ 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. ๐‘€ 1 ๐œท เทฅ Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€ ๐‘˜ , ๐‘€ 0 ๐‘ ๐’Œ ๐’†(๐’˜) ๐‘ค ๐Ÿโˆ’เทค ๐‘’(๐‘ค) Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ โ„“โ‹…๐’โ‹…เทฅ ๐œท โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ

  18. Correctness - ๐‘˜ = 1 Try-to to-Sa Sample le-a-ver ertex ๐‘€ โ„“ Choose ๐‘˜ โˆˆ 0, โ„“ 1. ๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€ 0 (if failed abor ort) 2. Rando dom m walk k for ๐‘˜ steps 3. 3. ๐‘€ ๐‘˜ If returned to ๐‘€ 0 , abort 4. urn the ๐‘˜ th vertex Ret eturn 5. 5. Sample ple- ๐‘ด ๐Ÿ โ„“ โ‹… ๐‘’ 0 ๐‘ฃ 1 โ‰ฅ (1 โˆ’ ว ๐œ—)๐‘’(๐‘ฃ) 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r ๐‘œ เทค ๐›ฝ โ„“๐‘œ เทค ๐›ฝ ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. ๐‘ฃ ๐‘€ 1 ๐œท เทฅ ๐‘’(๐‘ค) ๐‘’(๐‘ค) = 1 1 ๐›ฝ โ‹… Claim: aim: 1 ๐‘œ เทค ๐‘œ เทค ๐›ฝ 1 1 ๐‘œ เทค ๐›ฝ โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€ ๐‘˜ , ๐‘€ 0 ๐‘œ เทค ๐›ฝ 1 ๐‘œ เทค ๐›ฝ ๐‘ ๐’Œ ๐’†(๐’˜) ๐‘ค ๐Ÿโˆ’เทค ๐‘œ เทค ๐›ฝ ๐‘’(๐‘ค) Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ โ„“โ‹…๐’โ‹…เทฅ ๐œท โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ

  19. Correctness - ๐‘˜ = 1 Try-to to-Sa Sample le-a-ver ertex ๐‘€ โ„“ Choose ๐‘˜ โˆˆ 0, โ„“ 1. ๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€ 0 (if failed abor ort) 2. Rando dom m walk k for ๐‘˜ steps 3. 3. ๐‘€ ๐‘˜ If returned to ๐‘€ 0 , abort 4. urn the ๐‘˜ th vertex Ret eturn 5. 5. Sample ple- ๐‘ด ๐Ÿ (1 โˆ’ ว ๐œ—)๐‘’(๐‘ฃ) 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r โ„“๐‘œ เทค ๐›ฝ ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. ๐‘ฃ ๐‘€ 1 ๐œท เทฅ Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€ ๐‘˜ , ๐‘€ 0 ๐‘ ๐’Œ ๐’†(๐’˜) ๐‘ค ๐Ÿโˆ’เทค ๐‘’(๐‘ค) Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ โ„“โ‹…๐’โ‹…เทฅ ๐œท โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ

  20. Correctness - general ๐‘˜ Try-to to-Sa Sample le-a-ver ertex ๐‘€ โ„“ Choose ๐‘˜ โˆˆ 0, โ„“ 1. ๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€ 0 (if failed abor ort) 2. ๐œ— ๐‘˜ ๐‘’(๐‘ฅ) Rando dom m walk k for ๐‘˜ steps 1 โˆ’ ว โ‰ฅ (1 โˆ’ ๐œ—)๐‘’(๐‘ฅ) 3. 3. ๐‘ฅ ๐‘€ ๐‘˜ If returned to ๐‘€ 0 , abort โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ 4. urn the ๐‘˜ th vertex Ret eturn 5. 5. Sample ple- ๐‘ด ๐Ÿ (1 โˆ’ ว ๐œ—)๐‘’(๐‘ฃ) 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r โ„“๐‘œ เทค ๐›ฝ ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. ๐‘ฃ ๐‘€ 1 ๐œท เทฅ Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€ ๐‘˜ , ๐‘€ 0 ๐‘ ๐’Œ ๐’†(๐’˜) ๐‘ค ๐Ÿโˆ’เทค ๐‘’(๐‘ค) Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ โ„“โ‹…๐’โ‹…เทฅ ๐œท โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ

  21. Recap Try-to to-Sa Sample le-a-ver ertex ๐‘€ โ„“ Choose ๐‘˜ โˆˆ 0, โ„“ 1. ๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€ 0 (if failed abor ort) 2. Rando dom m walk k for ๐‘˜ steps 3. 3. ๐‘€ ๐‘˜ If returned to ๐‘€ 0 , abort 4. urn the ๐‘˜ th vertex Ret eturn 5. 5. Sample ple- ๐‘ด ๐Ÿ ๐‘€ 2 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r ๐‘’(๐‘ค) 2. If ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ, keep ๐‘ค w.p. ๐‘€ 1 ๐œท เทฅ Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€ ๐‘˜ , ๐‘€ 0 ๐‘ ๐’Œ ๐’†(๐’˜) ๐Ÿโˆ’เทค Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ โ„“โ‹…๐’โ‹…เทฅ ๐œท

Recommend


More recommend