Skip to content

nardavin/OthelloBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Caltech CS2 Assignment 9: Othello Bot sudormrf

By Nicholas Ardavin and Alessio Amaolo

Bot Features

  • Bitboard implemtation of Othello board for fast evaluation of board state and efficient storage
  • Principal Variation Search (Negascout) with Negamax to reduce search time of minimax
  • Basic move ordering with 1-ply search
  • 10-ply search for accurate lookahead
  • Time-dependent heuristic function that accounts for piece count, number of available moves, number of stable pieces, frontier size, and board parity
  • Machine learninng optimization of heuristic parameters using TD-Leaf(λ)
  • 20-ply endgame solver

Future Plans

  • Opening book
  • Replace current tree search with probcut
  • Improve move ordering
  • Iterative deepening
  • Optimize time usage

Submission Log

Winter 2018 Submission: 979b3447eef28d7ca8fba07480eb7cd0e82f997f

Relevant Papers/Websites

Othello Strategy Guide

Bitboard Methods for Games

Negamax - Wikipedia

MTD-f Search Function - Wikipedia

Probcut: An Effective Extension of the alpha-beta Algorithm

TDLeaf(λ): Combining Temporal Difference Learning with Game-Tree Search

See assignment9_part1.html and assignment9_part2.html for assignment details.

About

Othello bot for Caltech CS2 competition

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published