Il Mac gioca a scacchi

 

di Guido Tedoldi

L’amico Nicola Cremaschi mi ha chiesto qualche informazione su come utilizzare il Mac per giocare (e magari un po’ capire) gli scacchi. La risposta potrebbe comportare un saggio di 200 pagine circa, perché la questione è vastissima: si valuta che nel mondo ci siano circa 1 miliardo di persone che conoscono il gioco, e molte di esse utilizzano il computer e internet anche per gli scacchi – al livello di complessità cui ognuna di esse può accedere e da cui trae soddisfazione. Di materiale, online e offline, ce n’è a tonnellate. Tenterò qui di dare qualche risposta, fatalmente parzialissima.

Utilizzo immediato del Mac per giocare a scacchi

Tra i software allegati insieme a OS X c’è Chess. Dal punto di vista grafico può sembrare spettacolare perché consente di guardare la scacchiera in 2D e in 3D, e altri effetti speciali del genere. Ma evidentemente chi l’ha programmato pensava che lo spettacolo bastasse e non aveva in mente un utilizzo «serio» dal punto di vista dell’allenamento agonistico. La forza di gioco di questo software è infatti risibile, nel senso che anche un principiante lo può sconfiggere facilmente. Visto sotto questa luce ha però un pregio: aiuta chi conosce le regole in maniera incerta a non eseguire mosse illegali (le segnala, e può anche suggerire quelle più logiche). Per i bambini e più in generale per chi vuol avviarsi al gioco, può essere una interessante opzione.

OK, ho imparato le regole. Adesso voglio andare avanti

Nel vasto mondo degli scacchi per computer, ci sono numerose nicchie. Alcune sono a pagamento, altre totalmente gratuite, altre miste. Qui parlerò soprattutto di quelle gratuite, anche perché la loro qualità è perfettamente paragonabile a quella dei prodotti a pagamento. Solo per fare un esempio, lo scorso 1° dicembre si è concluso l’nTcec, una sorta di campionato del mondo non ufficiale tra motori scacchistici. La finale si è giocata tra Komodo, un prodotto a pagamento, e Stockfish, un software liberamente scaricabile – e si è risolta a favore del primo soltanto all’ultima partita su 48.

Generalità

Un software scacchistico sembra un monolite. Se è a pagamento lo si compra (magari in dvd, con libretto di istruzioni ponderoso e abbonamenti vari a servizi web) e «non ci si pensa più», perché si suppone ci sia dentro tutto. E in effetti c’è dentro molto. Ma non tutto perché in questo settore della conoscenza umana c’è in corso una evoluzione veloce e sparpagliata in varie direzioni. La caratteristica positiva è che il vecchio si può tenere, e il nuovo lo si può semplicemente aggiungere.
Il motivo è che i software scacchistici sono costruiti in maniera modulare, così ogni programmatore (o meglio ogni team di programmatori) si concentra su quello che sa fare meglio. In estrema sintesi tali moduli sono:
– la GUI, ovvero l’interfaccia grafica che comprende la rappresentazione della scacchiera, il modo di utilizzarla e gli accessori per valorizzare l’esperienza d’uso
– il motoread libitum, in modo da poter scegliere stili di gioco e potenza d’analisi)
– il database (anche in questo caso espandibile quasi a piacimento) ovvero i repertori di partite e di posizioni, di aperture di finali, di commenti e di pensieri. Chi vi si addentra rischia la vertigine, ma si diverte moltissimo per moltissimo tempo

Più sopra ho citato Chess. Di fatto è una GUI che contiene un motore elementare, per cui ci si può giocare contro. Ma per utilizzi appena un po’ più complessi non è sufficiente. Ci vuole una dotazione software più adeguata.

Software di scacchi per Mac

Un’altra GUI del genere si trova gratuitamente nel Mac App Store: si chiama Green Chess. Nello stesso sito si trovano altri software, anche a pagamento. Ma un punto di riferimento più serio e fornito è il sito web di Julien Marcel: http://julien.marcel.free.fr/macchess/Chess_on_Mac/Interfaces.html. Lì dentro si trova quasi tutto, con link diretti oppure che rimandano a siti adeguati. Quasi tutto ciò di cui ho parlato e parlerò in questo articolo, lì c’è.
Nella lista delle interfacce, particolarmente importanti sono 2: Jose e Scid vs Mac. Il primo è un prodotto fermo al 2006, ma programmato in java e perfettamente funzionante anche sui Mac più recenti. Fa tutto e di più, compreso consentire di scrivere le analisi delle partite (e pubblicarle in vari formati tra cui il pdf) e gestire database anche molto grandi, a cominciare dal suo che comprende 1,7 milioni di partite. Scid vs Mac, invece, è in continua evoluzione, a volte caotica e spinta in diverse direzioni. Il programmatore originario, Shane Hudson, arrivò fino alla versione 4.3, poi lasciò liberi i sorgenti e altri (molti) ci misero le mani. La versione più recente è la Scid 4.4 (la 4.5 è al momento una beta solo per Windows). Scid vs Mac è arrivato alla 4.11, ma anche le precedenti girano bene.

Motori

Nel sito di Julien Marcel c’è una lista di motori in continua evoluzione. Quelli segnalati sono compilati per girare su Mac, ma nel vasto mondo ne esistono parecchi di più che girano su Windows, anche se quasi tutti vengono in origine prodotti per Linux. Il motivo è che gli scacchi sono diventati una sorta di terreno di confronto comune per i creatori di algoritmi e per chi lavora a progetti di intelligenza artificiale.
Nel sito di Marcel c’è una pagina di rating per sapere quale sia «il più forte». Ho messo tra virgolette perché i motori vengono fatti giocare tra loro a tempi ultrarapidi, di pochi secondi per tutta la partita (in modo da ottenere in poche ore delle classifiche statisticamente attendibili) ma a tempi più lunghi, sopra le 2 ore per tutta la partita più incremento di qualche decina di secondi a mossa, gli equilibri possono cambiare. Ma con lo sviluppo attuale dei motori in pratica non si riesce ad aspettare: le novità in questo settore sono praticamente giornaliere, soprattutto per quanto riguarda i motori gratuiti. Per Stockfish tutto ciò non è un eufemismo: i miglioramenti sono davvero giornalieri perché Marco Costalba, il programmatore che gestisce il progetto, è riuscito a coinvolgere decine di persone in varie parti del mondo con la formula dell’open source. Per chi lavora a progetti proprietari, come Komodo o Houdini, è sempre più difficile stargli dietro.

La forza di gioco dei motori

Alla base del calcolo del rating c’è l’algoritmo Elo sviluppato dal matematico ungaro-statunitense Arpad Elo. La base del sistema è un dare-avere, cioè chi vince prende punti a chi perde, con due indicatori principali:

  1. 1) la somma dei punteggi dei 2 giocatori rimane la stessa prima e dopo la partita, e
  2. 2) più è la differenza di punteggio iniziale tra i giocatori e meno il più forte, in caso di vittoria, guadagna.

I principianti che entrino in questo sistema ricevono gratis circa 1400 punti, e fino alla soglia psicologica dei 2000 punti partecipano a tornei nazionali. Oltre quella soglia entrano in competizione con giocatori di tutto il mondo. Il più forte essere umano attuale è il campione del mondo in carica, Magnus Carlsen, che ha 2872 punti. Nessuno è mai salito così in alto da quando l’Elo è stato adottato, nel 1970, e solo 6 giocatori sono saliti oltre la soglia dei 2800.
I più forti motori sono valutati intorno ai 3100 punti Elo. Questo valore lo si misura sulla base di alcuni match tra giocatori umani e computer disputati negli ultimi decenni, come quello avvenuto nel 1997 tra l’allora campione del mondo umano, Garry Kasparov, e un computer di IBM, Deep Blue. La forza di quella macchina veniva associata alla sua potenza di calcolo (3 milioni di posizioni valutate al secondo) e Kasparov perse delle partite. Oggi i motori girano, sui processori Intel i7 quad core dei modelli Mac più recenti, oltre i 10 milioni di posizioni calcolate al secondo.
Va detto che queste velocità non sono proprio indolori per le macchine. Lasciar girare a piacimento un motore scacchistico significa impegnare il 100% delle risorse disponibili quanto a cicli di calcolo, utilizzo della memoria, velocità delle ventole di raffreddamento, ecc. OS X 10.9 gestisce meglio questo aspetto rispetto ai sistemi precedenti, ma quando gioca a scacchi la macchina è lo stesso molto «presa».

Cosa ci si fa con i motori

Giocarci contro è praticamente inutile. Una differenza Elo di 300 punti come quella attuale tra i migliori motori e i migliori umani significa, statisticamente, che i motori vincono il 90% delle partite. Ovvero, se contro un iMac ci gioca Carlsen, perde 9 partite e vede cosa fare nella 10ª. Il resto dei giocatori umani perde e (forse) la prende con filosofia.
L’utilizzo più efficace è dunque l’allenamento, e ancor meglio l’analisi di partite e posizioni. In pratica l’utilizzatore umano fa in modo che il computer abbia delle idee, le verifica al meglio che può, e poi tenta di metterle in pratica quando toccherà a lui giocare – in un torneo contro altri esseri umani.
Un amatore del gioco che non intenda dare un seguito agonistico al proprio studio, può usare il motore per riguardarsi le partite dei grandi campioni e capirle (spesso meglio di quanto abbiano fatto i campioni medesimi mentre giocavano) alla luce delle analisi del motore.

Come si acquisiscono i motori

Una volta trovato un motore scacchistico sul web, lo si scarica e lo si mette in qualche posto sull’hard disk. Poi si apre la GUI, si cerca nei menu a tendina la voce «engine» o «motori» e si seguono le istruzioni per aggiungere il motore nuovo alla lista di quelli già in carico. Poi si fa il setup (per esempio assegnando una certa quantità di RAM della macchina alla memoria «hash» del motore, cioè quella di lavoro – meglio non superare il 25% di quella fisica disponibile) (e magari assegnare un numero di core inferiore al totale, così che il Mac possa fare anche altro durante l’utilizzo scacchistico). Fine. Da quel momento, quando si comincia una partita o se ne studia una da database, si può utilizzare quel motore.

Per quanto riguarda l’impegno di gestione della macchina, le GUI sono software di alcune decine di MB di dimensione. I motori, poche centinaia di KB. Le brutte bestie sono i database: GB a decine o anche centinaia.

Database

I database sono repertori di partite storiche e meno storiche, passate (a cominciare dal 1400 circa) e recenti. Ho detto più sopra di quello di Jose, che conta 1,7 milioni di partite. Ma è fermo al 2002. Un prodotto commerciale è quello dell’azienda tedesca Chess Base, che supera i 5 milioni di partite ed è in evoluzione. Essendo a pagamento non contiene doppioni ed è arricchito da commenti. Ma liberi nel web si trovano i repertori giganteschi di Icofy, oltre 6 milioni di partite, e di Twic, che ha una filosofia diversa: non un immenso deposito unitario bensì un’aggiornamento settimanale di alcune migliaia di partite scelte tra quelle dei tornei più forti che si giocano nel mondo… in accumulo, al momento in cui scrivo, da 995 settimane. Per le necessità della maggior parte degli amatori del gioco, sono più gestibili i database approntati dall’università di Pittsburgh, dove si trovano le carriere di grandi giocatori, i tornei storici, la versione digitalizzata di molti libri, ecc. Il tutto scaricabile liberamente.
Il formato standard di memorizzazione delle partite è il .pgn, che tutte le GUI sono capaci di gestire, a prescindere dal sistema operativo. Il problema è che non è proprio economico in termini di Byte. Aprire per intero milioni di partite significa impegnare a volte decine di GB. Ma per utilizzi di poche centinaia o anche migliaia di partite va più che bene. Chess Base usa formati .cbv e .cbf, che su Mac non girano. Ma non è davvero un problema.

Tablebase e libri di aperture

Questi sono database particolari, che servono ai motori per non impegnare tempo di calcolo nella fase di apertura delle partite e, le Tablebase, nella fase dei finali, soprattuto se sono a 5 e 6 pezzi. Già le Tablebase a 7 pezzi sono enormi in termini di Byte (parliamo di decine di TB) sebbene non ancora elaborate in maniera completa, e quindi sono di fatto inutilizzabili sui Mac casalinghi.
Ma qui siamo anche in un settore della scienza scacchistica lontano anni luce dall’orizzonte dei principianti, o addirittura dei normali appassionati.

Ok, come quadro introduttivo mi pare che basti. Per la maggior parte delle esigenze, e fino a un livello agonistico alto, i Mac per il mercato consumer sono macchine perfettamente adeguate alle esigenze degli scacchisti. Per andare oltre occorrono, forse, dei supercomputer, come quello che utilizzò Veselin Topalov per prepararsi al match mondiale dell’aprile 2010 – un cluster IBM con 8˙192 centri di calcolo di proprietà del governo bulgaro. Il suo avversario, Viswanathan Anand, invece di macchine ingaggiò praticamente tutti i top ten della classifica mondiale umana. Il match si risolse soltanto all’ultima partita con la vittoria di Anand. Ma quello era decisamente un altro livello.

Tags: , , , , , ,

Shortlink: http://www.tevac.com/?p=13428

5 Commenti a “Il Mac gioca a scacchi”

  1. Signor D 27 dicembre 2013 at 17:48 #

    Grazie per questo bellissimo articolo, vasto e molto interessante! Prossima puntata sugli scacchi per i dispositivi mobili? 🙂

    D

  2. kOoLiNuS 27 dicembre 2013 at 20:46 #

    Grazie!
    Finalmente un articolo sui ‘giochi’ che va oltre due screenshot ed un link promozionale !!!

  3. guidoio 28 dicembre 2013 at 23:47 #

    Ehm, riguardo ai dispositivi mobili, ne so poco. Ci sono numerose applicazioni che si possono utilizzare, anche se su iOS quelle gratuite derivano perlopiù da versioni di Stockfish, e molte sono gratuite. Ma è la finalità dell’uso è diversa. Per esempio è capitato, in tornei tra umani, che alcuni partecipanti usassero lo smartphone acceso di nascosto per trovare continuazioni alle loro partite in corso – cosa vietatissima dal regolamento, che lo considera una sorta di doping (cui è stato dato anche un nome: «Cheating»)
    Allo stato attuale dell’arte, gli iCosi sono abbastanza potenti da sconfiggere la maggior parte degli scacchisti, qualora si usassero per giocare, ma insoddisfacenti per fare analisi seriamente approfondite.

  4. LORENZO "LOLLO" SPADONI 3 luglio 2014 at 15:09 #

    Io non l’ho mai battuto gli scacchi del mac alla massima difficolta!
    Hello! 🙂

  5. Andrea 21 aprile 2016 at 18:33 #

    Salve, sto cercando di abbandonare il PC e, anche se non sono un forte giocatore, ho sempre usato i programmi della famiglia Chessbase, in particolare Chessbase. Ho letto con attenzione questo articolo, ma non ho capito se sono disponibili per MAC programmi con la versatilità di Chessbase, soprattutto nella generazione della report istmica. Grazie

Lascia un commento

%d blogger hanno fatto clic su Mi Piace per questo: