Pourquoi en passant n'est possible qu'à la première occasion?

8

Citant le livre de règles FIDE :

Cette capture n'est légale qu'en mouvement suite à cette avancée et s'appelle une capture «en passant».

Citant Wikipédia :

La capture en passant doit être faite au tour suivant ou la droite pour le faire est perdue.

Pourquoi?


Je connais l'histoire de base en passant et je vais juste la paraphraser ici: Une règle a été ajoutée pour permettre aux pions d'avancer de deux cases lors de son premier mouvement. Quelqu'un a dit quelque chose comme, et si un pion l'utilisait pour s'échapper d'un pion ennemi adjacent? Ensuite, le squelette / cadre de base du pion serait changé! Il faut donc avoir un passant pour conserver le même cadre d'échecs.

D'accord, cette partie est logique, mais pourquoi doit-elle être sur le tout prochain coup? Cette partie de la règle n'a-t-elle été ajoutée que plus tard? Pourquoi a-t-il été ajouté? Lorsque deux pions sont en diagonale adjacents et s'affrontent, ils n'ont pas à capturer immédiatement ou à défaut de pouvoir capturer. Ainsi, le concept de "pion fantôme", si vous ne le capturez pas immédiatement et que l'autre joueur ne le déplace pas, me semble qu'il devrait toujours être là et disponible pour la capture tant qu'il est là.

Est-ce que quelqu'un sait pourquoi cette partie d' en passant a été créée?


Contexte optionnel: Au cas où vous seriez curieux, je viens d'un parcours de programmation. De tous les coups spéciaux, en passant est (était, voir ci-dessous) le plus difficile à programmer. Non seulement c'est le seul mouvement où la pièce de capture se déplace vers un carré vide, mais c'est le seul mouvement qui "disparaît" si vous ne le prenez pas. Cela signifie que c'est un mouvement où la position totale du plateau n'est pas suffisante pour générer tous les mouvements. (Cela vaut aussi pour le roque, qui a déjà sa juste part de règles délicates.) Deux pions ennemis pourraient être adjacents au 4ème ou 5ème rang, entourés de carrés vides, mais vous ne savez toujours pas si le passant est possible. Vous devez vérifier le mouvement précédent.

Ou du moins je le pensais. Maintenant que je revisite cela, j'ai trouvé un moyen intelligent d'implémenter en passant sans vérifier le journal des déplacements. Ne le générez pas au début du tour. Générez-le à move_take, en particulier à la fin d'un mouvement de pion en 2 étapes. Mais stockez-le dans un tableau de mouvements spécial car le tableau normal est effacé à chaque inc_turn. Puis migrez et effacez de manière appropriée à gen_all_moves. De cette façon, si ep n'est pas pris, il ne se génère pas au prochain coup car vous n'avez pas déplacé ce même pion de deux pas au coup suivant. N'oubliez pas de vérifier les deux côtés du pion et de créer deux mouvements ep si deux pions ennemis sont là.

Le roque a été implémenté à l'aide d'un booléen "déplacé" dans chaque pièce, ce qui est également utile pour le premier mouvement d'un pion bien sûr. Même si le Roi et la Tour sont au bon endroit, vous l'utilisez pour voir si le Roi / Tour a déjà bougé. Pas besoin de vérifier le journal des déplacements. Mais je dirai que Castling est maintenant le mouvement le plus difficile à mettre en œuvre car vous devez vérifier si le chemin est attaqué. En passant n'est plus le plus difficile maintenant que j'ai pensé à la manière intelligente.

DrZ214
la source
4
" c'est le seul mouvement où la position totale du plateau n'est pas assez d'informations pour générer tous les mouvements " Cela s'appliquerait également au roque: si le roi ou la tour respective se déplaçait pendant le jeu et revenait sur sa case d'origine, vous n'êtes pas autorisé à roquer.
user1583209
1
@ user1583209 Ah oui c'est vrai. Je devrais vérifier toutes mes parties d'échecs pour ce bug.
DrZ214
2
Selon ce que vous programmez, vous devez également prendre soin de la triple répétition et des règles de 50 mouvements qui ne sont pas non plus apparentes à partir de la position du plateau.
user1583209
1
La notation Forsyth-Edwards (FEN) couramment utilisée pour une position d'échecs comprend si oui ou non le passant et / ou le roque sont légaux dans cette position. La carte peut ne pas être suffisamment d'informations, mais un FEN l'est. en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation
Ghotir
1
Il est assez clair historiquement que le double pas était à l'origine un double mouvement . Je pense que cela explique la logique de la règle en passant.
Dag Oskar Madsen

Réponses:

8

Le PO m'a demandé de fournir des sources soutenant l'affirmation selon laquelle le double pas était à l'origine un double mouvement . Je ferai de mon mieux.

Le prédécesseur immédiat des échecs modernes, le jeu Shatranj , avait des pions ( sarbaz ), mais pas de double pas. Les pièces de Shartanj avaient des pouvoirs relativement faibles et le gameplay, en particulier lors de l'ouverture, était généralement lent.

À l'époque médiévale, ils ont résolu ce problème en commençant le jeu à partir de certains tabiyas , tableaux de bataille où les forces adverses étaient déjà en contact.

Une invention occidentale plus récente pour accélérer le jeu était de permettre des mouvements de pions à double initial. À partir d' une courte histoire des échecs par Henry A. Davidson, chapitre 7:

Le double mouvement initial . Ce n'est qu'environ 1550 que le pion a profité uniformément du pouvoir de déplacer deux cases pour son premier mouvement. La raison de l'adoption finale de la règle était simplement que les ouvertures sont devenues conventionnelles. Blanc a déplacé P vers K3 [ e3]; Black a fait de même. Puis chacun poussa le pion sur une case. Comme il s'agissait de l'ouverture habituelle, la pratique moderne d'autoriser les deux mouvements à la fois, accélérant ainsi le jeu, a été introduite. En fait, ce privilège de pion était le dernier, et non le premier, d'une série de privilèges spéciaux de déplacement consécutif.

Davidson discute ensuite très brièvement des règles de coup consécutif dans les versions précédentes des échecs.

Il y avait aussi à un moment donné une option pour déplacer deux pions différents simultanément une étape chacun. Citation du même livre:

Au XVIIe siècle, une convention permettait en effet à un joueur d'ouvrir une partie en déplaçant simultanément les pions des deux tours d'une case chacun. [...] L'idée était peut-être que déplacer deux pions de chaque case équivaut à déplacer un pion de deux cases.

Je pense que ce contexte historique explique pourquoi la règle en passant a été introduite. Si le double pas est en fait un double coup, alors il est tout à fait logique que l'adversaire ait une chance (au coup suivant) de capturer le pion après le premier pas. (Voir aussi la réponse de Brian Towers.)

Dag Oskar Madsen
la source
Que signifie «un pas chacun avec deux pions séparés»?
DrZ214
J'espère que cela a plus de sens maintenant. Permettez-moi d'essayer de trouver une citation directe du livre.
Dag Oskar Madsen
Ah, tu veux dire que 2 pions pourraient se déplacer simultanément sur le même tour, mais seulement 1 pas en avant chacun? Ce serait extrêmement radical dans le contexte actuel, bien plus que le bizarre en passant.
DrZ214
Oui, c'est ce que je voulais dire. Tout mon argument est que dans le jeu précédent, les pions Shatranj ne pouvaient se déplacer que d'un pas, et le double pas que nous avons dans les échecs modernes est à travers l'évolution du jeu vraiment deux mouvements de pion Shatranj d'affilée. Je soutiendrai cela avec des citations lorsque je les trouverai.
Dag Oskar Madsen
1
Voir aussi chess.stackexchange.com/questions/4414/…
BlindKungFuMaster
8

Un pion qui «s'expose» à en passant sera distinct de celui qui ne le fait pas. Disons, pour un pion noir sur a4 et un pion blanc sur b4: donner au noir la possibilité de jouer ... axb3 à tout moment après b2-b4 signifie que les mouvements b2-b4 et b3-b4, qui conduisent apparemment au même position, ont des implications à long terme car elle dépend trop du passé. En particulier, lorsque le pion se trouve sur b2, le blanc devrait peser les avantages et les inconvénients de déplacer son pion vers b4 en un ou deux mouvements (où le con donne au noir un droit durable de prendre b3).

Ou, dans l'esprit de la motivation en passant que vous avez correctement décrite, empêcher définitivement un pion de deux carrés de `` s'échapper '' négligerait (ou compliquerait) l'avantage de pouvoir avancer de deux carrés.

Une autre raison pratique parce que c'est beaucoup plus simple pour les humains: avec plus d'un pion sur le plateau, il serait compliqué de garder une trace des droits en passant sur chacun d'eux. (Quelqu'un a suggéré une fois que les pièces puissent être capturées en passant lors d'une réunion de la FIDE; il va sans dire que cela a été ri de la salle --- cela dit, je ne me souviens pas de la source de cette histoire.)

On peut poser une question similaire (opposée?) Sur les droits de roque; l'option `` plus simple '' peut sans doute être de toujours autoriser le roque tant que les pièces sont de retour sur leurs carrés d'origine, mais cela aussi a de fortes implications, dont l'une est une importance réduite du développement.

Généralement, les mouvements spéciaux dans les échecs sont associés à des restrictions pour s'assurer qu'ils ne changent pas l'apparence du jeu après le moment où ces mouvements spéciaux sont effectués (jouer ... axb3 pour prendre un pion blanc sur b4 semble complètement contrairement à l'ancien jeu, il n'est donc autorisé que pour un coup). Après tout, les règles ont été conçues par des humains, sans doute arbitrairement.

Ken Wei
la source
4

La raison est très simple. Si le blanc a un pion sur d5 empêchant un pion noir sur e7 de se déplacer, alors le mouvement e7-e5 le contourne. Pour garder les choses justes lorsque le premier coup de pion a été introduit, la règle en passant a également été introduite afin que les blancs ne perdent pas la possibilité de capturer. Cependant, pour revenir à l'ère du pré-double mouvement, si le noir joue e7-e6 et que le blanc ne capture pas immédiatement, le noir peut jouer e6-e5 au coup suivant et le blanc a perdu sa chance pour toujours. Cela se reflète dans la restriction du passage au mouvement immédiatement après le mouvement de double pion.

Brian Towers
la source
Est-ce soutenu par des sources?
user1583209
Lorsque vous dites "mouvement de pion double", voulez-vous dire simplement déplacer 2 cases? ou prend deux coups instantanément? Si ce dernier expliquait les choses, mais j'ai toujours pensé que le pion avait une portée de 2 au lieu de prendre deux coups en un. Si vous pouvez trouver une source, veuillez la poster.
DrZ214
3

Question intéressante, même si je ne suis pas sûr qu'il existe une bonne réponse qui pourrait être soutenue par des sources. Je peux penser aux motivations suivantes:

  1. Si vous imaginez que vos pions sont de véritables "armées", alors si une armée vous dépasse à grande vitesse (double pas), vous devez agir immédiatement (si vous le souhaitez) et ne pouvez pas attendre avant que l'autre armée ne soit loin .
  2. Praticité. Garder une trace de toutes les captures en passant possibles pourrait devenir délicat. Et si l'un ou les deux pions impliqués étaient remplacés par un autre pion de la même couleur ...
  3. Aux échecs, si une pièce attaque une pièce du même type, l'autre pièce attaque en même temps la première pièce. Avec indéfini en passant, vous créeriez une asymétrie où un pion pourrait capturer un autre pion mais pas l'inverse.
  4. Indéfini en passant serait un changement trop important dans le jeu tel qu'il était connu avant l'introduction de en passant.
  5. (voir la réponse de Ken Wei): Avec un pion noir sur a4 et un pion blanc sur b2. Vous devez comparer l'option de jouer b2-b3-b4 en deux coups (ce qui vous ferait perdre un tempo) avec le double pas (ce qui vous mettrait en danger de capture indéfinie).
user1583209
la source
Merci, je n'ai pas compris le premier paragraphe de Ken Wei avant de l'avoir expliqué. Danger de capture indéfini. Toute cette affaire d'ep ajoute beaucoup plus de trucs délicats que ce que l'on voit.
DrZ214
1

Votre description de programmation repose sur le nom de variable spécifique à votre programme, il est donc difficile de comprendre ce que vous dites, mais une façon de programmer cela est d'avoir un "mouvement de pion double" booléen. Pour simplifier les choses, supposons que le blanc est celui qui fait un double mouvement de pion. Pour déplacer un pion deux espaces, le blanc déplace d'abord le pion unl'espace, et définissez le "double mouvement" de ce pion sur true. Si l'un des pions de l'adversaire a un vrai booléen "double pion move", alors il n'a que deux options: prendre ou passer. Alors maintenant, les noirs n'ont que deux coups légaux (trois si deux pions sont adjacents). Les noirs peuvent soit capturer le pion, soit passer. Si le noir passe, c'est maintenant au tour du blanc. Mais si un joueur commence son tour avec un booléen "double pion move" étant vrai pour l'un de ses propres pions, il n'est pas autorisé à faire d'autre mouvement que d'avancer ce pion, puis le booléen est défini sur false. Si le noir capture le pion, le booléen est défini sur faux et c'est maintenant au tour du blanc.

En d'autres termes, vous pouvez penser qu'en passant n'est pas que le blanc fait un mouvement composé du pion se déplaçant de deux espaces, et puis le noir n'a l' option en passant que sur le mouvement suivant, mais plutôt que le blanc fait un mouvement composé du pion se déplaçant d'une case, le noir fait un mouvement consistant à capturer ce pion ou à le passer, puis, si le pion est toujours sur le plateau, le blanc fait un mouvement pour faire avancer le pion à nouveau. L' option en passant n'existe que pour le mouvement intermédiaire (celui dans lequel le noir capture ou passe) car c'est le seul mouvement où le pion est au bon endroit pour être capturé.

Cependant, il y a un cas d'angle présenté ici: https://www.futilitycloset.com/2010/06/09/intercepted/ . Comme en passant est actuellement implémenté, il est légal de faire un double mouvement si votre rois n'est pas en échec après le deuxième avancement, même si votre roi est en échec après que le pion ait avancé d'une seule case. Votre code devrait donc en tenir compte.

Accumulation
la source