Perché en passant è possibile solo alla prima opportunità?


8

Citando il regolamento FIDE :

Questa acquisizione è legale solo in movimento dopo questo anticipo ed è chiamata acquisizione 'en passant'.

Citando Wikipedia :

La cattura en passant deve essere effettuata alla svolta successiva o il diritto di farlo è perso.

Perché?


Conosco la storia di base di en passant e la parafraserò qui: è stata aggiunta una regola per consentire ai pedoni di spostare due quadrati in avanti alla prima mossa. Qualcuno ha detto qualcosa del genere, e se un pedone lo utilizza per sfuggire a un pedone nemico adiacente? Quindi lo scheletro / quadro di base del pedone sarebbe cambiato! Quindi dobbiamo avere un en passant per preservare la stessa struttura di scacchi.

Va bene quella parte ha senso, ma perché deve essere nella mossa successiva? Quella parte della regola è stata aggiunta solo in seguito? Perché è stato aggiunto affatto? Quando due pedine sono diagonalmente adiacenti l'una di fronte all'altra, non devono catturare immediatamente o altrimenti rinunciare alla capacità di catturare. Quindi il concetto di "pedone fantasma", se non lo catturi immediatamente, e l'altro giocatore non lo muove, mi sembra che dovrebbe essere ancora lì e disponibile per la cattura fintanto che è lì.

Qualcuno sa perché questa parte di en passant è stata creata?


Sfondo opzionale: nel caso tu sia curioso, vengo da un background di programmazione. Di tutte le mosse speciali, en passant è (era, vedi sotto) il più difficile da programmare. Non solo è l'unica mossa in cui il pezzo da catturare si sposta in un quadrato vuoto, ma è l'unica mossa che "scompare" se non la prendi. Ciò significa che è una mossa in cui la posizione della tavola totale non è sufficiente per generare tutte le mosse. (Questo è vero per l'arrocco troppo, che ha già la sua giusta quota di regole complicate.) Due pedine nemiche potrebbe essere adiacente al 4 ° o 5 ° rango, circondato da caselle vuote, ma ancora non so se en passant è possibile. Devi controllare la mossa precedente.

O almeno così pensavo. Ora che lo sto rivisitando, ho scoperto un modo intelligente per implementare en passant senza controllare il registro delle mosse. Non generarlo all'inizio del turno. Generalo a move_take, in particolare alla fine di una pedina in 2 fasi. Ma memorizzalo in un array di mosse speciale poiché quello normale viene cancellato ad ogni curva. Quindi migrare e cancellare in modo appropriato su gen_all_moves. In questo modo, se ep non viene preso, non si genera nella mossa successiva perché non hai mosso la stessa pedina di due passi nella mossa successiva. Ricorda solo di controllare entrambi i lati del pedone e di creare due mosse ep se ci sono due pedine nemiche.

Il castling è stato implementato con l'aiuto di un booleano "spostato" in ogni pezzo, il che è utile anche per la prima mossa di una pedina. Anche se King e Rook sono nel posto giusto, lo usi per vedere se il King / Rook si è mosso prima. Non è necessario controllare il registro di spostamento. Ma dirò che Castling è ora la mossa più difficile da implementare perché devi controllare se il percorso è sotto attacco. En passant non è più il più difficile ora che ho pensato al modo intelligente.


4
" è l'unica mossa in cui la posizione totale del tabellone non è sufficiente per generare tutte le mosse " Ciò si applica anche al castling: se il re o la rispettiva torre si sono mossi durante il gioco e sono tornati nella sua piazza originale, non ti è permesso castello.
user1583209

1
@ user1583209 Ah sì, è vero. Dovrei controllare tutte le mie partite a scacchi per quel bug.
DrZ214,

2
A seconda di ciò che stai programmando, devi anche occuparti della triplice ripetizione e delle 50 regole di spostamento che non sono nemmeno evidenti dalla posizione della scacchiera.
user1583209

1
La notazione Forsyth-Edwards (FEN) comunemente usata per una posizione di scacchi include se en passant e / o castling sono legali in quella posizione. La scheda potrebbe non essere abbastanza informazioni, ma lo è una FEN. en.wikipedia.org/wiki/Forsyth%E2%80%93Edwards_Notation
Ghotir,

1
È abbastanza chiaro storicamente che il doppio passo era originariamente una doppia mossa . Penso che questo spieghi la logica dietro la regola en passant.
Dag Oskar Madsen,

Risposte:


8

L'OP mi ha chiesto di fornire fonti a sostegno dell'affermazione secondo cui il doppio passo era originariamente una doppia mossa . Farò del mio meglio.

Il predecessore immediato degli scacchi moderni, il gioco Shatranj , aveva pedine ( sarbaz ), ma nessun doppio passo. I pezzi di Shartanj avevano poteri relativamente deboli e il gameplay, specialmente in apertura, era generalmente lento.

Nel medioevo affrontarono questo problema avviando il gioco da alcuni tabiya , schiere di battaglie in cui le forze avversarie erano già in contatto.

Un'invenzione occidentale più recente per accelerare il gioco è stata quella di consentire mosse a doppia iniziale di pedine. Da una breve storia di scacchi di Henry A. Davidson, capitolo 7:

La doppia mossa iniziale . Fino al 1550 circa il pedone godette uniformemente del potere di muovere due quadrati per la sua prima mossa. La ragione per l'adozione definitiva della regola era semplicemente che le aperture diventavano convenzionali. Il bianco ha spostato P in K3 [ e3]; Anche Black ha fatto lo stesso. Quindi ognuno spinse il pedone su un quadrato. Poiché questa era la solita apertura, fu introdotta la pratica moderna di consentire entrambe le mosse contemporaneamente, accelerando così il gioco. È un dato di fatto, questo privilegio di pedone è stato l'ultimo, non il primo, di una serie di privilegi speciali di mosse consecutive.

Davidson discute quindi molto brevemente delle regole di mossa consecutiva nelle precedenti versioni di scacchi.

A un certo punto c'era anche un'opzione per spostare contemporaneamente due pedine diverse di un passo ciascuno. Citazione dallo stesso libro:

Durante il diciassettesimo secolo era in effetti una convenzione che permetteva a un giocatore di aprire una partita muovendo contemporaneamente le pedine di entrambe le torri di un quadrato ciascuna. [...] Forse l'idea era che spostare due pedine ciascuna per quadrato equivalesse a spostare una pedina per due quadrati.

Penso che questo contesto storico fornisca alcune motivazioni per cui è stata introdotta la regola en passant. Se il doppio passo è in realtà una doppia mossa, allora è logico che all'avversario venga data la possibilità (nella mossa successiva) di catturare il pedone dopo il primo passo. (Vedi anche la risposta di Brian Towers.)


Che cosa significa "un passo ciascuno con due pedine separate"?
DrZ214,

Spero che abbia più senso ora. Vorrei provare a trovare una citazione diretta dal libro.
Dag Oskar Madsen,

Ah, vuoi dire che 2 pedine potrebbero muoversi simultaneamente nello stesso turno, ma solo 1 passo avanti ciascuno? Sarebbe estremamente radicale nel contesto odierno, molto più che lo strano en passant.
DrZ214,

Sì, questo è ciò che intendevo. La mia intera argomentazione è che nel gioco precedente i pedoni di Shatranj potevano muovere solo di un passo, e il doppio passo che abbiamo negli scacchi moderni è attraverso l'evoluzione del gioco in realtà due mosse di pedoni Shatranj di fila. Lo sostengo con le virgolette quando le trovo.
Dag Oskar Madsen,


8

Una pedina che "si espone" all'en passante sarà distinta da una che non lo fa. Per esempio, per un pedone nero su a4 e un pedone bianco su b4: dare al nero la possibilità di giocare ... axb3 in qualsiasi momento dopo b2-b4 significa che le mosse b2-b4 e b3-b4, che apparentemente portano allo stesso posizione, hanno implicazioni a lungo termine in quanto dipende troppo dal passato. In particolare, quando il pedone si trova su b2, il bianco dovrebbe soppesare i pro ei contro di spostare il pedone su b4 in una o due mosse (in cui il truffatore dà al nero un diritto duraturo di assumere b3).

Oppure, nello spirito della motivazione di en passant che hai correttamente descritto, fermare permanentemente un pedone a due quadrati dalla "fuga" trascurerebbe notevolmente (o complicherebbe) il vantaggio di poter spostare due quadrati in avanti.

Un altro motivo pratico perché è solo molto più semplice per gli umani: con più di una pedina sul tabellone, sarebbe complicato tenere traccia dei diritti passivi su tutti loro. (Qualcuno una volta ha suggerito che i pezzi fossero in grado di catturare en passant in una riunione della FIDE; inutile dirlo, è stato riso fuori dalla stanza --- che ha detto, non ricordo la fonte di questa storia.)

Si può porre una domanda simile (opposta?) Sui diritti di castling; l'opzione 'più semplice' può essere probabilmente quella di consentire sempre l'arrampicatura fintanto che i pezzi sono tornati nei loro quadrati originali, ma anche questo ha forti implicazioni, una delle quali è una ridotta importanza dello sviluppo.

Generalmente, le mosse speciali negli scacchi hanno delle restrizioni associate per assicurarsi che non cambino il modo in cui il gioco 'sembra' dopo che sono state fatte queste mosse speciali (giocando ... axb3 per prendere una pedina bianca su b4 sembra completamente a differenza del vecchio gioco, quindi è consentito solo per una mossa). Dopotutto, le regole sono state progettate dagli umani, senza dubbio arbitrariamente.


4

La ragione è molto semplice. Se il bianco ha una pedina su d5 che impedisce a una pedina nera su e7 di muoversi, allora la mossa e7-e5 lo elude. Per mantenere le cose giuste quando fu introdotta la prima mossa della doppia pedina, fu introdotta anche la regola en passant in modo che il bianco non perdesse la possibilità di catturare. Tuttavia, tornando all'era della pre-doppia mossa se il nero gioca e7-e6 e il bianco non cattura immediatamente, il nero può giocare e6-e5 nella mossa successiva e il bianco ha perso per sempre le sue possibilità. Ciò si riflette nella restrizione dell'en passant alla mossa immediatamente successiva alla mossa della doppia pedina.


Questo è supportato da fonti?
user1583209,

Quando dici "mossa doppia pedina", vuoi dire semplicemente sposta 2 quadrati? o fa due mosse all'istante? Se quest'ultimo, questo spiegherebbe le cose, ma ho sempre pensato che il pedone avesse un raggio di 2 invece di fare due mosse in una. Se riesci a trovare una fonte, per favore pubblicala.
DrZ214,

3

Domanda interessante, anche se non sono sicuro che ci sia una buona risposta che potrebbe essere supportata da fonti. Posso pensare alle seguenti motivazioni:

  1. Se immagini che le tue pedine siano veri e propri "eserciti", allora se un esercito ti sta passando ad alta velocità (doppio passo), devi agire immediatamente (se lo desideri) e non puoi aspettare prima che l'altro esercito sia lontano .
  2. Praticità. Tenere traccia di tutte le possibili catture en passant potrebbe diventare complicato. Che cosa succede se una o entrambe le pedine coinvolte vengono sostituite da un'altra pedina dello stesso colore ...
  3. Negli scacchi, se un pezzo attacca un pezzo dello stesso tipo, l'altro pezzo allo stesso tempo attacca il primo pezzo. Con indefinito en passant creeresti un'asimmetria in cui un pedone potrebbe catturarne un altro ma non viceversa.
  4. Indefinito en passant sarebbe un cambiamento troppo grande nel gioco come era noto prima dell'introduzione di en passant.
  5. (vedi la risposta di Ken Wei): con un pedone nero su a4 e un pedone bianco su b2. Devi confrontare l'opzione di suonare b2-b3-b4 in due mosse (che ti perderebbero un tempo) con il doppio passo (che ti metterebbe in pericolo di acquisizione indefinita).

Grazie, non ho capito il primo paragrafo di Ken Wei fino a quando non lo hai spiegato. Rischio indefinito di cattura. Tutto questo business ep aggiunge cose molto più complicate di quanto sembri.
DrZ214,

1

La descrizione della tua programmazione si basa su un nome di variabile specifico per il tuo programma, quindi è difficile capire cosa stai dicendo, ma un modo per programmare questo è di avere un booleano "double pawn move". Per semplificare le cose, supponiamo che il bianco sia quello che fa una doppia pedina. Per spostare un pedone di due spazi, il bianco prima sposta quello di un pedonespazio, e imposta la "doppia mossa" di quel pedone su vero. Se una delle pedine dell'avversario ha una vera "mossa a doppia pedina", allora ha solo due opzioni: prendere o passare. Quindi ora il nero ha solo due mosse legali (tre se due pedine sono adiacenti). Il nero può catturare il pedone o passare. Se il nero passa, allora è il turno del bianco. Ma se un giocatore inizia il proprio turno con una "mossa a doppia pedina" che è vera per una qualsiasi delle proprie pedine, non gli è permesso di fare alcuna mossa oltre all'avanzare di quella pedina, e quindi il valore booleano è impostato su falso. Se il nero cattura il pedone, allora il booleano è impostato su falso e ora è il turno del bianco.

In altre parole, puoi pensare che en passant non sia che il bianco fa una mossa consistente nel pedone che muove due spazi, e quindi il nero ha l' opzione en passant solo nella mossa successiva, ma piuttosto che il bianco fa una mossa consistente nel pedone muovendo di uno spazio, il nero fa una mossa che consiste nel catturare quel pedone o passare, e quindi, se il pedone è ancora sul tabellone, il bianco fa una mossa per far avanzare di nuovo il pedone. L' opzione en passant esiste solo per la mossa intermedia (quella in cui il nero cattura o passa) perché è l'unica mossa in cui il pedone si trova nella posizione corretta per essere catturato.

Tuttavia, c'è un caso d'angolo presentato qui: https://www.futilitycloset.com/2010/06/09/intercepted/ . Dato che en passant è attualmente implementato, è legale fare una doppia mossa se i tuoi re non sono sotto controllo dopo il secondo avanzamento, anche se il tuo re è sotto controllo dopo che il pedone è avanzato di un solo spazio. Quindi il tuo codice dovrebbe tenerne conto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.