Deux AIS minimax jouent les uns contre les autres
Question
J'essaie de faire jouer mes joueurs d'échecs miniax AI.
J'étais un peu confus à propos d'un détail de mise en œuvre.
Appelons black
Mon premier joueur d'échecs miniax AI qui joue en premier.
white
est l'autre Minimax AI qui est en deuxième position.
Ma question est sur le tour. Devrait black
maximiser et white
minimiser OU Devraient-ils simplement essayer de maximiser quand à leurs virages respectifs, la fonction d'évaluation est retournée?
J'ai pensé à deux façons de procéder à ce sujet. J'ai le sentiment qu'ils font la même chose, mais je ne savais pas si j'avais raison ou que les deux solutions font en fait quelque chose de différent.
Première solution:
Instancier un objet minimaxai pour black
et white
séparément. Sois sûr que black
La fonction d'évaluation est l'opposé de white
. Pour un exemple simple, l'objet black
La fonction d'évaluation est
number of black pieces on board - number of whites on board
.
La white
L'objet aura une fonction d'évaluation opposée number of white pieces on board - number of blacks on board
.
Maintenant, lorsque chaque objet se retire pour appeler la même chose get_next_move
Méthode, ils seront tous les deux le maximizing player
de l'algorithme minimax.
Deuxième solution:
Instancier un objet Minimax AI ai
à utiliser par les deux black
et le white
Au fur et à mesure qu'ils alternent des virages. black
et white
aura la même fonction d'évaluation
number of white pieces on board - number of blacks on board
En supposant white
va toujours en premier dans les échecs, quand white
appels ai.get_next_move
Avec un numéro de virage égal, il recevra le maximizing player
rôle. D'un autre côté, quand black
appels ai.get_next_move
Avec un numéro de virage étrange, il recevra le minimizing player
rôle.
(c'est ce que j'ai jusqu'à présent)
Je pense que les deux devraient entraîner le même comportement, mais c'est plus un sentiment qu'une opinion éduquée. Veuillez me faire savoir si mon sentiment est réellement correct ou non. Un processus de raisonnement semi-formel sera le bienvenu!
Pas de solution correcte