L'évaluateur est un peu comme la personnalité de votre moteur. C'est cette partie qui déterminera comment va réellement jouer votre moteur. Je parle du style pas nécessairement de sa force. Biensûr, si vous n'avez presque pas de connaissance du jeu d'échecs, il vous sera difficile de faire un moteur potable. Pour l'écrire, il faut un minimum de connaissance du jeu.
L'évaluateur à la base se divise en deux parties.
- L'évaluation matérielle;
- L'évaluation positionnelle.
L'évaluation matérielle
int pion = 100, fou = 300, tour = 500;
et la formule qui suit:
scoremat = (nbpionblanc * 100 + nbfoublanc * 300 + nbtourblanche * 500) - (nbpionnoir * 100 + nbfounoir * 300 + nbtournoire* 500);
L'évaluation positionnelle
Comme vous le savez, une partie d'échec possède trois phases importantes. L'ouverture, le milieu de partie et la finale.
Lors de l'ouverture, le joueur doit déployer ses forces le plus rapidement possible afin de pouvoir attaquer en milieu de partie. Il doit aussi mettre son roi à l'abri au moment opportun pour éviter les attaques.
Dans le milieu de partie, le joueur doit trouver un moyen de prendre un avantage, si possible matériel comme un pion ou deux, sinon positionnelle, un pion passé protégé, détruire la défense du roi adverse. Le but est bien entendu d'amener le jeu dans une finale gagnante.
En finale, tout dépend de l'avantage ou le désavantage que le joueur possède. Si le joueur possède un avantage décisif, ça lui sera facile de forcer la victoire. La plupart des joueurs d'expériences abandonne avant même d'entrer en finale lorsqu'ils ont un trop grand désavantage surtout contre un moteur ou contre un grand maître.
Par contre, si l'avantage n'est que théorique, il faut une connaissance approfondie des finales pour forcer la victoire. Les erreurs sont souvent fatales dans cette phase. Selon moi, pour un moteur, cette phase est une des plus importantes. J'ai vu mon moteur Monik gagner des parties qui étaient théoriquement perdues tout ça parce que le moteur adverse ne possédait pas de connaissance des finales ou très peu. Tant que l'adversaire possède des pions, il lui est toujours possible de promouvoir l'un d'eux en une dame.
Valeur positionnelles des pièces
Pour donner une valeur à la position des pièces, le plus simple est d'utiliser un tableau de valeur pour chaque case de l'échiquier. Vous pouvez utiliser un tableau pour chacune des phases.
Par exemple, pour le roi, nous voulons qu'en début et milieu de partie qu'il reste dans son coin cacher derrière ses pions. Il suffit alors de donner une valeur supérieur aux cases B1 et B7 pour le roi blanc et des valeurs très négative pour le reste et surtout au centre. Voici le tableau pour l'évaluation du roi de mon moteur comme exemple.
// Ouverture et milieu de partie.
const SCORE PosRoi[] =
{
-40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40, -40,
-20, -20, -20, -20, -20, -20, -20, -20,
0, 30, 20, -20, 0, -20, 30, 30
};
Pour les pions, c'est un peu plus complexe. La structure des pions est souvent beaucoup plus importante que la position d'un seul pion,
à suivre
0 commentaires:
Enregistrer un commentaire