1 combinatorial search spring 2008 (fourth quarter)

47
1 Combinatorial Search Spring 2008 (Fourth Quarter)

Post on 20-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

1

Combinatorial Search

Spring 2008 (Fourth Quarter)

Page 2: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

2

Some practical remarks• Homepage: www.daimi.au.dk/dKS

• Exam: Oral, 7-scale 30 minutes, including overhead, no preparation.

• There will be three compulsory assignments. If you want to transfer credit from last year, let me know as soon as possible and before May 1.

• The solution to the compulsory assignments should be handed in at specific exercise sessions and given to the instructor in person.

• Text: “Kompendium” available at GAD + online notes.

Page 3: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

3

Exercise classes

• You can switch classes iff you find someone to switch with.

• To find someone, post an add in the group dSoegOpt … Or try finding someone after the class!

• Exercise classes are on specific dates, see webpage

Page 4: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

4

Frequently asked questions about compulsory assignments

• Q: Do I really have to hand in all three assignments? • A: YES!

• Q: Do I really have to hand in all three assignments on time? • A: YES!

• Q: What if I can’t figure out how to solve them? • A: Ask your instructor. Start solving them early, so that you will have

sufficient time.

• Q: What if I get sick or my girlfriend breaks up or my hamster dies? • A: Start solving them early, so that you will have sufficient time in case of

emergencies.

• Q: Do I really have to hand in all three assignments? • A: YES!

Page 5: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

5Maximum matching

Max Flow

Shortest paths

Min Cost Flow

Linear Programming

Mixed Integer Linear Programming

Efficientby Local Search

ExponentialBy Branching

= reduction

TSP

“Optimization” – a summary!

?

Page 6: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

6

Lots and lots of man hours….

Page 7: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

7Maximum matching

Max Flow

Shortest paths

Min Cost Flow

Linear Programming

Mixed Integer Linear Programming

Efficientby Local Search

ExponentialBy Branching

= reduction

TSP…

?

NP-completeness

Page 8: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

8Maximum matching

Max Flow

Shortest paths

Min Cost Flow

Linear Programming

Mixed Integer Linear Programming

Efficient by Local Search

Exponential

= reduction

TSP…

No reduction, unless P=NP

NP-completeness

Page 9: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

9

Very useful for saving (human) time

Page 10: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

10

Rigorous Formalization

“Problems” Languages

“Efficient Algorithms” Turing Machines, P

“Search Problems” NP

“Reductions” Polynomial Reductions

“Universal Search Problems” NPC

Page 11: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

11

Problems: Languages

• A language L is a subset of {0,1}*.

• A language models a decision problem: Members of L are the yes-instances, non-members are the no-instances.

• This is the only kind of problem our theory shall be concerned with!

Page 12: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

12

Restriction: Inputs Boolean Strings

• Strings over an arbitrary alphabet can be represented as Boolean Strings (Ex: ascii, unicode).

• In reality, computers may only hold Boolean strings (their memory image is a bit string).

• Arbitrary real numbers may not be represented but this is intentional!

Page 13: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

13

Models of Computation• Model 1: Our computer holds exact real numbers. The size of the

input is the number of real numbers in the input. The time complexity of an algorithm is the number of arithmetic operations performed.

• Model 2: Our computer holds bits and bytes. The size of the input is the number of bits in the input. The time complexity of an algorithm is the number of bit-operations performed.

• We know an efficient algorithm for linear programming in Model 2 but not model 1.

• The NP-completeness theory is intended to capture Model 2 and not Model 1.

Page 14: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

14

java MaxFlow 6#0|16|13|0|0|0#0|0|10|12|0|0 #0|4|0|0|14|0#0|0|9|0|0|20 #0|0|0|7|0|4|#0|0|0|0|0|0

How to encode max flow instance?

Page 15: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

15

Restriction: All inputs “legal”.

• Any string should be either a yes-string or a no-string.

• It would be nice to also have “malformed” strings.

• However, we shall just lump the malformed strings with the no-strings.

Page 16: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

16

Restriction: Output yes or no

• Suppose we want to consider computing a function, f: {0,1}* ! {0,1}*.

• Stand-in for f:

Lf = {<x, b(j), y> | f(x)j = y}

• Lf has an efficient algorithm if and only if f has an efficient algorithm.

Page 17: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

17

Restriction: functions

• OPT: Given description of F, f find x 2 F maximizing f(x).

• There may be several optimal solutions. OPT does not seem to be captured easily by a function.

• Stand-in for OPT:

LOPT = { < desc(F), desc(f), b(), b() > | some x 2 F has f(x) ¸ / }

Page 18: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

18

Page 19: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

19

LOPT vs. OPT

• LOPT may be easy to solve even though OPT is hard to solve, so LOPT is not a perfect stand-in.

• However, if LOPT has no efficient solution, then OPT has no efficient solution, so LOPT can still be used to argue that OPT is hard.

Page 20: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

20

Algorithms: Turing Machines

Page 21: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

21

Turing Machines

• A Turing machine consists of an infinite tape, divided into cells, each holding a symbol from alphabet that includes 0,1,#.

• A tape head is at any point in time positioned at a cell.

• A finite control reads the symbol at the head, updates the symbol at the head and the position of the head.

Page 22: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

22

Finite Control

• Finite set of states Q. The control is in exactly one of the state. Three special states: start, accept, reject.

• Transition function:

Page 23: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

23

Running the machine on an input

• The input string is placed on the tape (surrounded by blanks) and the head positioned to the immediate left of the input. The initial state of the finite control is start.

• If the finite control eventually goes to accept state, the input is accepted (“the machine outputs yes”).

• If the finite control eventually goes to reject state, the input is rejected (“the machine outputs no”).

• The machine is said to decide a language L if it accepts all members of L and rejects all members of {0,1}*-L.

Page 25: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

25

If you want to make rigorous the notion of an “efficient algorithm” why do you choose such a hopelessly inefficient device ??!?

Page 26: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

26

Church-Turing Thesis

Any decision problem that can be solved by some mechanical procedure, can be solved by a Turing machine.

Page 27: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

27

Polynomial Church-Turing thesis

A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only if it can be solved in polynomial time by a Turing machine.

Page 28: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

28

The complexity class P

• P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at most p(|x|) steps on input x.

• By the Polynomial Church-Turing Thesis, P is “robust” with respect to changes of the machine model.

• Is P also robust with respect to changes of the representation of decision problems as languages?

Page 29: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

29

java MaxFlow 6#0|16|13|0|0|0#0|0|10|12|0|0 #0|4|0|0|14|0#0|0|9|0|0|20 #0|0|0|7|0|4|#0|0|0|0|0|0

How to encode max flow instance?

Page 30: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

30

java MaxFlow 111111#|1111111111111111|1111111111111|||#||1111111111|111111111111||#|1111|||11111111111111|#||111111111|||11111111111111111111#|||1111111||1111 #|||||

Page 31: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

31

Polynomial time computable maps

f: {0,1}* ! {0,1}* is called polynomial time computable if for some polynomial p,

- For all x, |f(x)| · p(|x|).

- Lf 2 P.

Page 32: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

32

Polynomially equivalent representations

• A representation of objects (say graphs, numbers) as strings is good if the language of valid representations is

in P.

• Two different representations of objects are called polynomially equivalent if we may translate between them using polynomial time computable maps.

• Ex: Adjacency matrices vs. Edge lists• Ex: Binary vs. Decimal• Counterexample: Binary vs. Unary

Page 33: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

33

Robustness of Representation

• Given two good, polynomially equivalent representations of the instances of a decision problem, resulting in languages L1 and L2 we have

L1 2 P iff L2 2 P.

Page 34: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

34

Rigorous Formalization

“Problems” Languages

“Efficient Algorithms” Turing Machines, P

“Search Problems” NP

“Reductions” Polynomial Reductions

“Universal Search Problems” NPC

Page 35: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

35

Search Problems: NP

• We want to capture decision problems that can be solved by exhaustive search of the following kind.

• Go through a space of possible solutions, checking for each one of them if it is an actual solutions (in which case the answer is yes).

• Example: Compositeness. Given a number in binary, is it a product of smaller numbers?

Page 36: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

36

Search Problems: NP

L is in NP iff there is a language L’ in P and a polynomial p so that:

Page 37: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

37

Intuition

• The y-strings are the possible solutions to the instance x.

• We require that solutions are not too long and that it can be checked efficiently if a given y is indeed a solution (we have a “simple” search problem)

Page 38: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

38

Page 39: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

39

Page 40: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

40

P vs. NP

• P is a subset of NP

• Is P=NP? Then any “simple” search problem has a polynomial time algorithm.

• This is the most famous open problem of mathematical computer science!

Page 41: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

41

.Clay Mathematics Institute

| [home] | [index] |

- Annual Meeting - Research - Students - Awards - Summer School - Workshops - About CMI - Millennium Prize Problems - News -

M I L L E N N I U M P R I Z E P R O B L E M S

HOME / MILLENNIUM

PRIZE PROBLEMS

P versus NP

The Hodge Conjecture

The Poincaré Conjecture

The Riemann Hypothesis

Yang-Mills Existence and Mass Gap

Navier-Stokes Existence and Smoothness

The Birch and Swinnerton-Dyer Conjecture

Announced 16:00, on Wednesday, May 24, 2000 Collège de France

Solved (Perelman)!

Page 42: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

42

P vs. NP and mathematics

• If P=NP, mathematicians may be replaced by (much more reliable) computers:

P=NP ) There is an algorithmic procedure that takes as input any formal math statement and always outputs its shortest formal proof in time polynomial in the length of the proof.

• This is usually regarded (in particular by mathematicians!) as evidence that P and NP are different.

Page 43: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

43

Rigorous Formalization

“Problems” Languages

“Efficient Algorithms” Turing Machines, P

“Search Problems” NP

“Reductions” Polynomial Reductions

“Universal Search Problems” NPC

Page 44: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

44

Reductions

• A reduction r of L1 to L2 is a polynomial time computable map so that

8 x: x 2 L1 iff r(x) 2 L2

• We write L1 · L2 if L1 reduces to L2.

• Intuition: Efficient software for L2 can also be used to efficiently solve L1.

Page 45: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

45

Properties of reductions

Transitivity:

L1 · L2 Æ L2 · L3 ) L1 · L3

Downward closure of P:

L1 · L2 Æ L2 2 P ) L1 2 P.

• Follows from Polynomial Church-Turing thesis.

Page 46: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

46

NP-hardness

• A language L is called NP-hard iff 8 L’ 2 NP: L’ · L

• Intuition: Software for L is strong enough to be used to solve any simple search problem.

• Proposition: If some NP-hard language is in P, then P=NP.

Page 47: 1 Combinatorial Search Spring 2008 (Fourth Quarter)

47

NPC

• A language L 2 NP that is NP-hard is called NP-complete.

• NPC := the class of NP-complete problems.

• Proposition:

L 2 NPC ) [L 2 P iff P=NP].