2002 - Fabio Cavicchio (Delfi)


Abbiamo con noi Fabio Cavicchio, autore del motore scacchistico Delfi. Inanzitutto grazie per la partecipazione.
Iniziamo con una domanda di rito: come le è venuto in mente di scrivere un programma di scacchi? Si è ispirato ad un motore in particolare? E' stato più semplice o più difficile di quanto si aspettava?

L'idea era latente da almeno 15 anni; da ragazzino giocavo a scacchi contro i primi microcomputer ed ho sempre desiderato creare un programma.
Mi sono ispirato con l'ottimo libro "I giocatori artificiali" di P.Ciancarini, e con decine di documenti Postscript che si trovano in rete. Creavo regolarmente decine di posizioni di test che davo in pasto ai più forti programmi commerciali per intuire quali erano i loro metodi di valutazione ed esplorazione. Credo che le difficoltà inizino alla soglia dei 2300 ELO.
Dopo le prime versioni ho scaricato tutti i sorgenti di tutti i programmi freeware esistenti su internet, seguendo il motto scacchistico che dice: "bisogna sapere tutto di qualcosa e qualcosa di tutto" ma non mi sono ispirato a un motore in particolare.
In particolare sono stato tentato da l'implementazione su bitboard, ma dopo aver letto su CCC che diversi programmi commerciali non lo sono, ho conservato le matrici di bytes. Credo che il punto sia che sulle attuali CPU a 32 bit i vantaggi delle bitboard si perdano completamente, a causa della gestione spezzata dei numeri a 64 bit, che tra l'altro non possono essere conservati sui registri dai compilatori, generando così parecchi load/store. Naturalmente tra 2-3 anni cambia tutto, con l'arrivo delle nuove CPU.


Come ha conosciuto il G6? Cosa ne pensa e soprattutto quali sono le
modifiche o le migliorie che gli apporterebbe?

Navigado sul web. Il G6 è grande! Non saprei dire cosa c'è di migliorabile.


Il suo motore ha alcune caratteristiche particolari, come ad esempio una funzione di valutazione complessa e la selezione della forza di gioco da parte dell'utente. In particolare quest'ultima caratteristica ha contribuito molto alla diffusione di Delfi. Può dirci qualcosa di più di questi due aspetti e, riguardo alla regolazione della forza di gioco, perché secondo lei una caratteristica del genere non ha avuto diffusione nel mondo winboard?


Logo di Delfi

Possedendo vari motori commerciali, desideravo spesso confrontarmi con loro in partite lampo a livelli facile, ma in questo caso tutti i programmi muovevano istantaneamente "rovinando" il feeling delle partite. Inoltre questi simulavano i livelli facili con un gioco non realistico, così ho deciso di "fare da me". Si può dire che inizialmente ho sviluppato Delfi come mio allenatore.


Delfi è un motore relativamente giovane, ma il cui rafforzamento è stato, ed è tuttora, molto rapido. Può spiegarci perché finora è stato assente dalle manifestazioni ufficiali, a partire da quelle organizzate dal G6 per arrivare ai CCT? Parteciperà al secondo Campionato Italiano? E al CCT5?

I tornei on-line non mi attirano, considero più importanti quelli ad esempio di Dijksman o di Lyapko, ma quasi sicuramente parteciperò di persona al secondo CIPS.
Per il rafforzamento di Delfi mi sono dato una regola: mantenere sempre, a qualsiasi costo, una velocità migliore di 2/3 dei nodi al secondo dei migliori programmi commerciali. Questa fase è l'ottimizzazione. Dopodichè complico, e quindi rallento, la valutazione a dismisura fino ad scendere sotto la soglia, e così via.



Fabio Cavicchio

Con il tasso di crescita attuale, è presumibile che Delfi sia destinato a diventare in breve uno dei motori freeware più forti in circolazione. Pensa di tentare la via commerciale a quel punto?

E' possibile, ma non dipenderà solo da forza di gioco. La trasformazione in un programma commerciale richiede investimenti in termini di tempo che non so se vorrò affrontare.


Cosa ne pensa degli incontri uomo-macchina? Secondo lei si può ancora dire che i computer non hanno raggiunto gli umani?

No, molti umani si ostinano a sottovalutare i programmi e giocare secondo il loro stile... perdendo. Secondo me l'uomo può ancora prevalere se rispetta l'avversario e gioca con stile "anti-pc". Questo stile (strategico, conservativo) forse non si adatta però ad alcuni giocatori, come l'irascibile Kasparov. Recentemente ho però notato due GM non di primo piano che pare abbiano trovato la strada (Hubner, Dzindzicashvili).

Cosa consiglierebbe a chi, guardando a primo acchitto una funzione alpha-beta, la reputasse interessante?

Io ho cominciato con il min-max (!), seguendo la storia della computerchess, in ordine di .. pagina, secondo il libro già citato.

Per finire qualche domanda su Fabio Cavicchio giocatore. Partecipa a tornei? E' classificato a livello nazionale/internazionale?

Sono stato iscritto in due circoli arrivando alla 1°S, ma poi, forse per pigrizia, non ho mai trovato le motivazioni per tentare le categorie nazionali.

Scrivere un programma di scacchi la ha aiutata a migliorare la sua visione di gioco? Se sì, in che modo?

Sì, si puo dire che in parte l'ho scritto per migliorare. Attualmente, in certe situazioni che non so che piano seguire, muovo come... muoverebbe il mio programma. Scrivendo il libro delle aperture e gli schemi dei finali ho migliorato notevolemente queste due fasi della partita.


Cosa ne pensa degli scacchi in Italia?

Dobbiamo accontentarci. Per fortuna molti circoli si danno davvero un gran da fare.

Grazie le risposte e in bocca al lupo per Delfi.

Grazie a lei.


2002 - Gianluigi Masciulli (Golem)


Abbiamo con noi Gianluigi Masciulli, autore di Golem, nonché uno dei fondatori del
G6. Inanzitutto grazie per la disponibilità...

Prego...


Iniziamo da una domanda sul computerchess italiano... è evidente che il movimento è in grande espansione, quali pensa siano i motivi che hanno spinto l'Italia verso i primi posti, almeno come quantità, in questo settore?

Credo che effettivamente il motivo principale sia il G6. Il fatto è che in Italia abbiamo avuto la fortuna che quelli che hanno iniziato a programmare engines avevano interesse e voglia di scambiarsi opinioni e aiuti. Chi bene incomincia è a metà dell'opera. Poi col G6 alcuni engines che altrimenti sarebbero stati incompleti o sconosciuti hanno acquisito visibilità e hanno trovato gli appoggi giusti per essere completati.


Lei è uno dei fondatori del G6, può spiegarci a grandi linee di cosa si tratta e per quale motivo è nato, dato che probabilmente si tratta di un'anomalia tutta italiana?


Gianluigi Masciulli

Vorrei rispondere cosi': g.s.e i. significa *G*ruppo di persone che si interessa di *S*cacchi E *I*nformatica, in pratica e' un nome collettivo, quindi se sei appassionato di scacchi e informatica, allora sei del gsei che tu lo voglia oppure no. Non e' un club, non e' un'associazione... solo un gruppo di persone legate da un'interesse in comune. I punti di riferimento principali sono il sito www.gsei.org il forum all'interno dei yahoo groups, il canale 166 su FICS e tutte le manifestazioni collegate: Campionato Italiano, Tornei su Fics, Elo italiano delle Engines ecc.


Quali sono secondo lei le prospettive del G6 in futuro?

Spero che rimanga un gruppo di persone simpatiche e amichevoli come e' attualmente il più a lungo possibile.


Passiamo al suo programma, Golem. E' molto evidente la crescita rispetto alla versione pubblica, la 0.1, di quella che attualmente partecipa ai tornei di George Lyapko e di Leo Dijksman. Ci può spiegare quali sono state le modifiche sostanziali e soprattutto, cosa dobbiamo attenderci nel breve termine? Ci sarà una nuova versione pubblica, magari in occasione del Campionato Italiano?
Le modifiche piu' importanti apportate alla versione 0.1 sono state le correzioni di errori sulla quiescenza che appesantivano un bel po' la vecchia versione. Per quanto riguarda le attese a breve termine non mi posso sbilanciare più di tanto perché in questo periodo non riesco a trovare tempo per Golem. In pratica non gli apporto miglioramenti dal settembre 2001. Spero di combinare qualcosa di nuovo per il Campionato Italiano di maggio ma non ne sono sicuro.


A proposito del secondo Campionato Italiano, lei è stato uno dei primi a spingere per la realizzazione di questa manifestazione. Che effetto le fa essere arrivati già alla seconda edizione?

Sì, in effetti e' una bella cosa, e quest'anno ci sara' anche piu' battaglia!


Pensa di prendere parte in futuro con Golem a qualche manifestazione internazionale, magari già dal prossimo CCT5?

Lo spero.

Ci può dire quanto tempo spende per lo sviluppo di Golem in rapporto ai suoi impegni e cosa consiglia ad un programmatore che si avvicini solo adesso al computer chess?


Logo di Golem

Beh a dire la verità non apro il programma da più di un mese, quindi diciamo che il tempo dedicato è relativo. Ad un programmatore nuovo consiglierei... di divertirsi il piu' possibile a capire e fare le cose per il proprio engine. Un hobby è questo che deve fare, divertire! A mio modo di vedere la forza del programma è secondaria.


Per finire qualche domanda sulla sua esperienza scacchistica in genere... lei partecipa a tornei?

Adesso non piu' ma qualche anno addietro frequentavo un circolo e nel 1999 ho fatto un torneo passando 3N.

Si reputa un buon giocatore?

No comment :-)


Cosa pensa del momento di decadenza che attraversa lo scacchismo italiano?

Decadenza? beh sì può darsi, comunque non sono un fautore degli scacchi come sport popolare, preferisco piuttosto il motto "pochi ma buoni"...


Grazie ancora e in bocca al lupo per il Campionato Italiano.

Crepi, grazie a lei!

2014 - Fabio Gobbato (Pedone)


E' con noi Fabio Gobbato, vincitore del torneo annuale dei motori di scacchi del Gsei, innanzitutto grazie per la disponibilità e complimenti per la vittoria al torneo!

I complimenti e i ringraziamenti vanno anche a tutti i partecipanti, che dedicano tempo a questa passione e che hanno permesso il realizzarsi di questo incontro.



Quando hai cominciato a sviluppare un programma di scacchi, e soprattutto che cosa ti ha spinto a farlo?


Logo di Pedone

I primi esperimenti sono cominciati nel 2003, ancora frequentavo l'itis, qunado il mio prof. di laboratorio di informatica ci aveva raccontato che aveva sviluppato un engine scacchistico. La cosa mi ha molto incuriosito e il suo esempio mi ha spinto ad interessarmi all'argomento e ad abbozzare un primo programma.




Fabio Gobbato
Pedone è un fortissimo programma, quali pensi siano i suoi punti forti e quali quelli deboli?

Pedone è un programma forte, che ha ancora dei margini di sviluppo.
I punti di forza sono: la cura particolare che dedico alle ottimizzazioni e alla semplificazione del codice, il buon compromesso tra la bontà della qualità dei risultati dei test effettuati ed il tempo di esecuzione degli stessi, e da questa versione, il metodo di tuning della valutazione.
I punti deboli stanno in una valutazione ancora abbastanza semplice che non permette a Pedone di posizionarsi sempre nel migliore dei modi.



Quanto tempo dedichi allo sviluppo di pedone e quali sono i prossimi step di sviluppo?

Ci dedico tutte le Domeniche e alcune sere alla settimana.
Prossimamente vorrei farlo diventare multi-processore e studiare le posizioni in cui la valutazione è carente per inserire della nuova conoscenza.



Cosa suggeriresti a chi vuol avvicinarsi al mondo della computer chess?

Di partire da sè stessi, di individuare le proprie capacità ed i propri limiti e di sviluppare il proprio motore valorizzando al meglio le proprie qualità.



Quali modifiche o migliorie si sentirebbe di proporre, per migliorare il gsei?

Rispetto all'anno scorso sono cambite molte cose in positivo, ho visto molta più partecipazione nel gruppo, spero che si possa continuare in questa direzione.



Grazie e in bocca al lupo per tutto!

Grazie al g6.












2016 - Ubaldo Andrea Farina (Chiron)



Ubaldo Andrea Farina
Oggi si intervista il pluricampione italiano e, per la prima vota anche, campione assoluto dell'Igt: Ubaldo Andrea Farina! Prima di tutto congratulazioni per la vittoria, puoi raccontarci come è avvenuta?

Grazie. Al torneo è andato tutto per il verso giusto. I principali avversari erano Booot e The Baron. Chiron ha vinto contro The Baron una partita che probabilmente sarebbe dovuta finire patta se The Baron non avesse commesso un paio di errori in finale, e ha pattato contro Booot. Nella partita contro quest’ultimo Chiron era arrivato a darsi in vantaggio di circa due pedoni ma il finale di torri si è risolto in una patta. Sembrava quindi che Chiron e Booot avrebbero dovuto giocare uno spareggio per decidere il vincitore ma al 6° turno The Baron ha pattato di nero con Booot. Contro il resto degli avversari sia Booot che Chiron hanno vinto le loro partite e quindi, alla fine, Chiron ha concluso in testa con mezzo punto di vantaggio.


Qualche giorno prima di tornei quali l'Igt, quali sono le ultime modifiche che apporti a Chiron, il tuo programma?

Ho sempre cercato di evitare di effettuare modifiche alle funzioni di valutazione e di ricerca poco prima di un torneo perché il tempo a disposizione per testare per bene i cambiamenti è poco. Di solito, mi limito a far giocare partite pe il libro delle aperture da usare per il torneo. Per quanto riguarda quest’ultimo IGT, ho testato fino all’ultimo la ricerca parallela per accertarmi di aver risolto durante l’estate un paio di bug, tra cui un deadlock, che facevano bloccare Chiron o non gli facevano giocare sempre la mossa migliore.


Chiron da tempo è considerato un 'top engine'; cosa lo rende più forte di molti altri e cosa consiglieresti a chi volesse creare un engine forte come il tuo?

Non penso si possa considerare Chiron un top engine: è sicuramente molto forte ma programmi come Stockfish o Komodo giocano ancora su altri livelli. Per quanto riguarda la forza, credo che molto dipenda anche dal tempo che gli ci si può dedicare: oggigiorno si può ottenere un programma molto forte implementando gli algoritmi allo stato dell’arte nella ricerca e una discreta funzione di valutazione che copra i principali aspetti. Poi arriva il punto in cui buona parte delle modifiche non funziona o apporta guadagni minimi e allora bisogna trovare una metodologia di test efficace, compatibilmente con le proprie risorse hardware, per misurarli. Molto importante è anche il tuning. Io per esempio devo trovare ancora un metodo soddisfacente per il tuning dei perametri della ricerca.


Dopo un piccolo periodo di stop, sei tornato alla programmazione; cos'è che ti ha riportato sul ring dei chess engines?


Logo di Chiron
Principalmente il voler migliorare la ricerca parallela per tornei come il TCEC, perché non scalava per niente oltre i 6 thread; anche se poi, in realtà, è stata una delle ultime cose che ho completato prima del rilascio di Chiron 3. Sono passato dallo YBWC al LazySMP, decisamente più semplice e che da risultati molto buoni anche con un numero elevato di thread. Un altro motivo è stato il voler realizzare la versione per Android.


Nel suo lungo sviluppo, Chiron ha superato a poco a poco tantissimi altri engines per velocità di elaborazione, features e forza di gioco. In un contesto dove la competizione viaggia di pari passo con la condivisione delle esperienze, qual'è l'engine avversario che ricordi con piacere?

Sicuramente Delfi. Per anni è stato il riferimento da raggiungere duranto lo sviluppo di Chiron per poter vincere il Campionato Italiano. In diverse edizioni Chiron è arrivato secondo poi l’autore, Fabio Cavicchio, si è ritirato nel 2008 e non c’è più stata, quindi, occasione per uno scontro OTB.


Se vuoi, raccontaci qualche aneddoto divertente che ti è successo nel contesto degli anni trascorsi nella computer chess.

Uno non tanto divertente ma finito bene riguarda il torneo del 2010 a Carugate: tutti i programmi giocavano sullo stesso hardware e quando avviai Chiron dalla chiavetta USB, Windows XP, installato sui computer di gioco, mostrò un messaggio di errore. Capii che il problema era dovuto al fatto che per l’allocazione dell’hash table veniva chiamata una funzione non supportata da Windows XP. Non avevo il portatile con me e non c’era il wifi per scaricare un compilatore C/C++ così chiesi ad ogni partecipante e Gian-Carlo Pascutto, autore di Deep Sjeng, mi prestò il suo. Fatte le modifiche, ricompilai Chiron che poté, così, giocare.


Grazie per la disponibilità e auguri per tutto!

Grazie a voi.