Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar



Similar documents
Classification - Examples

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Tutorial 8. NP-Complete Problems

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

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

OHJ-2306 Introduction to Theoretical Computer Science, Fall

Introduction to Logic in Computer Science: Autumn 2006

Near Optimal Solutions

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Reductions & NP-completeness as part of Foundations of Computer Science undergraduate course

Approximation Algorithms

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Lecture 7: NP-Complete Problems

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Quantum and Non-deterministic computers facing NP-completeness

Single machine parallel batch scheduling with unbounded capacity

Discuss the size of the instance for the minimum spanning tree problem.

CoNP and Function Problems

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

CAD Algorithms. P and NP

Scheduling Shop Scheduling. Tim Nieberg

A Working Knowledge of Computational Complexity for an Optimizer

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Theoretical Computer Science (Bridging Course) Complexity

Guessing Game: NP-Complete?

Efficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.

The Classes P and NP

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

CSC 373: Algorithm Design and Analysis Lecture 16

Notes on NP Completeness

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Why Study NP- hardness. NP Hardness/Completeness Overview. P and NP. Scaling 9/3/13. Ron Parr CPS 570. NP hardness is not an AI topic

Introduction to computer science

One last point: we started off this book by introducing another famously hard search problem:

Introduction to Algorithms. Part 3: P, NP Hard Problems

Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY

Applied Algorithm Design Lecture 5

5.1 Bipartite Matching

Complexity Classes P and NP

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Computational complexity theory

P versus NP, and More

Algorithm Design and Analysis

Tetris is Hard: An Introduction to P vs NP

Introduction to Scheduling Theory

Offline sorting buffers on Line

Scheduling Single Machine Scheduling. Tim Nieberg

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

CMPSCI611: Approximating MAX-CUT Lecture 20

MATHEMATICAL ENGINEERING TECHNICAL REPORTS. An Improved Approximation Algorithm for the Traveling Tournament Problem

Cycles and clique-minors in expanders

NP-Completeness and Cook s Theorem

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

Approximability of Two-Machine No-Wait Flowshop Scheduling with Availability Constraints

Chapter. NP-Completeness. Contents

Scheduling Real-time Tasks: Algorithms and Complexity

On the Relationship between Classes P and NP

11. APPROXIMATION ALGORITHMS

Welcome to... Problem Analysis and Complexity Theory , 3 VU

Factoring & Primality

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

Duplicating and its Applications in Batch Scheduling

Determination of the normalization level of database schemas through equivalence classes of attributes

Transportation Polytopes: a Twenty year Update

Cloud Computing is NP-Complete

ON THE COMPLEXITY OF THE GAME OF SET.

Lecture 4: BK inequality 27th August and 6th September, 2007

Quantum Monte Carlo and the negative sign problem

Chapter 1. NP Completeness I Introduction. By Sariel Har-Peled, December 30, Version: 1.05

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, Chapter 7: Digraphs

The Classes P and NP. mohamed@elwakil.net

A Fast Algorithm For Finding Hamilton Cycles

! X is a set of strings. ! Instance: string s. ! Algorithm A solves problem X: A(s) = yes iff s! X.

Exponential time algorithms for graph coloring

On the Unique Games Conjecture

Lecture 1: Course overview, circuits, and formulas

1 Definitions. Supplementary Material for: Digraphs. Concept graphs

Network Algorithms for Homeland Security

Fairness in Routing and Load Balancing

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

each college c i C has a capacity q i - the maximum number of students it will admit

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

On Integer Additive Set-Indexers of Graphs

Generalized Induced Factor Problems

NP-completeness and the real world. NP completeness. NP-completeness and the real world (2) NP-completeness and the real world

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Lecture 30: NP-Hard Problems [Fa 14]

Transcription:

Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples and Proofs Summary University at Buffalo Department of Industrial Engineering 2

Goals of Complexity Theory To provide a method of quantifying problem difficulty in an absolute sense. To provide a method comparing the relative difficulty of two different problems. To be able to rigorously define the meaning of efficient algorithm. (e.g. Time complexity analysis of an algorithm). University at Buffalo Department of Industrial Engineering 3

Computation of Problems Concepts and Definitions

Problems and Instances A problem or model is an infinite family of instances whose objective function and constraints have a specific structure. An instance is obtained by specifying values for the various problem parameters. Measurement of Difficulty Instance Running time (Measure the total number of elementary operations). Problem Best case (No guarantee about the difficulty of a given instance). Average case (Specifies a probability distribution on the instances). Worst case (Addresses these problems and is usually easier to analyze). University at Buffalo Department of Industrial Engineering 5

Time Complexity Θ-notation Θ ( gn ( )) = O-notation Ogn ( ( )) Ω-notation Ω ( gn ( )) = o-notation ogn ( ( )) (asymptotic tight bound) f( n) : there exist positive constants c, c, and n such that (asymptotic upper bound) f( n) : there exist positive constants c and n0 such that = 0 f( n) cg( n) for all n n0 (asymptotic lower bound) (asymptotic loose upper bound) 1 2 0 0 cg( n) f( n) cg( n) for all n n 1 2 0 f( n) : there exist positive constants c and n such that 0 cg( n) f ( n) for all n n f( n) : for any positive constant c> 0, there exists a constant = n0 > 0 such that 0 f( n) < cg( n) for all n n0 University at Buffalo Department of Industrial Engineering 6 0 0

Time Complexity (contd.) ω-notation ω( gn ( )) = (asymptotic loose lower bound) f( n) : for any positive constant c> 0, there exists a constant n > 0 such that 0 cg( n) < f( n) for all n n 0 0 cgn 2 ( ) f ( n) cg 1 ( n) cg( n) f ( n) f ( n) cg( n) n 0 f ( n) =Θ( g( n)) n n 0 f ( n) = O( g( n)) n n 0 f ( n) = Ω( g( n)) n University at Buffalo Department of Industrial Engineering 7

Algorithm Types Polynomial Time Algorithm: An algorithm whose running time is bounded by a polynomial function is called a polynomial time algorithm. Example: Shortest path problem with nonnegative weights. Running Time: O(n 2 ) Exponential Time Algorithm: An algorithm that is bounded by an exponential function is called an exponential time algorithm. Example: Check every number of n digits to find a solution. Running Time: O(10 n ) Pseudopolynomial Time Algorithm: A pseudopolynomial time algorithm is one that is polynomial in the length of the data when encoded in unary. Example: Integer Knapsack Problem. Running time: O(nb) University at Buffalo Department of Industrial Engineering 8

Turing Machine A Turing machine is an abstract representation of a computing device. The behavior of a TM is completely determined by: The state the machine is in, The number on the square it is scanning, and A table of instructions or the transition table. A function is computable if it can be computed by a Turing Machine. - Church-Turing Hypothesis University at Buffalo Department of Industrial Engineering 9

Finite State Machine State Read Write Move Next State S1 0 0 L S1 B 1 L S2 1 B R S1 S2 0 1 R S2 B 0 R S2 1 1 L S1 State Transition Table for a Turing Machine Transition State Diagram for Turing Machine University at Buffalo Department of Industrial Engineering 10

Decision Problem Decision problems are those that have a TRUE/FALSE answer. SATISFIABILITY: Given a set of variables and a collection of clauses defined over the variables, is there an assignment of values to the variables for which each of the clauses is true? Example: Consider the expression ( x + x + x + x )( x + x + x + x )( x + x + x + x )( x + x + x + x ) 1 4 3 2 1 2 4 3 2 3 1 5 5 1 4 2 It can be easily verified that the assignment x 1 =0, x 2 =0, x 3 =0, x 4 =0, and x 5 =0 gives a truth assignment to each one of the four clauses. University at Buffalo Department of Industrial Engineering 11

Decision Problems and Reductions For every optimization problem there is a corresponding decision problem. Example: Fm C max minimize makespan (optmization). Is there a schedule with a makespan z? (decision). Problem Reduction: Problem P reduces to problem P if for any instance of P an equivalent instance of P can be constructed. Polynomial Reducibility: Problem P polynomially reduces to problem P if a polynomial time algorithm for P implies polynomial time algorithm for P. P P University at Buffalo Department of Industrial Engineering 12

Complexity Classes and Problems

Complexity Classes Definition: (Class P) The class P contains all decision problems for which there exists a Turing machine algorithm that leads to the right yes/no answer in a number of steps bounded by a polynomial in the length of the encoding. Definition: (Class NP) The class NP contains all decision problems for which, given a proper guess, there exists a polynomial time proof or certificate C that can verify if the guess is the right yes/no answer. NP P A tentative view of the world of NP University at Buffalo Department of Industrial Engineering 14

Complexity Classes (contd.) Definition: (Class co-p) The class co-p contains all decision problems for which there exists a polynomial time algorithm that can determine what all yes/no answers are incorrect. Definition: (Class co-np) The class co-np contains all decision problems such that there exists a polynomial time proof or certificate C that can verify if the problem does not have the right yes/no answer. co-np NP P A view of the world of NP and co-np University at Buffalo Department of Industrial Engineering 15

Important Results P = co-p NP co-np P NP It turns out that almost all interesting problems lie in NP and P is the set of easy problems. So are all interesting problems easy, i.e. do we have P = NP? This is the main open question in Computer Science. It is like other great questions Is there intelligent life in the universe? What is the meaning of life? Will you get a job when you graduate? University at Buffalo Department of Industrial Engineering 16

NP-Complete Problems Definition: (NP-complete) A decision problem D is said to be NP-complete if D NP and, for all other decision problems D NP, there exists a polynomial transformation from D to D, i.e., D D. Assumption: P NP. Result: If any single NP-complete problem can be solved in polynomial time, then all problems in NP can be solved. co- NP-complete co-np P NP NP-complete The world of NP, revisited Cook s Theorem A problem is NP-complete if: University at Buffalo Department of Industrial Engineering 17 (i) The problem is in NP (ii) All other problems in NP polynomially transforms into the above problem.

NP-Hard Problems Definition: (NP-hard) A decision problem whether a member of NP or not, to which we can transform a NP-complete problem is at least as hard as the NP-complete problem. Such a decision problem is called NP-hard. Example: K TH LARGEST SUBSET: Given a set A { a1, a2, a t }, b a j A A and k 2, do there exist at least K distinct subsets where A { S1, S2, S K } and A A such that Sj b? j A j, University at Buffalo Department of Industrial Engineering 18

Six Basic NP-Complete Problems 3-SATISFIABILITY: Given a collection C = {c 1, c 2,, c m } of clauses on a finite set U of variables such that c i =3 for 1 i m, is there a truth assignment for U that satisfies all the clauses in C? 3-DIMENSIONAL MATCHING: Given a set M W X Y, where W, X, and Y are disjoint sets having the same number q of elements, does M contain a matching, i.e., a subset / / / M M such that M = q and no two elements of M agree in any coordinate? t 1 PARTITION: Given positive integers a 1,, a t and b = a j, 2 do there exist two disjoint subsets S 1 and S 2 such that j= 1 a = b for i= 1, 2? j S j i University at Buffalo Department of Industrial Engineering 19

Six Basic Problems (contd.) VERTEX COVER: Given a graph G=(V,E) and a positive integer K V, is there a vertex cover of size K or less for / / G, i.e., a subset V Vsuch that V K and, for each edge / {,} uv E, at least one of u and v belongs to V? HAMILTONIAN CIRCUIT: For a graph G = (N, A) with node set N and arc set A, does there exist a circuit (or tour) that connects all the N nodes exactly once? CLIQUE: For a graph G = (N, A) with node set N and arc set A, does there exist a clique of size c? i.e., does there exist a * set N N, consisting of c nodes such that for each distinct * pair of nodes uv, N, the arc {u,v} is an element of A? University at Buffalo Department of Industrial Engineering 20

Transformation Topology SATISFIABILITY 3-SAT 3DM VC PARTITION HC CLIQUE Diagram of the sequence of transformations used to prove that the six basic problems are NP-complete. Problems of which the complexity is established through a reduction from PARTITION typically have pseudopolynomial time algorithms and are therefore NP-hard in the ordinary sense. University at Buffalo Department of Industrial Engineering 21

Other Popular Problems 3-PARTITION: Given positive integers a 1,, a 3t and b with 3t b b < a j <, j = 1,,3 t, and a j = tb, do there exist t 4 2 j= 1 pairwise disjoint three element subsets Si {1,, 3 t} such that a = b fori= 1,, t? j S i j TRAVELING SALESMAN PROBLEM: For a set of cities C={c 1, c 2,, c m } does there exist a tour, of all the cities in C, of length b such that one city is visited exactly once? University at Buffalo Department of Industrial Engineering 22

Polynomial Time Reductions Examples and Proofs

Dealing with Hard Problems You: Give up! Boss: Fires you! University at Buffalo Department of Industrial Engineering 24

Still Dealing!! You: Challenge Boss! Boss: You: Boss: Asks for proof! Cannot prove! Gives you a rise?..very unlikely! University at Buffalo Department of Industrial Engineering 25

Better Strategy You: Prove that the problem is hard and that everyone else has failed. Boss: At least he gets no benefit out of firing you! University at Buffalo Department of Industrial Engineering 26

Problem Reduction Example 1 KNAPSACK PROBLEM KNAPSACK problem is equivalent to the scheduling problem 1 d j =d w j U j. The value d refers to size of the knapsack and the jobs are the items that have to be put into the knapsack. The size of the item j is p j and the weight (value) of the item j is w j. It can be shown that PARTITION reduces to KNAPSACK by taking n= t, p = a, w = a, j j j j t t 1 1 d = aj = b, z = aj = b. 2 j= 1 2 j= 1 It can be verified that there exists a schedule with an objective n 1 value wj iff there exists a solution for the PARTITION 2 j= 1 problem. University at Buffalo Department of Industrial Engineering 27

Problem Reduction Example 2 MINIMIZE MAKESPAN ON PARALLEL MACHINES (P2 C max ) Consider P2 C max. It can be shown that PARTITION reduces to this problem by taking n= t, p = a, w = a, j j j j t 1 z = aj = b. 2 j= 1 It is trivial to verify that there exists a schedule with an objective n 1 value p j iff there exists a solution for the PARTITION 2 j= 1 problem. University at Buffalo Department of Industrial Engineering 28

Problem Reduction Example 3 MINIMIZE MAKESPAN IN A JOB SHOP Consider J2 recrc, prmp C max. It can be shown that 3-PARTITION reduces to J2 recrc, prmp C max by taking the following transformation. If the number of jobs be n, take n= 3t+1, p 1j =p 2j =a j, for j=1, 3t. Each of these 3t jobs has to be processed on machine 1 and then on machine 2. These 3t jobs do not recirculate. The last job, job 3t+1, has to start its processing on machine 2 and then alternate between machines 1 and 2. It has to be processes in this way t times on machine 2 and t times on machine 1, and each of these 2t processing times = b. For a schedule to have a makespan C max =2tb, this last job has to be scheduled without preemption. The remaining slots can be filled without idle times by jobs 1,..., 3t iff 3-PARTITION has a solution. University at Buffalo Department of Industrial Engineering 29

Problem Reduction Example 4 SEQUENCE-DEPENDENT SETUP TIMES Consider the TRAVELING SALESMAN PROBLEM (TSP) or in scheduling terms 1 s jk C max problem. That the HAMILTONIAN CIRCUIT (HC) can be reduced to 1 s jk C max can be shown as follows. Let each node in a HC correspond to a city in a TSP. Let the distance between two cities equal 1 if there exists an arc between two corresponding nodes in the HC. Let the distance between two cites be 2 if such an arc does not exist. The bound on the objective is equal to the number of nodes in the HC. It is easy to show that the two problems are equivalent. University at Buffalo Department of Industrial Engineering 30

Summary

Observation Present research is in the boundary of polynomial time problems and NP-hard problems. If a problem is NP-complete (or NP-hard), there is no polynomial time algorithm that solves it unless P=NP. (No pseudopolynomial time algorithms for strong NP-complete problems). University at Buffalo Department of Industrial Engineering 32

Why all these analyses? Determine the boundary of polynomial time problems and NPhard problems. For which decision problems do algorithms exist? Develop better algorithms in cryptography. University at Buffalo Department of Industrial Engineering 33

Beyond NP-completeness Try to prove that P=NP (AMS will give one million dollars). Randomized Algorithms. Approximation Algorithms. Heuristics. University at Buffalo Department of Industrial Engineering 34