The project contains an intelligent problem solving agent that employs search algorithms to play a game of Riversi
The agent runs in 4 modes. Mode 1 to 3 is used for debugging purposes. If input option is 1 then the agent runs a greedy search to find the best move. If the input option is 2 then the agent runs minimax algorithm. If the input option is 3 then the agent runs alpha beta pruning. Options 2 and 3 logs the moves considered and helps in debugging. If the input option is 4 then the agent enters a competition mode where it uses a few admissible heuristics to figure out the next optimal move while playing the game.