Estoy creando un juego de lógica basado en el juego Fox and Hounds. El jugador juega el zorro y la IA juega a los sabuesos. (hasta donde puedo ver) logré hacer que la IA sea perfecta, por lo que nunca pierde. Dejarlo como tal no sería muy divertido para los jugadores humanos.
Ahora, tengo que reducir la inteligencia artificial para que los humanos puedan ganar, pero no estoy seguro de cómo. La lógica actual de AI se basa en la coincidencia de patrones: si introduzco movimientos aleatorios que hacen que el tablero salga del espacio de patrones, la IA probablemente se volverá tonta hasta el final del juego.
¿Alguna idea de cómo reducir la inteligencia artificial de tal manera que no pase de "genio" a "completamente tonto" en un solo movimiento?
Respuestas:
Muchas implementaciones pueden conducir a una probabilidad ponderada aleatoria de movimientos, por ejemplo, una oportunidad de hacer un movimiento óptimo y una oportunidad de hacer un movimiento subóptimo. Determinar qué tan subóptimo es un movimiento podría ser un problema muy complicado, pero también llevará a su IA a tomar decisiones mucho más aparentemente inteligentes.
Nota importante: sin importar la configuración de dificultad, probablemente sería una mala idea dejar que la IA deje pasar la oportunidad de ganar el juego de inmediato. Si existe la posibilidad de hacer un movimiento que termine el juego ese turno, siempre se debe tomar. Si no, destruirá absolutamente la impresión del jugador de cómo está actuando la IA.
fuente
Como parece ser un juego "resuelto", la única respuesta es que la computadora debe hacer movimientos intencionalmente malos.
Una solución rápida puede ser calcular el mejor movimiento, luego también calcular otro movimiento legal que puede no ser tan bueno. El índice de dificultad de la IA se mediría en el porcentaje de probabilidad de que elija el otro movimiento no tan bueno, sobre el movimiento perfecto.
fuente