The Complexity of Counting Problems Tyson Williams (University of - - PowerPoint PPT Presentation

the complexity of counting problems
SMART_READER_LITE
LIVE PREVIEW

The Complexity of Counting Problems Tyson Williams (University of - - PowerPoint PPT Presentation

The Complexity of Counting Problems Tyson Williams (University of Wisconsin-Madison) Joint with: Jin-Yi Cai and Heng Guo (University of Wisconsin-Madison) Michael Kowalczyk (Northern Michigan University) Tyson Williams (UW-M) Counting


slide-1
SLIDE 1

The Complexity of Counting Problems

Tyson Williams (University of Wisconsin-Madison) Joint with: Jin-Yi Cai and Heng Guo (University of Wisconsin-Madison) Michael Kowalczyk (Northern Michigan University)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 1 / 32

slide-2
SLIDE 2

Complexity Theory Review

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 2 / 32

slide-3
SLIDE 3

In the beginning, there was SAT Problem: SAT Input: A Boolean formula (in conjunctive normal form). Output: “Yes” if there is a satisfying assignment “No” otherwise.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 3 / 32

slide-4
SLIDE 4

In the beginning, there was SAT Problem: SAT Input: A Boolean formula (in conjunctive normal form). Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ x ∨ y ∨ z) ∧ (x ∨ y) ∧ (x ∨ y ∨ z) ∧ (w ∨ x ∨ y ∨ z)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 3 / 32

slide-5
SLIDE 5

In the beginning, there was SAT Problem: SAT Input: A Boolean formula (in conjunctive normal form). Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ x ∨ y ∨ z) ∧ (x ∨ y) ∧ (x ∨ y ∨ z) ∧ (w ∨ x ∨ y ∨ z) Example output: Yes

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 3 / 32

slide-6
SLIDE 6

In the beginning, there was SAT Problem: SAT Input: A Boolean formula (in conjunctive normal form). Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ x ∨ y ∨ z) ∧ (x ∨ y) ∧ (x ∨ y ∨ z) ∧ (w ∨ x ∨ y ∨ z) Example output: Yes Satisfying assignment: w = x = True y = z = False

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 3 / 32

slide-7
SLIDE 7

In the beginning, there was SAT Problem: SAT Input: A Boolean formula (in conjunctive normal form). Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ x ∨ y ∨ z) ∧ (x ∨ y) ∧ (x ∨ y ∨ z) ∧ (w ∨ x ∨ y ∨ z) Example output: Yes Satisfying assignment: w = x = True y = z = False Theorem (Cook ’71, Levin ’73) SAT ∈ NP-Complete.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 3 / 32

slide-8
SLIDE 8

And SAT begat 3SAT Problem: 3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if there is a satisfying assignment “No” otherwise.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 4 / 32

slide-9
SLIDE 9

And SAT begat 3SAT Problem: 3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ y) ∧ (w ∨ x ∨ y)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 4 / 32

slide-10
SLIDE 10

And SAT begat 3SAT Problem: 3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ y) ∧ (w ∨ x ∨ y) Example output: No

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 4 / 32

slide-11
SLIDE 11

And SAT begat 3SAT Problem: 3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ y) ∧ (w ∨ x ∨ y) Example output: No Theorem 3SAT ∈ NP-Complete.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 4 / 32

slide-12
SLIDE 12

And 3SAT begat 1-in-3SAT and NAE-3SAT Problem: 1-in-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Problem: NAE-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 5 / 32

slide-13
SLIDE 13

And 3SAT begat 1-in-3SAT and NAE-3SAT Problem: 1-in-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if each clause has exactly 1 true literal “No” otherwise. Problem: NAE-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 5 / 32

slide-14
SLIDE 14

And 3SAT begat 1-in-3SAT and NAE-3SAT Problem: 1-in-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if each clause has exactly 1 true literal “No” otherwise. Problem: NAE-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if the literals in each clause are not all equal “No” otherwise. (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 5 / 32

slide-15
SLIDE 15

And 3SAT begat 1-in-3SAT and NAE-3SAT Problem: 1-in-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if each clause has exactly 1 true literal “No” otherwise. Problem: NAE-3SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has exactly 3 literals. Output: “Yes” if the literals in each clause are not all equal “No” otherwise. (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) Theorem 1-in-3SAT, NAE-3SAT ∈ NP-Complete.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 5 / 32

slide-16
SLIDE 16

Then came the monotone versions Definition A Boolean formula is monotone if the formula contains no negations.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 6 / 32

slide-17
SLIDE 17

Then came the monotone versions Definition A Boolean formula is monotone if the formula contains no negations. What is the complexity of... Mon-3SAT? Mon-1-in-3SAT? Mon-NAE-3SAT?

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 6 / 32

slide-18
SLIDE 18

Then came the monotone versions Definition A Boolean formula is monotone if the formula contains no negations. What is the complexity of... Mon-3SAT? Mon-1-in-3SAT ∈ NP-Complete Mon-NAE-3SAT ∈ NP-Complete

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 6 / 32

slide-19
SLIDE 19

Then came the monotone versions Definition A Boolean formula is monotone if the formula contains no negations. What is the complexity of... Mon-3SAT ∈ P Mon-1-in-3SAT ∈ NP-Complete Mon-NAE-3SAT ∈ NP-Complete

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 6 / 32

slide-20
SLIDE 20

What else is tractable? Problem: Horn-SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has at most 1 positive literal. Output: “Yes” if there is a satisfying assignment “No” otherwise.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 7 / 32

slide-21
SLIDE 21

What else is tractable? Problem: Horn-SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has at most 1 positive literal. Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ y)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 7 / 32

slide-22
SLIDE 22

What else is tractable? Problem: Horn-SAT Input: A Boolean formula (in conjunctive normal form) such that each clause has at most 1 positive literal. Output: “Yes” if there is a satisfying assignment “No” otherwise. Example input: (w ∨ y ∨ z) ∧ (w ∨ x ∨ z) ∧ (x ∨ y ∨ z) ∧ (w ∨ y ∨ z) ∧ (w ∨ x ∨ y) Theorem Horn-SAT ∈ P.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 7 / 32

slide-23
SLIDE 23

Constraint Satisfaction Problems These types of problems called Constraint Satisfaction Problems (CSPs).

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 8 / 32

slide-24
SLIDE 24

Constraint Satisfaction Problems These types of problems called Constraint Satisfaction Problems (CSPs). Definition The CSP defined by a set of constraints F is denoted by CSP(F).

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 8 / 32

slide-25
SLIDE 25

Constraint Satisfaction Problems These types of problems called Constraint Satisfaction Problems (CSPs). Definition The CSP defined by a set of constraints F is denoted by CSP(F). Examples: SAT has F = {ORk | k ∈ N} ∪ {NOT2} 3SAT has F = {OR3, NOT2} 1-in-3SAT has F = {EXACTLY-ONE3, NOT2} NAE-3SAT has F = {NOT-All-EQUAL3, NOT2} Mon-3SAT has F = {OR3} Mon-1-in-3SAT has F = {EXACTLY-ONE3} Mon-NAE-3SAT has F = {NOT-All-EQUAL3}

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 8 / 32

slide-26
SLIDE 26

One theorem to rule them all

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 9 / 32

slide-27
SLIDE 27

One theorem to rule them all Theorem (Schaefer’s dichotomy theorem ’78) For any set of constraint functions F, the problem CSP(F) is NP-Complete unless one of the following conditions holds, in which case the problem is in P:

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 9 / 32

slide-28
SLIDE 28

One theorem to rule them all Theorem (Schaefer’s dichotomy theorem ’78) For any set of constraint functions F, the problem CSP(F) is NP-Complete unless one of the following conditions holds, in which case the problem is in P: All constraints in F...

1

that are not constantly false are true when all its arguments are true;

2

that are not constantly false are true when all its arguments are false;

3

are equivalent to a conjunction of binary clauses;

4

are equivalent to a conjunction of Horn clauses;

5

are equivalent to a conjunction of dual-Horn clauses;

6

are equivalent to a conjunction of affine formula.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 9 / 32

slide-29
SLIDE 29

One theorem to rule them all Theorem (Schaefer’s dichotomy theorem ’78) For any set of constraint functions F, the problem CSP(F) is NP-Complete unless one of the following conditions holds, in which case the problem is in P: All constraints in F...

1

that are not constantly false are true when all its arguments are true;

2

that are not constantly false are true when all its arguments are false;

3

are equivalent to a conjunction of binary clauses;

4

are equivalent to a conjunction of Horn clauses;

5

are equivalent to a conjunction of dual-Horn clauses;

6

are equivalent to a conjunction of affine formula.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 9 / 32

slide-30
SLIDE 30

One theorem to rule them all Theorem (Schaefer’s dichotomy theorem ’78) For any set of constraint functions F, the problem CSP(F) is NP-Complete unless one of the following conditions holds, in which case the problem is in P: All constraints in F...

1

that are not constantly false are true when all its arguments are true;

2

that are not constantly false are true when all its arguments are false;

3

are equivalent to a conjunction of binary clauses;

4

are equivalent to a conjunction of Horn clauses;

5

are equivalent to a conjunction of dual-Horn clauses;

6

are equivalent to a conjunction of affine formula.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 9 / 32

slide-31
SLIDE 31

Three takeaways from Schaefer’s dichotomy theorem

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 10 / 32

slide-32
SLIDE 32

Three takeaways from Schaefer’s dichotomy theorem Theorist: describes the line between easy problems and hard problems

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 10 / 32

slide-33
SLIDE 33

Three takeaways from Schaefer’s dichotomy theorem Theorist: describes the line between easy problems and hard problems Practitioner (i.e. employee of Google): a complexity dictionary

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 10 / 32

slide-34
SLIDE 34

Three takeaways from Schaefer’s dichotomy theorem Theorist: describes the line between easy problems and hard problems Practitioner (i.e. employee of Google): a complexity dictionary Observation: no problems of intermediate complexity

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 10 / 32

slide-35
SLIDE 35

Three takeaways from Schaefer’s dichotomy theorem Theorist: describes the line between easy problems and hard problems Practitioner (i.e. employee of Google): a complexity dictionary Observation: no problems of intermediate complexity Theorem (Ladner’s theorem ’75) If P = NP, then there exists problems in NP of intermediate complexity.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 10 / 32

slide-36
SLIDE 36

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 11 / 32

slide-37
SLIDE 37

http://commons.wikimedia.org/wiki/File:P_np_np-complete_np-hard.svg Tyson Williams (UW-M) Counting Complexity Google Madison 2013 11 / 32

slide-38
SLIDE 38

A Motivation for Counting

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 12 / 32

slide-39
SLIDE 39

Independent Set Want large independent set.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 13 / 32

slide-40
SLIDE 40

Independent Set Want large independent set.

http://commons.wikimedia.org/wiki/File:Independent_set_graph.svg Tyson Williams (UW-M) Counting Complexity Google Madison 2013 13 / 32

slide-41
SLIDE 41

The Facts Problem: IndependentSet Input: A graph G and k ∈ N. Output: “Yes” if G contains an independent set of size at least k “No” otherwise.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 14 / 32

slide-42
SLIDE 42

The Facts Problem: IndependentSet Input: A graph G and k ∈ N. Output: “Yes” if G contains an independent set of size at least k “No” otherwise. IndependentSet ∈ NP-Complete

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 14 / 32

slide-43
SLIDE 43

The Facts Problem: IndependentSet Input: A graph G and k ∈ N. Output: “Yes” if G contains an independent set of size at least k “No” otherwise. IndependentSet ∈ NP-Complete Next question: how close to optimal can we get?

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 14 / 32

slide-44
SLIDE 44

A Different Approach Let I(G) be the set of independent sets in G.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 15 / 32

slide-45
SLIDE 45

A Different Approach Let I(G) be the set of independent sets in G. Want to randomly sample I from I(G) such that Pr(I) ∝ w(I).

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 15 / 32

slide-46
SLIDE 46

A Different Approach Let I(G) be the set of independent sets in G. Want to randomly sample I from I(G) such that Pr(I) ∝ w(I). Then must have Pr(I) = w(I) Z(G), where Z(G) =

  • I∈I(G)

w(I).

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 15 / 32

slide-47
SLIDE 47

A Different Approach Let I(G) be the set of independent sets in G. Want to randomly sample I from I(G) such that Pr(I) ∝ w(I). Then must have Pr(I) = w(I) Z(G), where Z(G) =

  • I∈I(G)

w(I). Know as the partition function in statistical physics.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 15 / 32

slide-48
SLIDE 48

Weight functions Pr(I) = w(I) Z(G) where Z(G) =

  • I∈I(G)

w(I).

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 16 / 32

slide-49
SLIDE 49

Weight functions Pr(I) = w(I) Z(G) where Z(G) =

  • I∈I(G)

w(I). If w(I) = 1, then Z(G) = |I(G)| is the number of independent sets.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 16 / 32

slide-50
SLIDE 50

Weight functions Pr(I) = w(I) Z(G) where Z(G) =

  • I∈I(G)

w(I). If w(I) = 1, then Z(G) = |I(G)| is the number of independent sets. Statistical physicists considered w(I) = λ|I| from some nonnegative λ ∈ R.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 16 / 32

slide-51
SLIDE 51

Weight functions Pr(I) = w(I) Z(G) where Z(G) =

  • I∈I(G)

w(I). If w(I) = 1, then Z(G) = |I(G)| is the number of independent sets. Statistical physicists considered w(I) = λ|I| from some nonnegative λ ∈ R. If λ = 1, then Z(G) = |I(G)| again.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 16 / 32

slide-52
SLIDE 52

Weight functions Pr(I) = w(I) Z(G) where Z(G) =

  • I∈I(G)

w(I). If w(I) = 1, then Z(G) = |I(G)| is the number of independent sets. Statistical physicists considered w(I) = λ|I| from some nonnegative λ ∈ R. If λ = 1, then Z(G) = |I(G)| again. If λ = 0, then Z(G) = 1.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 16 / 32

slide-53
SLIDE 53

Weight functions Pr(I) = w(I) Z(G) where Z(G) =

  • I∈I(G)

w(I). If w(I) = 1, then Z(G) = |I(G)| is the number of independent sets. Statistical physicists considered w(I) = λ|I| from some nonnegative λ ∈ R. If λ = 1, then Z(G) = |I(G)| again. If λ = 0, then Z(G) = 1. Theorem (Sly,Sun ’12) For d ≥ 3 and λ > λc(d) = (d−1)d−1

(d−2)d , unless NP = RP there is no

approximation algorithm for the partition function with w(I) = λ|I|

  • n d-regular graphs.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 16 / 32

slide-54
SLIDE 54

Local Constraints

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 17 / 32

slide-55
SLIDE 55

#VertexCover Definition A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex in the set.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 18 / 32

slide-56
SLIDE 56

#VertexCover Definition A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex in the set.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 18 / 32

slide-57
SLIDE 57

#VertexCover Definition A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex in the set.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 18 / 32

slide-58
SLIDE 58

#VertexCover Definition A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex in the set.

X

  • Tyson Williams (UW-M)

Counting Complexity Google Madison 2013 18 / 32

slide-59
SLIDE 59

Systematic Approach to #VertexCover G = (V , E)

  • (u,v)∈E

OR(σ(u), σ(v)) = 1 · 1 · 1 · 1 · 1 · 1 = 1

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 19 / 32

slide-60
SLIDE 60

Systematic Approach to #VertexCover G = (V , E)

  • (u,v)∈E

OR(σ(u), σ(v)) = 1 · 1 · 1 · 1 · 1 · 1 = 1

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 19 / 32

slide-61
SLIDE 61

Systematic Approach to #VertexCover G = (V , E) σ : V → {0, 1}

1 1 1

  • (u,v)∈E

OR(σ(u), σ(v)) = 1 · 1 · 1 · 1 · 1 · 1 = 1

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 19 / 32

slide-62
SLIDE 62

Systematic Approach to #VertexCover G = (V , E) σ : V → {0, 1}

1 1 1

OR OR OR OR OR OR

  • (u,v)∈E

OR(σ(u), σ(v)) = 1 · 1 · 1 · 1 · 1 · 1 = 1

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 19 / 32

slide-63
SLIDE 63

Systematic Approach to #VertexCover G = (V , E) σ : V → {0, 1}

1 1 1

OR OR OR OR OR OR

  • (u,v)∈E

OR(σ(u), σ(v)) = 1 · 1 · 1 · 1 · 1 · 1 = 1

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 19 / 32

slide-64
SLIDE 64

Systematic Approach to #VertexCover G = (V , E) σ : V → {0, 1}

1 1

OR OR OR OR OR OR

  • (u,v)∈E

OR(σ(u), σ(v)) = 1 · 1 · 0 · 1 · 1 · 1 = 0

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 19 / 32

slide-65
SLIDE 65

Systematic Approach to #VertexCover G = (V , E) σ : V → {0, 1} #VertexCover(G) =

  • σ:V →{0,1}
  • (u,v)∈E

OR(σ(u), σ(v))

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 19 / 32

slide-66
SLIDE 66

Generalize

  • σ:V →{0,1}
  • (u,v)∈E

OR (σ(u), σ(v))

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 20 / 32

slide-67
SLIDE 67

Generalize

  • σ:V →{0,1}
  • (u,v)∈E

OR (σ(u), σ(v)) Input Output p q OR(p, q) 1 1 1 1 1 1 1

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 20 / 32

slide-68
SLIDE 68

Generalize

  • σ:V →{0,1}
  • (u,v)∈E

f (σ(u), σ(v)) Input Output p q OR(p, q) 1 1 1 1 1 1 1 Input Output p q f (p, q) w 1 x 1 y 1 1 z where w, x, y, z ∈ C

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 20 / 32

slide-69
SLIDE 69

Generalize Partition Function: Z(·) Z(G) =

  • σ:V →{0,1}
  • (u,v)∈E

f (σ(u), σ(v)) Input Output p q OR(p, q) 1 1 1 1 1 1 1 Input Output p q f (p, q) w 1 x 1 y 1 1 z where w, x, y, z ∈ C

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 20 / 32

slide-70
SLIDE 70

A Counting Dichotomy Theorem (Cai, Kowalczyk, W ’12) Over 3-regular graphs G, the exact counting problem for any (binary) complex-weighted function f Z(G) =

  • σ:V →{0,1}
  • (u,v)∈E

f (σ(u), σ(v)) is either computable in polynomial time or #P-hard.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 21 / 32

slide-71
SLIDE 71

Nonlocal Examples Problem: HamiltonianCycle Input: A graph G. Output: “Yes” if G contains an Hamiltonian cycle “No” otherwise.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 22 / 32

slide-72
SLIDE 72

Nonlocal Examples Problem: HamiltonianCycle Input: A graph G. Output: “Yes” if G contains an Hamiltonian cycle “No” otherwise. Problem: Connected Input: A graph G. Output: “Yes” if G is connected “No” otherwise.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 22 / 32

slide-73
SLIDE 73

Nonlocal Examples Problem: HamiltonianCycle Input: A graph G. Output: “Yes” if G contains an Hamiltonian cycle “No” otherwise. Problem: Connected Input: A graph G. Output: “Yes” if G is connected “No” otherwise. Confessions of a theorists:

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 22 / 32

slide-74
SLIDE 74

Nonlocal Examples Problem: HamiltonianCycle Input: A graph G. Output: “Yes” if G contains an Hamiltonian cycle “No” otherwise. Problem: Connected Input: A graph G. Output: “Yes” if G is connected “No” otherwise. Confessions of a theorists: Some proofs of this depending on definition of “local”.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 22 / 32

slide-75
SLIDE 75

Nonlocal Examples Problem: HamiltonianCycle Input: A graph G. Output: “Yes” if G contains an Hamiltonian cycle “No” otherwise. Problem: Connected Input: A graph G. Output: “Yes” if G is connected “No” otherwise. Confessions of a theorists: Some proofs of this depending on definition of “local”. Formally, just think of these as conjectures.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 22 / 32

slide-76
SLIDE 76

Symmetric Function Definition A function is symmetric if invariant under any permutation of its inputs.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 23 / 32

slide-77
SLIDE 77

Symmetric Function Definition A function is symmetric if invariant under any permutation of its inputs. Examples: OR2 = [0, 1, 1] AND3 = [0, 0, 0, 1] EVEN-PARITY4 = [1, 0, 1, 0, 1] MAJORITY5 = [0, 0, 0, 1, 1, 1] (=6) = EQUALITY6 = [1, 0, 0, 0, 0, 0, 1]

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 23 / 32

slide-78
SLIDE 78

Constraint Graph for #CSP(F) Instance F = {EVEN-PARITY3, MAJORITY3, OR3}

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 24 / 32

slide-79
SLIDE 79

Constraint Graph for #CSP(F) Instance F = {EVEN-PARITY3, MAJORITY3, OR3} EVEN-PARITY3(x, y, z) ∧ MAJORITY3(x, y, z) ∧ OR3(x, y, z)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 24 / 32

slide-80
SLIDE 80

Constraint Graph for #CSP(F) Instance F = {EVEN-PARITY3, MAJORITY3, OR3} EVEN-PARITY3(x, y, z) ∧ MAJORITY3(x, y, z) ∧ OR3(x, y, z) x y z EVEN-PARITY3 MAJORITY3 OR3

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 24 / 32

slide-81
SLIDE 81

Constraint Graph for #CSP(F) Instance F = {EVEN-PARITY3, MAJORITY3, OR3} EVEN-PARITY3(x, y, z) ∧ MAJORITY3(x, y, z) ∧ OR3(x, y, z) x y z EVEN-PARITY3 MAJORITY3 OR3 NOT planar, so NOT an instance of Pl-#CSP({EVEN-PARITY3, MAJORITY3, OR3})

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 24 / 32

slide-82
SLIDE 82

Constraint Graph for #CSP(F) Instance F = {EVEN-PARITY3, MAJORITY3, OR3} EVEN-PARITY3(x, y, z) ∧ MAJORITY3(x, y, z) ∧ OR3(x, y, z) x y z EVEN-PARITY3 MAJORITY3 OR3 NOT planar, so NOT an instance of Pl-#CSP({EVEN-PARITY3, MAJORITY3, OR3})

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 24 / 32

slide-83
SLIDE 83

Constraint Graph for #CSP(F) Instance F = {EVEN-PARITY3, MAJORITY3, OR2} EVEN-PARITY3(x, y, z) ∧ MAJORITY3(x, y, z) ∧ OR2(x, y), z x y z EVEN-PARITY3 MAJORITY3 OR2

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 24 / 32

slide-84
SLIDE 84

Constraint Graph for #CSP(F) Instance F = {EVEN-PARITY3, MAJORITY3, OR2} EVEN-PARITY3(x, y, z) ∧ MAJORITY3(x, y, z) ∧ OR2(x, y), z x y z EVEN-PARITY3 MAJORITY3 OR2 x OR2 y EVEN-PARITY3 z MAJORITY3 VALID instance of Pl-#CSP({EVEN-PARITY3, MAJORITY3, OR2})

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 24 / 32

slide-85
SLIDE 85

More Counting Dichotomies Theorem (Cai, Lu, Xia ’09) Let F be any set of complex-valued constraints in Boolean variables. Then #CSP(F) is either #P-hard or computable in polynomial time.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 25 / 32

slide-86
SLIDE 86

More Counting Dichotomies Theorem (Cai, Lu, Xia ’09) Let F be any set of complex-valued constraints in Boolean variables. Then #CSP(F) is either #P-hard or computable in polynomial time. Theorem (Cai, Xia ’12) Let F be any set of complex-valued constraints. Then #CSP(F) is either #P-hard or computable in polynomial time.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 25 / 32

slide-87
SLIDE 87

More Counting Dichotomies Theorem (Cai, Lu, Xia ’09) Let F be any set of complex-valued constraints in Boolean variables. Then #CSP(F) is either #P-hard or computable in polynomial time. Theorem (Cai, Xia ’12) Let F be any set of complex-valued constraints. Then #CSP(F) is either #P-hard or computable in polynomial time. Theorem (Guo, W ’13) Let F be any set of symmetric, complex-valued constraints in Boolean variables. Then Pl-#CSP(F) is either #P-hard or computable in polynomial time.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 25 / 32

slide-88
SLIDE 88

Definition of Holant Function Partition Function

f f f f f f

  • σ:V →{0,1}
  • (u,v)∈E

f (σ(u), σ(v))

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 26 / 32

slide-89
SLIDE 89

Definition of Holant Function Partition Function

Assignments to vertices Functions on edges

f f f f f f

  • σ:V →{0,1}
  • (u,v)∈E

f (σ(u), σ(v))

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 26 / 32

slide-90
SLIDE 90

Definition of Holant Function Partition Function

Assignments to vertices Functions on edges

f f f f f f

  • σ:V →{0,1}
  • (u,v)∈E

f (σ(u), σ(v)) Holant Function

Assignment to edges Functions on vertices

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 26 / 32

slide-91
SLIDE 91

Definition of Holant Function Partition Function

Assignments to vertices Functions on edges

f f f f f f

  • σ:V →{0,1}
  • (u,v)∈E

f (σ(u), σ(v)) Holant Function

Assignment to edges Functions on vertices

=3 =3 =3 =3 f f f f f f

  • σ:E→{0,1}
  • v∈V

gv

  • σ |E(v)
  • Tyson Williams (UW-M)

Counting Complexity Google Madison 2013 26 / 32

slide-92
SLIDE 92

Definition of Holant Function Holant({f } | {=3}) is a counting problem defined

  • ver (2,3)-regular bipartite

graphs. Holant Function

Assignment to edges Functions on vertices

=3 =3 =3 =3 f f f f f f

  • σ:E→{0,1}
  • v∈V

gv

  • σ |E(v)
  • Tyson Williams (UW-M)

Counting Complexity Google Madison 2013 26 / 32

slide-93
SLIDE 93

Definition of Holant Function Holant({f } | {=3}) is a counting problem defined

  • ver (2,3)-regular bipartite

graphs. Degree 2 vertices take f . Degree 3 vertices take =3. Holant Function

Assignment to edges Functions on vertices

=3 =3 =3 =3 f f f f f f

  • σ:E→{0,1}
  • v∈V

gv

  • σ |E(v)
  • Tyson Williams (UW-M)

Counting Complexity Google Madison 2013 26 / 32

slide-94
SLIDE 94

Example Holant Problems Holant({OR2} | {=3}) is #VertexCover on 3-regular graphs.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 27 / 32

slide-95
SLIDE 95

Example Holant Problems Holant({OR2} | {=3}) is #VertexCover on 3-regular graphs. Holant({NAND2} | {=3}) is #IndependentSet on 3-regular graphs.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 27 / 32

slide-96
SLIDE 96

Example Holant Problems Holant({OR2} | {=3}) is #VertexCover on 3-regular graphs. Holant({NAND2} | {=3}) is #IndependentSet on 3-regular graphs. Holant({=2} | {AT-MOST-ONE}) Holant(AT-MOST-ONE)

  • is #Matching.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 27 / 32

slide-97
SLIDE 97

Example Holant Problems Holant({OR2} | {=3}) is #VertexCover on 3-regular graphs. Holant({NAND2} | {=3}) is #IndependentSet on 3-regular graphs. Holant({=2} | {AT-MOST-ONE}) Holant(AT-MOST-ONE)

  • is #Matching.

Holant({=2} | {EXACTLY-ONE}) Holant(EXACTLY-ONE)

  • is #PerfectMatching.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 27 / 32

slide-98
SLIDE 98

Final Dichotomy Theorem (Cai, Guo, W ’13) Let F be any set of symmetric, complex-valued constraints in Boolean variables. Then Holant(F) is either #P-hard or computable in polynomial time.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 28 / 32

slide-99
SLIDE 99

A Proof Technique: Polynomial Interpolation

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 29 / 32

slide-100
SLIDE 100

Polynomial Interpolation 2 (distinct) points defines a (unique) line

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 30 / 32

slide-101
SLIDE 101

Polynomial Interpolation 2 (distinct) points defines a (unique) line 3 (distinct) points defines a (unique) quadratic (actually: polynomial of degree at most 2)

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 30 / 32

slide-102
SLIDE 102

Polynomial Interpolation 2 (distinct) points defines a (unique) line 3 (distinct) points defines a (unique) quadratic (actually: polynomial of degree at most 2) Lemma Given n + 1 distinct points (xi, yi), there is a unique polynomial p(·) of degree at most n such that p(xi) = yi.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 30 / 32

slide-103
SLIDE 103

Polynomial Interpolation 2 (distinct) points defines a (unique) line 3 (distinct) points defines a (unique) quadratic (actually: polynomial of degree at most 2) Lemma Given n + 1 distinct points (xi, yi), there is a unique polynomial p(·) of degree at most n such that p(xi) = yi. Furthermore, the coefficients of p can be computed in polynomial time.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 30 / 32

slide-104
SLIDE 104

#PerfectMatching ≤T #Matching [Valiant ’79]

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-105
SLIDE 105

#PerfectMatching ≤T #Matching [Valiant ’79] Given a graph G with n vertices.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-106
SLIDE 106

#PerfectMatching ≤T #Matching [Valiant ’79] Given a graph G with n vertices. Assume we can compute the number of matchings in any graph.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-107
SLIDE 107

#PerfectMatching ≤T #Matching [Valiant ’79] Given a graph G with n vertices. Assume we can compute the number of matchings in any graph. Goal is to compute the number of perfect matchings in G.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-108
SLIDE 108

#PerfectMatching ≤T #Matching [Valiant ’79] Given a graph G with n vertices. Assume we can compute the number of matchings in any graph. Goal is to compute the number of perfect matchings in G.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-109
SLIDE 109

#PerfectMatching ≤T #Matching [Valiant ’79] Given a graph G with n vertices. Assume we can compute the number of matchings in any graph. Goal is to compute the number of perfect matchings in G. Let mk be the number of matchings that omit k vertices.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-110
SLIDE 110

#PerfectMatching ≤T #Matching [Valiant ’79] Given a graph G with n vertices. Assume we can compute the number of matchings in any graph. Goal is to compute the number of perfect matchings in G. Let mk be the number of matchings that omit k vertices. Let G ℓ be the graph G after adding, for each vertex v, ℓ vertices incident only to v.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-111
SLIDE 111

#PerfectMatching ≤T #Matching [Valiant ’79] Given a graph G with n vertices. Assume we can compute the number of matchings in any graph. Goal is to compute the number of perfect matchings in G. Let mk be the number of matchings that omit k vertices. Let G ℓ be the graph G after adding, for each vertex v, ℓ vertices incident only to v. #Matching(G ℓ) =

n

  • k=0

mk(ℓ + 1)k.

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 31 / 32

slide-112
SLIDE 112

Thank You

Tyson Williams (UW-M) Counting Complexity Google Madison 2013 32 / 32