Ideas for Othello Game Player (Deliverable 2)
Download
1 / 5

Ideas for Othello Game Player (Deliverable 2) - PowerPoint PPT Presentation


  • 56 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Ideas for Othello Game Player (Deliverable 2)' - jafari


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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


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)


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


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


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)


ad