a game theory experiment
Games can be classified according to the following properties:
- Zero-sum: Whether the reward to all players sums to zero (or equivalently some constant value) for all terminal states.
- Information: Whether the state of the game is fully or partially observable to the players.
- Determinism: Whether or not taking the same action from the same state always results in the same outcome.
- Sequential: Whether actions are applied by players sequentially or simultaneously.
- Discrete: Whether actions are discrete or applied in real-time.
For now I only tackled 2-player, zero-sum, perfect-information, determinist, sequential, discrete games. Like Chess, or utilimate tic-tac-toe. MCTS or Minimax algorithms were enough to make super-human bots for those games, by partially exploring the colossal future game tree.
Now is the time to tackle partially observable games, starting with the belote-coinchée because I love this game. A whole other dimension is to be considered, and lots of different future game trees are possible from a single player perspective.
We then have to consider what information do we have, to determine which future game trees we should explore.
TODO: brief rules explanation
I currently have a working coinche environment and 3 bots:
- Betting: toss a coin to bet +10 or pass until 100 is reached
- Playing: play random legal move
- Betting: human input
- Playing: human input
- Betting: bet on their best suit, how high is based on their number of point in hand + a "cocky" variable, to adjust how daring the bot is
- Playing: play if has the best card in a suit, else lowest card
They knows every hand and always play the best move. They consider every player is also an Oracle. I shall use MCTS to make them.
The AI. Only know what a regular player would. Play their best. ISMCTS ?