slide1
Download
Skip this Video
Download Presentation
Ideas for Othello Game Player (Deliverable 2)

Loading in 2 Seconds...

play fullscreen
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
slide1

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
slide2

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)
slide3

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
slide4

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
slide5

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