Title: Random/Exhaustive Search
1Random/Exhaustive Search
- Generate and Test
- Generate a candidate solution and test to see if
it solves the problem - Repeat
- Information used by this algorithm
- You know when you have found the solution
2Hill Climbing
- Generate a candidate solution by modifying the
last solution, S - If the new solution, N, is better than S then
S N - Repeat
- Local Search
- Information used by this algorithm
- Compare two candidate solutions and tell which is
better
3Population of Hill Climbers
- Randomly generate initial population of hill
climbers (Randomly generate initial candidate
solutions) - Do hill climbing in parallel
- After time t, choose best solution in population
- Information used by this algorithm
- Same as hill climbing
4Genetic Algorithms
- Population of information exchanging hill
climbers - Concentrates resources in promising areas of the
search space - Information used
- Same as hillclimbing
5Hard problems
- Computational complexity, problem size n
- Binary Search O(log(n))
- Linear Search O(n)
- Bubble Sort O(n2)
- Scheduling NP-complete
(at least exponential
O(an)
6Hard problems
Robotics How do we catch a ball, navigate, play basketball
User Interfaces Predict next command, adapt to individual user
Medicine Protein structure prediction, Is this tumor benign, design drugs
Design Design bridge, jet engines, Circuits, wings
Control Nonlinear controllers
7Search as a solution to hard problems
- Strategy generate a potential solution and see
if it solves the problem - Make use of information available to guide the
generation of potential solutions - How much information is available?
- Very little We know the solution when we find it
- Lots linear, continuous,
- Modicum Compare two solutions and tell which is
better
8Search tradeoff
- Very little information for search implies we
have no algorithm other than RES. We have to
explore the space thoroughly since there is no
other information to exploit - Lots of information (linear, continuous, ) means
that we can exploit this information to arrive
directly at a solution, without any exploration - Modicum of information (compare two solutions)
implies that we need to use this information to
tradeoff exploration of the search space versus
exploiting the information to concentrate search
in promising areas
9Exploration vs Exploitation
- More exploration means
- Better chance of finding solution (more robust)
- Takes longer
- More exploitation means
- Less chance of finding solution, better chance of
getting stuck in a local optimum - Takes less time
10Choosing a search algorithm
- The amount of information available about a
problem influences our choice of search algorithm
and how we tune this algorithm - How does a search algorithm balance exploration
of a search space against exploitation of
(possibly misleading) information about the
search space? - What assumptions is the algorithm making?
11Genetic Algorithm
- Generate pop(0)
- Evaluate pop(0)
- T0
- While (not converged) do
- Select pop(T1) from pop(T)
- Recombine pop(T1)
- Evaluate pop(T1)
- T T 1
- Done