1 / 20

Incomplete Search

General Game Playing Lecture 4. Incomplete Search. Michael Genesereth Spring 2012. Evaluation Functions. Complete search is usually impractical.

dorjan
Download Presentation

Incomplete Search

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. General Game Playing Lecture 4 Incomplete Search Michael Genesereth Spring 2012

  2. Evaluation Functions Complete search is usually impractical. Alternative is to limit search depth in some way and apply a heuristic evaluation function to fringe states (whether terminal or non-terminal). Chess examples: Piece count Board control

  3. Example - Mobility Mobility is a measure of the number of things a player can do. Basis - number of actions in a state or number of states reachable from that state. Horizon - current state or n moves away.

  4. Example - Focus Focus is a measure of the narrowness of the search space. It is the inverse of mobility. Sometimes it is good to focus to cut down on search space. Often better to restrict opponents’ moves while keeping one’s own options open.

  5. Some General Evaluation Functions Conservative value = 0 for all nonterminal states Mobility and Focus Maximize own Minimize opponent’s Novelty (especially with reversibility) New states better than old states or vice versa Similarity of states (compare state descriptors) Goal proximity

  6. Weighted Linear Evaluation Functions Definition f(s) = w1 f1(s) + … + wn  fn(s) Examples: Piece count in chess Board control in chess Combination of piece count and board control Mobility Goal proximity Novelty

  7. Minimax function maxscore (role, state) {if (terminalp(state)) {return goal(role,state)}; var value = []; for (var action in legals(role,state)) {value[action] = minscore(role, action, state)}; return max(value)} function minscore (role, action, state) {var value = []; for (move in findmoves(role,action,state)) {value[move] = maxscore(role,next(move,state))}; return min(value)}

  8. Minimax’ function maxscore (role, state, level) {if terminalp(state) return payoff(state); if level>levels thenreturn evalfun(state); var value = []; for (action in findactions(role,state)) {value[action] = minscore(role,action,state,level)}; return max(value)} function minscore (role, action, state, level) {var value = []; for (move in findmoves(role,action,state)) {ns = next(move,state); value[move] = maxscore(role,ns,level+1))}; return min(value)}

  9. Problems With Depth-Limited Search Horizon Problem white gains a rook but loses queen or loses game example - sequence of captures in chess Local Maxima

  10. Variable Depth Search Idea - use expansion function in place of fixed depth Examples: Quiescence search (attacks horizon problem) Evaluation function values

  11. Minimax’’ function maxscore (role, state, level) {if (terminalp(state)) {return goal(role,state)}; if (!expfun(state,level)) then{return evalfun(state)}; var value = new Array(); for (action in legals(role,state)) {value[action] = minscore(role,action,state,level)}; return max(value)}

  12. Monte Carlo Method / Depth Charge Basic Idea (1) Explore game graph to some level storing generated states (2) Beyond this, explore to end of game making random choices for moves of all players, not storing states (to limit space growth) (3) Assign expected utilities to states by summing utilities and dividing by number of trials Features Fast because no search Small space because nothing stored

  13. Monte Carlo

  14. Monte Carlo 100 0 0 0 0 100 100 0 0 0 0 0 100 0 100 100

  15. Monte Carlo 25 50 75 0 100 0 0 0 0 100 100 0 0 0 0 0 100 0 100 100

  16. Problems With Monte Carlo Methods Optimistic opponent *might* not respect probabilities No higher level reasoning does not utilize game structure in any way CadiaPlayer’s answer - UCT (see paper)

  17. Evaluation Functions in GGP General Methods that are applicable to all games Just discussed Statistical Estimate payoffs by random samples Just discussed Guaranteed Find features that vary directly with final payoff Sometimes doable in time proportional to description More on this in weeks to come

More Related