For Tuesday Read chapter 7 Homework: Chapter 4, exercise 1 - - PowerPoint PPT Presentation

for tuesday
SMART_READER_LITE
LIVE PREVIEW

For Tuesday Read chapter 7 Homework: Chapter 4, exercise 1 - - PowerPoint PPT Presentation

For Tuesday Read chapter 7 Homework: Chapter 4, exercise 1 Chapter 5, exercise 9 Program 1 Any questions? Discussion Assignment Local Beam Search Variant of hill-climbing where multiple states and successors are


slide-1
SLIDE 1

For Tuesday

  • Read chapter 7
  • Homework:

– Chapter 4, exercise 1 – Chapter 5, exercise 9

slide-2
SLIDE 2

Program 1

  • Any questions?
slide-3
SLIDE 3

Discussion Assignment

slide-4
SLIDE 4

Local Beam Search

  • Variant of hill-climbing where multiple

states and successors are maintained

slide-5
SLIDE 5

Genetic Algorithms

  • Have a population of k states (or individuals)
  • Have a fitness function that evaluates the

states

  • Create new individuals by randomly selecting

pairs and mating them using a randomly selected crossover point.

  • More fit individuals are selected with higher

probability.

  • Apply random mutation.
  • Keep top k individuals for next generation.
slide-6
SLIDE 6

Game Playing in AI

  • Long history
  • Games are well-defined problems usually

considered to require intelligence to play well

  • Introduces uncertainty (can’t know
  • pponent’s moves in advance)
slide-7
SLIDE 7

Games and Search

  • Search spaces can be very large:
  • Chess

– Branching factor: 35 – Depth: 50 moves per player – Search tree: 35100 nodes (~1040 legal positions)

  • Humans don’t seem to do much explicit

search

  • Good test domain for search methods and

pruning methods

slide-8
SLIDE 8

Game Playing Problem

  • Instance of general search problem
  • States where game has ended are terminal states
  • A utility function (or payoff function)

determines the value of the terminal states

  • In 2 player games, MAX tries to maximize the

payoff and MIN is tries to minimize the payoff

  • In the search tree, the first layer is a move by

MAX and the next a move by MIN, etc.

  • Each layer is called a ply
slide-9
SLIDE 9

Minimax Algorithm

  • Method for determining the optimal move
  • Generate the entire search tree
  • Compute the utility of each node moving

upward in the tree as follows:

– At each MAX node, pick the move with maximum utility – At each MIN node, pick the move with minimum utility (assume opponent plays

  • ptimally)

– At the root, the optimal move is determined

slide-10
SLIDE 10

Recursive Minimax Algorithm

function Minimax-Decision(game) returns an operator for each op in Operators[game] do Value[op] <- Mimimax-Value(Apply(op, game),game) end return the op with the highest Value[op] function Minimax-Value(state,game) returns a utility value if Terminal-Test[game](state) then return Utility[game](state) else if MAX is to move in state then return highest Minimax-Value of Successors(state) else return lowest Minimax-Value of Successors(state)

slide-11
SLIDE 11

Making Imperfect Decisions

  • Generating the complete game tree is

intractable for most games

  • Alternative:

– Cut off search – Apply some heuristic evaluation function to determine the quality of the nodes at the cutoff

slide-12
SLIDE 12

Evaluation Functions

  • Evaluation function needs to

– Agree with the utility function on terminal states – Be quick to evaluate – Accurately reflect chances of winning

  • Example: material value of chess pieces
  • Evaluation functions are usually weighted

linear functions

slide-13
SLIDE 13

Cutting Off Search

  • Search to uniform depth
  • Use iterative deepening to search as deep as

time allows (anytime algorithm)

  • Issues

– quiescence needed – horizon problem

slide-14
SLIDE 14

Alpha-Beta Pruning

  • Concept: Avoid looking at subtrees that

won’t affect the outcome

  • Once a subtree is known to be worse than

the current best option, don’t consider it further

slide-15
SLIDE 15

General Principle

  • If a node has value n, but the player

considering moving to that node has a better choice either at the node’s parent or at some higher node in the tree, that node will never be chosen.

  • Keep track of MAX’s best choice () and

MIN’s best choice () and prune any subtree as soon as it is known to be worse than the current  or  value

slide-16
SLIDE 16

function Max-Value (state, game, , ) returns the minimax value of state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do  <- Max(, Min-Value(s , game, , )) if  >=  then return  end return  function Min-Value(state, game, , ) returns the minimax value of state if Cutoff-Test(state) then return Eval(state) for each s in Successors(state) do  <- Min(,Max-Value(s , game, , )) if  <=  then return  end return 

slide-17
SLIDE 17

Effectiveness

  • Depends on the order in which siblings are

considered

  • Optimal ordering would reduce nodes

considered from O(bd) to O(bd/2)--but that requires perfect knowledge

  • Simple ordering heuristics can help quite a

bit

slide-18
SLIDE 18

Chance

  • What if we don’t know what the options

are?

  • Expectiminimax uses the expected value

for any node where chance is involved.

  • Pruning with chance is more difficult.

Why?

slide-19
SLIDE 19

Imperfect Knowledge

  • What issues arise when we don’t know

everything (as in standard card games)?

slide-20
SLIDE 20

State of the Art

  • Chess – Deep Blue, Hydra, Rybka
  • Checkers – Chinook (alpha-beta search)
  • Othello – Logistello
  • Backgammon – TD-Gammon (learning)
  • Go
  • Bridge
  • Scrabble
slide-21
SLIDE 21

Games/Mainstream AI

slide-22
SLIDE 22

What about the games we play?