Skip to content

Connect4 solver: Minimax with alpha-beta pruning

Notifications You must be signed in to change notification settings

rkstgr/connect4

Repository files navigation

Connect4 solver

Highly optimized connect4 solver written in Go based on minimax with:

  • Alpha-Beta pruning
  • Iterative deepening
  • Transposition table
  • Move ordering
  • Game representation as uint64

This is mostly a reimplementation of http://blog.gamesolver.org/solving-connect-four/

TODO

  • Set up initial board
  • Print / display board in terminal
  • Place stones manually via terminal
  • Check for win conditions
  • Test win conditions
  • Check for draw conditions
  • Implement minimax solver
  • Optimize engine & solver speed
  • Implement alpha-beta pruning
  • Implement transposition table
  • Implement iterative deepening with null window search
  • Implement board with bit mapping
  • Anticipating losing moves
  • Better move ordering
  • Better move ordering 2 (include pair alignments)
  • Optimize transposition table