Ottenere la mossa corretta da syzygy tablebase (Python)

Nov 30 2020

Ho creato un motore di scacchi in Python e ora voglio iniziare a utilizzare le tabelle di fine gioco in syzygy. Ho scaricato tutti i file rilevanti ed è ora pronto per iniziare.

Ho scoperto come accedere ai file in Python tramite, ad esempio, il modulo Python Chess ( collegamento ). Spiega come posso ottenere le informazioni WDL e DTZ da una posizione FEN, che a volte potrebbe essere utile. MA quello che voglio veramente è sapere la mossa da fare per vincere in quella posizione FEN, e non sono stato in grado di capire come ottenere queste informazioni dai file. Le informazioni online sono molto limitate e spero che qualcuno possa guidarmi su come farlo.

Risposte

2 Noname Nov 30 2020 at 14:10

Non posso esserne assolutamente certo, dato che questi particolari tavoli non mi sono familiari. Tuttavia, in tutti gli altri tablebase che ho usato, dal Thompson in poi, hai dovuto, fondamentalmente, a:

  1. generare tutte le mosse legali dalla posizione,
  2. per ogni mossa, esegui la mossa e cerca il punteggio per la posizione risultante, quindi
  3. selezionare "la mossa giusta" in base a quei punteggi recuperati, rispetto al punteggio per la posizione di partenza.