Quali sono le probabilità di sopravvivenza dei singoli pezzi degli scacchi in partite medie?
Questa domanda mi ha bizzarramente incuriosito, così sono andato a scrivere un po' di codice.
Il database di partenza è Million Base 2.2 (2,2 milioni di partite di tornei di livello master) aggiornato a gennaio 2013 e disponibile su http://www.top-5000.nl/pgn.htm.
E senza ulteriori indugi ecco i dati:
Così entrambi i re (e1 ed e8) sopravvivono di più. I successivi, sorprendentemente, sono i pedoni
h, g, f, a e b - penso che questo sia perché la promozione conta come sopravvivenza secondo la mia interpretazione.
Poi vengono le torri (circa 55% di sopravvivenza) e le regine (circa 49%).
La situazione dei pedoni c-d-e è molto interessante. Il pedone centrale più sopravvissuto è il pedone c del bianco (42%), mentre il pedone d del bianco è il più condannato tra tutti gli scacchisti (24%) - più anche dei cavalieri (~26%). C'è una piacevole simmetria nei tassi di sopravvivenza dei pedoni C ed E bianchi e neri che suggerisce che vengono scambiati frequentemente sulla colonna D. Gli alfieri sopravvivono circa il 35% delle volte, con gli alfieri sul lato del re che hanno una probabilità leggermente maggiore di sopravvivere rispetto a quelli sul lato della regina.
Tutto quello che ho trovato qui è ampiamente in linea con l'argomento intuitivo di Mac Tan dalla teoria delle aperture, quindi ben fatto Mac :)
Nota tecnica: nel caso qualcuno si stia chiedendo come ho affrontato questo come un problema di programmazione, un rapido trucco è quello di non farsi coinvolgere nella scrittura di un'intera rappresentazione della scacchiera. Usate uno strumento come pgn-extract per convertire le mosse SAN (ad esempio "Nc3") in lunghe mosse algebriche (ad esempio "Nb1c3") - dato che possiamo tranquillamente assumere che tutte le mosse nel PGN siano legali, questo risparmia un sacco di fatica nell'implementare le regole degli scacchi (anche se dovete ancora gestire con attenzione l'arrocco e l'en passant). Aggiornamento: avere del codice sorgente! ojb500/SurvivingPieces su GitHub