Course project for Learning in Games.
- Reversi environment (by 5/3)
- Initialization
- Make move
- Print board
- Determine if it is a valid move
- Flip the pieces
- Find all valid moves
- Player vs Player
- Determine if it is endgame
- Resize the board
- A(rtificial)I(diot) (by 5/5)
- Move randomly
- Simple AI (by 5/5)
- Count flipped pieces
- Find the move with most pieces converted
- Advanced AI (by 5/17)
- Evaluation
- Number of pieces
- Position scores
- Possible moves
- Stable pieces
- Special situations
- MinMax algorithm
- Alpha-Beta pruning
- Evaluation
- More advanced features (by 5/24) (20%)
- Transposition table
- Killer moves
- Iterative deepening
- Reinforcement learning
- Graphic UI
- Performance evaluation (by 5/24)
- Human vs AI
- AI vs AI
- Branching factors
- Search depth