The heuristic function for evaluating a game board score takes into consideration:
Material score, based on weights assigned to each piece
Mobility score, the number of available moves for both sides
Towards the end of the game, the AI will sometimes place a piece from their bench next to a player piece, which results in it being captured for free. It would be a good improvement to consider mobility based on the number of safe moves.
Perhaps using mini-max will help to choose the best move that results in a better score, however this begins at the evaluation level and therefore we may need to augment this function with a filter on moves.
Instead of using this for board ranking, it would drastically cut down search space and prevent the AI from considering moves which result in getting taken for free by the player.
The heuristic function for evaluating a game board score takes into consideration:
Towards the end of the game, the AI will sometimes place a piece from their bench next to a player piece, which results in it being captured for free. It would be a good improvement to consider mobility based on the number of safe moves.
Perhaps using mini-max will help to choose the best move that results in a better score, however this begins at the evaluation level and therefore we may need to augment this function with a filter on moves.