Advanced Algorithms (X) Shanghai Jiao Tong University Chihao Zhang - - PowerPoint PPT Presentation

advanced algorithms x
SMART_READER_LITE
LIVE PREVIEW

Advanced Algorithms (X) Shanghai Jiao Tong University Chihao Zhang - - PowerPoint PPT Presentation

Advanced Algorithms (X) Shanghai Jiao Tong University Chihao Zhang May 11, 2020 Estimate One can design a Monte-Carlo algorithm to estimate the value of X i [ 1,1] [ 1,1] n 1 [ X i 1] Z n = i =1 X


slide-1
SLIDE 1

Advanced Algorithms (X)

Shanghai Jiao Tong University

Chihao Zhang

May 11, 2020

slide-2
SLIDE 2

Estimate π

One can design a Monte-Carlo algorithm to estimate the value of π

  • Xi ∈ [−1,1] × [−1,1]

Zn =

n

i=1

1[∥Xi∥ ≤ 1]

slide-3
SLIDE 3

Xi ∼ Ber ( π 4 ), E[Zn] = π 4 ⋅ n

Therefore, by Chernoff bound Pr [ Zn − π 4 ⋅ n ≥ ε ⋅ π 4 ⋅ n] ≤ 2 exp (− ε2πn 12 ) If , we have an approximation

  • f with probability at least

n ≥ 12 ε2π log 2 δ 1 ± ε π 1 − δ

slide-4
SLIDE 4

Rejection Sampling

The method is often called rejection sampling It is useful to estimate the size of some good sets in a large set The number of samples is proportional to

|A| |B|

A

B

slide-5
SLIDE 5

Counting DNF

A DNF formula ,

φ = C1 ∨ C2 ∨ ⋯ ∨ Cm Ci =

ℓi

j=1

xij may contain only polynomial many solutions

φ

The Monte Carlo method using rejection sampling is slow!

B = satisfying assignments A = all assignments

slide-6
SLIDE 6

For each clause , define the set

Ci

Si := the set of assignments satisfying Ci We want to estimate

1≤i≤m

Si

B = ⋃

1≤i≤m

Si A =

1≤i≤m

Si

(disjoint union)

slide-7
SLIDE 7

How about CNF?

We consider a very special case: monotone 2-CNF φ = (x ∨ y) ∧ (x ∨ z) ∧ (x ∨ w) ∧ (y ∨ w)

x z y w

x = 𝚞𝚜𝚟𝚏, y = 𝚐𝚋𝚖𝚝𝚏 z = 𝚐𝚋𝚖𝚝𝚏, w = 𝚞𝚜𝚟𝚏

x z y w

#φ = # of independent sets

slide-8
SLIDE 8

Sampling seems to be harder than DNF case… Rejection sampling is correct but inefficient A natural idea is to resample those violated edges… Unfortunately, this is not correct.

x z y

Think about

slide-9
SLIDE 9

Partial Rejection Sampling

Guo, Jerrum and Liu (JACM, 2019) proposed the following fix: “Resample violated vertices and their neighbors” We will prove the correctness and analyze its efficiency next week

slide-10
SLIDE 10

From Sampling to Counting

slide-11
SLIDE 11

We will show that, in many cases, if one can sample from a space, then he can also estimate the size of the space Consider independent sets again ,

G = (V, E) E = {e1, e2, …, em}

We want to estimate , the number of i.s. in

I(G) G

slide-12
SLIDE 12

Define

G0 = G, Gi = Gi−1 − ei

|I(G)| = |I(G0)| = |I(G0)| |I(G1)| ⋅ |I(G1)| |I(G2)| … |I(Gm−1)| |I(Gm)| ⋅ |I(Gm)| 2n || A = I(Gi) B = I(Gi+1) can’t be too large!

|A| |B|

I(Gi) I(Gi+1) ≤ 2

slide-13
SLIDE 13

From Counting to Sampling

slide-14
SLIDE 14

On the other hand, one can consecutively sample each vertex as long as is known

Pr[v ∈ I]

The value can be obtained via a counting oracle The above two reductions require the system to satisfy “self-reducible” property