Vous posez une question assez complexe, mais il est bon de revenir à l'essentiel. Il y a quelques concepts à considérer:
Évaluation
Si un (vrai) joueur est montré une position et a demandé "qui gagne ce jeu?", Comment vont-ils décider? Très probablement, ils vérifieront quelques éléments de base, tels que: les différences matérielles, le degré auquel les pièces ont été développées ou sont bien positionnées, les pions doublés / isolés / connectés / passés, les fichiers ouverts (contrôlés), la distance jusqu'à le conseil d'administration les pions sont.
Maintenant, si vous le deviez, vous pourriez trouver un moyen systématique de calculer un score de position sur la base de ce qui précède. Vous pouvez décider, par exemple, qu'un pion vaut 1 point et qu'un pion passé vaut 0,3 point de plus. Les pions isolés ou doublés peuvent valoir un peu moins, etc. Si vous additionnez tout, vous obtenez une valeur estimée pour la position immédiate à portée de main.
Ceci est connu sous le nom d' évaluation , et, fondamentalement, tous les programmes d'échecs ont un moyen d'évaluer les positions (en ignorant les nouveaux moteurs d'échecs AI qui sont généralement très faibles).
Mais qu'en est-il des mouvements de position subtils et profonds?
Eh bien, nous avons à peine effleuré la surface de l'évaluation de position. La mise en œuvre réelle d'une fonction d'évaluation pourrait être simpliste, pour permettre d'évaluer plus de postes par seconde (quoique de manière approximative), ou plus complexe, conduisant à moins de postes évalués, mais avec un degré de confiance plus élevé. Il n'est pas rare que la fonction d'évaluation prenne en compte des centaines, voire des milliers d'informations distinctes.
Chercher
J'ai spécifiquement omis quelque chose de ce qui précède, auquel la plupart des vrais joueurs penseront immédiatement - existe-t-il un moyen de gagner immédiatement le jeu pour chaque camp? Y a-t-il des copains ou des pièces "suspendues" visibles? Bien qu'il soit facile de banaliser cela, c'est tout sauf trivial.
Qu'est-ce que cela signifie pour un joueur d'avoir pleinement confiance dans une combinaison? En fin de compte, cela revient à avoir calculé toutes les options. Les vrais joueurs ne le feront généralement pas (sauf pour les partenaires triviaux ou très forcés), la plupart du temps nous n'envisagerons qu'une poignée d'options et en exclurons d'autres qui semblent être "non constructives" ou conduisant évidemment à une perte . Nous faisons souvent des erreurs lors de ce calcul, par exemple, nous pouvons réaliser qu'un changement dans les ordres de déplacement fait évaporer les menaces, etc. Le fait est que pour être complètement sûr d'une combinaison, vous devez réellement calculer jusqu'à sa conclusion, en supposant que chaque le joueur ne fera que le meilleur coup possible à sa disposition (c'est ce qu'on appelle "min / max").
Maintenant, étant donné que les échecs ont un espace de recherche beaucoup plus grand (c'est à cela que se réfèrent "tous les mouvements possibles dans le futur") que ce qui est possible pour un ordinateur à calculer, des compromis doivent être faits. Tout comme les humains, les ordinateurs peuvent décider d'ignorer des lignes de pensée entières en fonction de certains critères. C'est ce qu'on appelle l' heuristique . Il convient de noter que si vous ne pouvez être vraiment sûr d'une combinaison que si vous la forcez brutalement, une fonction d'évaluation complexe peut souvent détecter la présence de menaces (par exemple, nous pourrions compter les fourchettes, les opportunités de brochettes, etc.) pour guider une recherche dans cette direction. ).
Au final, bien que les ordinateurs soient extrêmement rapides, ce sont les heuristiques qui leur permettent de calculer si profondément. Cela dit, vous serez peut-être surpris de la façon dont les moteurs modernes profonds calculent entièrement, généralement au-delà de 3 mouvements, même dans les jeux rapides.
Conclusion / tout combiner
Donc, pour résumer - les fonctions d'évaluation ont beaucoup d'intelligence (c'est-à-dire qu'elles prennent en compte plus de choses que votre joueur humain moyen), l'heuristique permet à l'ordinateur d'abattre des pistes de pensée qu'il décide probablement ne va pas bien se terminer, et les ordinateurs sont extrêmement, extrêmement rapides. Additionnez-les et ils sont assez difficiles à battre.