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

โ–ถ
captures the complexity of
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

The Arboricity Captures the Complexity of Sampling Edges

Talya Eden Dana Ron Will Rosenbaum

slide-2
SLIDE 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 โˆ€ ๐‘ฃ, ๐‘ค โˆˆ ๐น, Pr ๐‘ฃ, ๐‘ค is returned โˆˆ

1โˆ’๐œ— ๐‘›

,

1 ๐‘› G Sample Edge

๐‘ค ๐‘ฆ ๐‘ง ๐‘จ ๐‘ฃ ๐‘ฅ

w.p. โ‰ˆ

1 ๐‘›

w.p. โ‰ˆ

1 ๐‘›

w.p. โ‰ˆ 1

๐‘›

๐‘› โ€“ sum of degrees

slide-3
SLIDE 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

๐ป

๐œ—๐‘› -clique

Counting arbitrary subgraphs in sublinear time given uniform edge samples [Assadi Kapralov Khanna 19] ๐‘›๐œ(๐ผ) #๐ผ

๐‘ˆ๐‘Š๐ธ ๐‘„, ๐‘… = เท

๐‘ฆ

|๐‘„ ๐‘Œ โˆ’ ๐‘…(๐‘Œ)|

slide-4
SLIDE 4

The Query Access Model

๏‚จ Vertices are labeled arbitrarily [1..n] ๏‚จ Query access to the graph: ๏‚ค Degree queries on the ๐‘—th vertex ๏‚ค Uniform neighbor queries

๐‘ค๐‘— ๐‘’ ๐‘ค๐‘— =? ๐‘ค๐‘˜ ๐‘ค๐‘˜โ€ฒ ๐‘’ ๐‘ค๐‘— = 5 Query Answer G w.p.

1 ๐‘’(๐‘ค๐‘—)

w.p.

1 ๐‘’(๐‘ค๐‘—)

slide-5
SLIDE 5

Previous results

๏‚จ Sampling an edge almost uniformly [E Rosenbaum 18]:

๐‘ƒโˆ— ๐‘› ๐‘’๐‘๐‘ค๐‘•

๏‚จ Lower bound ฮฉ

๐‘› ๐‘’๐‘๐‘ค๐‘•

Can we improve for sparse graphs? Yes, for sparse โ€œeverywhereโ€ graphs

๐‘› โ€“ sum of degrees ๐‘’๐‘๐‘ค๐‘• - avg. degree ๐‘ƒโˆ— - poly(log ๐‘œ, 1/๐œ—) factors

slide-6
SLIDE 6

๐›ฝ โˆ’ Maximal average degree over all subgraphs

โˆ€๐ผ โІ ๐ป,

๐‘’๐‘๐‘ค๐‘•(๐ผ) โ‰ค ๐›ฝ If ๐›ฝ is small then:

No dense subgraphs Sparse โ€œeverywhereโ€

For all graphs, ๐›ฝ โ‰ค ๐‘›

Arboricity โ€“ A Measure of Sparseness

Rich family of graphs with bounded arboricity: โ–ก Planar graphs โ–ก Excluded-minor graphs โ–ก โ€˜Real worldโ€™ graphs โ–ก โ€ฆ

slide-7
SLIDE 7

Results

Sampling an edge from an ๐œ—-pointwise close to uniform dist.: ๐‘ƒ

๐›ฝ ๐‘’๐‘๐‘ค๐‘• โ‹… log3 ๐‘œ ๐œ— [E Rosenbaum 18]

๐‘ƒโˆ— ๐‘› ๐‘’๐‘๐‘ค๐‘•

slide-8
SLIDE 8

Results

Sampling an edge from an ๐œ—-pointwise close to uniform dist.: ๐‘ƒ

๐œท ๐’†๐’ƒ๐’˜๐’‰ โ‹… log3 ๐‘œ ๐œ—

๏‚จ Lower Bounds:

ฮฉ

๐›ฝ ๐‘’๐‘๐‘ค๐‘•

ฮฉ

log ๐‘œ log log ๐‘œ for any graph with arboricity ๐‘ƒ(๐›ฝ) for graphs with ๐›ฝ = ฮ˜(1)

โ‰ค

๐›ฝ โ‰ค ๐‘›

๐‘ƒโˆ— ๐’ ๐’†๐’ƒ๐’˜๐’‰

Ex Expon

  • nen

ential tial imp mproveme ment nt for graphs with constant arboricity ๐›ฝ = ฮ˜(1)

[E Rosenbaum 18]

slide-9
SLIDE 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 โˆ€ ๐‘ฃ, ๐‘ค โˆˆ ๐น, Pr ๐‘ฃ, ๐‘ค is returned โˆˆ

1โˆ’๐œ— ๐‘›

,

1 ๐‘›

ึž

โˆ€ ๐‘ค โˆˆ ๐‘Š, Pr ๐‘ค is returned โˆˆ

1โˆ’๐œ— ๐’† ๐’˜ ๐‘›

,

๐’† ๐’˜ ๐‘› โ‰ˆ ๐‘’(๐‘ค) ๐‘› โ‹… 1 ๐‘’ ๐‘ค = 1 ๐‘› ๐‘ค ๐‘ฃ ๐‘› โ€“ sum of degrees Uniform neighbor

slide-10
SLIDE 10

The Algorithm

slide-11
SLIDE 11

The algorithm

Try-to-sample-a-vertex(๐›ฝ, ๐œ—): Returns each vertex w.p. โ‰ˆ

1 โ„“ โ‹… ๐‘’ ๐‘ค ๐‘œโ‹…เทฅ ๐›ฝ or fa

fails (for โ„“ = log ๐‘œ, เทค ๐›ฝ โ‰ˆ ๐›ฝ) Total success prob. of a single execution of Try-to-sample: โ‰ˆ เท

๐‘คโˆˆ๐‘Š

๐‘’ ๐‘ค โ„“๐‘œ เทค ๐›ฝ = ๐‘› โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ Expected number of sufficient attempts: โ‰ˆ โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ ๐‘› = เทค ๐›ฝ ๐‘’๐‘๐‘ค๐‘• โ‹… โ„“

Sample ple-a-ver ertex (๐œท, ๐‘)

  • 1. While tru

rue:

a) ๐‘ค โ† Try-to-sample-a-vertex(๐›ฝ, ๐œ—) b) If succeeded, retu eturn ๐‘ค

๐›ฝ ๐‘’๐‘๐‘ค๐‘• โ‹… log3 ๐‘œ ๐œ—

slide-12
SLIDE 12

A Relative Decomposition

An inductive definition:

เทค ๐›ฝ โ‰ˆ

๐›ฝโ‹…4๐‘š๐‘๐‘• ๐‘œ ๐œ—

,เทฅ ๐œ— โ‰ˆ

๐œ— log ๐‘œ

๐‘€0

๐‘€0 = {๐‘ค โˆฃ ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ}

slide-13
SLIDE 13

A Relative Decomposition

An inductive definition:

เทค ๐›ฝ โ‰ˆ

๐›ฝโ‹…4๐‘š๐‘๐‘• ๐‘œ ๐œ—

,เทฅ ๐œ— โ‰ˆ

๐œ— log ๐‘œ

๐‘€1 ๐‘€๐‘˜ ๐‘€โ„“

๐‘€0 = {๐‘ค โˆฃ ๐‘’ ๐‘ค โ‰ค เทค ๐›ฝ} ๐‘€1 = {๐‘ค โˆ‰ ๐‘€0 โˆฃ ๐‘’0 ๐‘ค โ‰ฅ 1 โˆ’ เทฅ ๐œ— ๐‘’(๐‘ค)} ๐‘€๐‘˜ = {๐‘ค โˆ‰ ๐‘€<๐‘˜ โˆฃ ๐‘’<๐‘˜ ๐‘ค โ‰ฅ 1 โˆ’ เทฅ ๐œ— ๐‘’(๐‘ค)}

๐‘€0

โ„“ = log ๐‘œ

slide-14
SLIDE 14

๐‘€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.

  • 3. Rando

dom m wa walk k for ๐‘˜ steps

  • 4. (If returned to ๐‘€0, abort)

5.

  • 5. Retu

eturn rn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐›ฝ

๐‘€1 ๐‘€๐‘˜ ๐‘€โ„“

slide-15
SLIDE 15

Correctness

Try-to to-Sa Sample le-a-ver ertex

1.

Choose ๐‘˜ โˆˆ 0, โ„“

2.

๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€0 (if failed abort)

3. 3.

Rando dom m walk k for ๐‘˜ steps

4.

If returned to ๐‘€0, abort

5. 5.

Retu eturn rn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐œท

Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€๐‘˜, Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ

1โˆ’เทค ๐œ— ๐‘˜๐‘’(๐‘ค) โ„“โ‹…๐‘œโ‹…เทฅ ๐›ฝ

๐‘€1 ๐‘€0 ๐‘€๐‘˜ ๐‘€โ„“

slide-16
SLIDE 16

๐‘€1 ๐‘€0 ๐‘€๐‘˜ ๐‘€โ„“

Correctness - ๐‘˜ = 0

Try-to to-Sa Sample le-a-ver ertex

1.

Choose ๐‘˜ โˆˆ 0, โ„“

2.

๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€0 (if failed abor

  • rt)

3. 3.

Rando dom m walk k for ๐‘˜ steps

4.

If returned to ๐‘€0, abort

5. 5.

Ret eturn urn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐œท

๐‘ค 1 โ„“ โ‹… 1 ๐‘œ โ‹… ๐‘’ ๐‘ค เทค ๐›ฝ = ๐‘’(๐‘ค) โ„“๐‘œ เทค ๐›ฝ

Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€๐‘˜, Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ

๐Ÿโˆ’เทค ๐‘ ๐’Œ๐’†(๐’˜) โ„“โ‹…๐’โ‹…เทฅ ๐œท

slide-17
SLIDE 17

๐‘€1 ๐‘€0 ๐‘€๐‘˜ ๐‘€โ„“

Correctness - ๐‘˜ = 0

Try-to to-Sa Sample le-a-ver ertex

1.

Choose ๐‘˜ โˆˆ 0, โ„“

2.

๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€0 (if failed abor

  • rt)

3. 3.

Rando dom m walk k for ๐‘˜ steps

4.

If returned to ๐‘€0, abort

5. 5.

Ret eturn urn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐œท

๐‘ค ๐‘’(๐‘ค) โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ

Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€๐‘˜, Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ

๐Ÿโˆ’เทค ๐‘ ๐’Œ๐’†(๐’˜) โ„“โ‹…๐’โ‹…เทฅ ๐œท

slide-18
SLIDE 18

Correctness - ๐‘˜ = 1

๐‘€1 ๐‘€0

๐‘ค ๐‘’(๐‘ค) โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ ๐‘’(๐‘ค) ๐‘œ เทค ๐›ฝ โ‹… 1 ๐‘’(๐‘ค) = 1 ๐‘œ เทค ๐›ฝ

Try-to to-Sa Sample le-a-ver ertex

1.

Choose ๐‘˜ โˆˆ 0, โ„“

2.

๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€0 (if failed abor

  • rt)

3. 3.

Rando dom m walk k for ๐‘˜ steps

4.

If returned to ๐‘€0, abort

5. 5.

Ret eturn urn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐œท

๐‘ฃ 1 โ„“ โ‹… ๐‘’0 ๐‘ฃ ๐‘œ เทค ๐›ฝ โ‰ฅ (1 โˆ’ ว ๐œ—)๐‘’(๐‘ฃ) โ„“๐‘œ เทค ๐›ฝ

๐‘€๐‘˜ ๐‘€โ„“

1 ๐‘œ เทค ๐›ฝ 1 ๐‘œ เทค ๐›ฝ 1 ๐‘œ เทค ๐›ฝ 1 ๐‘œ เทค ๐›ฝ

Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€๐‘˜, Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ

๐Ÿโˆ’เทค ๐‘ ๐’Œ๐’†(๐’˜) โ„“โ‹…๐’โ‹…เทฅ ๐œท

slide-19
SLIDE 19

๐‘€1 ๐‘€0 ๐‘€๐‘˜ ๐‘€โ„“

Correctness - ๐‘˜ = 1

Try-to to-Sa Sample le-a-ver ertex

1.

Choose ๐‘˜ โˆˆ 0, โ„“

2.

๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€0 (if failed abor

  • rt)

3. 3.

Rando dom m walk k for ๐‘˜ steps

4.

If returned to ๐‘€0, abort

5. 5.

Ret eturn urn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐œท

๐‘ค ๐‘ฃ ๐‘’(๐‘ค) โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ (1 โˆ’ ว ๐œ—)๐‘’(๐‘ฃ) โ„“๐‘œ เทค ๐›ฝ

Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€๐‘˜, Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ

๐Ÿโˆ’เทค ๐‘ ๐’Œ๐’†(๐’˜) โ„“โ‹…๐’โ‹…เทฅ ๐œท

slide-20
SLIDE 20

๐‘€1 ๐‘€0 ๐‘€๐‘˜ ๐‘€โ„“

Correctness - general ๐‘˜

Try-to to-Sa Sample le-a-ver ertex

1.

Choose ๐‘˜ โˆˆ 0, โ„“

2.

๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€0 (if failed abor

  • rt)

3. 3.

Rando dom m walk k for ๐‘˜ steps

4.

If returned to ๐‘€0, abort

5. 5.

Ret eturn urn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐œท

1 โˆ’ ว ๐œ— ๐‘˜๐‘’(๐‘ฅ) โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ โ‰ฅ (1 โˆ’ ๐œ—)๐‘’(๐‘ฅ) โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ ๐‘ค ๐‘ฃ ๐‘ฅ ๐‘’(๐‘ค) โ„“ โ‹… ๐‘œ โ‹… เทค ๐›ฝ (1 โˆ’ ว ๐œ—)๐‘’(๐‘ฃ) โ„“๐‘œ เทค ๐›ฝ

Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€๐‘˜, Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ

๐Ÿโˆ’เทค ๐‘ ๐’Œ๐’†(๐’˜) โ„“โ‹…๐’โ‹…เทฅ ๐œท

slide-21
SLIDE 21

๐‘€1 ๐‘€0 ๐‘€๐‘˜ ๐‘€โ„“

Recap

Try-to to-Sa Sample le-a-ver ertex

1.

Choose ๐‘˜ โˆˆ 0, โ„“

2.

๐‘ค โ† ๐‘‡๐‘๐‘›๐‘ž๐‘š๐‘“ โˆ’ ๐‘€0 (if failed abor

  • rt)

3. 3.

Rando dom m walk k for ๐‘˜ steps

4.

If returned to ๐‘€0, abort

5. 5.

Ret eturn urn the ๐‘˜th vertex

Sample ple-๐‘ด๐Ÿ

  • 1. Choose ๐‘ค โˆˆ ๐‘Š u.a.r
  • 2. If ๐‘’ ๐‘ค โ‰ค เทค

๐›ฝ, keep ๐‘ค w.p.

๐‘’(๐‘ค) เทฅ ๐œท

๐‘€2

Claim: aim: โˆ€๐‘˜ โˆˆ 0, โ„“ , โˆ€๐‘ค โˆˆ ๐‘€๐‘˜, Pr ๐‘ค is ๐ฌ๐Ÿ๐ฎ๐ฏ๐ฌ๐จ๐Ÿ๐ž โ‰ฅ

๐Ÿโˆ’เทค ๐‘ ๐’Œ๐’†(๐’˜) โ„“โ‹…๐’โ‹…เทฅ ๐œท

slide-22
SLIDE 22

Future Work

Sampling vs. Counting Counting edges (approximately): ๐‘ƒโˆ— ๐‘› ๐‘’๐‘๐‘ค๐‘• ีœ ๐‘ƒโˆ— ๐›ฝ ๐‘’๐‘๐‘ค๐‘• For triangles: Separation between counting and sampling Exists graphs s.t. counting is ๐‘ƒโˆ—(1) but sampling ฮฉ(n ฮค

1 4) [Feige 06, Goldreich Ron 08] [E Ron Seshadhri 17]

slide-23
SLIDE 23

Future Work

Sampling vs. Counting Sampling other subgraphs Additional uses for the Relative Decomposition

slide-24
SLIDE 24

Future Work

Sampling vs. Counting Sampling other subgraphs Other uses for the Relative Decomposition?

Thanks!