In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size.
|
|
- Kristian Norton
- 5 years ago
- Views:
Transcription
1 CLASSES OF COMPUTATIONAL COMPLEXITY An optimization problem is defined as a class of similar problems with different input parameters. Each individual case with fixed parameter values is called an instance of the problem. E.g. input for an instance of the TSP problem is given by the number of vertices and the distances between vertices. The computation time required to obtain a solution depends on - the problem - size of the instance - parameter values of the instance - the algorithm - the computer and implementation of the algorithm In complexity theory, algorithms and problems are classified by the growth order of computation time as a function of instance size. Definition 2.1. The worst case time complexity or a complexity of an algorithm A is the time T (n) A that is needed at most for solving a problem instance of size n. An exact number is often impossible to determine, instead an asymptotic upper bound will be used. Definition 2.2. The order of growth of a function f(n) is O(g(n)), if there are positive constants a and N such that f(n) # ag(n) for every n$n. Examples: th 2 k k A k order polynomial f 1(n) = a 0+a1n+a2n ak n (k0z + ) is of order f 1(n) = O(n ) Function f 2(n) = 2n +10 n log n is of order f 2(n) = O(n ). Symbol O is used for an upper bound for complexity T (n). A Notation: T (n) = O(g(n)) means the complexity of algorithm A is of order O(g(n)). A Definition 2.3. k Algorithm A is polynomial, if its complexity T A(n) = O(n ) for some constant k. Algorithm A is exponential, if it is not polynomial. log n n n n Examples of orders of exponential algorithms: O(n ), O(2 ), O(k ) where k>1, O(n!) and O(n ). Some sources use the term superpolynomial instead of exponential. Algorithms with a logarithmic order of complexity T A(n)=O(logkn) have a lower than polynomial order of growth, but the most important difference is between the polynomial and exponential classes. Polynomial algorithms can be combined, concatenated or nested and the resulting algorithm is still polynomial. E.g. when a polynomial algorithm A uses polynomial algorithm B as a subroutine so that the numberof times that B is invoked is bounded by a polynomial, then A is polynomial Complexity was defined as a function of the size of the problem. The size of the problem is the number of symbols needed to present the problem input, length of the input string. This size is not unambiguous, it is dependent on the encoding scheme of a problem (e.g. there are different ways to represent a graph). The encoding should be as concise (short) as possible. As in computation time, only the order of the size is relevant here. Usually the sizes of all "reasonable", nonredundant encodings are polynomially related. Often the size is a polynomial function of few problem
2 11 parameters, e.g. number of vertices and/or edges in a graph, number of variables, matrix dimensions. Then the complexity can be given as a function of these parameters only. COMPARISON OF SOME COMPLEXITY CLASSES Consider the order of growth of the following functions: f(n) n=10 n=100 n=1000 n n log n n n n log n @ @ n @ @ n! @ (log = log 2 ) 6 Assume that the computer can execute 10 operations per second. The following table shows the maximum size n of problems solvable in 1 second and 3 years by algorithms having computation time shown on the left: f(n) 1 s 8 10 s. 3 years n n log n n n n log n n n! 9 16 Example 2.1. Compare algorithms of a logarithmic, polynomial and exponential complexity: a problem can be solved by three different algorithms A 1, A 2 and A 3. Suppose, an instance of size 5 n=10 can be solved by the O(log n)-algorithm A 1 in one hour, by the O(n )-algorithm A 2 in one n minute and by the O(2 )-algorithm A 3 in one second. If the size of an instance is n=100, what upper bounds can be given for the execution time? Answer: The logarithmic algorithm A 1 will solve the problem in 2 hours, the polynomial algorithm 19 A 2in 69.4 days, but the exponential algorithm A 3may need 10 years. Is it always advisable to choose a polynomial algorithm instead of an exponential one, when 6 8 n possible? Is an algorithm with complexity T(n)=O(10 n ) peferred over one with T(n)=O(1.2 )? Not necessarily, because - the upper bounds may not be tight - worst cases may be rare
3 - the implementation of the method may have a significant influence in the computation time - the problem size may be moderate enough 12 For instance, a linear programming problem (LP) can be solved with either an exponential simplex algorithm or a polynomial Karmarkar's interior point method. The computer codes for simplex have been developed for decades and they work quite well in most cases, even for large problems. It seems that the hard instances are rare and the average computation time does not show exponential growth. The optimization problems can now be classified according to their complexity in a similar way. Because a problem can be solved with several algorithms, we seek for the most efficient algorithm in this definition: Definition 2.4. The complexity of an optimization problem X is polynomial, if there is a polynomial algorithm that solves problem X. To show that a given problem is polynomial, we need to define the algorithm, verify that it gives the right solution to every instance of the problem and show that the computation time for instances k of size n is always O(n ). Sometimes an average case complexity would be a better measure of computational effort than worst case complexity, but then a distribution of problems or solution times would be needed. TYPES OF PROBLEMS The algorithm complexity theory was originally developed for decision or recognition problems. For these, the problem is to decide whether or not an instance (encoded as a string of symbols) satisfies the given statement or condition. In other words, to decide / recognize whether the instance belongs to the set of yes instances of the problem. Examples of decision or recognition problems: 1) Input: Integer M Question: Is M a prime number? 2) Input: n integers x, x,...,x 1 2 n Question: Can the numbers be partitioned into two sets such that the sums of the integers in both sets are the same? (Partition problem) 3) Input: Graph G=(V,E). Question: Does the graph G have a Hamiltonian path (i.e. a path that passes through every vertex exactly once)? 4) Input: Number of vertices n, distances between all vertices c, integer L. ij Question: Does the graph contain a cycle through all the vertices with total length # L? 5) Input: n objects with weights w, i=1,...,n, weight capacity W of a container, number of coni tainers k. Question: Can the objects be placed in the containers within the capacity limit? 6) Input: Graph G=(V,E), integer k. Question: Does the graph contain a clique of k vertices?
4 7) Input: nxm matrix of integers A, mx1 vector of integers b. T Question: Is there an integer (or binary) vector x = (x 1,...,x n) such that Ax = b? 13 Many of these problems have an optimization counterpart: Problem 4 is a decision problem related to the traveling salesman problem, problem 5 to the bin packing problem, problem 6 to the maximum clique problem and problem 7 to the integer programming problem. For every combinatorial optimization problem min f(x) subject to x0s, three different versions of the problem can be stated: (1) Optimization problem: Find a feasible solution x* that minimizes the objective function f. (2) Evaluation problem: Find the minimum value f* of the objective function. (3) Decision problem, recognition problem: Is there a feasible solution x0s such that f(x) # L (a given threshold value). The first is the hardest of the three and the third is the easiest in the following sense: If the optimization problen is solved then the solution to the evaluation problem can be calculated and the answer to the decision/recognition problem is obvious. But is there any real difference in the difficulty of these problems? COMPLEXITY CLASSES P AND NP Definition 2.5. The class P consists of those decision problems that can be solved with a polynomial algorithm. Shortly, P = the set of all polynomially solvable decision problems. The solution to a recognition problem is either yes or no. If the solution is yes, the algorithm is said to accept the given input. The problem belongs to the class P if and only if the following condition holds: there is a deterministic Turing machine such that when an instance of size n is given as its input, the machine stops in an accepting state (yes state) after a polynomial number p(n) of steps if and only if answer for the instance is yes. Examples of problems whose decision versions belong to the class P: - LP (Linear Programming problem) - Assignment Problem - Minimum Spanning Tree Problem - Shortest Path Problem - several one machine scheduling problems - Perfect Matching - Edge Cover If the answer to the posed yes/no question is yes, a verification of the result is a proof based on a feasible arrangement x. For instance, if a traveling salesman solution x i.e. a cycle through all vertices with length # L is given or guessed, the verification is easy: just check that every vertex is included in the cycle, calculate the length of the cycle and compare it with the threshold value L. The given solution x acts as a certificate of the answer. The number of steps needed is a polynomial function of the number of vertices. Informally, the class NP (Nondeterministic Polynomial problems) consists of decision problems for which a yes instance can be verified in polynomial time.
5 14 Definition 2.6.a. The class NP consists of decision problems for which every yes instance y has a polynomial size certificate c(y) that can be checked in polynomial time to give answer yes. More formally: Definition 2.6.b. The class NP consists of decision problems for which there exists a polynomial p(n) and an algorithm A such that an instance, encoded as a string y, is a yes instance if and only if there exists a string c(y), the certificate, with size c(y) # p( y ) given input (y, c(y)), the algorithm A will stop with the answer yes after at most p( y ) steps. The solution of an NP problem is formalized by so-called nondeterministic algorithm (or nondeterministic Turing machine): For a given instance string y, the algorithm generates a random clue or guess c(y) and uses the concatenated string (y, c(y)) as its input. When the right certificate c(y) is generated for a yes instance, the algorithm stops with the answer yes. The right certificate must always have a positive probability. (There are other descriptions for the nondeterministic Turing machine.) Another definition by means of nondeterminism: Definition 2.6.c. The problem belongs to NP if there is a nondeterministic algorithm that 1) stops at an accepting state if and only if the instance satisfies the given statement and the right polynomial size certificate is given as a clue 2) takes a number of steps that is bounded by a fixed polynomial function of the size of the instance. Note that P f NP because the polynomially solvable problems can be solved by a nondeterministic algorithm: just use the polynomial algorithm as the checking algorithm and ignore the clue. The class NP contains the decision versions of virtually all combinatorial optimization problems. That is because the solution to a combinatorial optimization problem is usually an arrangement, design or sequence of objects that can be coded as a concise certificate to a given question.
CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1
CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve
More informationComputational Complexity. IE 496 Lecture 6. Dr. Ted Ralphs
Computational Complexity IE 496 Lecture 6 Dr. Ted Ralphs IE496 Lecture 6 1 Reading for This Lecture N&W Sections I.5.1 and I.5.2 Wolsey Chapter 6 Kozen Lectures 21-25 IE496 Lecture 6 2 Introduction to
More informationIntroduction to Complexity Theory
Introduction to Complexity Theory Read K & S Chapter 6. Most computational problems you will face your life are solvable (decidable). We have yet to address whether a problem is easy or hard. Complexity
More informationAnalysis of Algorithms. Unit 5 - Intractable Problems
Analysis of Algorithms Unit 5 - Intractable Problems 1 Intractable Problems Tractable Problems vs. Intractable Problems Polynomial Problems NP Problems NP Complete and NP Hard Problems 2 In this unit we
More informationLimitations of Algorithm Power
Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying
More informationNP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with
More informationNP-Completeness. Until now we have been designing algorithms for specific problems
NP-Completeness 1 Introduction Until now we have been designing algorithms for specific problems We have seen running times O(log n), O(n), O(n log n), O(n 2 ), O(n 3 )... We have also discussed lower
More informationCSC 8301 Design & Analysis of Algorithms: Lower Bounds
CSC 8301 Design & Analysis of Algorithms: Lower Bounds Professor Henry Carter Fall 2016 Recap Iterative improvement algorithms take a feasible solution and iteratively improve it until optimized Simplex
More information1. Introduction Recap
1. Introduction Recap 1. Tractable and intractable problems polynomial-boundness: O(n k ) 2. NP-complete problems informal definition 3. Examples of P vs. NP difference may appear only slightly 4. Optimization
More informationEasy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P
Easy Problems vs. Hard Problems CSE 421 Introduction to Algorithms Winter 2000 NP-Completeness (Chapter 11) Easy - problems whose worst case running time is bounded by some polynomial in the size of the
More informationComputational Complexity
Computational Complexity Algorithm performance and difficulty of problems So far we have seen problems admitting fast algorithms flow problems, shortest path, spanning tree... and other problems for which
More informationLecture 25: Cook s Theorem (1997) Steven Skiena. skiena
Lecture 25: Cook s Theorem (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Prove that Hamiltonian Path is NP
More informationLecture 18: P & NP. Revised, May 1, CLRS, pp
Lecture 18: P & NP Revised, May 1, 2003 CLRS, pp.966-982 The course so far: techniques for designing efficient algorithms, e.g., divide-and-conquer, dynamic-programming, greedy-algorithms. What happens
More informationECS122A Handout on NP-Completeness March 12, 2018
ECS122A Handout on NP-Completeness March 12, 2018 Contents: I. Introduction II. P and NP III. NP-complete IV. How to prove a problem is NP-complete V. How to solve a NP-complete problem: approximate algorithms
More informationNP-Completeness. NP-Completeness 1
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and
More informationNP-completeness. Chapter 34. Sergey Bereg
NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems
More informationNP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and
More informationTractable & Intractable Problems
Tractable & Intractable Problems We will be looking at : What is a P and NP problem NP-Completeness The question of whether P=NP The Traveling Salesman problem again Programming and Data Structures 1 Polynomial
More informationCorrectness of Dijkstra s algorithm
Correctness of Dijkstra s algorithm Invariant: When vertex u is deleted from the priority queue, d[u] is the correct length of the shortest path from the source s to vertex u. Additionally, the value d[u]
More informationUnit 1A: Computational Complexity
Unit 1A: Computational Complexity Course contents: Computational complexity NP-completeness Algorithmic Paradigms Readings Chapters 3, 4, and 5 Unit 1A 1 O: Upper Bounding Function Def: f(n)= O(g(n)) if
More informationData Structures in Java
Data Structures in Java Lecture 21: Introduction to NP-Completeness 12/9/2015 Daniel Bauer Algorithms and Problem Solving Purpose of algorithms: find solutions to problems. Data Structures provide ways
More informationP, NP, NP-Complete, and NPhard
P, NP, NP-Complete, and NPhard Problems Zhenjiang Li 21/09/2011 Outline Algorithm time complicity P and NP problems NP-Complete and NP-Hard problems Algorithm time complicity Outline What is this course
More informationPreliminaries and Complexity Theory
Preliminaries and Complexity Theory Oleksandr Romanko CAS 746 - Advanced Topics in Combinatorial Optimization McMaster University, January 16, 2006 Introduction Book structure: 2 Part I Linear Algebra
More informationComputational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9
1 Computational Complexity and Intractability: An Introduction to the Theory of NP Chapter 9 2 Objectives Classify problems as tractable or intractable Define decision problems Define the class P Define
More informationComputers and Intractability. The Bandersnatch problem. The Bandersnatch problem. The Bandersnatch problem. A Guide to the Theory of NP-Completeness
Computers and Intractability A Guide to the Theory of NP-Completeness The Bible of complexity theory Background: Find a good method for determining whether or not any given set of specifications for a
More informationCMSC 441: Algorithms. NP Completeness
CMSC 441: Algorithms NP Completeness Intractable & Tractable Problems Intractable problems: As they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Standard
More informationComputers and Intractability
Computers and Intractability A Guide to the Theory of NP-Completeness The Bible of complexity theory M. R. Garey and D. S. Johnson W. H. Freeman and Company, 1979 The Bandersnatch problem Background: Find
More informationSpring Lecture 21 NP-Complete Problems
CISC 320 Introduction to Algorithms Spring 2014 Lecture 21 NP-Complete Problems 1 We discuss some hard problems: how hard? (computational complexity) what makes them hard? any solutions? Definitions Decision
More informationSummer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.
Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA NP Completeness Susmita Sur-Kolay Advanced Computing and Microelectronics Unit
More informationComputer Science 385 Analysis of Algorithms Siena College Spring Topic Notes: Limitations of Algorithms
Computer Science 385 Analysis of Algorithms Siena College Spring 2011 Topic Notes: Limitations of Algorithms We conclude with a discussion of the limitations of the power of algorithms. That is, what kinds
More informationCMPT307: Complexity Classes: P and N P Week 13-1
CMPT307: Complexity Classes: P and N P Week 13-1 Xian Qiu Simon Fraser University xianq@sfu.ca Strings and Languages an alphabet Σ is a finite set of symbols {0, 1}, {T, F}, {a, b,..., z}, N a string x
More informationBBM402-Lecture 11: The Class NP
BBM402-Lecture 11: The Class NP Lecturer: Lale Özkahya Resources for the presentation: http://ocw.mit.edu/courses/electrical-engineering-andcomputer-science/6-045j-automata-computability-andcomplexity-spring-2011/syllabus/
More informationTuring Machines and Time Complexity
Turing Machines and Time Complexity Turing Machines Turing Machines (Infinitely long) Tape of 1 s and 0 s Turing Machines (Infinitely long) Tape of 1 s and 0 s Able to read and write the tape, and move
More informationCombinatorial Optimization
Combinatorial Optimization Problem set 8: solutions 1. Fix constants a R and b > 1. For n N, let f(n) = n a and g(n) = b n. Prove that f(n) = o ( g(n) ). Solution. First we observe that g(n) 0 for all
More informationLecture 5: Computational Complexity
Lecture 5: Computational Complexity (3 units) Outline Computational complexity Decision problem, Classes N P and P. Polynomial reduction and Class N PC P = N P or P = N P? 1 / 22 The Goal of Computational
More informationNP Completeness and Approximation Algorithms
Winter School on Optimization Techniques December 15-20, 2016 Organized by ACMU, ISI and IEEE CEDA NP Completeness and Approximation Algorithms Susmita Sur-Kolay Advanced Computing and Microelectronic
More informationComputational Complexity
p. 1/24 Computational Complexity The most sharp distinction in the theory of computation is between computable and noncomputable functions; that is, between possible and impossible. From the example of
More informationArtificial Intelligence. 3 Problem Complexity. Prof. Dr. Jana Koehler Fall 2016 HSLU - JK
Artificial Intelligence 3 Problem Complexity Prof. Dr. Jana Koehler Fall 2016 Agenda Computability and Turing Machines Tractable and Intractable Problems P vs. NP Decision Problems Optimization problems
More informationComputational complexity
COMS11700 Computational complexity Department of Computer Science, University of Bristol Bristol, UK 2 May 2014 COMS11700: Computational complexity Slide 1/23 Introduction If we can prove that a language
More informationCS 320, Fall Dr. Geri Georg, Instructor 320 NP 1
NP CS 320, Fall 2017 Dr. Geri Georg, Instructor georg@colostate.edu 320 NP 1 NP Complete A class of problems where: No polynomial time algorithm has been discovered No proof that one doesn t exist 320
More informationComparison of several polynomial and exponential time complexity functions. Size n
Comparison of several polynomial and exponential time complexity functions Time complexity function n n 2 n 3 n 5 2 n 3 n Size n 10 20 30 40 50 60.00001.00002.00003.00004.00005.00006 second second second
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION Fall 2016 http://cseweb.ucsd.edu/classes/fa16/cse105-abc/ Logistics HW7 due tonight Thursday's class: REVIEW Final exam on Thursday Dec 8, 8am-11am, LEDDN AUD Note card allowed
More informationGeometric Steiner Trees
Geometric Steiner Trees From the book: Optimal Interconnection Trees in the Plane By Marcus Brazil and Martin Zachariasen Part 3: Computational Complexity and the Steiner Tree Problem Marcus Brazil 2015
More informationVIII. NP-completeness
VIII. NP-completeness 1 / 15 NP-Completeness Overview 1. Introduction 2. P and NP 3. NP-complete (NPC): formal definition 4. How to prove a problem is NPC 5. How to solve a NPC problem: approximate algorithms
More informationComputability and Complexity Theory: An Introduction
Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given
More informationTime Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)
Time Complexity (1) CSCI 2670 Original Slides were written by Dr. Frederick W Maier Spring 2014 Time Complexity So far we ve dealt with determining whether or not a problem is decidable. But even if it
More informationPolynomial-time reductions. We have seen several reductions:
Polynomial-time reductions We have seen several reductions: Polynomial-time reductions Informal explanation of reductions: We have two problems, X and Y. Suppose we have a black-box solving problem X in
More information15.083J/6.859J Integer Optimization. Lecture 2: Efficient Algorithms and Computational Complexity
15.083J/6.859J Integer Optimization Lecture 2: Efficient Algorithms and Computational Complexity 1 Outline Efficient algorithms Slide 1 Complexity The classes P and N P The classes N P-complete and N P-hard
More informationCSC 1700 Analysis of Algorithms: P and NP Problems
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
More informationU.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1
U.C. Berkeley CS278: Computational Complexity Handout N1 Professor Luca Trevisan August 30, 2004 Notes for Lecture 1 This course assumes CS170, or equivalent, as a prerequisite. We will assume that the
More informationReview of unsolvability
Review of unsolvability L L H To prove unsolvability: show a reduction. To prove solvability: show an algorithm. Unsolvable problems (main insight) Turing machine (algorithm) properties Pattern matching
More informationThe P-vs-NP problem. Andrés E. Caicedo. September 10, 2011
The P-vs-NP problem Andrés E. Caicedo September 10, 2011 This note is based on lecture notes for the Caltech course Math 6c, prepared with A. Kechris and M. Shulman. 1 Decision problems Consider a finite
More informationThe Complexity of Optimization Problems
The Complexity of Optimization Problems Summary Lecture 1 - Complexity of algorithms and problems - Complexity classes: P and NP - Reducibility - Karp reducibility - Turing reducibility Uniform and logarithmic
More informationNP, polynomial-time mapping reductions, and NP-completeness
NP, polynomial-time mapping reductions, and NP-completeness In the previous lecture we discussed deterministic time complexity, along with the time-hierarchy theorem, and introduced two complexity classes:
More informationClass Note #20. In today s class, the following four concepts were introduced: decision
Class Note #20 Date: 03/29/2006 [Overall Information] In today s class, the following four concepts were introduced: decision version of a problem, formal language, P and NP. We also discussed the relationship
More information1 Computational Problems
Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More informationCS 583: Algorithms. NP Completeness Ch 34. Intractability
CS 583: Algorithms NP Completeness Ch 34 Intractability Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Standard working
More informationNP-Complete Problems and Approximation Algorithms
NP-Complete Problems and Approximation Algorithms Efficiency of Algorithms Algorithms that have time efficiency of O(n k ), that is polynomial of the input size, are considered to be tractable or easy
More informationComputational Complexity
Computational Complexity Problems, instances and algorithms Running time vs. computational complexity General description of the theory of NP-completeness Problem samples 1 Computational Complexity What
More informationP is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.
Complexity Theory Problems are divided into complexity classes. Informally: So far in this course, almost all algorithms had polynomial running time, i.e., on inputs of size n, worst-case running time
More informationNotes for Lecture Notes 2
Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation
More informationComplexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler
Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard
More informationOutline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.
Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität
More informationfrom notes written mostly by Dr. Matt Stallmann: All Rights Reserved
CSC 505, Fall 000: Week 0 Objectives: understand problem complexity and classes defined by it understand relationships among decision, witness, evaluation, and optimization problems understand what it
More informationNP-Completeness. ch34 Hewett. Problem. Tractable Intractable Non-computable computationally infeasible super poly-time alg. sol. E.g.
NP-Completeness ch34 Hewett Problem Tractable Intractable Non-computable computationally infeasible super poly-time alg. sol. E.g., O(2 n ) computationally feasible poly-time alg. sol. E.g., O(n k ) No
More informationDesign and Analysis of Algorithms
Design and Analysis of Algorithms CSE 5311 Lecture 25 NP Completeness Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 NP-Completeness Some
More informationAlgorithms Design & Analysis. Approximation Algorithm
Algorithms Design & Analysis Approximation Algorithm Recap External memory model Merge sort Distribution sort 2 Today s Topics Hard problem Approximation algorithms Metric traveling salesman problem A
More informationTechnische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)
Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik Combinatorial Optimization (MA 4502) Dr. Michael Ritter Problem Sheet 1 Homework Problems Exercise
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Computational Complexity CLRS 34.1-34.4 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 50 Polynomial
More informationNP-problems continued
NP-problems continued Page 1 Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity.
More informationQ = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar
IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar Turing Machine A Turing machine is an abstract representation of a computing device. It consists of a read/write
More informationAlgorithms. NP -Complete Problems. Dong Kyue Kim Hanyang University
Algorithms NP -Complete Problems Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr The Class P Definition 13.2 Polynomially bounded An algorithm is said to be polynomially bounded if its worst-case
More informationCS 350 Algorithms and Complexity
CS 350 Algorithms and Complexity Winter 2019 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower
More informationCS 350 Algorithms and Complexity
1 CS 350 Algorithms and Complexity Fall 2015 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower
More informationFormal definition of P
Since SAT and INDEPENDENT SET can be reduced to each other we might think that there would be some similarities between the two problems. In fact, there is one such similarity. In SAT we want to know if
More information34.1 Polynomial time. Abstract problems
< Day Day Up > 34.1 Polynomial time We begin our study of NP-completeness by formalizing our notion of polynomial-time solvable problems. These problems are generally regarded as tractable, but for philosophical,
More informationComputer Sciences Department
Computer Sciences Department 1 Reference Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Computer Sciences Department 3 ADVANCED TOPICS IN C O M P U T A B I L I T Y
More informationCSE 105 THEORY OF COMPUTATION
CSE 105 THEORY OF COMPUTATION "Winter" 2018 http://cseweb.ucsd.edu/classes/wi18/cse105-ab/ Today's learning goals Sipser Ch 7 Distinguish between computability and complexity Articulate motivation questions
More informationCS/COE
CS/COE 1501 www.cs.pitt.edu/~nlf4/cs1501/ P vs NP But first, something completely different... Some computational problems are unsolvable No algorithm can be written that will always produce the correct
More informationFriday Four Square! Today at 4:15PM, Outside Gates
P and NP Friday Four Square! Today at 4:15PM, Outside Gates Recap from Last Time Regular Languages DCFLs CFLs Efficiently Decidable Languages R Undecidable Languages Time Complexity A step of a Turing
More informationComplexity - Introduction + Complexity classes
Complexity - Introduction + Complexity classes Computability - is a problem solvable? Part I: via Turing machines Part II: via Church s Lambda calculus..now.. Part III: Complexity is concerned with how
More informationLecture 4: NP and computational intractability
Chapter 4 Lecture 4: NP and computational intractability Listen to: Find the longest path, Daniel Barret What do we do today: polynomial time reduction NP, co-np and NP complete problems some examples
More informationComplexity, P and NP
Complexity, P and NP EECS 477 Lecture 21, 11/26/2002 Last week Lower bound arguments Information theoretic (12.2) Decision trees (sorting) Adversary arguments (12.3) Maximum of an array Graph connectivity
More informationTopic 17. Analysis of Algorithms
Topic 17 Analysis of Algorithms Analysis of Algorithms- Review Efficiency of an algorithm can be measured in terms of : Time complexity: a measure of the amount of time required to execute an algorithm
More informationAn Approach to Computational Complexity in Membrane Computing
An Approach to Computational Complexity in Membrane Computing Mario J. Pérez-Jiménez Research Group on Natural Computing, Department of Computer Science and Artificial Intelligence, University of Sevilla
More informationCOSE215: Theory of Computation. Lecture 20 P, NP, and NP-Complete Problems
COSE215: Theory of Computation Lecture 20 P, NP, and NP-Complete Problems Hakjoo Oh 2018 Spring Hakjoo Oh COSE215 2018 Spring, Lecture 20 June 6, 2018 1 / 14 Contents 1 P and N P Polynomial-time reductions
More informationMultiple Sequence Alignment: Complexity, Gunnar Klau, January 12, 2006, 12:
Multiple Sequence Alignment: Complexity, Gunnar Klau, January 12, 2006, 12:23 6001 6.1 Computing MSAs So far, we have talked about how to score MSAs (including gaps and benchmarks). But: how do we compute
More informationComputational complexity theory
Computational complexity theory Introduction to computational complexity theory Complexity (computability) theory deals with two aspects: Algorithm s complexity. Problem s complexity. References S. Cook,
More informationCS6901: review of Theory of Computation and Algorithms
CS6901: review of Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational
More informationSome Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter Some Problems. A Brief History of Ideas
Some Algebra Problems (Algorithmic) CSE 417 Introduction to Algorithms Winter 2006 NP-Completeness (Chapter 8) Given positive integers a, b, c Question 1: does there exist a positive integer x such that
More informationCOMP/MATH 300 Topics for Spring 2017 June 5, Review and Regular Languages
COMP/MATH 300 Topics for Spring 2017 June 5, 2017 Review and Regular Languages Exam I I. Introductory and review information from Chapter 0 II. Problems and Languages A. Computable problems can be expressed
More informationNP-Complete Problems. Complexity Class P. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..
.. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar.. Complexity Class P NP-Complete Problems Abstract Problems. An abstract problem Q is a binary relation on sets I of input instances
More informationMore on NP and Reductions
Indian Institute of Information Technology Design and Manufacturing, Kancheepuram Chennai 600 127, India An Autonomous Institute under MHRD, Govt of India http://www.iiitdm.ac.in COM 501 Advanced Data
More informationCS3719 Theory of Computation and Algorithms
CS3719 Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational tool - analysis
More information6-1 Computational Complexity
6-1 Computational Complexity 6. Computational Complexity Computational models Turing Machines Time complexity Non-determinism, witnesses, and short proofs. Complexity classes: P, NP, conp Polynomial-time
More informationLecture 14 - P v.s. NP 1
CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) February 27, 2018 Lecture 14 - P v.s. NP 1 In this lecture we start Unit 3 on NP-hardness and approximation
More information5. Complexity Theory
Course: Combinatorial Optimisation DOCUMENT LAST MODIFIED: MARCH 2, 2011 VU University Amsterdam 5. Complexity Theory Guido Schäfer March 2011 These lecture notes cover the material of the lectures given
More informationTheory of Computation Chapter 1: Introduction
Theory of Computation Chapter 1: Introduction Guan-Shieng Huang Sep. 20, 2006 Feb. 9, 2009 0-0 Text Book Computational Complexity, by C. H. Papadimitriou, Addison-Wesley, 1994. 1 References Garey, M.R.
More informationLecture #14: NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition.
Lecture #14: 0.0.1 NP-Completeness (Chapter 34 Old Edition Chapter 36) Discussion here is from the old edition. 0.0.2 Preliminaries: Definition 1 n abstract problem Q is a binary relations on a set I of
More informationCS 6505, Complexity and Algorithms Week 7: NP Completeness
CS 6505, Complexity and Algorithms Week 7: NP Completeness Reductions We have seen some problems in P and NP, and we ve talked about space complexity. The Space Hierarchy Theorem showed us that there are
More information