0% found this document useful (0 votes)
14 views

Ch2-4-Problem Solving by Searching

The document discusses different heuristic search methods for problem solving, including local search algorithms like hill climbing and simulated annealing. Hill climbing searches for a local optimum by repeatedly moving to neighbor states with improved values, but can get stuck in local optima, while simulated annealing allows some "bad" moves to escape local optima by gradually reducing their probability as the temperature cools. These local search methods are useful for optimization problems where exhaustive search is not feasible due to large search spaces.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

Ch2-4-Problem Solving by Searching

The document discusses different heuristic search methods for problem solving, including local search algorithms like hill climbing and simulated annealing. Hill climbing searches for a local optimum by repeatedly moving to neighbor states with improved values, but can get stuck in local optima, while simulated annealing allows some "bad" moves to escape local optima by gradually reducing their probability as the temperature cools. These local search methods are useful for optimization problems where exhaustive search is not feasible due to large search spaces.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 146

Artificial Intelligence

Problem solving by searching


CSC 361

Dr. Yousef Al-Ohali


Computer Science Depart.
CCIS – King Saud University
Saudi Arabia

[email protected]
http://faculty.ksu.edu.sa/YAlohali
Problem Solving by Searching

Search Methods :
Local Search for
Optimization Problems
Heuristic Functions
 A heuristic function is a function f(n) that gives an estimation on the
“cost” of getting from node n to the goal state – so that the node with
the least cost among all possible choices can be selected for expansion
first.

 Three approaches to defining f:

 f measures the value of the current state (its “goodness”)

 f measures the estimated cost of getting to the goal from the current state:
 f(n) = h(n) where h(n) = an estimate of the cost to get from
n to a goal

 f measures the estimated cost of getting to the goal state from the current
state and the cost of the existing path to it. Often, in this case, we
decompose f:
 f(n) = g(n) + h(n) where g(n) = the cost to get to n (from
initial state) 3
Approach 1: f Measures the Value of
the Current State

 Usually the case when solving optimization problems


 Finding a state such that the value of the metric f is optimized

 Often, in these cases, f could be a weighted sum of a set of


component values:

 Chess

 Example: piece values, board orientations …

 Traveling Salesman Person

 Example: the length of a tour (sum of distances between visited cities)


4
Traveling Salesman Person
 Find the shortest Tour traversing all cities once.

5
Traveling Salesman Person
 A Solution: Exhaustive Search
(Generate and Test) !!

The number of all tours


is about (n-1)!/2

If n = 36 the number is about:

566573983193072464833325668761600000000

Not Viable Approach !!


6
Traveling Salesman Person
 A Solution: Start from an initial solution and
improve using local transformations.

7
2-opt mutation for TSP

Choose two edges at random

8
2-opt mutation for TSP

Choose two edges at random

9
2-opt mutation for TSP

Remove them

10
2-opt mutation for TSP

Reconnect in a different way (there is only one valid new way)

11
Optimization Problems

Local Search Algorithms


Local Search Algorithms
 The search algorithms we have seen so far keep track of
the current state, the “fringe” of the search space, and the
path to the final state.

 In some problems, one doesn’t care about a solution path


but only the orientation of the final goal state
 Example: 8-queen problem

 Local search algorithms operate on a single state –


current state – and move to one of its neighboring states
 Solution path needs not be maintained

 Hence, the search is “local”


13
Local Search Algorithms
Example:
Put N Queens on an n × n board with no two
queens on the same row, column, or diagonal

Initial state … Improve it … using local transformations (perturbations)

14
Local Search Algorithms
Basic idea: Local search algorithms operate on a single state – current
state – and move to one of its neighboring states.

The principle: keep a single "current" state, try to improve it

Therefore: Solution path needs not be maintained.


Hence, the search is “local”.

 Two advantages
 Use little memory.
 More applicable in searching large/infinite search space. They find
reasonable solutions in this case.

15
Local Search Algorithms for
optimization Problems
 Local search algorithms are
very useful for optimization
problems

 systematic search doesn’t


work

 however, can start with a


suboptimal solution and
improve it

 Goal: find a state such that Minimize the number


the objective function is
optimized of attacks

16
Local Search Algorithms

Hill Climbing,
Simulated Annealing,
Tabu Search
Local Search: State Space
A state space landscape is a graph of states associated with their
costs

18
Hill Climbing
• "Like climbing Everest in thick fog with amnesia"

• Hill climbing search algorithm (also known as greedy local


search) uses a loop that continually moves in the direction
of increasing values (that is uphill).

• It teminates when it reaches a peak where no neighbor


has a higher value.

19
Steepest Ascent Version
Steepest ascent version

Function Hill climbing (problem) return state that is a local maximun


Inputs: problem, a problem
Local variables: current, a node
neighbor, a node
Current ← Make-Node (initial-state [problem])
Loop do
neighbor ← a highest-valued successor of current
If Value[neighbor] ≤ Value[current] then return state [current]
Current ← neighbor

20
Hill Climbing: Neighborhood
Consider the 8-queen problem:

 A State contains 8 queens on the board

 The neighborhood of a state is all states generated by moving a single queen


to another square in the same column (8*7 = 56 next states)

 The objective function h(s) = number of queens that attack each other in
state s.

h(s) = 17 best next is 12 h(s)=1 [local minima]


21
Hill Climbing Drawbacks
 Local maxima/minima : local search can get
stuck on a local maximum/minimum and not
find the optimal solution

Local minimum
• Cure
+ Random restart
22
+ Good for Only few local maxima
Hill Climbing
Cost

States

23
Hill Climbing
Current
Solution

24
Hill Climbing
Current
Solution

25
Hill Climbing
Current
Solution

26
Hill Climbing
Current
Solution

27
Hill Climbing
Best

28
Local Search Algorithms

Simulated Annealing
(Stochastic hill climbing …)
Simulated Annealing
 Key Idea: escape local maxima by allowing some "bad" moves
but gradually decrease their frequency

 Take some uphill steps to escape the local minimum

 Instead of picking the best move, it picks a random move

 If the move improves the situation, it is executed. Otherwise,


move with some probability less than 1.

 Physical analogy with the annealing process:


 Allowing liquid to gradually cool until it freezes

 The heuristic value is the energy, E

 Temperature parameter, T, controls speed of convergence. 30


Simulated Annealing
 Basic inspiration: What is annealing?

In mettallurgy, annealing is the physical process used to temper or


harden metals or glass by heating them to a high temperature
and then gradually cooling them, thus allowing the material to
coalesce into a low energy cristalline state.
Heating then slowly cooling a substance to obtain a strong
cristalline structure.

 Key idea: Simulated Annealing combines Hill Climbing with a


random walk in some way that yields both efficiency and
completeness.

 Used to solve VLSI layout problems in the early 1980


31
Simulated Annealing

32
Simulated Annealing

33
Simulated Annealing
 Temperature T
 Used to determine the probability
 High T : large changes
 Low T : small changes

 Cooling Schedule
 Determines rate at which the temperature T is lowered
 Lowers T slowly enough, the algorithm will find a global
optimum

 In the beginning, aggressive for searching alternatives,


become conservative when time goes by
34
Simulated Annealing
Cost Best

States

35
Simulated Annealing
Cost Best

States

36
Simulated Annealing
Cost Best

States

37
Simulated Annealing
Cost Best

States

38
Simulated Annealing
Cost Best

States

39
Simulated Annealing
Cost Best

States

40
Simulated Annealing
Cost Best

States

41
Simulated Annealing
Cost Best

States

42
Simulated Annealing
Cost Best

States

43
Simulated Annealing
Cost Best

States

44
Simulated Annealing
Cost Best

States

45
Simulated Annealing
Cost Best

States

46
Simulated Annealing
Cost Best

States

47
Simulated Annealing
Cost Best

States

48
Simulated Annealing
Cost Best

States

49
Simulated Annealing
Cost Best

States

50
Simulated Annealing
Cost Best

States

51
Simulated Annealing
Cost Best

States

52
Simulated Annealing
Cost Best

States

53
Simulated Annealing
Cost Best

States

54
Simulated Annealing
Cost Best

States

55
Simulated Annealing
Cost Best

States

56
Simulated Annealing
Cost Best

States

57
Local Search Algorithms

Tabu Search
(hill climbing with small memory)
Tabu Search
 The basic concept of Tabu Search as described by
Glover (1986) is "a meta-heuristic superimposed on
another heuristic.

 The overall approach is to avoid entrainment in


cycles by forbidding or penalizing moves which take
the solution, in the next iteration, to points in the
solution space previously visited ( hence "tabu").

 The Tabu search is fairly new, Glover attributes it's


origin to about 1977 (see Glover, 1977).

59
Tabu Search: TS
Cost

States

60
Tabu Search: TS
Best

61
Tabu Search: TS
Best

62
Tabu Search: TS
Best

63
Tabu Search: TS
Best

64
Tabu Search: TS
Best

65
Tabu Search: TS
Best

66
Tabu Search: TS
Best

67
Tabu Search: TS
Best

68
Tabu Search: TS
Best

69
Tabu Search: TS
Best

70
Tabu Search: TS
Best

71
Tabu Search: TS
Best

72
Tabu Search: TS
Best

73
Tabu Search: TS
Best

74
Tabu Search: TS
Best

75
Tabu Search: TS
Best

76
Tabu Search: TS
Best

77
Tabu Search: TS
Best

78
Tabu Search: TS
Best

79
Tabu Search: TS
Best

80
Tabu Search: TS
Best

81
Tabu Search: TS
Best

82
Optimization Problems

Population Based Algorithms


Beam Search, Genetic Algorithms
& Genetic Programming
Population based Algorithms

Beam Search Algorithm


Local Beam Search
 Unlike Hill Climbing, Local Beam Search keeps track of k states
rather than just one.

 It starts with k randomly generated states.

 At each step, all the successors of all the states are generated.

 If any one is a goal, the algorithm halts, otherwise it selects the k


best successors from the complete list and repeats.

 LBS≠ running k random restarts in parallel instead of sequence.

 Drawback: less diversity. → Stochastic Beam Search


85
Local Beam Search
 Idea: keep k states instead of just 1

 Begins with k randomly generated states

 At each step all the successors of all k states


are generated.

 If one is a goal, we stop, otherwise select k


best successors from complete list and
repeat
86
Local Beam Search
Cost

States

87
Local Beam Search

88
Local Beam Search

89
Local Beam Search

90
Local Beam Search

91
Local Beam Search

92
Local Beam Search

93
Local Beam Search

94
Local Beam Search

95
Local Beam Search

96
Local Beam Search

97
Local Beam Search

98
Local Beam Search

99
Local Beam Search

100
Local Beam Search

101
Local Beam Search

102
Population based Algorithms

Genetic Algorithms
Genetic programming
Stochastic Search: Genetic Algorithms

 Formally introduced in the US in the 70s by John


Holland.
 GAs emulate ideas from genetics and natural selection
and can search potentially large spaces.
 Before we can apply Genetic Algorithm to a problem,
we need to answer:

- How is an individual represented?


- What is the fitness function?
- How are individuals selected?
- How do individuals reproduce?
104
Stochastic Search: Genetic Algorithms
Representation of states (solutions)

• Each state or individual is represented as a string over


a finite alphabet. It is also called chromosome which
Contains genes.
genes

Solution: 607 1001011111


Encoding
Chromosome:
Binary String

105
Stochastic Search: Genetic Algorithms
Fitness Function
• Each state is rated by the evaluation function called fitness
function. Fitness function should return higher values for better
states:
Fitness(X) should be greater than Fitness(Y) !!
[Fitness(x) = 1/Cost(x)]

Cost

States
106
X Y
Stochastic Search: Genetic Algorithms
Selection
How are individuals selected ?

Roulette Wheel Selection


1 2 3 4 5 6 7 8
1 2 3 1 3 5 1 2

0 Rnd[0..18] = 7 Rnd[0..18] = 12 18
Chromosome4 Chromosome6
107
Stochastic Search: Genetic Algorithms
Cross-Over and Mutation

How do individuals reproduce ?

108
Stochastic Search: Genetic Algorithms
Crossover - Recombination

1010000000 Parent1 Offspring1 1011011111


1001011111 Parent2 Offspring2 1010000000

Crossover
single point - With some high probability (crossover
random rate) apply crossover to the parents.
(typical values are 0.8 to 0.95)

109
Stochastic Search: Genetic Algorithms mutate
Mutation

Offspring1 1011011111 Offspring1 1011001111

Offspring2 1010000000 Offspring2 1000000000

Original offspring Mutated offspring

With some small probability (the mutation rate) flip


each bit in the offspring (typical values between 0.1
and 0.001)
110
Genetic Algorithms
 GA is an iterative process and can be described as
follows:

 Iterative process

 Start with an initial population of “solutions” (think:


chromosomes)

 Evaluate fitness of solutions

 Allow for evolution of new (and potentially better) solution


populations
 E.g., via “crossover,” “mutation”

 Stop when “optimality” criteria are satisfied


111
Genetic Algorithms

Algorithm:

1. Initialize population with p Individuals at random

2. For each Individual h compute its fitness

3. While max fitness < threshold do


Create a new generation Ps

4. Return the Individual with highest fitness


112
Genetic Algorithms
Create a new generation Ps:

1. Select (1-r)p members of P and add them to Ps. The probability of


selecting a member is as follows:
P(hi) = Fitness (hi) / Σj Fitness (hj)

2. Crossover: select rp/2 pairs of hypotheses from P according to


P(hi).
For each pair (h1,h2) produce two offspring by applying the
Crossover operator. Add all offspring to Ps.
3. Mutate: Choose mp members of Ps with uniform probability. Invert
one bit in the representation randomly.

4. Update P with Ps
5. Evaluate: for each h compute its fitness.
113
Stochastic Search: Genetic Algorithms

114
Genetic Algorithms
Cost

States

115
Genetic Algorithms
Mutation

Cross-Over

116
Genetic Algorithms

117
Genetic Algorithms

118
Genetic Algorithms

119
Genetic Algorithms

120
Genetic Algorithms

121
Genetic Algorithms

122
Genetic Algorithms

123
Genetic Algorithms

124
Genetic Algorithms

125
Genetic Algorithms

126
Genetic Algorithms

127
Genetic Algorithms

128
Genetic Algorithms

129
Genetic Algorithms

130
Genetic Algorithms

131
Genetic Algorithms

132
Genetic Algorithms

133
Optimization Problems

Genetic programming: GP
Genetic Programming

Genetic programming (GP)

Programming of Computers
by Means of Simulated
Evolution

How to Program a Computer


Without Explicitly Telling It
What to Do?

Genetic Programming is
Genetic Algorithms where
solutions are programs …
135
Genetic programming
 When the chromosome encodes an entire
program or function itself this is called
genetic programming (GP)

 In order to make this work,encoding is often


done in the form of a tree representation

 Crossover entials swaping subtrees between


parents

136
Genetic programming

It is possible to evolve whole programs like this


but only small ones. Large programs with complex
functions present big problems
137
Genetic programming
Inter-twined Spirals: Classification Problem

Red Spiral

Blue Spiral

138
Genetic programming
Inter-twined Spirals: Classification Problem

139
Optimization Problems

New Algorithms
ACO, PSO, QGA …
Anything to be Learnt from
Ant Colonies?
 Fairly simple units generate complicated
global behaviour.

 An ant colony expresses a complex


collective behavior providing intelligent
solutions to problems such as:

 carrying large items


 forming bridges
 finding the shortest routes from the
nest to a food source, prioritizing food
sources based on their distance and ease
of access.

 “If we knew how an ant colony works,


we might understand more about how all
such systems work, from brains to
ecosystems.”
(Gordon, 1999)

141
Shortest path discovery

142
Shortest path discovery
Ants get to find the shortest path after few minutes …

143
Ant Colony Optimization
Each artificial ant is a probabilistic mechanism that constructs a
solution to the problem, using:
• Artificial pheromone deposition
• Heuristic information: pheromone trails, already
visited cities memory …

144
TSP Solved using ACO

145
Summary
* Local search methods keep small number of nodes in memory.
They are suitable for problems where the solution is the goal
state
itself and not the path.

* Hill climbing, simulated annealing and local beam search are


examples of local search algorithms.

* Stochastic algorithms represent another class of methods for


informed search. Genetic algorithms are a kind of stochastic hill-
climbing search in which a large population of states is
maintained. New states are generated by mutation and by
146
crossover which combines pairs of states from the population.

You might also like