Local Search Algorithms




CS156

Chris Pollett

Sep 22, 2014

Outline

Introduction

Variants of Hill-Climbing

Quiz

Which of the following is true?

  1. Python classes can only inherit from one other class.
  2. `IDA^\star` runs `A^\star` until there is no memory and then drops closed or fringe nodes of highest `f`-value.
  3. The number of displaced tiles and the Manhattan distance heuristics for the 8-puzzle can be viewed as solutions to relaxations of the original problem.

Simulated Annealing

Simulated Annealing Algorithm

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)

Local Beam Search

Local Search via Genetic Algorithms

8-queen GA example

Adversarial search

Games defined More Formally

We consider games with two players MAX and MIN. A game consists of:

Games Trees

Optimal Strategies

Minimax

Minimax Example

Two Move Game