Table de transposition

Dans les échecs par ordinateur et d'autres jeux d'ordinateur, les tables de transposition de sont employées pour accélérer la recherche de l'arbre de jeu de . Les tables de transposition sont principalement utiles dans les jeux parfaits de l'information , ou quand l'état entier du jeu est à tout moment connu.

Le jeu jouant des programmes fonctionnent à côté d'analyser des millions de positions qui pourraient surgir dans les mouvements à venir du jeu. Typiquement, ces programmes utilisent des stratégies ressemblant à la Profondeur-première recherche , ainsi il signifie qu'elles ne maintiennent pas toutes les positions analysées jusqu'ici. Dans beaucoup de jeux, il est possible d'arrêter une position donnée dans plus que l'one-way. Ceux-ci s'appellent les transpositions. Dans les échecs , par exemple, l'ordre du 1. c4 g6 de mouvements a 4 transpositions possibles, puisque l'un ou l'autre joueur peut permuter son ordre de mouvement. Généralement après que le n se déplace, le nombre maximum des transpositions possibles est le (n !)² . Bien que beaucoup de ces derniers soient des ordres illégaux de mouvement, il est encore probable que le programme finisse analyser vers le haut la même position plusieurs fois.

Pour éviter ce problème, des tables de transposition sont employées. Une telle table est une table de brouillage de chacune des positions analysées jusqu'ici jusqu'à une certaine profondeur. À la rencontre d'une nouvelle position, les contrôles de programme la table pour voir si la position a été déjà analysée. (Ceci peut être fait dans le temps constant, sans rechercher par la table entière.) Si oui, la table contient la valeur qui a été précédemment assignée à cette position ; cette valeur est employée directement. Sinon, la valeur est calculée et la nouvelle position est écrite dans la table de brouillage.

Il doit noter que le calcul sauvé par une consultation de table de transposition n'est pas simplement l'évaluation d'un monoposte - si c'étaient le cas, il vaudrait à peine l'effort, puisque les fonctions d'évaluation sont conçues pour être très rapides de toute façon. Au lieu de cela, l'évaluation d'un sous-arbre entier est évitée. Ainsi, les entrées de table de transposition pour des noeuds à une profondeur dans l'arbre de jeu sont plus valables (puisque la taille du sous-arbre enraciné à un tel noeud est plus grande) et sont donc données plus d'importance quand la table se remplit et quelques entrées doivent être jetées.

La table de brouillage mettant en application la table de transposition peut avoir d'autres utilisations que trouvant des transpositions. Dans l'Alpha-bêta élagage , la recherche est la plus rapide (en fait, optimal) quand l'enfant d'un noeud correspondant au meilleur mouvement est toujours considéré d'abord. Naturellement il n'y a aucune manière de savoir le meilleur mouvement, mais quand le de approfondissement itératif est employé, le mouvement qui s'est avéré le meilleur dans une recherche plus peu profonde est une bonne approximation. Par conséquent ce mouvement est essayé d'abord. Pour stocker le meilleur enfant d'un noeud, l'entrée correspondant à ce noeud dans la table de transposition est employée.

L'utilisation d'une table de transposition peut mener aux résultats incorrects si le problème d'interaction d'histoire de graphique n'est pas studieusement évité. Ce problème surgit dans certains jeux parce que l'histoire d'une position peut être importante. Par exemple, dans les échecs un joueur peut ne pas se retrancher si le roi ou le freux à retrancher avec se sont déplacés pendant le jeu. Une solution commune à ce problème est d'ajouter les droites se retranchantes en tant qu'élément de la clef du brouillage de Zobrist de . Un autre exemple est aspiration de par la répétition : donné une position, il peut ne pas être possible de déterminer s'il s'est déjà produit. Une solution au problème général est de stocker l'information d'histoire dans chaque noeud de la table de transposition, mais c'est inefficace et rarement faite dans la pratique.

Techniques relatives

Des techniques semblables peuvent être employées pour cacher des évaluations de certains dispositifs d'une position. Par exemple, une table de brouillage de gage de peut être employée pour stocker une évaluation des structures du gage dans une position. Puisque le nombre de positions de gage examinées est généralement beaucoup plus petit que tout le nombre de positions recherchées, la table de brouillage de gage a un taux de succès très élevé , permettant à un programme d'exécuter des évaluations sophistiquées de gage sans réduire de manière significative l'efficacité.
Une table de réfutation de peut être employée pour stocker des ordres des mouvements du noeud de racine aux noeuds de feuille. Ceci inclut la variation principale et des réponses à d'autres lignes prouvant qu'elles sont inférieures. Des tables de réfutation ont été parfois employées au lieu des tables de transposition en années premières des échecs par ordinateur, quand la mémoire était plus limitée. Quelques programmes modernes d'échecs emploient des tables de réfutation en plus des tables de transposition pour la commande de mouvement.

Voir également

Algorithme de minimax de
Alpha-bêta élagage
Brouillage de Zobrist de

.

Random links:Clifton, comté de Monroe, le Wisconsin | Virus d'Epstein-Barr | Penrith | Le 2ème district parlementaire du Texas | Bruits de coup | Tabla_de_la_transposición