Topology of search strategies
Solution generation
- constructive search: solution is identified step by step
- perturbative search: a possible solution is modified in order to obtain another possible solution
Search space navigation
- systematic search: the entire search space is visited
- local search: moving from a point of the search space into a neighbour point (incomplete algorithm) - a state can be visited more times
Deterministic search: identify exactly the solution
Stochastic search: approximate the solution
Search space exploration:
- sequential search
- parallel search
Local search strategies (LSS)
- Simple local search - a single neighbour state is retained
- Hill Climbing → chooses the next neighbour
- Simulated Annealing → probabilistically chooses the best neighbour
- Tabu Search → retains the recent visited solution
- Beam local search - more states are retained
- Evolutionary Algorithms
- Particle Swarm Optimisation
- Ant Colony Optimisation
Hill Climbing
- continuous moving to better values
- Search advances to improved states until an optimal one is identified
- How to accept a possible solution: best neighbour of the current solution is better than the current solution
- Improvement by:
- maximisation of states quality: steepest ascent hill climbing
- minimisation of states quality: gradient descent hill climbing
Algorithm
function HC(S)
x = s1
x* = x
k = 0
while (not termination criteria) o
k = k+1
N = all neighbours of X
s = best solution from N
if (f(s) is better than f(x)) then
x = s
else
state
end if
end while
x* = x
return x*
end function
Advantages |
Disadvantages |
simple implementation → solution approximation |
evaluation function is difficult to be approximated |
does not require memory as it does not come back into the previous state |
if a large number of moves are executed, the algorithm is inefficient and it can block in a local optimum, on a plateau (evaluation is constant), on a peak |
Simulated Annealing
- inspired by physical process modelling