15
Computability and Complexity 23-1 Computability and Complex Andrei Bula Search and Optimization

Computability and Complexity

Embed Size (px)

DESCRIPTION

Computability and Complexity. 23-1. Search and Optimization. Computability and Complexity Andrei Bulatov. Computability and Complexity. 23-2. Search Problems. Often we need to find a solution to some problem, rather than to show that a solution exists. - PowerPoint PPT Presentation

Citation preview

Page 1: Computability and Complexity

Computability and Complexity 23-1

Computability and ComplexityAndrei Bulatov

Search and Optimization

Page 2: Computability and Complexity

Computability and Complexity 23-2

Search Problems

Often we need to find a solution to some problem, rather than to show that a solution exists

In this case the problem is said to be a search problem

Instance: A finite graph G.

Objective: Find a Hamilton Circuit in G, or report it does not exist

Hamilton Circuit(S)

Page 3: Computability and Complexity

Computability and Complexity 23-3

More Examples

Instance: A finite graph G and an integer K.

Objective: Find a colouring of G with K colours or report it does not exist

Colouring(S)

Instance: A conjunctive normal form .

Objective: Find a satisfying assignment for or report it does not exist

Satisfiability(S)

Page 4: Computability and Complexity

Computability and Complexity 23-4

Reduction to Decision Versions

Search problems look much more practical than decision problems, but we have studied mostly decision problems because:

• there always is the decision version of a search problem

• complexity classes, reducibility, etc. for decision problems are simpler than those for search problems

• normally, if we know how to solve a decision problem, we can also solve its search version

Page 5: Computability and Complexity

Computability and Complexity 23-5

Reduction for SatisfiabilityWe use an algorithm for the decision version as an oracle

Given a formula with the set of variables V

• For every X V do

• If has a satisfying assignment set X = 00| X

- otherwise, if has a satisfying assignment set X = 1 1| X

otherwise report “there is no solution”

• output the obtained assignment

Page 6: Computability and Complexity

Computability and Complexity 23-6

Reduction for HamCircuit

Observation:

A graph G has a Hamilton Path from u to v if and only if the following graph has a Hamilton Circuit

G:

u

v

u

v

Page 7: Computability and Complexity

Computability and Complexity 23-7

Given a graph G with vertex set V

• take a vertex Vv 0

• for i= 1 to |V| –1 do

• for every neighbour v of do1iv

- if there is a Hamilton path in H from to v then0v

• set H := G

set vvi :

remove and all adjacent edges from Hiv

• until is definediv

• if is not defined then output “there is no Hamilton Circuit”iv

• output the Hamilton Circuit 1||10 ,,, Vvvv

Page 8: Computability and Complexity

Computability and Complexity 23-8

Optimization ProblemsIn some problems we seek to find the best solution among a collection of possible solutions

Problems of this type are called optimization problems

Definition An optimization problem is a 4-tuple (I,S,m,opt), where

• I is a set of possible instances (encoded by strings over some alphabet

• S is a function mapping each instance to a set of feasible solutions

• m is a function mapping pairs of instances and solutions to a positive measure of goodness

• opt is either max or min, and indicates whether we seek maximum or minimum goodness

Page 9: Computability and Complexity

Computability and Complexity 23-9

To solve an optimization problem we must find for any given x I, a solution y S(x) such that

)}(|),({),( xSzzxmoptyxm

The optimal value will be denoted OPT(x)

Page 10: Computability and Complexity

Computability and Complexity 23-10

Example

Instance: A finite set of cities , and a positive integer distance , between each pair .

Objective: Find a permutation of that minimizes

Travelling Salesperson(O)},,,{ 21 nccc

),( jid

},,1{ n

},{ ji cc

))1(),(())1(),((1

1 ndiid

n

i

• I contains sets of cities and distances

• S gives the set of all possible orderings for each instance

• m gives the length of the tour for each instance and choice of ordering

• opt is min, because we seek for a shortest tour

Page 11: Computability and Complexity

Computability and Complexity 23-11

Instance: A graph G = (V,E).

Objective: Find a smallest set M N such that for each edge (u,v) E we have u,v M

Minimal Vertex Cover¹

• I contains all graphs

• S gives the set of all vertex covers for each graph

• m gives the size of the vertex cover (the number of vertices)

• opt is min, because we seek for a smallest vertex cover

Example

¹Sometimes called Min Node Cover or just Minimum Cover

Page 12: Computability and Complexity

Computability and Complexity 23-12

NP-Hard

By extending the notion of reduction, we can show that many optimization problems are hard to solve

Algorithms for the examples above would allow us to solve the corresponding decision problems, which are all NP-complete

We will call a problem NP-hard if all problems in NP are reducible to it in polynomial time

Page 13: Computability and Complexity

Computability and Complexity 23-13

Reduction for TSP

Given a set of cities and distances},,,{ 21 nccc ),( jid

First, we find the length of the shortest tour

• set L := 0 and )},(max{: jidnU

• do

- set

2: ULM

- if there is a tour of length M then

set U := M- otherwise set L := M

• until L = U

• return L

Page 14: Computability and Complexity

Computability and Complexity 23-14

Now we can find a shortest tour. Let its length be denoted L and let B = 2L

• for i = 1 to n –1 do

• for every do},,{},,{ 101 in vvccv

- if there is a tour for and of length then

• set

set vvi :

set and • until is definediv

• output the shortest tour 1||10 ,,, Vvvv

10 : cv

- suppose kcv

- set and otherwise0),(' 1 ki cvd ),(),(' ljdljd

),(' 1 ki cvdL ),(' ljd},,,{ 21 nccc

0:),(' 1 ki cvd ),(': 1 ki cvdLL

Page 15: Computability and Complexity

Computability and Complexity 23-15

Both, search and optimization problems can be reduced to decision problems

Why optimization problems are more interesting?

Because we can approximate…