1 / 17

Umans Complexity Theory Lectures

Umans Complexity Theory Lectures. Lecture 13: The complexity of counting. New Topic. The complexity of counting. Counting problems. So far, we have ignored function problems given x, compute f(x) important class of function problems: counting problems

lyn
Télécharger la présentation

Umans Complexity Theory Lectures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UmansComplexity Theory Lectures Lecture 13: The complexity of counting

  2. New Topic The complexity of counting

  3. Counting problems • So far, we have ignored function problems • given x, compute f(x) • important class of function problems: counting problems • e.g. given 3-CNF φ how many satisfying assignments are there?

  4. Counting problems • #P is the class of function problems expressible as: input x f(x) = |{y : (x, y)  R}| where R  P. • compare to NP(decision problem) input x f(x) = y : (x, y)  R ? where R  P.

  5. Counting problems • examples • #SAT: given 3-CNF φ how many satisfying assignments are there? • #CLIQUE: given (G, k) how many cliques of size at least k are there?

  6. Reductions • Reduction from function problem f1 to function problem f2 • two efficiently computable functions Q, A x (prob. 1) Q y (prob. 2) f1 f2 A f2(y) f1(x)

  7. Reductions • problem fis #P-complete if • f is in #P • every problem in #P reduces to f • “parsimonious reduction”: preserves the number of solutions • many standard NP-completeness reductions are parsimonious • therefore: if #SAT is #P-complete we get lots of #P-complete problems Q x (prob. 1) y (prob. 2) f1 f2 A f2(y) f1(x)

  8. #SAT #SAT: given 3-CNF φ how many satisfying assignments are there? Theorem: #SAT is #P-complete. • Proof: • clearly in #P: (φ, A)  R  A satisfies φ • take any f  #P defined by R  P

  9. #SAT …x… …y… • add new variables z, produce φ such that z φ(x, y, z) = 1  C(x, y) = 1 • for (x, y) such that C(x, y) = 1 this z is unique • hardwire x • # satisfying assignments = |{y : (x, y)  R}| f(x) = |{y : (x, y)  R}| C CVAL reduction for R 1 iff (x, y)  R

  10. Relationship to other classes Question: is #P hard because it entails findingNP witnesses? …or is countingdifficult by itself?

  11. Cycle Covers • cycle cover: collection of node-disjoint directed cycles that touch every node • #CYCLE-COVER: given directed graph G = (V, E) how many cycle covers does it have? Theorem(Valient): #CYCLE-COVER is #P-complete. • implies #MATCHING is #P-complete

  12. Bipartite Matchings • Definition: • G = (U, V, E) bipartite graph with |U| = |V| • aperfect matching in G is a subset M  E that touches every node, and no two edges in M share an endpoint

  13. Bipartite Matchings • Definition: • G = (U, V, E) bipartite graph with |U| = |V| • aperfect matching in G is a subset M  E that touches every node, and no two edges in M share an endpoint

  14. Bipartite Matchings and Cycle Covers • Given bipartite graph G = (U, V, E) with |U| = |V| where U = V = {1,…,n}, • Let G’ be the graph (V,E’) where (u,v) in E’ iff u in U, v in V and (u,v) in E

  15. Cycle Covers • Claim: 1-1 correspondence between cycle covers in G’ and perfect matchings in G • #MATCHING and #CYCLE-COVER parsimoniously reducible to each other 2 3 1 2 3 4 5 1 4 1 2 3 4 5 5 G = (U, V, E) G’ = (V, E’)

  16. Bipartite Matchings • #MATCHING: given a bipartite graph G = (U, V, E) how many perfect matchings does it have? Theorem(Valiant)#MATCHING is #P-complete. • But… can find a perfect matching in polynomial time! • counting itself must be difficult

  17. Relationship to other classes • To compare to classes of decision problems, usually consider P#P which is a decision class… • easy: NP, coNP  P#P • easy: P#P  PSPACE Toda’s Theorem :PH  P#P.

More Related