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

Save this PDF as:

Size: px
Start display at page:

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

## Transcription

1 -completeness and the real world completeness Course Discrete Biological Models (Modelli Biologici Discreti) Zsuzsanna Lipták Imagine you are working for a biotech company. One day your boss calls you and tells you that they have invented a new sequencing technology. It generates lots of fragments of the target molecule, which may overlap. Your job as chief algorithm designer is to write a program that reconstructs the target molecule. You get to work... Laurea Triennale in Bioinformatica a.a. 204/5, fall term 2/39 -completeness and the real world Imagine you are working for a biotech company. One day your boss calls you and tells you that they have invented a new sequencing technology. It generates lots of fragments of the target molecule, which may overlap. Your job as chief algorithm designer is to write a program that reconstructs the target molecule. You get to work... you find that... you need a superstring (of all fragments) ashortestsuperstring you need to maximize the overlaps any superstring is just a permutation of the fragments you need the/a best permutation (which maximizes total overlap) -completeness and the real world (2) But after weeks and weeks and weeks... all you have come up with is: Exhaustive algorithm List all possible permutations and choose the best. 2/39 3/39 -completeness and the real world (3) So you can go to your boss and say: This is no good, since for,000 fragments (typical experiment) this would need far longer than the age of the universe. Why? 000! permutations source: Wolfram Alpha say we need 000 operations per permutation (summing overlaps) if we have a computer that does billion (= 0 9 ) operations/sec it can handle million (0 6 ) permutations per second So it will take /0 6 = seconds Age of the universe: about 4 billion years seconds source: Wikipedia We can see that a million (0 6 ) or a billion (0 9 ) times faster computer wouldn t help much, either. Nor would faster handling of the permutations. Bad idea, you may get fired! source: Garey & Johnson, A Guide to the Theory of -completeness, 979 4/39 5/39

2 Or you could say: You prove that the reconstruction problem is -complete, and you say: Unfortunately, it is very hard to do impossibility proofs... source: Garey & Johnson, A Guide to the Theory of -completeness, 979 6/39 So it makes no sense to fire you and get another expert! source: Garey & Johnson, A Guide to the Theory of -completeness, 979 7/39 Overview Overview - class of that can be solved e ciently (i.e., in polynomial time) - class of that can solved in polynomial time by a non-deterministic Turing machine (nicer definition to follow) -complete -maximallydi cult in : every other problem can be transformed into these in polynomial time (details later) -hard - like -complete, but not necessarily in Usual way of drawing the classes and :!complete!hard 8/39 9/39 The class Definition A decision problem X is in if there is a polynomial time algorithm A which solves X. A decision problem is one that allows only YES or NO answers. s Given a sorted array of n numbers, is number x present? O(log n) time Given an array of n numbers, is number x present? O(n) time Given a graph G, isg Eulerian? O(n + m) time, where n = V, m = E(G). Details: Determine for each vertex whether it has even degree (or whether it is balanced if G is a digraph) in O(n) time;determinewithbfswhetherg is connected in O(n + m) time. 0 / 39 olynomial time algorithms Algorithm A is polynomial time if there is a polynomial p s.t. for every input I of size n, A terminates in at most p(n) steps. size is usually measured in bits, number of elements (for an integer array), number of vertices and edges (for graphs), number of characters (for strings) / 39

3 The class - class of that can solved in polynomial time by a non-deterministic Turing machine (non-deterministic polynomial time) alternative definition: = class of polynomial time checkable Whenever the answer is YES, there must exist a certificate (proof) of this, and it must be checkable (verifiable) in polynomial time. roblem: Given a graph G =(V, E), is G Hamiltonian (i.e. does it have a Hamiltonian cycle)? Certificate: A Hamiltonian cycle: check whether it is a cycle, and whether it contains every vertex exactly once, in O(n) time,wheren = V. 2 / 39 The class = class of polynomial time checkable Whenever the answer is YES, there must exist a certificate (proof) of this, and it must be checkable (verifiable) in polynomial time. roblem: Given a fragment set F of m fragments, does a superstring of length apple k exist? Certificate: asuperstrings of length apple k: checkforeveryf whether f is substring of S, ino( f + S ) time; altogether O( F + m S ) time,so polynomial in input size. input: F, inputsize: F = m i= fi, S apple i fi, som S apple F 2 3 / 39 The class and = class of polynomial time checkable Whenever the answer is YES, there must exist a certificate (proof) of this, and it must be checkable (verifiable) in polynomial time.!complete roblem: Given a complete digraph G =(V, E) with non-negative weights on edges, does it have a Hamiltonian path of weight at least r? Certificate: a Ham. path of weight r: check weight of path, check whether it contains every vertex exactly once, in O(n) time,wheren = V!hard 4 / 39 5 / 39 The = question The = question One of the big open question of computer science is: Is =? Since is clear, the question is:? Can every problem in be solved e ciently? I.e. is the shaded area empty?!complete!hard Most people believe: 6=. N.B.: There is a US \$,000,000 prize for solving this question. 6 / 39 7 / 39

4 -complete and -hard -complete A problem X is -complete if it is in every problem in can be transformed/reduced to it in polynomial time (details soon) -hard A problem X is -hard if every problem in can be transformed/reduced to it in polynomial time (details soon) i.e., the only di erence is that it is not necessarily itself in. -complete and -hard Theorem Let X be an -complete or -hard problem. If we find a polynomial time algorithm for X,then =. Corollary Let X be an -complete or -hard problem. Then there is no polynomial time algorithm for X,unless =. Since we all believe that 6=, thismeansinpracticalterms: In practice Let X be an -complete or -hard problem. Then there is no polynomial time algorithm for X, fullstop. 8 / 39 9 / 39 -complete -complete Contains a list of known -complete : Michael R. Garey, David S. Johnson, Computers and Intractability - A Guide to the Theory of -completeness, 979 one of the best known and most cited books ever in computer science 20 / 39 2 / 39 -complete You have found your problem (the Shortest Common Superstring roblem) in the Garey-Johnson: Decision vs. optimization Optimization problem Given F, find a shortest common superstring S. Decision problem Given F, does a common superstring S exist with S apple k? N.B. If I can solve the decision problem, then I can also solve a reduced version of the optimization problem: determining the length of an SCS. Use log( F ) many calls to the decision problem. (Details: Determine the length of an SCS using binary search: Let N = F. We know that a common superstring exists with length N, namely the concatenation of all f 2 F. Nowsetk = N/2; if the answer is YES, continue with k = N/4, else with k =3N/4, etc.) 22 / / 39

5 Decision vs. optimization olynomial time reductions/transformations!complete!hard Now we want to talk about -complete. These are the ones to which all others in can be reduced in polynomial time. What does this mean? Many -hard are optimization versions of -complete. If the decision version is -complete, then the optimization version is automatically -hard. (Why?) So it s enough to prove that the decision version is -complete. (Or to find it in the Garey-Johnson.) Translate problem X to problem Y in polynomial time Definition We say that problem X is polynomial time reducible to problem Y, X apple p Y, if there is an algorithm A and a polynomial p, s.t.forevery instance I of X, A constructs an instance J of Y in time p( I ) such that: I is a YES-instance of X, J is a YES-instance of Y. 25 / / 39 An example reduction An example reduction SCS-decision Given: Fragment set F Question: Does a superstring of length apple k exist? {TACC, CGGACT, ACTAC, ACGGA} Weighted Hamiltonian path-decision Given: A weighted complete digraph G. Question: Does G have a Ham. path of weight F k? a = TACC c = CGGACT Let F contain m fragments of length r. Time for transformation: O(m 2 r 2 ), (or even faster): the time of the transformation is dominated by the time for computing the overlaps between the fragments, i.e. the weights on the edges This is polynomial in the input size F = mr (namely, with polynomial p(n) =n 2 ). YES on the left, YES on the right Therefore we have shown: SCS-decision apple p Weighted Hamiltonian path-decision b = ACTAC 2 d = ACGGA 27 / / 39 olynomial time reductions/transformations Definition (again) We say that problem X is polynomial time reducible to problem Y, X apple p Y, if there is an algorithm A and a polynomial p, s.t.forevery instance I of X, A constructs an instance J of Y in time p( I ) such that: N.B. I is a YES-instance of X, J is a YES-instance of Y. Think of X apple p Y as meaning: X is not harder than Y Note that we are still paying for the reduction/transformation: it takes polynomial time! olynomial time reductions/transformations -complete A problem X is -complete if it is in for every problem Y 2 : Y apple p X. Theorem Let X be an -complete problem. If we find a polynomial time algorithm for X,then =. There are important technical di erences between Karp-reductions/transformations (R. Karp, 972), and Turing-reductions (S. Cook, 97), which we are ignoring here. 29 / / 39

6 olynomial time reductions/transformations Is your problem -complete? Theorem Let X be an -complete problem. If we find a polynomial time algorithm for X,then =. roof Let A be a polytime algorithm for X.Wehavetoshow:. LetY be any problem in. We will now give a polytime algorithm for Y.LetI be an instance of Y.SinceX is -complete, there is an algorithm B which transforms any instance I of Y into an instance J of X in polynomial time, say in p B ( I ). In particular this implies J apple p B ( I ). The algorithm A for X solves J in time p A ( J ) apple p A (p B ( I )) (since all parameters are positive). Thus, we have an algorithm C = A B (B followed by A) fory, which gives an answer to instance I in time at most p C ( I ) :=p B ( I )+p A (p B ( I )), which, being a sum and composition of polynomials, is a polynomial in I. So if you have a computational problem, and you think it might be -complete, then Find it in the Garey-Johnson, or some other compendium of -complete/-hard, or prove that it is -complete. This is far beyond the scope of this course... You will learn how to do this in an advanced course on algorithms/complexity. 3 / / 39 Recap Why do we believe that 6=? : which are polynomial-time checkable (for YES-instances, a certificate exists which can be verified in polynomial time) polynomial time reduction/transformation, X apple p Y,means:instances of X can be transformed to instances of Y in polynomial time -complete : in to which all in can be polytime reduced -hard : like -complete but not necessarily in An e cient (=polytime) algorithm for an -complete or -hard problem would imply: =, which nobody believes is true Therefore, no e cient algorithm can exist for these (we all believe) Many, many important real-life are -complete or -hard. Finding an e cient algorithm for just one of these would prove =. Much much work has gone into finding e cient algorithms for these. By some of the best mathematicians and computer scientists on earth. No one has been able to find an e cient algorithm for any one of these so far. 33 / / 39 Why do we believe that 6=?... by some of the best mathematicians and computer scientists on earth... What to do next? If we find that our computational problem is -complete or -hard, then what can we do? despair/give up Run an exhaustive search algorithm This is often possible for small instances, often combined with specific tricks. Verify that your instances are really general. Often, the general case is -complete, but many special cases are not! E.g. the SBH-sequencing problem is not -complete: otherwise we could not have found a better formulation (Euler cycles in de Bruijn graphs) which is polynomially solvable! (continued on next page) 35 / / 39

7 What to do next? Summary (continued from previous page) Devise heuristics: algorithms that work well in practice but without guaranteeing the quality of the solution. olynomial time approximation algorithms: Algorithms that do not guarantee the optimal solution, but a solution which approximates the optimum. E.g. the Greedy Algorithm for SCS guarantees a solution which is at most 4 times longer than the optimum. and, and, and... There are certain for which no e cient algorithms exist (very, very, very, very probably) These are called -complete (decision ) or -hard (optimization ) Many real-life, also in computational biology/bioinformatics, are -complete/-hard There are ways of dealing with this (see previous list) 37 / / 39 Summary Merry Christmas! 39 / 39

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

NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer

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

Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order

### NP-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

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

Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique

### On the Relationship between Classes P and NP

Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,

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

CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard goddard@cse.unl.edu CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes

### Introduction to computer science

Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.

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

Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

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

Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:

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

SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity

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

Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February

### A Working Knowledge of Computational Complexity for an Optimizer

A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational

### OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012

276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a \$ 1,000,000 prize for the

### Tutorial 8. NP-Complete Problems

Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem

### Approximation Algorithms

Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

### CAD Algorithms. P and NP

CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using

### P versus NP, and More

1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify

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

Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter

### 1 Approximating Set Cover

CS 05: Algorithms (Grad) Feb 2-24, 2005 Approximating Set Cover. Definition An Instance (X, F ) of the set-covering problem consists of a finite set X and a family F of subset of X, such that every elemennt

### The Classes P and NP

The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the

### NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness

Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### Theoretical Computer Science (Bridging Course) Complexity

Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the

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

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

### Measuring Rationality with the Minimum Cost of Revealed Preference Violations. Mark Dean and Daniel Martin. Online Appendices - Not for Publication

Measuring Rationality with the Minimum Cost of Revealed Preference Violations Mark Dean and Daniel Martin Online Appendices - Not for Publication 1 1 Algorithm for Solving the MASP In this online appendix

### Lecture 7: NP-Complete Problems

IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit

### 582670 Algorithms for Bioinformatics

Adapted from slides by Veli Mäkinen / Algorithms for Bioinformatics 011 which are partly from http://bix.ucsd.edu/bioalgorithms/slides.php 58670 Algorithms for Bioinformatics Lecture 5: Graph Algorithms

### CSC 373: Algorithm Design and Analysis Lecture 16

CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements

### Universality in the theory of algorithms and computer science

Universality in the theory of algorithms and computer science Alexander Shen Computational models The notion of computable function was introduced in 1930ies. Simplifying (a rather interesting and puzzling)

### Scheduling. Open shop, job shop, flow shop scheduling. Related problems. Open shop, job shop, flow shop scheduling

Scheduling Basic scheduling problems: open shop, job shop, flow job The disjunctive graph representation Algorithms for solving the job shop problem Computational complexity of the job shop problem Open

### Computational complexity theory

Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision

### 136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

136 TER 4. INDUCTION, GRHS ND TREES 4.3 Graphs In this chapter we introduce a fundamental structural idea of discrete mathematics, that of a graph. Many situations in the applications of discrete mathematics

### What s next? Reductions other than kernelization

What s next? Reductions other than kernelization Dániel Marx Humboldt-Universität zu Berlin (with help from Fedor Fomin, Daniel Lokshtanov and Saket Saurabh) WorKer 2010: Workshop on Kernelization Nov

### ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu

ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a

### Euler Paths and Euler Circuits

Euler Paths and Euler Circuits An Euler path is a path that uses every edge of a graph exactly once. An Euler circuit is a circuit that uses every edge of a graph exactly once. An Euler path starts and

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

3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

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

Lecture 19: Introduction to NP-Completeness Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Reporting to the Boss Suppose

### 1. What s wrong with the following proofs by induction?

ArsDigita University Month : Discrete Mathematics - Professor Shai Simonson Problem Set 4 Induction and Recurrence Equations Thanks to Jeffrey Radcliffe and Joe Rizzo for many of the solutions. Pasted

### Boulder Dash is NP hard

Boulder Dash is NP hard Marzio De Biasi marziodebiasi [at] gmail [dot] com December 2011 Version 0.01:... now the difficult part: is it NP? Abstract Boulder Dash is a videogame created by Peter Liepa and

### Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs Kousha Etessami U. of Edinburgh, UK Kousha Etessami (U. of Edinburgh, UK) Discrete Mathematics (Chapter 6) 1 / 13 Overview Graphs and Graph

### Million Dollar Mathematics!

Million Dollar Mathematics! Alissa S. Crans Loyola Marymount University Southern California Undergraduate Math Day University of California, San Diego April 30, 2011 This image is from the Wikipedia article

### Answers to some of the exercises.

Answers to some of the exercises. Chapter 2. Ex.2.1 (a) There are several ways to do this. Here is one possibility. The idea is to apply the k-center algorithm first to D and then for each center in D

### Notes on NP Completeness

Notes on NP Completeness Rich Schwartz November 10, 2013 1 Overview Here are some notes which I wrote to try to understand what NP completeness means. Most of these notes are taken from Appendix B in Douglas

### 2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

### Tetris is Hard: An Introduction to P vs NP

Tetris is Hard: An Introduction to P vs NP Based on Tetris is Hard, Even to Approximate in COCOON 2003 by Erik D. Demaine (MIT) Susan Hohenberger (JHU) David Liben-Nowell (Carleton) What s Your Problem?

### Analysis of Algorithms, I

Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

### SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

### Quantum and Non-deterministic computers facing NP-completeness

Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction

### Answer: (a) Since we cannot repeat men on the committee, and the order we select them in does not matter, ( )

1. (Chapter 1 supplementary, problem 7): There are 12 men at a dance. (a) In how many ways can eight of them be selected to form a cleanup crew? (b) How many ways are there to pair off eight women at the

### Introduction to Logic in Computer Science: Autumn 2006

Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding

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

Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity

### Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design Hongsik Choi and Hyeong-Ah Choi Department of Electrical Engineering and Computer Science George Washington University Washington,

### 1 Basic Definitions and Concepts in Graph Theory

CME 305: Discrete Mathematics and Algorithms 1 Basic Definitions and Concepts in Graph Theory A graph G(V, E) is a set V of vertices and a set E of edges. In an undirected graph, an edge is an unordered

### MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

MapReduce and Distributed Data Analysis Google Research 1 Dealing With Massive Data 2 2 Dealing With Massive Data Polynomial Memory Sublinear RAM Sketches External Memory Property Testing 3 3 Dealing With

### Chapter 4: Trees. 2. Theorem: Let T be a graph with n vertices. Then the following statements are equivalent:

9 Properties of Trees. Definitions: Chapter 4: Trees forest - a graph that contains no cycles tree - a connected forest. Theorem: Let T be a graph with n vertices. Then the following statements are equivalent:

### Chapter. NP-Completeness. Contents

Chapter 13 NP-Completeness Contents 13.1 P and NP......................... 593 13.1.1 Defining the Complexity Classes P and NP...594 13.1.2 Some Interesting Problems in NP.......... 597 13.2 NP-Completeness....................

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

Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

### The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

### 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

Why Study NP- hardness NP Hardness/Completeness Overview Ron Parr CPS 570 NP hardness is not an AI topic It s important for all computer scienhsts Understanding it will deepen your understanding of AI

### Introduction to NP-Completeness Written and copyright c by Jie Wang 1

91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use time-bounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of

### Complexity Classes P and NP

Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer

### A greedy algorithm for the DNA sequencing by hybridization with positive and negative errors and information about repetitions

BULLETIN OF THE POLISH ACADEMY OF SCIENCES TECHNICAL SCIENCES, Vol. 59, No. 1, 2011 DOI: 10.2478/v10175-011-0015-0 Varia A greedy algorithm for the DNA sequencing by hybridization with positive and negative

### Informatique Fondamentale IMA S8

Informatique Fondamentale IMA S8 Cours 4 : graphs, problems and algorithms on graphs, (notions of) NP completeness Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université

### Cloud Computing is NP-Complete

Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,

### Diversity Coloring for Distributed Data Storage in Networks 1

Diversity Coloring for Distributed Data Storage in Networks 1 Anxiao (Andrew) Jiang and Jehoshua Bruck California Institute of Technology Pasadena, CA 9115, U.S.A. {jax, bruck}@paradise.caltech.edu Abstract

### Complexity and Completeness of Finding Another Solution and Its Application to Puzzles

yato@is.s.u-tokyo.ac.jp seta@is.s.u-tokyo.ac.jp Π (ASP) Π x s x s ASP Ueda Nagao n n-asp parsimonious ASP ASP NP Complexity and Completeness of Finding Another Solution and Its Application to Puzzles Takayuki

### Small Maximal Independent Sets and Faster Exact Graph Coloring

Small Maximal Independent Sets and Faster Exact Graph Coloring David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science The Exact Graph Coloring Problem: Given an undirected

### Finding the Shortest Move-Sequence in the Graph-Generalized 15-Puzzle is NP-Hard

Finding the Shortest Move-Sequence in the Graph-Generalized 15-Puzzle is NP-Hard Oded Goldreich Abstract. Following Wilson (J. Comb. Th. (B), 1975), Johnson (J. of Alg., 1983), and Kornhauser, Miller and

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

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

Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: bvogt@ist.tugraz.at office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html

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

Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

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

Decision Problems 8.2 Definition of NP Decision problem. X is a set of strings. Instance: string s. Algorithm A solves problem X: A(s) = yes iff s X. Polynomial time. Algorithm A runs in polytime if for

### Industrial Optimization

Industrial Optimization Lessons learned from Optimization in Practice Marco Lübbecke Chair of Operations Research RWTH Aachen University, Germany SICS Stockholm Feb 11, 2013 Discrete Optimization: Some

### Arithmetic Coding: Introduction

Data Compression Arithmetic coding Arithmetic Coding: Introduction Allows using fractional parts of bits!! Used in PPM, JPEG/MPEG (as option), Bzip More time costly than Huffman, but integer implementation

### Offline sorting buffers on Line

Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

### Theorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.

Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the

### A REMARK ON ALMOST MOORE DIGRAPHS OF DEGREE THREE. 1. Introduction and Preliminaries

Acta Math. Univ. Comenianae Vol. LXVI, 2(1997), pp. 285 291 285 A REMARK ON ALMOST MOORE DIGRAPHS OF DEGREE THREE E. T. BASKORO, M. MILLER and J. ŠIRÁŇ Abstract. It is well known that Moore digraphs do

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

Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

### Classification - Examples

Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking

### Mathematical Induction. Lecture 10-11

Mathematical Induction Lecture 10-11 Menu Mathematical Induction Strong Induction Recursive Definitions Structural Induction Climbing an Infinite Ladder Suppose we have an infinite ladder: 1. We can reach

### NP-Completeness and Cook s Theorem

NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### 5.1 Bipartite Matching

CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

### Mathematics for Algorithm and System Analysis

Mathematics for Algorithm and System Analysis for students of computer and computational science Edward A. Bender S. Gill Williamson c Edward A. Bender & S. Gill Williamson 2005. All rights reserved. Preface

### On the k-path cover problem for cacti

On the k-path cover problem for cacti Zemin Jin and Xueliang Li Center for Combinatorics and LPMC Nankai University Tianjin 300071, P.R. China zeminjin@eyou.com, x.li@eyou.com Abstract In this paper we

### Factoring & Primality

Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount

### Data Structures and Algorithms Written Examination

Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where

### Graph Theory Problems and Solutions

raph Theory Problems and Solutions Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 005 Problems. Prove that the sum of the degrees of the vertices of any finite graph is

### Distributed Computing over Communication Networks: Maximal Independent Set

Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.

### Discrete Mathematics, Chapter 3: Algorithms

Discrete Mathematics, Chapter 3: Algorithms Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 3 1 / 28 Outline 1 Properties of Algorithms

### What mathematical optimization can, and cannot, do for biologists. Steven Kelk Department of Knowledge Engineering (DKE) Maastricht University, NL

What mathematical optimization can, and cannot, do for biologists Steven Kelk Department of Knowledge Engineering (DKE) Maastricht University, NL Introduction There is no shortage of literature about the

### International Journal of Advanced Research in Computer Science and Software Engineering

Volume 3, Issue 7, July 23 ISSN: 2277 28X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Greedy Algorithm:

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### / Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry

600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Steiner Tree and TSP Date: 01/29/15 Scribe: Katie Henry 2.1 Steiner Tree Definition 2.1.1 In the Steiner Tree problem the input

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

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition

### Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs Yong Zhang 1.2, Francis Y.L. Chin 2, and Hing-Fung Ting 2 1 College of Mathematics and Computer Science, Hebei University,