Simple Hill Climbing
hill-climb(current-state)
if current-state = goal-state return success
for op in oplist(current-state) do
next-state := op(current-state)
if better-than(next-state, current-state)
new-state:= hill-climb(initial-state)
until new-state = fail or new-state = success do
new-state := hill-climb(new-state)