Guessing Game: NP-Complete?



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

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

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

Algorithm Design and Analysis

11. APPROXIMATION ALGORITHMS

Applied Algorithm Design Lecture 5

Near Optimal Solutions

CMPSCI611: Approximating MAX-CUT Lecture 20

CSC 373: Algorithm Design and Analysis Lecture 16

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

Introduction to Logic in Computer Science: Autumn 2006

Approximation Algorithms

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

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

Lecture 7: NP-Complete Problems

5.1 Bipartite Matching

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

Problem Set 7 Solutions

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

NP-Completeness and Cook s Theorem

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

Lecture 1: Course overview, circuits, and formulas

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

Quantum and Non-deterministic computers facing NP-completeness

8.1 Min Degree Spanning Tree

Triangle deletion. Ernie Croot. February 3, 2010

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

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

OHJ-2306 Introduction to Theoretical Computer Science, Fall

Definition Given a graph G on n vertices, we define the following quantities:

Scheduling Shop Scheduling. Tim Nieberg

Tutorial 8. NP-Complete Problems

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

On the Unique Games Conjecture

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

A Working Knowledge of Computational Complexity for an Optimizer

Introduction to computer science

Data Structures Fibonacci Heaps, Amortized Analysis

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

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

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

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

School Timetabling in Theory and Practice

Small Maximal Independent Sets and Faster Exact Graph Coloring

CAD Algorithms. P and NP

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

CSC2420 Spring 2015: Lecture 3

Exponential time algorithms for graph coloring

Distributed Computing over Communication Networks: Maximal Independent Set

Chapter. NP-Completeness. Contents

Single machine parallel batch scheduling with unbounded capacity

Mathematics for Algorithm and System Analysis

Complexity Classes P and NP

CHAPTER 9. Integer Programming

6.3 Conditional Probability and Independence

ON THE COMPLEXITY OF THE GAME OF SET.

CoNP and Function Problems

Notes on NP Completeness

Computational complexity theory

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

Universality in the theory of algorithms and computer science

Private Approximation of Clustering and Vertex Cover

Notes on Complexity Theory Last updated: August, Lecture 1

Question: What is the probability that a five-card poker hand contains a flush, that is, five cards of the same suit?

Generating models of a matched formula with a polynomial delay

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

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

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

Tetris is Hard: An Introduction to P vs NP

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015

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

1 Definitions. Supplementary Material for: Digraphs. Concept graphs

Classification - Examples

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

Reminder: Complexity (1) Parallel Complexity Theory. Reminder: Complexity (2) Complexity-new

3. Mathematical Induction

14.1 Rent-or-buy problem

Institut für Informatik Lehrstuhl Theoretische Informatik I / Komplexitätstheorie. An Iterative Compression Algorithm for Vertex Cover

GRAPH THEORY LECTURE 4: TREES

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Computational Game Theory and Clustering

Scheduling Single Machine Scheduling. Tim Nieberg

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Graph Theory Problems and Solutions

Lecture 22: November 10

On the k-path cover problem for cacti

THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

Learning Example. Machine learning and our focus. Another Example. An example: data (loan application) The data and the goal

The Classes P and NP

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

Lecture 16 : Relations and Functions DRAFT

Transcription:

Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at most k edges? In P 3. 2-SAT: Give a formula Φ such that each clause has at most 2 literals, is Φ is satisfiable? In P 4. 3-COLOR: Given a graph G = (V, E), can we color the nodes of G with 3 colors such that no two nodes joined by an edge have the same coloring YES 5. Factoring: Give an integer N. Find the factors of N. INAPPLICABLE 1 Copyright 2000, Kevin Wayne 1

Chapter 10 Extending the Limits of Tractability Reading: 10.1-10.2 Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 2 Copyright 2000, Kevin Wayne 2

Coping With NP-Completeness Q. Suppose I need to solve an NP-complete problem. What should I do? A. Theory says you're unlikely to find poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality. Solve problem in polynomial time. Solve arbitrary instances of the problem. This lecture. Solve some special cases of NP-complete problems that arise in practice. 3 Copyright 2000, Kevin Wayne 3

10.1 Finding Small Vertex Covers Copyright 2000, Kevin Wayne 4

Vertex Cover VERTEX COVER: Given a graph G = (V, E) and an integer k, is there a subset of vertices S V such that S k, and for each edge (u, v) either u S, or v S, or both. 1 6 2 3 7 8 k = 4 S = { 3, 6, 7, 10 } 4 9 5 10 5 Copyright 2000, Kevin Wayne 5

Finding Small Vertex Covers Q. What if k is small? Brute force. O(k n k+1 ). Try all C(n, k) = O(n k ) subsets of size k. Takes O(k n) time to check whether a subset is a vertex cover. Goal. Limit exponential dependency on k, e.g., to O(2 k k n). Ex. n = 1,000, k = 10. Brute. k n k+1 = 10 34 infeasible. Better. 2 k k n = 10 7 feasible. Remark. If k is a constant, algorithm is poly-time; if k is a small constant, then it's also practical. 6 Copyright 2000, Kevin Wayne 6

Finding Small Vertex Covers Claim. Let u-v be an edge of G. G has a vertex cover of size k iff at least one of G { u } and G { v } has a vertex cover of size k-1. delete v and all incident edges Pf. Suppose G has a vertex cover S of size k. S contains either u or v (or both). Assume it contains u. S { u } is a vertex cover of G { u }. Pf. Suppose S is a vertex cover of G { u } of size k-1. Then S { u } is a vertex cover of G. Claim. If G has a vertex cover of size k, it has k(n-1) edges. Pf. Each vertex covers at most n-1 edges. 7 Copyright 2000, Kevin Wayne 7

Finding Small Vertex Covers: Algorithm Claim. The following algorithm determines if G has a vertex cover of size k in O(2 k kn) time. boolean Vertex-Cover(G, k) { if (G contains no edges) return true if (G contains kn edges) return false } let (u, v) be any edge of G a = Vertex-Cover(G - {u}, k-1) b = Vertex-Cover(G - {v}, k-1) return a or b Pf. Correctness follows previous two claims. There are 2 k+1 nodes in the recursion tree; each invocation takes O(kn) time. 8 Copyright 2000, Kevin Wayne 8

Finding Small Vertex Covers: Recursion Tree cn ifk = 1 T ( n, k) T ( n, k) 2T ( n, k 1) + ckn ifk > 1 k 2 ckn k k-1 k-1 k-2 k-2 k-2 k-2 k - i 0 0 0 0 0 0 0 0 9 Copyright 2000, Kevin Wayne 9

10.2 Solving NP-Hard Problems on Trees Copyright 2000, Kevin Wayne 10

Independent Set on Trees Independent set on trees. Given a tree, find a maximum cardinality subset of nodes such that no two share an edge. Fact. A tree on at least two nodes has at least two leaf nodes. degree = 1 Key observation. If v is a leaf, there exists a maximum size independent set containing v. u Pf. (exchange argument) Consider a max cardinality independent set S. If v S, we're done. If u S and v S, then S { v } is independent S not maximum. IF u S and v S, then S { v } { u } is independent. v 11 Copyright 2000, Kevin Wayne 11

Independent Set on Trees: Greedy Algorithm Theorem. The following greedy algorithm finds a maximum cardinality independent set in forests (and hence trees). Independent-Set-In-A-Forest(F) { S φ while (F has at least one edge) { Let e = (u, v) be an edge such that v is a leaf Add v to S Delete from F nodes u and v, and all edges incident to them. } return S } Pf. Correctness follows from the previous key observation. Remark. Can implement in O(n) time by considering nodes in postorder. 12 Copyright 2000, Kevin Wayne 12

Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 13 Copyright 2000, Kevin Wayne 13

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 desired features. Solve problem to optimality. Solve problem in poly-time. Solve arbitrary instances of the problem. ρ-approximation algorithm. Guaranteed to run in poly-time. Guaranteed to solve arbitrary instance of the problem Guaranteed to find solution within ratio ρ of true optimum. Challenge. Need to prove a solution's value is close to optimum, without even knowing what optimum value is! 14 Copyright 2000, Kevin Wayne 14

11.4 The Pricing Method: Vertex Cover Copyright 2000, Kevin Wayne 15

Weighted Vertex Cover Weighted vertex cover. Given a graph G with vertex weights, find a vertex cover of minimum weight. 2 4 2 4 2 9 2 9 weight = 2 + 2 + 4 weight = 9 16 Copyright 2000, Kevin Wayne 16

Weighted Vertex Cover Pricing method. Each edge must be covered by some vertex i. Edge e pays price p e 0 to use vertex i. Fairness. Edges incident to vertex i should pay w i in total. 2 4 for each vertex i : e= ( i, j) p e w i 2 9 Claim. For any vertex cover S and any fair prices p e : e p e w(s). Proof. e E p e pe wi = i S e= ( i, j) i S w( S). each edge e covered by at least one node in S sum fairness inequalities for each node in S 17 Copyright 2000, Kevin Wayne 17

Pricing Method Pricing method. Set prices and find vertex cover simultaneously. Weighted-Vertex-Cover-Approx(G, w) { foreach e in E p e = 0 e = ( i, j) p = e wi while ( edge i-j such that neither i nor j are tight) select such an edge e increase p e without violating fairness } } S set of all tight nodes return S 18 Copyright 2000, Kevin Wayne 18

Pricing Method price of edge a-b vertex weight Figure 11.8 19 Copyright 2000, Kevin Wayne 19

Pricing Method: Analysis Theorem. Pricing method is a 2-approximation. Pf. Algorithm terminates since at least one new node becomes tight after each iteration of while loop. Let S = set of all tight nodes upon termination of algorithm. S is a vertex cover: if some edge i-j is uncovered, then neither i nor j is tight. But then while loop would not terminate. Let S* be optimal vertex cover. We show w(s) 2w(S*). w(s) = w i = i S i S p e e=(i, j) i V p e e=(i, j) = 2 p e 2w(S*). e E all nodes in S are tight S V, prices 0 each edge counted twice fairness lemma 20 Copyright 2000, Kevin Wayne 20

13.4 MAX 3-SAT Copyright 2000, Kevin Wayne 21

Maximum 3-Satisfiability exactly 3 distinct literals per clause MAX-3SAT. Given 3-SAT formula, find a truth assignment that satisfies as many clauses as possible. C 1 = x 2 x 3 x 4 C 2 = x 2 x 3 x 4 C 3 = x 1 x 2 x 4 C 4 = x 1 x 2 x 3 C 5 = x 1 x 2 x 4 Remark. NP-hard search problem. Simple idea. Flip a coin, and set each variable true with probability ½, independently for each variable. 22 Copyright 2000, Kevin Wayne 22

Maximum 3-Satisfiability: Analysis Claim. Given a 3-SAT formula with k clauses, the expected number of clauses satisfied by a random assignment is 7k/8. Pf. Consider random variable Z j = 1 if clause C j 0 otherwise. is satisfied Let Z = weight of clauses satisfied by assignment Z j. linearity of expectation E[Z] = E[Z j ] k j=1 k = Pr[clause C j is satisfied] j=1 = 7 8 k 23 Copyright 2000, Kevin Wayne 23

The Probabilistic Method Corollary. For any instance of 3-SAT, there exists a truth assignment that satisfies at least a 7/8 fraction of all clauses. Pf. Random variable is at least its expectation some of the time. Probabilistic method. We showed the existence of a non-obvious property of 3-SAT by showing that a random construction produces it with positive probability! 24 Copyright 2000, Kevin Wayne 24

Maximum 3-Satisfiability: Analysis Q. Can we turn this idea into a 7/8-approximation algorithm? In general, a random variable can almost always be below its mean. Lemma. The probability that a random assignment satisfies 7k/8 clauses is at least 1/(8k). Pf. Let p j be probability that exactly j clauses are satisfied; let p be probability that 7k/8 clauses are satisfied. 7 k = E[Z] = jp 8 j j 0 = jp j + jp j j <7k /8 j 7k /8 ( 7k 8 1) p 8 j + k p j j <7k /8 ( 7 8 k 1 8 ) 1 + kp j 7k /8 Rearranging terms yields p 1 / (8k). 25 Copyright 2000, Kevin Wayne 25

Maximum 3-Satisfiability: Analysis Johnson's algorithm. Repeatedly generate random truth assignments until one of them satisfies 7k/8 clauses. Theorem. Johnson's algorithm is a 7/8-approximation algorithm. Pf. By previous lemma, each iteration succeeds with probability at least 1/(8k). By the waiting-time bound, the expected number of trials to find the satisfying assignment is at most 8k. Waiting for a first success. Coin is heads with probability p and tails with probability 1-p. How many independent flips X until first heads? E[X] = j Pr[X = j] = j (1 p) j 1 p = j=0 j=0 p 1 p j (1 p) j = j=0 p 1 p 1 p p 2 = 1 p j-1 tails 1 head 26 Copyright 2000, Kevin Wayne 26

Maximum Satisfiability Extensions. Allow one, two, or more literals per clause. Find max weighted set of satisfied clauses. Theorem. [Asano-Williamson 2000] There exists a 0.784- approximation algorithm for MAX-SAT. Theorem. [Karloff-Zwick 1997, Zwick+computer 2002] There exists a 7/8-approximation algorithm for version of MAX-3SAT where each clause has at most 3 literals. Theorem. [Håstad 1997] Unless P = NP, no ρ-approximation algorithm for MAX-3SAT (and hence MAX-SAT) for any ρ > 7/8. very unlikely to improve over simple randomized algorithm for MAX-3SAT 27 Copyright 2000, Kevin Wayne 27

What to do if the problem you want to solve is NP-hard More on approximation algorithms Recent research has classified problems based on what kinds of approximations are possible if P NP Best: (1+ε) factor for any ε>0. packing and some scheduling problems, TSP in plane Some fixed constant factor > 1, e.g. 2, 3/2, 100 Vertex Cover, TSP in space, other scheduling problems Θ(log n) factor Set Cover, Graph Partitioning problems Worst: Ω(n 1- ε ) factor for any ε>0 Clique, Independent-Set, Coloring Slides courtesy of Paul Beame 28 Copyright 2000, Kevin Wayne 28

What to do if the problem you want to solve is NP-hard Try an algorithm that is provably fast on average. To even try this one needs a model of what a typical instance is. Typically, people consider random graphs e.g. all graphs with a given # of edges are equally likely Problems: real data doesn t look like the random graphs distributions of real data aren t analyzable Slides courtesy of Paul Beame 29 Copyright 2000, Kevin Wayne 29

What to do if the problem you want to solve is NP-hard Try to search the space of possible hints/certificates in a more efficient way and hope it is quick enough Backtracking search E.g. For SAT there are 2 n possible truth assignments If we set the truth values one-by-one we might be able to figure out whole parts of the space to avoid, e.g. After setting x 1 1, x 2 0 we don t even need to set x 3 or x 4 to know that it won t satisfy ( x 1 x 2 ) ( x 2 x 3 ) (x 4 x 3 ) (x 1 x 4 ) Related technique: branch-and-bound Backtracking search can be very effective even with exponential worst-case time For example, the best SAT algorithms used in practice are all variants on backtracking search and can solve surprisingly large problems Slides courtesy of Paul Beame 30 Copyright 2000, Kevin Wayne 30

What to do if the problem you want to solve is NP-hard Use heuristic algorithms and hope they give good answers No guarantees of quality Many different types of heuristic algorithms Many different options, especially for optimization problems, such as TSP, where we want the best solution. We ll mention several on following slides Slides courtesy of Paul Beame 31 Copyright 2000, Kevin Wayne 31

Heuristic algorithms for NP-hard problems local search for optimization problems need a notion of two solutions being neighbors Start at an arbitrary solution S While there is a neighbor T of S that is better than S S T Usually fast but often gets stuck in a local optimum and misses the global optimum With some notions of neighbor can take a long time in the worst case Slides courtesy of Paul Beame 32 Copyright 2000, Kevin Wayne 32

e.g., Neighboring solutions for TSP Solution S Solution T Two solutions are neighbors iff there is a pair of edges you can swap to transform one to the other Slides courtesy of Paul Beame 33 Copyright 2000, Kevin Wayne 33

Heuristic algorithms for NP-hard problems randomized local search start local search several times from random starting points and take the best answer found from each point more expensive than plain local search but usually much better answers simulated annealing like local search but at each step sometimes move to a worse neighbor with some probability probability of going to a worse neighbor is set to decrease with time as, presumably, solution is closer to optimal helps avoid getting stuck in a local optimum but often slow to converge (much more expensive than randomized local search) analogy with slow cooling to get to lowest energy state in a crystal (or in forging a metal) Slides courtesy of Paul Beame 34 Copyright 2000, Kevin Wayne 34

Heuristic algorithms artificial neural networks based on very elementary model of human neurons Set up a circuit of artificial neurons each artificial neuron is an analog circuit gate whose computation depends on a set of connection strengths Train the circuit Adjust the connection strengths of the neurons by giving many positive & negative training examples and seeing if it behaves correctly The network is now ready to use useful for ill-defined classification problems such as optical character recognition but not typical cut & dried problems Slides courtesy of Paul Beame 35 Copyright 2000, Kevin Wayne 35

Other directions Quantum computing Use physical processes at the quantum level to implement weird kinds of circuit gates unitary transformations Quantum objects can be in a superposition of many pure states at once can have n objects together in a superposition of 2 n states Each quantum circuit gate operates on the whole superposition of states at once inherent parallelism but classical randomized algorithms have a similar parallelism: not enough on its own Advantage over classical: parallel copies interfere with each other. Need totally new kinds of algorithms to work well. Theoretically able to factor efficiently but huge practical problems: errors, decoherence. Slides courtesy of Paul Beame 36 Copyright 2000, Kevin Wayne 36

Loose Ends Space Complexity: Amount of memory used by an algorithm If an algorithm runs in time T, then it uses at most T units of memory Every poly-time algorithm uses poly-space If an algorithm uses S units of memory, it run in time O(2 ) PSPACE: class of algorithms solvable by algorithms that use a polynomial amount of space. P PSPACE Another big question in complexity is whether P = PSPACE. 37 Copyright 2000, Kevin Wayne 37