CS156
Chris Pollett
Sep 20, 2017
function SIMULATED-ANNEALING(problem, schedule) returns a solution state
inputs: problem, a problem
schedule, a mapping from time "temperature"
current := MAKE-NODE(problem.INITIAL_STATE)
for t = 1 to infty do
T := schedule(t) //typically as t gets larger schedule(t) is smaller
if(T == 0) return current //when Temperature is 0 return state
next := a randomly selected successor of current
DeltaE := next.value - current.value //estimated change in energy
if(DeltaE < 0) current := next
else current := next with probability e^(-DeltaE/T)
| 7 | 8 | 9 |
| 4 | 5 | 6 |
| @ 1 | 2 | 3 |
Suppose we wanted to do stochastic hill climbing on the above table of utilities. The agent starts in the square with the @ in it. The goal square would be a square of locally maximal utility. We want our choice of action to have probability proportional to its utilities, so that each possible action from a given square to an adjacent square has non-zero probability. Suggest an algorithm to do this. Then run your algorithm by hand and say what it does at each step until you get to the 9 in the upper right corner.
Post your solutions to the Sep 20 In-Class Exercise Thread.
We consider games with two players MAX and MIN. A game consists of: