Umans Complexity Theory Lectures

Slides:



Advertisements
Similar presentations
COMPLEXITY THEORY CSci 5403 LECTURE XVI: COUNTING PROBLEMS AND RANDOMIZED REDUCTIONS.
Advertisements

Complexity Theory Lecture 7
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
CS151 Complexity Theory Lecture 17 May 27, CS151 Lecture 172 Outline elements of the proof of the PCP Theorem counting problems –#P and its relation.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
Umans Complexity Theory Lectures Lecture 2a: Reductions & Completeness.
Complexity 25-1 Complexity Andrei Bulatov #P-Completeness.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
February 23, 2015CS21 Lecture 201 CS21 Decidability and Tractability Lecture 20 February 23, 2015.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 Perfect Matchings in Bipartite Graphs An undirected graph G=(U  V,E) is bipartite if U  V=  and E  U  V. A 1-1 and onto function f:U  V is a perfect.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
Lecture 22 More NPC problems
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
May 9, New Topic The complexity of counting.
CS151 Complexity Theory Lecture 12 May 6, QSAT is PSPACE-complete Theorem: QSAT is PSPACE-complete. Proof: 8 x 1 9 x 2 8 x 3 … Qx n φ(x 1, x 2,
Fall 2013 CMU CS Computational Complexity Lecture 7 Alternating Quantifiers, PH, PSPACE. These slides are mostly a resequencing of Chris Umans’
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – Feb. 3, 2009 Instructor: Dr. Gautam Das notes by Walter Wilson.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
NPC.
CSC 413/513: Intro to Algorithms
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Complexity 24-1 Complexity Andrei Bulatov Counting Problems.
Prof. Busch - LSU1 Busch Complexity Lectures: More NP-complete Problems.
Umans Complexity Theory Lectures Lecture 3d: Nondeterminism: Sparse Languages and NP Berman’s Theorem: Unary NP complete => P=NP.
 2005 SDU Lecture15 P,NP,NP-complete.  2005 SDU 2 The PATH problem PATH = { | G is a directed graph that has a directed path from s to t} s t
More NP-Complete and NP-hard Problems
More NP-complete problems
Computational Complexity Theory
Richard Anderson Lectures NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
Lecture 2-2 NP Class.
Richard Anderson Lecture 26 NP-Completeness
Perfect Matchings in Bipartite Graphs
NP-Completeness Yin Tat Lee
CS21 Decidability and Tractability
CS154, Lecture 16: More NP-Complete Problems; PCPs
CS151 Complexity Theory Lecture 13 May 15, 2017.
Lecture 24 NP-Complete Problems
ICS 353: Design and Analysis of Algorithms
Intro to NP Completeness
More NP-complete Problems
Richard Anderson Lecture 25 NP-Completeness
Richard Anderson Lecture 28 NP-Completeness
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness Yin Tat Lee
Umans Complexity Theory Lectures
CS21 Decidability and Tractability
CSE 6408 Advanced Algorithms.
CS21 Decidability and Tractability
NP-Completeness Yin Tat Lee
More on NP-completeness
CS154, Lecture 16: More NP-Complete Problems; PCPs
Trevor Brown DC 2338, Office hour M3-4pm
CSE 589 Applied Algorithms Spring 1999
The Polynomial Hierarchy Enumeration Problems 7.3.3
CS151 Complexity Theory Lecture 12 May 10, 2019.
Instructor: Aaron Roth
Presentation transcript:

Umans Complexity Theory Lectures 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 e.g. given 3-CNF φ how many satisfying assignments are there?

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 ?

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?

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 f1(x) f2(y)

Reductions problem f is #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 f1(x) f2(y)

#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

#SAT f(x) = |{y : (x, y)  R}| C CVAL reduction for R 1 iff (x, y)  R 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}|

Relationship to other classes Question: is #P hard because it entails finding NP witnesses? …or is counting difficult by itself?

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

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

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

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

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’)

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

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.