Skip to content

This program will use minimax with alphabeta pruning to hopefully be good at connect four.

Notifications You must be signed in to change notification settings

25DanielG/ConnectFourMinimax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ConnectFourMinimax

This program uses

  • Minimax
  • Iterative Deepening
  • Quiescence Search
  • Alpha Beta Pruning
  • Boost multithreading
  • Transposition table (Boost Unordered Map Serialization)
  • SDL graphics

Heuristic Algorithm: +2.5 each center piece +5 each connected two that is not contained +20 each connected three that is not contained +1000 possible win next move (stacks with double traps) (opponent win) +10000 possible win next move for computer

Running The Program:

  • Have Boost and SDL2 installed using Homebrew
  • Run the exec.sh script

Parameters:

  • minimax.hpp
    • Minimax depth (higher = smarter, longer)
    • Quiescence threshold (smaller = smarter, longer)
  • minimax.cc
    • NUM_THREADS
    • save file path
  • main.cpp
    • Train
    • load file_path
    • Train depth

About

This program will use minimax with alphabeta pruning to hopefully be good at connect four.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published