CSC 1700 Analysis of Algorithms: P and NP Problems

Similar documents
CSC 8301 Design & Analysis of Algorithms: Lower Bounds

1. Introduction Recap

Analysis of Algorithms. Unit 5 - Intractable Problems

Computer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms

Tractability. Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time?

NP Complete Problems. COMP 215 Lecture 20

Polynomial-time Reductions

Limitations of Algorithm Power

Polynomial-time reductions. We have seen several reductions:

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

NP and NP Completeness

CS 350 Algorithms and Complexity

Lecture 19: Finish NP-Completeness, conp and Friends

COSE215: Theory of Computation. Lecture 20 P, NP, and NP-Complete Problems

ECS122A Handout on NP-Completeness March 12, 2018

SAT, NP, NP-Completeness

CS 350 Algorithms and Complexity

CSC 421: Algorithm Design & Analysis. Spring 2018

Data Structures in Java

Computational Complexity

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.

Intro to Theory of Computation

Design and Analysis of Algorithms

CMSC 441: Algorithms. NP Completeness

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Computational Complexity

NP-Completeness. NP-Completeness 1

COP 4531 Complexity & Analysis of Data Structures & Algorithms

NP-Completeness. Sections 28.5, 28.6

COMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Computability and Complexity Theory: An Introduction

VIII. NP-completeness

Computational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs

} } } Lecture 23: Computational Complexity. Lecture Overview. Definitions: EXP R. uncomputable/ undecidable P C EXP C R = = Examples

P and NP. Inge Li Gørtz. Thank you to Kevin Wayne, Philip Bille and Paul Fischer for inspiration to slides

P and NP. Warm Up: Super Hard Problems. Overview. Problem Classification. Tools for classifying problems according to relative hardness.

Tractable & Intractable Problems

Introduction to Complexity Theory

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

Data Structures and Algorithms

DAA 8 TH UNIT DETAILS

Computational Complexity

NP Completeness and Approximation Algorithms

Problems and Solutions. Decidability and Complexity

Recap from Last Time

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

CS 583: Algorithms. NP Completeness Ch 34. Intractability

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

COSE215: Theory of Computation. Lecture 21 P, NP, and NP-Complete Problems

Introduction to Computational Complexity

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.

SAT, Coloring, Hamiltonian Cycle, TSP

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

COMP Analysis of Algorithms & Data Structures

In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.

1.1 P, NP, and NP-complete

1 Non-deterministic Turing Machine

Algorithms Design & Analysis. Approximation Algorithm

Complexity, P and NP

NP and Computational Intractability

POLYNOMIAL SPACE QSAT. Games. Polynomial space cont d

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Automata Theory CS S-18 Complexity Theory II: Class NP

CSE 135: Introduction to Theory of Computation NP-completeness

Automata Theory CS Complexity Theory I: Polynomial Time

NP-Complete Reductions 1

BBM402-Lecture 11: The Class NP

Computability and Complexity CISC462, Fall 2018, Space complexity 1

Time Complexity. CS60001: Foundations of Computing Science

Problems, and How Computer Scientists Solve Them Manas Thakur

Chapter 7: Time Complexity

Polynomial time reduction and NP-completeness. Exploring some time complexity limits of polynomial time algorithmic solutions

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS

Unit 6 Chapter 17 TRACTABLE AND NON-TRACTABLE PROBLEMS

Spring Lecture 21 NP-Complete Problems

CS154, Lecture 13: P vs NP

Artificial Intelligence. 3 Problem Complexity. Prof. Dr. Jana Koehler Fall 2016 HSLU - JK

Lecture 4: NP and computational intractability

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

Reductions. Reduction. Linear Time Reduction: Examples. Linear Time Reductions

NP-problems continued

Algorithm Design and Analysis

Correctness of Dijkstra s algorithm

INTRO TO COMPUTATIONAL COMPLEXITY

Intractable Problems [HMU06,Chp.10a]

Notes on Complexity Theory Last updated: October, Lecture 6

Data Structures in Java. Session 22 Instructor: Bert Huang

Instructor N.Sadagopan Scribe: P.Renjith. Lecture- Complexity Class- P and NP

CS Lecture 28 P, NP, and NP-Completeness. Fall 2008

ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness. Prof. Peter Bermel January 11, 2017

NP-Completeness. Subhash Suri. May 15, 2018

CS/COE

Turing Machines and Time Complexity

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Lecture 1: Introduction

Theory of Computation Chapter 9

NP-completeness. Chapter 34. Sergey Bereg

Transcription:

CSC 1700 Analysis of Algorithms: P and NP Problems Professor Henry Carter Fall 2016

Recap Algorithmic power is broad but limited Lower bounds determine whether an algorithm can be improved by more than a constant factor Established through input size, problem reduction, adversarial generation, and information-theoretic decision trees 2

Quantifying Difficulty Is the problem solvable? Is the problem solvable in polynomial time? Foundational questions in computational complexity 3

Decision Problems To simplify analysis, complexity questions are frequently applied to decision problems Examples: Does the program halt? Can the graph be colored with no more than m colors? Many problems in computing can be reduced to a series of decision problems Find the minimum number of colors needed to color a graph 4

Decidability Is the problem solvable? Many decision problems cannot be solved with any algorithm Alan Turing's halting problem is undecidable 5

Halting Problem 6

Tractability Is the problem solvable in polynomial time? Proof: give a (deterministic) polynomial time algorithm Abstractly represented as all problems in the set P Contains many of the problems we've already examined 7

NP Problems Problems with no known polynomial-time solution Specifically, problems solvable using the following nondeterministic algorithm: Randomly generate a solution Deterministically check the correctness of the solution P is a subset of NP How? 8

Examples Hamiltonian circuit Traveling Salesman Knapsack problem Partition problem Bin packing problem Graph-coloring problem Integer linear programming 9

NP-Complete Representative problems in NP Require two characteristics: A belongs to class NP All problems in NP are polynomially reducible to A How do we prove these characteristics? 10

CNF-SAT Conjunctive normal form satisfiability Problem Statement First NP-Complete problem to be proven Cook-Levin theorem proves all NP problems reduce to CNF-SAT using Turing machine notation (x 1 _ x 2 _ x 3 ) ^ (x 1 _ x 2 ) ^ (x 1 _ x 2 _ x 3 ) 11

P = NP? Most computer scientists believe P is a strict subset of NP If a polynomial solution is found for any NP-Complete problem, then P = NP A $1 million dollar reward for such an algorithm has been promised by the Clay Mathematics Institute 12

Practice A game of chess can be posed as the following decision problem: given a legal positioning of chess pieces and information about which side is to move, determine whether that side can win. Is this decision problem decidable? 13

Practice A certain problem can be solved using an algorithm whose running time is in O(n log n ). Is the problem tractable or not? Can we be certain? 14

Recap Computational complexity examines questions of whether problems can be solved and how fast P and NP represent problems that can be solved in polynomial time and problems that can be checked in polynomial time, respectively NP-Complete problems represent NP as all NP problems reduce to any NP-Complete problem A polynomial solution to an NP-complete problem will shatter the scientific community and probably earn you an instant doctorate 15

Next Time... Levitin Chapter 11.4 Remember, you need to read it BEFORE you come to class! Homework: 11.3: 6, 7, 8, 11 16