A - - - PowerPoint PPT Presentation

a
SMART_READER_LITE
LIVE PREVIEW

A - - - PowerPoint PPT Presentation

A - - Heng Guo (University of


slide-1
SLIDE 1

A -

Heng Guo (University of Edinburgh) Joint with Mark Jerrum (Queen Mary, University of London)

Zhejiang University, Jun , 8

slide-2
SLIDE 2

The complexity of computing quantities

P: polynomial-time computable NP: polynomial-time verifiable Complexity class #P by Valiant (): a counting analogue of NP. Evaluation of probabilities; Partition functions in statistical mechanics; Counting discrete structures …

slide-3
SLIDE 3

The complexity of approximate counting

What about (multiplicatively) approximating #P-complete problems?

  • at most NP-hard (Stockmeyer, 8);
  • any polynomial approximation can be amplified into an (1 ± ε)-

approximation with overhead polynomial in 1/ε. Efficient approximation algorithms do exist! Most famous example: the permanent of a non-negative matrix (Jerrum, Sinclair, and Vigoda, ). Many problems were proposed in 8s, and subsequently solved in s, but there are still a fair amount of leftovers!

slide-4
SLIDE 4

N

slide-5
SLIDE 5

Network reliability

Given a undirected graph (a.k.a. network) G = (V, E), define a random subgraph G(p) by removing each edge independently with probability p. One may be curious about all kinds of properties of G(p):

  • Pr[G(p) is connected]

(A-)

  • Pr[s and t are connected in G(p)] s-t
  • Pr[G(p) is acyclic] …
slide-6
SLIDE 6

Network reliability

(A-) : The probability that G(p) is connected. In other words, we want to compute Zrel(G, p) := ∑

R⊆E:(V, R) is connected

p|E\R|(1 − p)|R|. For example: Zrel( , p) = = (1 − p)n−1; Zrel( , p) = + + + + = (1 − p)4 + 4p(1 − p)3; Zrel(G, 1/2) = |{R ⊆ E : (V, R) is connected}| 2|E| .

slide-7
SLIDE 7

Computational complexity of reliability

Directed and undirected s-t (and a few other variants) are featured in the original list of #P-complete problems by Valiant (). Exact evaluation of - is shown to be #P-complete by Jerrum (8), and independently Provan and Ball (8). What about approximation? Open since 8s. Karger () has given a famous FPRAS for U (namely 1 − Zrel). However, approximating 1 − Zrel does not yield a good ap- proximation for Zrel when Zrel is exponentially small.

slide-8
SLIDE 8

The Tutte polynomial

For a connected undirected graph G = (V, E), ZTutte(G; x, y) := ∑

R⊆E

(x − 1)κ(R)−1(y − 1)κ(R)+|R|−|V|, where κ(R) is the number of connected components of (V, R). A few specializations of (x, y):

  • (1, 1): # of spanning trees;
  • (1, 2): # of connected subgraphs, and

ZTutte(G; 1, 1/p) = Zrel(G, p) · p|V|−|E|−1 (1 − p)|V|−1 ;

  • (2, 1): # of forests (acyclic subgraphs);
  • (x − 1)(y − 1) = 2 and x, y > 0: ferromagnetic Ising model.
slide-9
SLIDE 9

The Tutte polynomial

For a connected undirected graph G = (V, E), ZTutte(G; x, y) := ∑

R⊆E

(x − 1)κ(R)−1(y − 1)κ(R)+|R|−|V|, where κ(R) is the number of connected components of (V, R). A few specializations of (x, y):

  • (1, 1): # of spanning trees;
  • (1, 2): # of connected subgraphs, and

ZTutte(G; 1, 1/p) = Zrel(G, p) · p|V|−|E|−1 (1 − p)|V|−1 ;

  • (2, 1): # of forests (acyclic subgraphs);
  • (x − 1)(y − 1) = 2 and x, y > 0: ferromagnetic Ising model.
slide-10
SLIDE 10

The Tutte polynomial

For a connected undirected graph G = (V, E), ZTutte(G; x, y) := ∑

R⊆E

(x − 1)κ(R)−1(y − 1)κ(R)+|R|−|V|, where κ(R) is the number of connected components of (V, R). A few specializations of (x, y):

  • (1, 1): # of spanning trees;
  • (1, 2): # of connected subgraphs, and

ZTutte(G; 1, 1/p) = Zrel(G, p) · p|V|−|E|−1 (1 − p)|V|−1 ;

  • (2, 1): # of forests (acyclic subgraphs);
  • (x − 1)(y − 1) = 2 and x, y > 0: ferromagnetic Ising model.
slide-11
SLIDE 11

Main result

Let m := |E| and n := |V|. Theorem (G. and Jerrum, 8) There is a randomized algorithm approximating Zrel within multiplicative factor (1 ± ε), with expected running time O ( ε−2(1 − p)−3m2n3) . Theorem (G. and Jerrum, 8) There is an exact sampler to draw (edge-weighted) connected subgraphs with expected running time O((1 − p)−1m2n).

slide-12
SLIDE 12

N

( )

slide-13
SLIDE 13

Naive Monte Carlo

A natural unbiased estimator Z of Zrel: . Draw k independent subgraphs (Ri)i∈[k] of G(p). . Let

  • Z := 1

k ∑

i∈[k]

1conn(Ri), where 1conn(R) is the indicator variable of (V, R) being connected. It is easy to see that E Z = Zrel. However, if Zrel is exponentially small (e.g. Zrel(Pn, p) = (1 − p)n−1), then we will almost never see a connected Ri. When that happens, the variance of 1conn(R) is exponentially large, and k has to be exponentially large to yield a good approximation.

slide-14
SLIDE 14

Naive Monte Carlo

A natural unbiased estimator Z of Zrel: . Draw k independent subgraphs (Ri)i∈[k] of G(p). . Let

  • Z := 1

k ∑

i∈[k]

1conn(Ri), where 1conn(R) is the indicator variable of (V, R) being connected. It is easy to see that E Z = Zrel. However, if Zrel is exponentially small (e.g. Zrel(Pn, p) = (1 − p)n−1), then we will almost never see a connected Ri. When that happens, the variance of 1conn(R) is exponentially large, and k has to be exponentially large to yield a good approximation.

slide-15
SLIDE 15

Naive Monte Carlo

A natural unbiased estimator Z of Zrel: . Draw k independent subgraphs (Ri)i∈[k] of G(p). . Let

  • Z := 1

k ∑

i∈[k]

1conn(Ri), where 1conn(R) is the indicator variable of (V, R) being connected. It is easy to see that E Z = Zrel. However, if Zrel is exponentially small (e.g. Zrel(Pn, p) = (1 − p)n−1), then we will almost never see a connected Ri. When that happens, the variance of 1conn(R) is exponentially large, and k has to be exponentially large to yield a good approximation.

slide-16
SLIDE 16

Unreliability

Nonetheless, naive Monte Carlo (NMC) is the basic building block of the FPRAS by Karger () for U (namely 1 − Zrel). Karger’s algorithm has been subsequently refined by Harris and Srini- vasan (), Karger (6, ). Karger () is a recursive algorithm using NMC running in O(n2.87).

  • Run NMC, if pc > 1/2, where c is the size of the min-cut.
  • Otherwise, draw subgraphs H1, H2 ∼ G(q) where q = 2−1/c > p, and

1 2 (Zunrel(H1, p/q) + Zunrel(H2, p/q)) is an unbiased estimator of Zunrel(G, p).

  • Recursively estimate Zunrel(Hi, p/q) for i = 1, 2.

Similar ideas, once again, fail on graphs as simple as a path for Zrel.

slide-17
SLIDE 17

Unreliability

Nonetheless, naive Monte Carlo (NMC) is the basic building block of the FPRAS by Karger () for U (namely 1 − Zrel). Karger’s algorithm has been subsequently refined by Harris and Srini- vasan (), Karger (6, ). Karger () is a recursive algorithm using NMC running in O(n2.87).

  • Run NMC, if pc > 1/2, where c is the size of the min-cut.
  • Otherwise, draw subgraphs H1, H2 ∼ G(q) where q = 2−1/c > p, and

1 2 (Zunrel(H1, p/q) + Zunrel(H2, p/q)) is an unbiased estimator of Zunrel(G, p).

  • Recursively estimate Zunrel(Hi, p/q) for i = 1, 2.

Similar ideas, once again, fail on graphs as simple as a path for Zrel.

slide-18
SLIDE 18

Unreliability

Nonetheless, naive Monte Carlo (NMC) is the basic building block of the FPRAS by Karger () for U (namely 1 − Zrel). Karger’s algorithm has been subsequently refined by Harris and Srini- vasan (), Karger (6, ). Karger () is a recursive algorithm using NMC running in O(n2.87).

  • Run NMC, if pc > 1/2, where c is the size of the min-cut.
  • Otherwise, draw subgraphs H1, H2 ∼ G(q) where q = 2−1/c > p, and

1 2 (Zunrel(H1, p/q) + Zunrel(H2, p/q)) is an unbiased estimator of Zunrel(G, p).

  • Recursively estimate Zunrel(Hi, p/q) for i = 1, 2.

Similar ideas, once again, fail on graphs as simple as a path for Zrel.

slide-19
SLIDE 19

Unreliability

Nonetheless, naive Monte Carlo (NMC) is the basic building block of the FPRAS by Karger () for U (namely 1 − Zrel). Karger’s algorithm has been subsequently refined by Harris and Srini- vasan (), Karger (6, ). Karger () is a recursive algorithm using NMC running in O(n2.87).

  • Run NMC, if pc > 1/2, where c is the size of the min-cut.
  • Otherwise, draw subgraphs H1, H2 ∼ G(q) where q = 2−1/c > p, and

1 2 (Zunrel(H1, p/q) + Zunrel(H2, p/q)) is an unbiased estimator of Zunrel(G, p).

  • Recursively estimate Zunrel(Hi, p/q) for i = 1, 2.

Similar ideas, once again, fail on graphs as simple as a path for Zrel.

slide-20
SLIDE 20

Unreliability

Nonetheless, naive Monte Carlo (NMC) is the basic building block of the FPRAS by Karger () for U (namely 1 − Zrel). Karger’s algorithm has been subsequently refined by Harris and Srini- vasan (), Karger (6, ). Karger () is a recursive algorithm using NMC running in O(n2.87).

  • Run NMC, if pc > 1/2, where c is the size of the min-cut.
  • Otherwise, draw subgraphs H1, H2 ∼ G(q) where q = 2−1/c > p, and

1 2 (Zunrel(H1, p/q) + Zunrel(H2, p/q)) is an unbiased estimator of Zunrel(G, p).

  • Recursively estimate Zunrel(Hi, p/q) for i = 1, 2.

Similar ideas, once again, fail on graphs as simple as a path for Zrel.

slide-21
SLIDE 21

Reducing counting to sampling (Jerrum, Valiant, and Vazirani, 86)

Let πG(·) be the product distribution over the edges, conditioned on the resulting graph being connected. We can approximate Zrel using an oracle drawing from πG.

G0 = G

G1

G2

G3

slide-22
SLIDE 22

Reducing counting to sampling (Jerrum, Valiant, and Vazirani, 86)

Let πG(·) be the product distribution over the edges, conditioned on the resulting graph being connected. We can approximate Zrel using an oracle drawing from πG.

G0 = G

G1

G2

G3

slide-23
SLIDE 23

Reducing counting to sampling (Jerrum, Valiant, and Vazirani, 86)

Let πG(·) be the product distribution over the edges, conditioned on the resulting graph being connected. We can approximate Zrel using an oracle drawing from πG.

G0 = G

G1

G2

G3

slide-24
SLIDE 24

Reducing counting to sampling (Jerrum, Valiant, and Vazirani, 86)

Let πG(·) be the product distribution over the edges, conditioned on the resulting graph being connected. We can approximate Zrel using an oracle drawing from πG.

G0 = G

G1

G2

G3

slide-25
SLIDE 25

Reducing counting to sampling (Jerrum, Valiant, and Vazirani, 86)

Let πG(·) be the product distribution over the edges, conditioned on the resulting graph being connected. We can approximate Zrel using an oracle drawing from πG.

G0 = G

G1

G2

G3

slide-26
SLIDE 26

Reducing counting to sampling (Jerrum, Valiant, and Vazirani, 86)

Let πG(·) be the product distribution over the edges, conditioned on the resulting graph being connected. We can approximate Zrel using an oracle drawing from πG.

G0 = G

G1

G2

G3

Rewrite Zrel(G) = Zrel(G0) Zrel(G1) · Zrel(G1) Zrel(G2) · Zrel(G2) Zrel(G3) · Zrel(G3).

slide-27
SLIDE 27

Reducing counting to sampling (Jerrum, Valiant, and Vazirani, 86)

Let πG(·) be the product distribution over the edges, conditioned on the resulting graph being connected. We can approximate Zrel using an oracle drawing from πG.

G0 = G

G1

G2

G3

To estimate

Zrel(Gi) Zrel(Gi+1), draw C ∼ πGi+1(·) and let

C′ := { C with prob. p; C ∪ {e}

  • therwise,

and X := 1conn, Gi(C′). Then E X =

Zrel(Gi) Zrel(Gi+1) and its variance is bounded by a polynomial.

slide-28
SLIDE 28

Markov chain Monte Carlo

There is a natural Markov chain converging to πG(·): . Let C0 = E. . Given Ct, randomly pick an edge e ∈ E. If Ct \ {e} is disconnected then Ct+1 = Ct. Otherwise, Ct+1 = { Ct ∪ {e} with prob. 1 − p; Ct \ {e} with prob. p. Unfortunately, nothing is known about its mixing time (rate of conver- gence).

slide-29
SLIDE 29

A

( )

slide-30
SLIDE 30

Reachability

We say a directed graph D with root r is root-connected if all vertices can reach r. r

Root-connected

r

Root-connected

r

Not root-connected!

R: in a directed graph D = (V, A) with root r, what’s the probability that D(p) is root-connected? Zreach(D, p) := ∑

R⊆A:(V, R) is root-connected

p|A\R|(1 − p)|R|.

slide-31
SLIDE 31

A surprising equivalence

Ball (8) showed that for any undirected graph G = (V, E), Zrel(G, p) = Zreach(− → G, p), where − → G is the directed graph obtained by replacing every e ∈ E with a pair of anti-parallel arcs. (Called bi-directed).

G − → G

r

Thus we just need to approximate in bi-directed graphs.

slide-32
SLIDE 32

A coupling proof

We have an alternative coupling proof of Ball’s equivalence: There is a coupling C under which G(p) is connected ⇔ − → G(p) is root-connected. Explore G and − → G like a BFS, starting from r. Reveal − → G(p) and G(p) as the process proceeds. Couple the arc going towards the current vertex in − → G(p) with the corresponding edge in G(p).

G r u − → G r u

When both exploration processes end, the sets of vertices that can reach r are exactly the same.

slide-33
SLIDE 33

A coupling proof

We have an alternative coupling proof of Ball’s equivalence: There is a coupling C under which G(p) is connected ⇔ − → G(p) is root-connected. Explore G and − → G like a BFS, starting from r. Reveal − → G(p) and G(p) as the process proceeds. Couple the arc going towards the current vertex in − → G(p) with the corresponding edge in G(p).

G r u − → G r u

When both exploration processes end, the sets of vertices that can reach r are exactly the same.

slide-34
SLIDE 34

A coupling proof

We have an alternative coupling proof of Ball’s equivalence: There is a coupling C under which G(p) is connected ⇔ − → G(p) is root-connected. Explore G and − → G like a BFS, starting from r. Reveal − → G(p) and G(p) as the process proceeds. Couple the arc going towards the current vertex in − → G(p) with the corresponding edge in G(p).

G r u − → G r u

When both exploration processes end, the sets of vertices that can reach r are exactly the same.

slide-35
SLIDE 35

Cluster-popping

Goal: sample uniform (or edge-weighted) root-connected subgraphs. Gorodezky and Pak () proposed the “cluster-popping” algorithm:

(Cluster: a subset of vertices not including r and with no arc going out.) . Let R be a subset of arcs by choosing each arc e with probability 1 − p independently. . While there is at least one cluster in (V, R):

  • Let C1, . . . , Ck be all minimal clusters in (V, R), and C = ∪k

i=1 Ci.

  • Re-randomize all arcs whose heads are in C to get a new R.

Gorodezky and Pak () showed that this algorithm draws from the correct distribution, and they also conjectured that cluster-popping runs in expected polynomial time in bi-directed graphs.

slide-36
SLIDE 36

Cluster-popping

Goal: sample uniform (or edge-weighted) root-connected subgraphs. Gorodezky and Pak () proposed the “cluster-popping” algorithm:

(Cluster: a subset of vertices not including r and with no arc going out.) . Let R be a subset of arcs by choosing each arc e with probability 1 − p independently. . While there is at least one cluster in (V, R):

  • Let C1, . . . , Ck be all minimal clusters in (V, R), and C = ∪k

i=1 Ci.

  • Re-randomize all arcs whose heads are in C to get a new R.

Gorodezky and Pak () showed that this algorithm draws from the correct distribution, and they also conjectured that cluster-popping runs in expected polynomial time in bi-directed graphs.

slide-37
SLIDE 37

Cluster-popping

Goal: sample uniform (or edge-weighted) root-connected subgraphs. Gorodezky and Pak () proposed the “cluster-popping” algorithm:

(Cluster: a subset of vertices not including r and with no arc going out.) . Let R be a subset of arcs by choosing each arc e with probability 1 − p independently. . While there is at least one cluster in (V, R):

  • Let C1, . . . , Ck be all minimal clusters in (V, R), and C = ∪k

i=1 Ci.

  • Re-randomize all arcs whose heads are in C to get a new R.

Gorodezky and Pak () showed that this algorithm draws from the correct distribution, and they also conjectured that cluster-popping runs in expected polynomial time in bi-directed graphs.

slide-38
SLIDE 38

Cluster-popping

Goal: sample uniform (or edge-weighted) root-connected subgraphs. Gorodezky and Pak () proposed the “cluster-popping” algorithm:

(Cluster: a subset of vertices not including r and with no arc going out.) . Let R be a subset of arcs by choosing each arc e with probability 1 − p independently. . While there is at least one cluster in (V, R):

  • Let C1, . . . , Ck be all minimal clusters in (V, R), and C = ∪k

i=1 Ci.

  • Re-randomize all arcs whose heads are in C to get a new R.

Gorodezky and Pak () showed that this algorithm draws from the correct distribution, and they also conjectured that cluster-popping runs in expected polynomial time in bi-directed graphs.

slide-39
SLIDE 39

Cluster-popping

Goal: sample uniform (or edge-weighted) root-connected subgraphs. Gorodezky and Pak () proposed the “cluster-popping” algorithm:

(Cluster: a subset of vertices not including r and with no arc going out.) . Let R be a subset of arcs by choosing each arc e with probability 1 − p independently. . While there is at least one cluster in (V, R):

  • Let C1, . . . , Ck be all minimal clusters in (V, R), and C = ∪k

i=1 Ci.

  • Re-randomize all arcs whose heads are in C to get a new R.

Gorodezky and Pak () showed that this algorithm draws from the correct distribution, and they also conjectured that cluster-popping runs in expected polynomial time in bi-directed graphs.

slide-40
SLIDE 40

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-41
SLIDE 41

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-42
SLIDE 42

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-43
SLIDE 43

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-44
SLIDE 44

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-45
SLIDE 45

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-46
SLIDE 46

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-47
SLIDE 47

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-48
SLIDE 48

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-49
SLIDE 49

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-50
SLIDE 50

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-51
SLIDE 51

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-52
SLIDE 52

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-53
SLIDE 53

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-54
SLIDE 54

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-55
SLIDE 55

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-56
SLIDE 56

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-57
SLIDE 57

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-58
SLIDE 58

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-59
SLIDE 59

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-60
SLIDE 60

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-61
SLIDE 61

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-62
SLIDE 62

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-63
SLIDE 63

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-64
SLIDE 64

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-65
SLIDE 65

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-66
SLIDE 66

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-67
SLIDE 67

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-68
SLIDE 68

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-69
SLIDE 69

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-70
SLIDE 70

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-71
SLIDE 71

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-72
SLIDE 72

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-73
SLIDE 73

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-74
SLIDE 74

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-75
SLIDE 75

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-76
SLIDE 76

An example run

Cluster-popping: repeatedly resample minimal clusters. r Mapping back to connected subgraph. (Exploration order: left to right, bottom to top)

slide-77
SLIDE 77

P

(A -)

slide-78
SLIDE 78

Partial rejection sampling

Cluster-popping falls into the framework (G., Jerrum, and Liu, ). The goal is to sample from a product distribution, conditioned on a num- ber of “bad” events not happening. Rejection sampling throws away all variables. Instead, we want to recycle some randomness while resampling the “bad” events (and hopefully not too much more).

slide-79
SLIDE 79

Partial rejection sampling

Cluster-popping under partial rejection sampling: Arcs are variables. Minimal clusters are “bad” events. r There can be exponentially many bad events.

slide-80
SLIDE 80

Extremal instances

An instance is called extremal (in the sense of Shearer (8) regarding

non-uniform Lovász Local Lemma):

if any two “bad” events Ai and Aj are either independent or disjoint. r If the instance is extremal, then eliminating precisely the “bad” events in each iteration yields the correct distribution once halt (GJL ’)!

slide-81
SLIDE 81

Extremal instances

An instance is called extremal (in the sense of Shearer (8) regarding

non-uniform Lovász Local Lemma):

if any two “bad” events Ai and Aj are either independent or disjoint. r If the instance is extremal, then eliminating precisely the “bad” events in each iteration yields the correct distribution once halt (GJL ’)!

slide-82
SLIDE 82

Extremal instances

An instance is called extremal (in the sense of Shearer (8) regarding

non-uniform Lovász Local Lemma):

if any two “bad” events Ai and Aj are either independent or disjoint. r If the instance is extremal, then eliminating precisely the “bad” events in each iteration yields the correct distribution once halt (GJL ’)!

slide-83
SLIDE 83

Extremal instances

An instance is called extremal (in the sense of Shearer (8) regarding

non-uniform Lovász Local Lemma):

if any two “bad” events Ai and Aj are either independent or disjoint. r If the instance is extremal, then eliminating precisely the “bad” events in each iteration yields the correct distribution once halt (GJL ’)!

slide-84
SLIDE 84

Extremal instances

An instance is called extremal (in the sense of Shearer (8) regarding

non-uniform Lovász Local Lemma):

if any two “bad” events Ai and Aj are either independent or disjoint. r If the instance is extremal, then eliminating precisely the “bad” events in each iteration yields the correct distribution once halt (GJL ’)!

slide-85
SLIDE 85

Resampling table

Associate an infinite stack Xi,0, Xi,1, . . . to each random variable Xi. When we need to resample, draw the next value in the stack. X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . .

slide-86
SLIDE 86

Resampling table

Associate an infinite stack Xi,0, Xi,1, . . . to each random variable Xi. When we need to resample, draw the next value in the stack. X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . .

slide-87
SLIDE 87

Resampling table

Associate an infinite stack Xi,0, Xi,1, . . . to each random variable Xi. When we need to resample, draw the next value in the stack. X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . .

slide-88
SLIDE 88

Resampling table

Associate an infinite stack Xi,0, Xi,1, . . . to each random variable Xi. When we need to resample, draw the next value in the stack. X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . .

slide-89
SLIDE 89

Resampling table

Associate an infinite stack Xi,0, Xi,1, . . . to each random variable Xi. When we need to resample, draw the next value in the stack. X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . .

slide-90
SLIDE 90

Resampling table

Associate an infinite stack Xi,0, Xi,1, . . . to each random variable Xi. When we need to resample, draw the next value in the stack. X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . .

slide-91
SLIDE 91

Change the future, not the history

For extremal instances, replacing a perfect assignment with another

  • ne will not change the resampling history!

X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . . For any output and , there is a bijection between trajectories leading to and .

slide-92
SLIDE 92

Change the future, not the history

For extremal instances, replacing a perfect assignment with another

  • ne will not change the resampling history!

X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . . A1 A2 For any output and , there is a bijection between trajectories leading to and .

slide-93
SLIDE 93

Change the future, not the history

For extremal instances, replacing a perfect assignment with another

  • ne will not change the resampling history!

X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . . A1 A2 X′

4,1

X′

3,2

X′

2,1

X′

1,0

For any output and , there is a bijection between trajectories leading to and .

slide-94
SLIDE 94

Change the future, not the history

For extremal instances, replacing a perfect assignment with another

  • ne will not change the resampling history!

X4,0 X3,0 X2,0 X1,0 X4,1 X3,1 X2,1 X1,1 X4,2 X3,2 X2,2 X1,2 X4,3 X3,3 X2,3 X1,3 X4,4 X3,4 X2,4 X1,4 X4 X3 X2 X1 . . . . . . . . . . . . A1 A2 X′

4,1

X′

3,2

X′

2,1

X′

1,0

For any output σ and τ, there is a bijection between trajectories leading to σ and τ.

slide-95
SLIDE 95

Partial Rejection Sampling vs Markov chains

Markov chain is a random walk in the solution space.

(The solution space has to be connected, and the mixing time is not easy to analyze.)

slide-96
SLIDE 96

Partial Rejection Sampling vs Markov chains

PRS is a local search on the whole space.

σ

slide-97
SLIDE 97

Partial Rejection Sampling vs Markov chains

PRS is a local search on the whole space.

(Ergodicity is not an issue.)

σ

slide-98
SLIDE 98

Partial Rejection Sampling vs Markov chains

PRS is a local search on the whole space.

(Correctness guaranteed by the bijection. Exact formula for its running time on extremal instances.)

σ τ

slide-99
SLIDE 99

Run-time analysis

Theorem (G., Jerrum, and Liu, ) Under Shearer’s condition, for extremal instances, E T = total weight of one-flaw assignments total weight of perfect assignments .

(Shearer (8) has shown a sufficient condition to guarantee the existence of

  • ne perfect assignment, which is optimal for Lovász Local Lemma.)

The upper bound is shown by Kolipaka and Szegedy ().

slide-100
SLIDE 100

Back to cluster-popping

Cluster-popping: repeatedly resample minimal clusters. Let Ωk be the set of subgraphs with k minimal clusters, and Zk := ∑

S∈Ωk

p|E\S|(1 − p)|S|. Then, E T = Z1 Z0 . Lemma (G. and Jerrum, 8) For bi-directed graphs, Z1 ⩽

p 1−p · mnZ0.

We show this by designing an injective mapping Ω1 → Ω0 × V × E.

slide-101
SLIDE 101

Injective mapping

Given R ∈ Ω1, we map it to R0 ∈ Ω0 by “repairing” the unique minimal cluster.

r u′ u v

Conversely, given R0 ∈ Ω0, (u, u′) and v, we can recover R ∈ Ω1.

slide-102
SLIDE 102

Injective mapping

Given R ∈ Ω1, we map it to R0 ∈ Ω0 by “repairing” the unique minimal cluster.

r u′ u v

Conversely, given R0 ∈ Ω0, (u, u′) and v, we can recover R ∈ Ω1.

slide-103
SLIDE 103

Injective mapping

Given R ∈ Ω1, we map it to R0 ∈ Ω0 by “repairing” the unique minimal cluster.

r u′ u v

Conversely, given R0 ∈ Ω0, (u, u′) and v, we can recover R ∈ Ω1.

slide-104
SLIDE 104

Injective mapping

Given R ∈ Ω1, we map it to R0 ∈ Ω0 by “repairing” the unique minimal cluster.

r u′ u v

Conversely, given R0 ∈ Ω0, (u, u′) and v, we can recover R ∈ Ω1.

slide-105
SLIDE 105

Injective mapping

Given R ∈ Ω1, we map it to R0 ∈ Ω0 by “repairing” the unique minimal cluster.

r u′ u v

Conversely, given R0 ∈ Ω0, (u, u′) and v, we can recover R ∈ Ω1.

slide-106
SLIDE 106

Injective mapping

Given R ∈ Ω1, we map it to R0 ∈ Ω0 by “repairing” the unique minimal cluster.

r u′ u v

Conversely, given R0 ∈ Ω0, (u, u′) and v, we can recover R ∈ Ω1.

slide-107
SLIDE 107

Injective mapping

Given R ∈ Ω1, we map it to R0 ∈ Ω0 by “repairing” the unique minimal cluster.

r u′ u v

Conversely, given R0 ∈ Ω0, (u, u′) and v, we can recover R ∈ Ω1.

slide-108
SLIDE 108

Recap for reliability

Approximate Zrel(G) via a sequence of contractions G0, . . . , Gn−1, and estimate each

Zrel(Gi) Zrel(Gi+1) using the following sampling oracle:

. run cluster-popping to sample a root-connected subgraph in − → G; . use the coupling to get a random connected subgraph. To bound the running time of cluster-popping, we use a result of (GJL ’) and design an injective mapping.

slide-109
SLIDE 109

Counting connected subgraphs of fixed size

Let St be the set of connected subgraph of size t where n − 1 ⩽ t ⩽ m and Nt = |St|. Then a result of Huh and Katz () implies that the sequence (Nt)t is log-concave, namely, Nt−1Nt+1 ⩽ N2

t.

(Here we treat connected subgraphs as independent sets in the dual of the graphic matroid, which is representable and HK’ applies. Similar log-concavity in general matroid is resolved by Adiprasito, Huh, and Katz ().)

Given the sampler for connected subgraphs and log-concavity, we can set p =

Nt Nt−1+Nt so that subgraphs in St show up frequently enough.

There is a standard approach (Jerrum and Sinclair, 8) to estimate each individual Nt.

slide-110
SLIDE 110

Other examples of PRS

Extremal instances:

  • Uniform spanning trees — cycle-popping (Wilson, 6)
  • Uniform sink-free orientations — sink-popping

(Bubley and Dyer, ) (Cohn, Pemantle, and Propp, ) General instances (G., Jerrum, and Liu, ):

  • Weighted independent set (Hardcore gas model)
  • Hard disks / hard spheres model (G. and Jerrum, 8)
  • Solutions to k-CNF formulas with bounded variable degrees

Results for general instances are far from optimal.

slide-111
SLIDE 111

C

slide-112
SLIDE 112

Approximating the Tutte polynomial

q = (x − 1)(y − 1) Poly-time FPRAS NP-hard to approximate

(#P-hard mostly)

#PM-equivalent #BIS-hard Open: white area

Ref: Jaeger, Vertigan, and Welsh (); Jerrum and Sinclair (); Goldberg and Jerrum (8, , ) This work

(for planar graphs) q = 2 q = 1 q = 2 q = 1

x y

(1, 1) −1 −1

slide-113
SLIDE 113

Approximating the Tutte polynomial

q = (x − 1)(y − 1) Poly-time FPRAS NP-hard to approximate

(#P-hard mostly)

#PM-equivalent #BIS-hard Open: white area

Ref: Jaeger, Vertigan, and Welsh (); Jerrum and Sinclair (); Goldberg and Jerrum (8, , ) This work

(for planar graphs) q = 2 q = 1 q = 2 q = 1

x y

(1, 1) −1 −1

slide-114
SLIDE 114

Approximating the Tutte polynomial

q = (x − 1)(y − 1) Poly-time FPRAS NP-hard to approximate

(#P-hard mostly)

#PM-equivalent #BIS-hard Open: white area

Ref: Jaeger, Vertigan, and Welsh (); Jerrum and Sinclair (); Goldberg and Jerrum (8, , ) This work

(for planar graphs) q = 2 q = 1 q = 2 q = 1

x y

(1, 1) −1 −1

slide-115
SLIDE 115

Approximating the Tutte polynomial

q = (x − 1)(y − 1) Poly-time FPRAS NP-hard to approximate

(#P-hard mostly)

#PM-equivalent #BIS-hard Open: white area

Ref: Jaeger, Vertigan, and Welsh (); Jerrum and Sinclair (); Goldberg and Jerrum (8, , ) This work

(for planar graphs) q = 2 q = 1 q = 2 q = 1

x y

(1, 1) −1 −1

slide-116
SLIDE 116

Approximating the Tutte polynomial

q = (x − 1)(y − 1) Poly-time FPRAS NP-hard to approximate

(#P-hard mostly)

#PM-equivalent #BIS-hard Open: white area

Ref: Jaeger, Vertigan, and Welsh (); Jerrum and Sinclair (); Goldberg and Jerrum (8, , ) This work

(for planar graphs) q = 2 q = 1 q = 2 q = 1

x y

(1, 1) −1 −1

slide-117
SLIDE 117

A common paradigm

Both our result and the previous positive result on the Tutte plane (Jer- rum and Sinclair, ) follow the same pattern: . Transform the problem into an equivalent one:

  • Ferromagnetic Ising model → even subgraphs (JS’);
  • Reliability → bi-directed reachability.

. Exploit some nice properties of the new solution space. Are there other equivalences we have not discovered yet?

slide-118
SLIDE 118

Open problems

  • Is the Markov chain for connected subgraphs rapidly mixing?
  • Approximating s-t , and other variants?

(The natural Markov chain is exponentially slow for s-t version.)

  • Approximating ZTutte(G; x, 1) for x > 1 (edge-weighted forests)?
slide-119
SLIDE 119

T !

arXiv:1611.01647

(P )

arXiv:1709.08561

(N )