Title: Combinatorial Search
1Combinatorial Search
2Some practical remarks
- Lecturers Kristoffer Arnsfelt Hansen and Peter
Bro Miltersen - 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 years, 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 Virtual handouts
3Exercise classes
- You can switch classes iff you find someone to
switch with. - To find someone, post an add in the forum on the
webpage. Or try finding someone after the class! - Exercise classes start next Thursday.
4Frequently 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 cant 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!
5 Optimization a summary!
Mixed Integer Linear Programming
Exponential algorithm by Branching
TSP
Efficient algorithm by Local Search
?
Linear Programming
Min Cost Flow
reduction
Max Flow
Maximum matching
Shortest paths
6Lots and lots of man hours.
7NP-completeness
Mixed Integer Linear Programming
Exponential By Branching
TSP
Efficient by Local Search
?
Linear Programming
Min Cost Flow
reduction
Max Flow
Maximum matching
Shortest paths
8NP-completeness
Mixed Integer Linear Programming
TSP
Exponential
No reduction, unless PNP
Efficient by Local Search
Linear Programming
Min Cost Flow
reduction
Max Flow
Maximum matching
Shortest paths
9Very useful for saving (human) time
10Rigorous Formalization
Problems Languages
Efficient Algorithms Turing Machines, P
Search Problems NP
Reductions Polynomial Reductions
Universal Search Problems NPC
11Problems 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!
12Restriction 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!
13How to encode max flow instance?
java MaxFlow 60161300000101200
04001400090020
000704000000
14Models 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.
15How to encode max flow instance?
java MaxFlow 60161300000101200
04001400090020
000704000000
16Restriction 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.
17Restriction Output yes or no
- Suppose we want to consider computing a function,
f 0,1 ! 0,1. - Stand-in for f
- Lf ltx, b(j), ygt f(x)j y
- Lf has an efficient algorithm if and only if f
has an efficient algorithm.
18Restriction 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 lt desc(F), desc(f), b(?), b(?) gt
- some x 2 F has f(x) ? /
?
19(No Transcript)
20LOPT 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.
21Algorithms Turing Machines
22Turing 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.
23Finite Control
- Finite set of states Q. The control is in exactly
one of the state. Three special states start,
accept, reject. - Transition function
24Running 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.
25A nice Turing Machine Applets
http//ironphoenix.org/tril/tm/
26- If you want to make rigorous the notion of an
efficient algorithm why do you choose such a
hopelessly inefficient device ??!?
27Church-Turing Thesis
- Any decision problem that can be solved by
some mechanical procedure, can be solved by a
Turing machine.
28Polynomial 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.
29The 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?
30How to encode max flow instance?
java MaxFlow 60161300000101200
04001400090020
000704000000
31java MaxFlow 111111 111111111111111111111111111
11 1111111111111111111111 1111111111
11111111 11111111111111111111111111111
11111111111
32Polynomial 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.
33Polynomially 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
34Robustness 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.
35Rigorous Formalization
Problems Languages
Efficient Algorithms Turing Machines, P
Search Problems NP
Reductions Polynomial Reductions
Universal Search Problems NPC
36Search 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?
37Search Problems NP
-
- L is in NP iff there is a language L in
P and a polynomial p so that
38Intuition
- 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)
39(No Transcript)
40(No Transcript)
41P vs. NP
- P is a subset of NP
- Is PNP? Then any simple search problem has a
polynomial time algorithm. - This is the most famous open problem of
mathematical computer science!
42 Solved (Perelman)!
43P vs. NP and mathematics
- If PNP, mathematicians may be replaced by (much
more reliable) computers - PNP ) 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.
44Rigorous Formalization
Problems Languages
Efficient Algorithms Turing Machines, P
Search Problems NP
Reductions Polynomial Reductions
Universal Search Problems NPC
45Reductions
- 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.
46Properties 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.
47NP-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 PNP.
48NPC
- 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 PNP.