Combien de coups d'échecs possibles y a-t-il?
À partir de la position initiale standard, combien de coups d'échecs légaux possibles y a-t-il dans cette position et toutes les positions suivantes possibles?
Disons, en ignorant la position de départ, un évêque peut se déplacer sur 32 cases (mais l'autre couvre les 32 autres), une tour sur 64, si les deux côtés sont pris en compte, les pions peuvent également atteindre les 64 cases, un chevalier , un roi et queen peut également atteindre les 64 positions.
Donc, en somme, cela devrait être de 384 combinaisons de mouvement cible-carré + pièce. Est-ce correct?
Mais quel est le nombre de coups si la position de départ n'est pas ignorée?
Ensuite, il faut ajouter 16 avances en double pas de pion, plus 4 coups de roque (2, reine et côté roi pour chaque joueur). Et en passant, qui devrait être 7 à gauche et 7 à droite, multiplié par 2 pour les deux joueurs. Et toutes les combinaisons possibles de carrés source-cible de toutes les autres pièces!
Réponses
Le roi blanc peut passer à 8 champs des 36 champs intérieurs, à 4 champs des 4 champs de coin et à 5 champs des 24 champs limites restants. Cela fait 420 coups pour le roi blanc, ajoutez 2 pour que les roquettes arrivent à 422. Si vous distinguez les captures, cela double presque (le roque ne peut pas capturer) à 842. Permettez maintenant au roi noir de doubler cela (1684)? Ou identifier les mouvements qu'ils pourraient tous les deux faire (c.-à-d. Tout sauf roque - 844)?
Une tour peut toujours (avec une ligne de vue libre) se déplacer sur 14 cases. Cela fait 896 coups. Doublez à 1792 si vous distinguez les captures. Doublez à nouveau (3584) si vous voulez distinguer la couleur.
Sur une diagonale (NW à SE, par exemple) de longueur n , un évêque peut effectuer n ( n -1) mouvements (choisir un champ de départ et un champ de fin distinct). Somme sur n = 1,2,3,4,5,6,7,8,7,6,5,4,3,2,1 (c'est-à-dire en ignorant la couleur de l'évêque) pour arriver à 280 coups, double à 560 pour compter les deux directions diagonales. Doublez (1120) si vous souhaitez distinguer les captures, doublez encore une fois (2240) si vous souhaitez distinguer par couleur.
Pour la reine, ajoutez simplement la tour et l'évêque, comptant ainsi 1456, 2912 ou 5824 coups.
Le chevalier peut généralement effectuer 8 mouvements, mais comme avec le roi, nous devons tenir compte de la limite proche. Il est plus facile de compter par direction: il y a 42 champs (6 par 7) à partir desquels on peut aller deux vers la droite et un vers le haut, par exemple. Nous avons le même nombre 42 (mais avec des champs différents) pour les huit directions, soit un total de 336 mouvements de chevaliers. Double (672) si vous distinguez les captures. Doublez à nouveau (1344) si vous faites la distinction par couleur.
Un pion blanc peut avancer de deux champs par rapport à sa position initiale (8 coups). Il peut avancer d'un rang 2 à 6 (40 coups). Il peut avancer de la ligne 7 et devenir reine, tour, évêque ou chevalier (32 coups). Pour les pions, il faut distinguer les captures: dans seulement sept des huit colonnes, nous pouvons capturer vers la droite, et dans sept des huit colonnes, nous pouvons capturer vers la gauche. Cela nous donne 70 mouvements de capture des lignes 2 à 6, plus 56 captures avec promotion. Jusqu'ici 206. Si vous voulez distinguer la capture en passant d'une capture normale par le même mouvement (champ de départ et de fin) du pion, ajoutez 14 pour arriver à 220. Là encore, au moins pour les pions il semble utile de distinguer par joueur et arriver à 440.
En résumé, la manière la plus généreuse de compter les coups possibles pourrait conduire à 1684 + 3584 + 2240 + 5824 + 1344 + 440 = 15116 coups distincts. On pourrait augmenter le nombre encore plus en distinguant les coups qui donnent un échec ou même un échec et mat, ou en distinguant les captures en fonction de la pièce capturée.
Si le plateau est donné et que seules les cases source et cible, ainsi que le choix de la promotion sont pris en compte (comme dans le format UCI ), alors il semble qu'il y aura 1968 coups possibles.
# Python
# pip install python-chess
import chess
moves = 0
# Queen, covers all lines and diagonals
for x in range(8):
for y in range(8):
board = chess.Board("8/8/8/8/8/8/8/8")
board.set_piece_at(chess.square(x,y), chess.Piece(chess.QUEEN, chess.WHITE))
moves += len(list(board.generate_legal_moves()))
# Knight jumps
for x in range(8):
for y in range(8):
board = chess.Board("8/8/8/8/8/8/8/8")
board.set_piece_at(chess.square(x,y), chess.Piece(chess.KNIGHT, chess.WHITE))
moves += len(list(board.generate_legal_moves()))
# Straight pawn promotions, 2 players, 8 ranks each, 4 choices (queen, rook, bishop, knight)
moves += 2*8*4
# Diagonal pawn promotions, when capturing a piece
# 2 players, 14 diagonals (12 in the center and 1 each in the first and last ranks), 4 choices
moves += 2*14*4
print(moves)
On suppose que le roque est indiqué en déplaçant le roi de deux pas.
Voici toutes les chaînes UCI possibles et voici le code pour les générer.