Speciale motori scacchistici.



Su questo sito parliamo spesso dei cosiddetti motori scacchistici, conosciuti anche come motori d'analisi, dando spesso per scontato (a torto!) che tutti sappiano benissimo di che cosa parliamo. Il motore scacchistico è un programma che gioca a Scacchi, cioè elabora le varie posizioni e, in base ad una serie di complessi algoritmi, calcola e propone la miglior mossa possibile per ogni posizione. Quanto sia buona questa mossa, dipende da diversi fattori, quali ad esempio il tempo di elaborazione, la bontà degli algoritmi di valutazione della mossa, l'efficienza del codice di programmazione e, ultimo ma non per importanza, dalla potenza del computer. I "papà" dei motori scacchistici sono stati due grandi matematici del nostro secolo: l'inglese Alan Turing e lo statunitense Claude Shannon i quali hanno elaborato un progetto del matematico tedesco Ernst Zermelo. Shannon in particolare, pose le basi tecniche per la messa a punto di questi programmi, delineò le "ricadute pratiche" dello studio dei programmi scacchistici e divise questi in due grandi categorie: quelli con algoritmo "strategico" e quelli  cosiddetti "a forza bruta". I primi cercano di esprimere numericamente una serie di regole e precetti maturati dai più forti maestri nel corso dei secoli, e sono quindi quelli per così dire "più intelligenti", mentre i secondi utilizzano come base di valutazione solamente il guadagno materiale e puntano invece sulla velocità di elaborazione e sulla profondità di analisi. Agli inizi si preferì sviluppare programmi della prima categoria (ossia quelli "intelligenti") ma con scarso successo poi, complice anche il notevole aumento di potenza dell'hardware, ci si accorse che conveniva di più puntare su quelli della seconda categoria (ossia su quelli "stupidi ma veloci"). Vari esperimenti dimostrarono che un programma stupido ma estremamente veloce, analizzando molto in profondità il cosiddetto albero delle varianti, arrivava a sviluppare un gioco "involontariamente intelligente".
Negli anni '60 l'ex Campione mondiale Mikhail Botvinnik (ingegnere elettronico e stimato ricercatore nel campo dell'intelligenza artificiale) mise a punto un algoritmo che coniugava le due categorie di programmi, utilizzando sofisticati algoritmi euristici che riproducevano molto efficacemente il modo di pensare tipico dei Grandi Maestri. Botvinnik mise a punto anche un programma, chiamato Pioniere, che nei test preliminari si dimostrò fortissimo.
I programmi attuali sono attualmente efficacissimi nelle tecniche di ricerca e selezione delle mosse, ma abbastanza "stupidi" in fatto di strategia scacchistica, anche se alcuni programmi come Rybka, Hiarcs e Deep Learning Toga, hanno iniziato ad introdurre anche sofisticate tecniche di valutazione strategica.
I motori d'analisi hanno raggiunto vette di efficienza incredibili tanto che un normale computer casalingo può battere senza difficoltà il Campione del mondo "umano". Il Campione mondiale di questi programmi, Rybka 3.0, vanta l'incredibile punteggio di 3240 punti ELO ed ormai tutti i programmi più forti superano la soglia dei 3000 punti. Inizialmente costosi e poco efficienti, questi programmi hanno ora un prezzo accessibile a tutti ed anzi, grazie al software Open Source, molti di essi sono completamente liberi e gratuiti. Il più forte dei programmi liberi è attualmente Grapefruit 1.0-beta che vanta un punteggio di 3120 punti ELO, quindi è nei primissimi posti del ranking mondiale, ma esistono anche ottime alternative come Cyclone 3.4, Glaurung 2.2, Toga-II 1.4.3 S.E.,Thinker 5.3 Inert, The Mad Prune ed altri ancora che sviluppano anch'essi qualità e forza di gioco elevatissime.