Estou tentando desenvolver uma IA para um jogo de cartas e estou um pouco empolgado com a técnica / algoritmo que devo usar. Aqui estão algumas suposições sobre o jogo:
- Depois que as cartas são distribuídas aos jogadores, não há aleatoriedade. Quero dizer aqui que todo jogador pode escolher quais cartas ele joga, mas nenhum processo aleatório ocorre como na distribuição das cartas no início do jogo.
- Há restrições sobre as cartas que podem ser jogadas quando uma carta já foi jogada.
- O jogador que vencer o truque joga primeiro. Por exemplo, o jogador 1 joga uma carta, o jogador 2 joga uma carta e vence. Em seguida, o jogador 2 joga uma carta e depois o jogador 1.
Conheço muitas dicas / regras (por exemplo, se eu sei que o jogador tem as cartas A, B, C, então devo jogar D), o que me ajuda a vencer o jogo. Assim, eu primeiro queria usar uma rede bayesiana para descrever essas regras. O problema é que não conheço nenhuma probabilidade de atribuir, mas poderia calcular uma heurística usando o histórico dos jogos jogados (contra um humano). Segundo problemas, é muito provável que eu não conheça todas as regras e que exista algumas regras implícitas que a AI precisa para encontrar a jogada ideal.
Não tenho certeza se essa seria uma boa maneira de desenvolver uma IA para esse jogo de cartas?
Também estou me perguntando se existem outras técnicas que melhor se ajustariam ao problema. Por exemplo, dei uma olhada no minimax (talvez com um algoritmo de poda), mas seria uma boa opção para esse problema? Estou bastante inseguro, já que as jogadas mais importantes são no início do jogo, quando há os parâmetros desconhecidos mais altos (a maioria das cartas ainda não foi jogada).