Je crée un jeu de logique basé sur le jeu Fox and Hounds. Le joueur joue le renard et l'IA joue les chiens. (autant que je puisse voir), j'ai réussi à rendre l'IA parfaite, donc elle ne perd jamais. Le laisser tel quel ne serait pas très amusant pour les joueurs humains.
Maintenant, je dois réduire l'IA pour que l'homme puisse gagner, mais je ne sais pas comment. La logique actuelle de l'IA est basée sur la correspondance des motifs - si j'introduis des mouvements aléatoires qui font que le tableau sort de l'espace des motifs, l'IA jouerait très probablement stupide jusqu'à la fin de la partie.
Des idées sur la façon d'abaisser l'IA d'une manière qui ne passe pas du "génie" à "complètement stupide" en un seul mouvement?
Réponses:
De nombreuses implémentations peuvent entraîner une chance pondérée aléatoire pour les mouvements - disons, une chance de faire un mouvement optimal et une chance de faire un mouvement sous-optimal. Déterminer à quel point un mouvement n'est pas optimal peut être un problème très délicat, mais conduira également votre IA à prendre des décisions beaucoup plus intelligentes.
Remarque importante: peu importe le niveau de difficulté, ce serait probablement une mauvaise idée de laisser passer l'IA pour gagner immédiatement la partie. S'il y a une possibilité de faire un mouvement qui terminerait le jeu ce tour-ci, il devrait toujours être pris. Sinon, cela détruira absolument l'impression du joueur sur la façon dont l'IA agit.
la source
Comme cela semble être un jeu «résolu», la seule réponse est que l'ordinateur doit effectuer des mouvements intentionnellement mauvais.
Une solution rapide peut être de calculer le meilleur coup, puis de calculer également un autre coup légal qui peut ne pas être aussi bon. Le niveau de difficulté de l'IA serait mesuré par le pourcentage de chances qu'il choisisse l'autre pas un bon coup, par rapport au coup parfait.
la source