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 close to uniform 1โ๐ 1 โ ๐ฃ, ๐ค โ ๐น, Pr ๐ฃ, ๐ค is returned โ , ๐ ๐ ๐ฃ 1 w.p. โ G ๐ ๐ค Sample 1 w.p. โ ๐ฆ ๐ง Edge ๐ w.p. โ 1 ๐จ ๐ ๐ฅ ๐ โ sum of degrees
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] ๐ ๐(๐ผ) #๐ผ
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. ๐(๐ค ๐ )
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
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, ๐ฝ โค โก โฆ ๐
Results Sampling an edge from an ๐ -pointwise close to uniform dist.: ๐ log 3 ๐ [E Rosenbaum 18] ๐ฝ ๐ โ ๐ ๐ ๐๐ค๐ โ ๐ ๐๐ค๐ ๐
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 ๐(๐ฝ)
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 ๐ ๐
The Algorithm
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 ๐ ๐ฝ โ โ โ ๐ โ เทค ๐ฝ ๐ฝ เทค = โ โ ๐ ๐๐ค๐ ๐ ๐ ๐ ๐๐ค๐
A Relative Decomposition An inductive definition: ๐ฝโ 4๐๐๐ ๐ ๐ , เทฅ ๐ฝ โ เทค ๐ โ ๐ log ๐ ๐ 0 = {๐ค โฃ ๐ ๐ค โค เทค ๐ฝ} ๐ 0
A Relative Decomposition An inductive definition: ๐ โ โ = log ๐ ๐ฝโ 4๐๐๐ ๐ ๐ , เทฅ ๐ฝ โ เทค ๐ โ ๐ log ๐ ๐ ๐ ๐ ๐ = {๐ค โ ๐ <๐ โฃ ๐ <๐ ๐ค โฅ 1 โ เทฅ ๐ ๐(๐ค)} ๐ 1 ๐ 1 = {๐ค โ ๐ 0 โฃ ๐ 0 ๐ค โฅ 1 โ เทฅ ๐ ๐(๐ค)} ๐ 0 = {๐ค โฃ ๐ ๐ค โค เทค ๐ฝ} ๐ 0
๐(๐ค) (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
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 ๐ฌ๐๐ฎ๐ฏ๐ฌ๐จ๐๐ โฅ โโ ๐โ เทฅ ๐ฝ
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 ๐ฌ๐๐ฎ๐ฏ๐ฌ๐จ๐๐ โฅ ๐ฝ เทค โ๐ เทค ๐ฝ โโ ๐โ เทฅ ๐ท
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 ๐ฌ๐๐ฎ๐ฏ๐ฌ๐จ๐๐ โฅ โโ ๐โ เทฅ ๐ท โ โ ๐ โ เทค ๐ฝ
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 ๐ฌ๐๐ฎ๐ฏ๐ฌ๐จ๐๐ โฅ โโ ๐โ เทฅ ๐ท โ โ ๐ โ เทค ๐ฝ
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 ๐ฌ๐๐ฎ๐ฏ๐ฌ๐จ๐๐ โฅ โโ ๐โ เทฅ ๐ท โ โ ๐ โ เทค ๐ฝ
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 ๐ฌ๐๐ฎ๐ฏ๐ฌ๐จ๐๐ โฅ โโ ๐โ เทฅ ๐ท โ โ ๐ โ เทค ๐ฝ
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