CSCI 2670 Introduction to Theory of Computing December 1, 2004.

Slides:



Advertisements
Similar presentations
Complexity Classes: P and NP
Advertisements

INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Department of Computer Science & Engineering
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
Lecture 21 NP-complete problems
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
The Theory of NP-Completeness
Great Theoretical Ideas in Computer Science for Some.
Umans Complexity Theory Lectures Lecture 2a: Reductions & Completeness.
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Discrete Structures & Algorithms The P vs. NP Question EECE 320.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Mount Holyoke College 2 The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
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 )
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
CS21 Decidability and Tractability
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
The Theory of NP-Completeness
NP-complete and NP-hard problems
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
Chapter 11: Limitations of Algorithmic Power
Fall 2004COMP 3351 Time Complexity We use a multitape Turing machine We count the number of steps until a string is accepted We use the O(k) notation.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Complements of Languages in NP Osama Awwad Department of Computer Science Western Michigan University July 13, 2015.
Complexity Theory: The P vs NP question Lecture 28 (Dec 4, 2007)
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Cs3102: Theory of Computation Class 24: NP-Completeness Spring 2010 University of Virginia David Evans.
CSCI 2670 Introduction to Theory of Computing November 23, 2004.
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.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
COMPSCI 102 Introduction to Discrete Mathematics.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
COMPSCI 102 Introduction to Discrete Mathematics.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
P Vs NP Turing Machine. Definitions - Turing Machine Turing Machine M has a tape of squares Each Square is capable of storing a symbol from set Γ (including.
Lecture 12 P and NP Introduction to intractability Class P and NP Class NPC (NP-complete)
Additional Classes: co-NP class Krishna Mahesh Deevela Murali.
CSCI 2670 Introduction to Theory of Computing November 17, 2005.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
1 Time Complexity We use a multitape Turing machine We count the number of steps until a string is accepted We use the O(k) notation.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
April 13 th Class Notes Hw# 5 will be worth 50 points and it will be posted tonight or tomorrow.
Complexity ©D.Moshkovitz 1 Our First NP-Complete Problem The Cook-Levin theorem A B C.
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
NP-Completeness A problem is NP-complete if: It is in NP
Computational Complexity Theory
CSCI 2670 Introduction to Theory of Computing
Computational Complexity
Time Complexity We use a multitape Turing machine
CSC 4170 Theory of Computation The class NP Section 7.3.
4-9问题的形式化描述.
Our First NP-Complete Problem
Instructor: Aaron Roth
Presentation transcript:

CSCI 2670 Introduction to Theory of Computing December 1, 2004

2 Agenda Yesterday –The Class NP –Value is exponential in length Today –More on the class NP –Quiz

December 1, Announcement

December 1, The class NP Definition: A verifier for a language A is an algorithm V, where A={w|V accepts for some string c} The string c is called a certificate of membership in A. Definition: NP is the class of languages that have polynomial-time verifiers.

December 1, Is NP closed under complementation? For example, can we verify in polynomial time that a graph cannot be 3-colored? –Not obviously –It seems we need to check many 3- colorings before we can conclude that none exist The 3-coloring problem is in coNP

December 1, Who wants $1,000,000? In May, 2000, the Clay Mathematics Institute named seven open problems in mathematics the Millennium Problems –Anyone who solves any of these problems will receive $1,000,000 –Proving whether or not P equals NP is one of these problems

December 1, What we know NP PcoNP

December 1, What we don’t know NP PcoNP Are there any problems here?

December 1, Solving NP problems The best-known methods for solving problems in NP that are not known to be in P take exponential time –Brute force search We don’t know if NP is actually in a smaller complexity class

December 1, NP-completeness A problem C is NP-complete if finding a polynomial-time solution for C would imply P=NP

December 1, An NP-complete problem A formula is Boolean if each of its variables can be assigned the values TRUE (1) or FALSE (0) A Boolean formula is satisfiable if there is some assignment of values that results in the formula evaluating to TRUE SAT: Is a given Boolean formula satisfiable? SAT is NP-complete

December 1, Examples (x  y)  (  x  y) –Satisfiable – e.g., x = y = 1 ((x  y)  (  x  z))  ((  x  y)  (  y  z)) –Satisfiable – e.g., x = 0, y = z = 1 ((x  y)  (  x  z))  ((x  y)  (  y  z)) –Unsatisfiable

December 1, Proving a problem is NP-complete A problem C is NP-complete if finding a polynomial-time solution for C would imply P=NP If a polynomial-time solution is found for C, then that solution can be used to find a polynomial-time solution for any other problem in NP –What does this remind you of? –Reductions!

December 1, Reductions and NP-completeness If we can prove an NP-complete problem C can be polynomially reduced to a problem A, then we’ve shown A is NP-complete –A polynomial-time solution to A would provide a polynomial-time solution to C, which would imply P=NP

December 1, Polynomial functions Definition: A function f:Σ *  Σ * is a polynomial time computable function if some polynomial time Turing machine M exists that halts with just f(w) on its tape, when started on any input w.

December 1, Polynomial reductions Definition: Language A is polynomial- time reducible to language B, written A ≤ P B, if a polynomial time computable function f:Σ *  Σ * exists, where for every w w  A iff f(w)  B f f