An MCTS + CNN Othello engine, AlphaZero-style. Play against it below.
How long each of the AI's searches took, move by move.
Othello has far too many possible positions to search exhaustively, so this engine narrows the search the way AlphaZero does (Silver et al., 2018): Monte Carlo Tree Search (Browne et al., 2012) explores a handful of promising lines instead of every line, guided by a neural network that looks at a position and predicts two things, which moves look worth exploring and who's likely winning. The search spends more time on lines the network rates highly, the same way a strong player prunes bad options instinctively before calculating deeply into good ones.
The network was trained entirely through self-play, no human games involved: it plays against itself repeatedly, and each game becomes training data for a slightly stronger version. The settings panel controls the search directly — MCTS simulations is how many lines it explores before committing to a move, c_puct value and c_puct scalingcontrol how much it favors exploring new ideas over trusting what it already knows — move hints marks every square you're legally allowed to play, and AI hints shades those squares by how strongly the AI recommends each one. A full technical write-up, covering the board representation, network architecture, and training loop, is coming to the blog.
Syed Taha
BsCS @ IBA
Hamna Sajid
BsCS @ IBA
Hadiya Muneeb
BsCS @ IBA