Complexity 24-1 Complexity Andrei Bulatov Counting Problems.

Slides:



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

NP-Hard Nattee Niparnan.
1 Nondeterministic Space is Closed Under Complement Presented by Jing Zhang and Yingbo Wang Theory of Computation II Professor: Geoffrey Smith.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Great Theoretical Ideas in Computer Science for Some.
Complexity 25-1 Complexity Andrei Bulatov #P-Completeness.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Computability and Complexity 14-1 Computability and Complexity Andrei Bulatov Cook’s Theorem.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Fall The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
The Counting Class #P Slides by Vera Asodi & Tomer Naveh
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
NP-Complete Problems Problems in Computer Science are classified into
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.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
CS 310 – Fall 2006 Pacific University CS310 P vs NP the steel cage death match Section 7.2 November 29, 2006.
Computability and Complexity 24-1 Computability and Complexity Andrei Bulatov Approximation.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
1 On the Computation of the Permanent Dana Moshkovitz.
Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.
Theory of Computing Lecture 19 MAS 714 Hartmut Klauck.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Complexity 2-1 Problems and Languages Complexity Andrei Bulatov.
Lecture 22 More NPC problems
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
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.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Computability and Complexity 2-1 Problems and Languages Computability and Complexity Andrei Bulatov.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
Complexity ©D.Moshkovits 1 2-Satisfiability NOTE: These slides were created by Muli Safra, from OPICS/sat/)
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
 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
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
NP-Completeness A problem is NP-complete if: It is in NP
The NP class. NP-completeness
Chapter 10 NP-Complete Problems.
Lecture 2-2 NP Class.
More NP-complete Problems
(xy)(yz)(xz)(zy)
Perfect Matchings in Bipartite Graphs
Lecture 5 NP Class.
CS21 Decidability and Tractability
Lecture 24 NP-Complete Problems
ICS 353: Design and Analysis of Algorithms
Intro to NP Completeness
More NP-complete Problems
Prabhas Chongstitvatana
CS154, Lecture 13: P vs NP.
CS21 Decidability and Tractability
CSE 6408 Advanced Algorithms.
Umans Complexity Theory Lectures
CSE 589 Applied Algorithms Spring 1999
Lecture 23 NP-Hard Problems
Presentation transcript:

Complexity 24-1 Complexity Andrei Bulatov Counting Problems

Complexity 24-2 Graph Reliability How reliable is our network?

Complexity 24-3 Instance: A graph G and two its vertices s and t Objective: How many subgraphs of G contains a path from s to t ? Graph Reliability Counting Problems Instance: A formula  in CNF Objective: How many satisfying assignments does  have? #SAT

Complexity 24-4 Perfect Matching Definition Given a bipartite graph G with bipartition a perfect matching of G is a collection of n edges such that, for any edges from the collection

Complexity 24-5 Instance: A bipartite graph G Objective: How many perfect matchings does G have? #Matching

Complexity 24-6 Matching and Adjacency Matrix Note that a perfect matching of G is a collection of entries of A(G) such that it contains exactly n entries all of the entries are 1 no two entries are in the same row no two entries are in the same column

Complexity 24-7 Therefore Definition Permanent of an n  n matrix A is the sum #Matching = Permanent

Complexity 24-8 Definition A decider machine V is called a verifier for a language L if L   w  V accepts “ w;c ” for some string c  NP is the class of languages that have a polynomial time verifier Definition A decider machine V is called a verifier for a language L if L   w  V accepts “ w;c ” for some string c  NP is the class of languages that have a polynomial time verifier The Class #P A polynomially balanced, polynomial time decidable binary relation is a binary relation U on  * such that (a) there is a polynomial time decider for U (b) if then for some polynomial p

Complexity 24-9 Definition NP is the class of languages L that can be represented as for a certain polynomially balanced polynomial time decidable relation U Definition NP is the class of languages L that can be represented as for a certain polynomially balanced polynomial time decidable relation U Definition Let U be a certain polynomially balanced polynomial time decidable relation. The counting problem associated with U is the following: Given u, how many v are there such that (u,v)  U ? #P is the class of all counting problems associated with a certain polynomially balanced polynomial time decidable relations Definition Let U be a certain polynomially balanced polynomial time decidable relation. The counting problem associated with U is the following: Given u, how many v are there such that (u,v)  U ? #P is the class of all counting problems associated with a certain polynomially balanced polynomial time decidable relations Every problem from NP has a corresponding counting problem!

Complexity Examples #SAT #Reachability  Graph Reliability #Matching Instance: A graph G Objective: How many Hamilton paths does G have? #Hamilton Path #Primes ? (formula; satisfying assignment) (graph+ s + t ; path from s to t )

Complexity Parsimonious Reduction We need a notion of reduction that “preserves the number of solutions” Definition A polynomial time function f is said to be a parsimonious reduction of a counting problem A to a counting problem B, denoted, if for all instances of A, x and f(x) have the same answer

Complexity #P-Completeness Theorem #SAT is #P-complete Definition A language L is said to be #P -complete if, for any counting problem A corresponding to a polynomially balanced polynomial time decidable relation, Definition A language L is said to be #P -complete if, for any counting problem A corresponding to a polynomially balanced polynomial time decidable relation,