Estoy tratando de desarrollar una IA para un juego de cartas y estoy un poco atascado sobre la técnica / algoritmo que debo usar. Aquí hay algunas suposiciones sobre el juego:
- Después de que las cartas se distribuyen a los jugadores, no hay aleatoriedad. Quiero decir que cada jugador puede elegir qué cartas juega, pero no se produce un proceso aleatorio como al distribuir las cartas al comienzo del juego.
- Hay restricciones sobre las cartas que se pueden jugar cuando ya se jugó una carta.
- El jugador que gana el truco juega primero. Por ejemplo, el jugador 1 juega una carta, el jugador 2 juega una carta y gana. Entonces el jugador 2 juega una carta y luego el jugador 1 juega.
Conozco muchas pistas / reglas (por ejemplo, si sé que el jugador tiene las cartas A, B, C, entonces debería jugar D), lo que me ayuda a ganar el juego. Por lo tanto, primero quería usar una red bayesiana para describir esas reglas. El problema es que no conozco ninguna probabilidad de asignar, pero podría calcular una heurística usando la historia de los juegos jugados (contra un humano). Segundo problema, es muy probable que no conozca todas las reglas y que la IA necesite algunas reglas implícitas para encontrar el juego óptimo.
¿No estoy seguro de si esta sería una buena manera de desarrollar una IA para un juego de cartas?
También me pregunto si hay otras técnicas que se ajusten mejor al problema. Por ejemplo, eché un vistazo a minimax (tal vez con un algoritmo de poda), pero ¿sería una buena opción para este problema? No estoy muy seguro ya que las jugadas más importantes están al comienzo del juego cuando hay los parámetros desconocidos más altos (la mayoría de las cartas aún no se juegan).