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.