1 / 5

Ideas for Othello Game Player (Deliverable 2)

Ideas for Othello Game Player (Deliverable 2). Improved Evaluation functions variations to weighted difference function, though still static evaluation functions that are conditioned on board configurations mobility – incorporate a factor that reflects the number

jafari
Download Presentation

Ideas for Othello Game Player (Deliverable 2)

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. Ideas for Othello Game Player (Deliverable 2) • Improved Evaluation functions • variations to weighted difference function, though still static • evaluation functions that are conditioned on board • configurations • mobility – incorporate a factor that reflects the number • of move options available to a player (current mobility • is the number of legal moves available to a player; • potential mobility is number of blank squares next to • opponent piece) • edge stability – measure of likelihood that edge squares • can be flipped

  2. Ideas for Othello Game Player (Deliverable 2) • More efficient searching (Alpha Beta will tend to prune more • moves, when moves are ordered “best” to “worst” (which • can only be “guessed” at ahead of time). Thus, rather than • relying on default ordering, do • static reordering (e.g., order boards based on weights used by • the weighted-diff function, or some other static weighting) • dynamic reordering (e.g., order boards by evaluation • function score) • Killer Moves – a (opponent) move in one line of play can be • effective (detrimental) in another line of play (e.g., if an • opponent can capture a corner on one line of play, • consider whether the opponent can capture the corner • in another line of play)

  3. Ideas for Othello Game Player (Deliverable 2) • Improved Memory Management • Rather than dynamically allocating boards, then “throwing • away”, reuse dynamically allocated boards and mitigate • garbage collection • Anytime search and searching with time limits • Iterative Deepening (Alpha Beta) pruning (for Othello, with • a average branching factor about 10, searching to level • N+1 will be about 10 times more expensive than N; collect • stats at N, and dynamically determine whether N+1 is • doable • Forward pruning – don’t search down paths that seem non-promising

  4. Ideas for Othello Game Player (Deliverable 2) • Aspiration search or iterative “broadening” • Instead of starting the search with alpha and beta values • of losing(-1) and winning(+1) values initially, • carefully choose a window (e.g., based on the • current board’s value), such as 0-100, and expand • the window only as needed • Think ahead – keep searching while opponent is moving, based on one or more guesses of what the opponent will do • Hash table of book moves, particularly of opening game • (where “the book” can be initialized by playing the program • against itself

  5. Ideas for Othello Game Player (Deliverable 2) • Different strategy over course of game (e.g., shallower search • in midgame, all out search later) • Metareasoning – at each point (each search step, is it better • to stop now or keep searching) – manage the clock • “dynamically” rather than “statically (e.g., assume same • time limit per move) – always ask, is search further • cost effective. Another way to think about it – consider • ceasing the search as a “possible move” • Learning – about opponent and about “one’s self” (e.g., which • evaluation function is best)

More Related