Vai ai contenuti

lissandrello.it

Il sito personale di Lissandrello Luca

Archivio

Categoria: Progetto Neurone

Uno dei miei hobbies è il cosiddetto chess programming ossia lo sviluppo di applicativi che, attraverso algoritmi particolari, riescono a giocare virtualmente a scacchi.

Il progetto Neurone ha appunto due obiettivi: creare un programma che riproduce il gioco di scacchi e renderlo sempre più competitivo come forza di gioco. E’ sviluppato in Vb.net ed è un applicativo console(1) . Non ha un’interfaccia grafica ma  può comunicare con qualunque gui(2) che supporti il protocollo winboard. In sintesi è un chess engine(3) e si occupa di elaborare la miglior mossa partendo da una posizione inserita.

Se utilizzato con l’ausilio di una gui è possibile interagire più comodamente con le molteplici funzionalità del programma, senza il bisogno di conoscere le parole chiave necessarie per la comunicazione delle informazioni.

1) Applicativo che non ha un’interfaccia grafica ma che interagisce con l’utente attraverso parole chiave digitate in una finestra testuale

2) Interfaccia grafica. Esempio di interfacce sono Winboard, Arena, Scid (tra quelle freeware), Chessbase ed anche Fritz (che ha installato il ‘suo’ chess engine Fritz appunto), tra quelle commerciali

3) Programma strutturato in maniera tale da permettere la comunicazione delle informazioni scacchistiche basate su protocolli ben definiti.

Maggiori informazioni si possono trovare nei seguenti siti:

DescrizioneLink
Chess Arena di Martin Blume; Una delle interfacce più usateChess Arena
Winboard di Tim Mann. Tutto ha avuto inizio qui.Winboard
Computer Chess Wiki con lista sempre aggiornata di tutti i chess engines esistenti.Computer Chess Wiki
Per tutti gli appassionati di programmi di scacchi. Forum di programmatori e non. In Italiano! Occorre registrarsi!Yahoo gruppo G6
Wbec - Riferimento per i tornei tra chess engines di tutto il mondoWbec
Storica rating list dei chess enginesCEGT
Rating list dei più forti chess engines al mondo.CCRL

Champions aren’t born, they’re made (from Real Steel)

Tabella riassuntiva dello sviluppo del chess engine Neurone
VERSIONE
Nuove funzionalità
Bug fixing
Sviluppo euristico
Incremento di velocità
Nodi al secondo
16
V
V
8383
15
V
V
7995
14
V
7006
13
V
V
7006
12
V
V
V
V
7131
11
V
V
V
V
5192
10
V
V
5216
9
V
V
V
V
2034
8
V
V
V
V
2020
7
V
V
1289
6
V
V
V
0939
5
V
V
0764
4
V
V
V
0791
3
V
0781
2
V
V
V
V
0875
1
0521

I valori relativi ad i nodi al secondo sono dati utilizzando la seguente configurazione:

  • Hardware: Intel Core 2 Duo E4300 1.8 GHz Clock 2GB Ram
  • Sistema operativo: Windows xp 32bit s.p.3
  • Interfaccia grafica: Arena 3.0
  • Posizione: r3kb1r/pp4pp/n1pPbq1n/5p2/2BP1B2/1QP2N2/PP4PP/RN2K2R b KQkq – 0 12

Freechess.org - NeuroneEngine

          rating     RD      win    loss    draw   total   best
Blitz      1536     19.4     648     243      52     943   1618 (21-Feb-2012)
Standard   1712     24.6     233     132      13     378   1777 (21-Feb-2012)
Lightning  1613     32.2      95      62       7     164   1669 (20-Feb-2012)
DataEventoNoteVersioneRisultato
20/01/2012Wbec - Division 5 Group DInserito nel gruppo D, Neurone cercherà di riscattare le pessime prestazioni dell'ultimo Open War.Neurone XVILe partite del girone D stanno per cominciare...
25/02/2012Computer Chess Tournament 14Cambio di versione tra un turno ed un'altro. Adesso Neurone dovrebbe essere più affidabile. Partite in diretta solo se si ha un account su iccNeurone XIII, XIVPunti: 1.0/7 (+1 -6 =0)
15/11/2011Chess War - Open War IXDopo un inizio sorprendente, ha inanellato una serie di sconfitte contro avversari non alla sua portata. I bug in apertura hanno condizionato le partite contro quelli 'a portata'. La prossima versione non dovrebbe averli (il condizionale è d'obbligo ;)). I risultati sono su Chesswar - Open War 09Neurone XIPunti: 2.0/75 (+1 -72 =2)
12/11/2011II° International tournament and Italian chess computer championchipPurtroppo il campionato italiano è andato male. L'unico avversario alla portata di Neurone era Freccia ma il programma di Gemma questa volta si è dimostrato superiore. Da rimarcare comunque i progressi effettuati soprattutto sulla comprensione posizionale e l'ottima partita contro Equinox, risultato il vincitore del torneo.Neurone XIPunti:0/4 (+0 =0 -4)
04/09/2011Torneo privato tra tutte le versioni di NeuroneE' possibile scaricarne i risultati da quiNeurone da I a XVincitore: Neurone X Punti: 30/36
15/07/2011Chesswar XVII- Promotion TournamentNiente da fare: Neurone mal si adatta all'hardware a 64bit; il suo risultato è peggiore della V a 64. La X dovrà essere una scheggia.Neurone IX 32 bitPunti: 4.0/11 (+3 -6 =2)
18/02/2011Wbec - Mr. IrrilevantE' andata! Lo scalpo di Youk gli è valso la salvezza! ;)Neurone V 32 bitPunti: 3.0/22 (+2 -19 =2)
31/01/2011Chess War - Open War VIIINon un grande risultato, ma comunque un piccolo 'gettone' di partecipazione ad una competizione open. La classifica finale è quiNeurone V 32 bitPunti: 5.0/77 (+5 -72 =0)
05/01/2011Wbec - Division 5 Group CLa 64bit usata dall'opteron 244 va a 1/5 della sua velocità normale, (per cui depth 2 fisso). Conseguenza: apertura delle porte del Mr.IrrilevantNeurone V 64 bitPunti: 3.5/66 (+3 -62 =1)
13/11/2010International tournament and Italian chess computer championchipLa partita con l'avversario diretto Freccia, è vinta; le partite del campionato sono scaricabili attraverso questo {filelink=33}Neurone V 32 bitPunti: 2/6 (+2 -4 =0)
12/10/2010Chesswar XVI- Promotion TournamentOttimo risultato per il mio Neurone. La classifica finale lo pone dietro Raffaela ma davanti a Testina!Neurone III, IV e VPunti: 4.5/11 (+4 -6 =1)

Lista download:

LogoVersioneDataRating EloBit.Net RequirementDownload
Neurone XVIXVI - Hurry up!16/05/2012153032Framework 2.0To get this download and all latest versions must go on g 6 site


RuntimeNoteLinkDirect download
.Net Framework 2.0Requirement necessary for lastest versionsLinkDownload
.Net Framework 3.5Requirement necessary for old versionsLinkDownload


LanguageNoteLinkDirect download
ITAGirl's voice (Silvia)LinkDownload
UKGirl's voice (Emily)LinkDownload
FRAGirl's voice (Virginie)LinkDownload
ESPGirl's voice (Isabel)LinkDownload


LogoVersioneDataRating EloBit.Net RequirementDownload
XV - Step by step05/05/2012152532Framework 2.0Download
XIV - Catch the bug26/2/2012151032Framework 2.0Download
XIII - Cleaned and washed19/02/2012151032Framework 2.0Download
XII - Quick ponder01/02/2012150032Framework 2.0Download
XI - Adamantium11/11/2011147032Framework 2.0Download
X - Hyperspeed01/09/2011145032Framework 3.5Download
IX - Bla bla bla17/07/2011142032Framework 3.5Download
VIII - Branch and bound12/07/2011140032Framework 3.5Download
VII - The little challenger27/06/2011135032Framework 3.5Download
VI - Diet and training19/06/2011125032Framework 3.5Download
V - Multilanguage30/10/2010130064Framework 3.5Download
V - Multilanguage30/10/2010130032Framework 3.5Download
IV - The right way20/10/2010129064Framework 3.5Download
IV - The right way20/10/2010129032Framework 3.5Download
III - Stable version19/06/2010126064Framework 3.5Download
III - Stable version19/06/2010126032Framework 3.5Download
II - Hawkeye14/06/2010125064Framework 3.5Download
II - Hawkeye14/06/2010125032Framework 3.5Download
I - In the wild bunch04/03/2010112832Framework 3.5Download
0.0.4 - Beta28/12/200992832Framework 2.0Download
0.0.3 - Beta01/12/200971032Framework 2.0Download
0.0.2 - Beta25/11/200956432Framework 2.0Download
0.0.1 - Beta23/11/200968732Framework 2.0---

Quanto è forte Neurone?

La forza di gioco a scacchi viene misurata dal rating elo. L’elo appunto, non è altro che un sistema di misurazione della forza scacchistica.
Il punteggio elo di Neurone cambia notevolmente in base alla velocità, tipologia di computer sul quale è installato e cadenza di gioco. All’avvio di Neurone viene visualizzata una schermata che mostra il suo punteggio elo stimato in base al computer sul quale si trova.
Se si vuol far ripetere il test di velocità (che Neurone effettua solo una volta, al suo primo avvio) bisogna cliccare sul bottone “Resync Neurone” nel Neurone_config.exe
Il punteggio elo visualizzato è calcolato sulla base di cadenze di gioco di 10 minuti per partita.
Neurone gioca spesso on line in automatico su freechess.org con l’account Neurone engine; qui puoi trovare il suo rating elo in quel contesto in base alle diverse cadenze.

 

Come mai Neurone è lento sul mio computer a 64bit?

Purtroppo Neurone calcola più velocemente le mosse su sistemi a 32 bit (o se vogliamo, calcola più lentamente su quelli a 64 ) . Se lo fai giocare su un sistema operativo a 64bit, Neurone sarà tre volte più lento del normale. Perchè? Mi riesce difficile spiegarlo a chi non è del settore comunque in pratica dipende dalle ‘strutture’ dati che ho utilizzato sinora. A livello di codice infatti è possibile che determinate strutture vengano elaborate più facilmente/difficilmente su sistemi diversi in base alla loro tipologia e dimensione. A poco a poco comunque cercherò di fare in modo che Neurone sfrutti meglio i 64 bit; a quel punto tornerò a rilasciare sia le versioni a 32bit che a 64bit.

 

Ho un computer con più di un processore, ma Neurone sembra sfruttarne solo uno.

E’ così nella maggior parte dei casi; se viene attivato il ponder o la scrittura delle operazioni nel file di log noterai che Neurone utilizza anche altri processori. In realtà Neurone utilizza sempre un thread per intercettare l’input, un’altro per le elaborazioni ed un’altro ancora per l’eventuale scrittura su file system.

 

Neurone contiene virus al suo interno?

E’ possibile che alcuni antivirus (quali Avira o AVG) rilevino come virus alcuni eseguibili nelle cartelle di Neurone (dai un’occhiata a Immortal chess). Ovviamente si tratta di un falso allarme. Il mio consiglio è di evitare di mettere in quarantena i files incriminati altrimenti Neurone non funzionerà bene oppure richiederà la reinstallazione (all’avvio effettua dei test sui files necessari e mancanti).

 

Ho abilitato Neurone a parlare, ma vengono solo visualizzati dei messaggi a video.

Seleziona “Listen to what says Neurone” dal Neurone_config.

 

Ho abilitato Neurone a parlare, ma non lo fa nella mia lingua.

Accertati di aver selezionato la lingua corretta dal Neurone_config e di aver scaricato ed attivato la voce Sapi relativa nel sistema operativo.

 

Come posso modificare quello che mi dice Neurone?

I file di riferimento sono i language files nella corrispondente sottocartella.

 

Come posso modificare il tipo di gioco di Neurone?

E’ possibile farlo selezionando “custom” dal personality parameter. E’ possibile anche selezionare tra i profili, quello che si avvicina di più al tipo di gioco cercato.

 

Come posso creare dei profili nuovi?

Una volta modificato a piacimento il profilo custom, premere il tasto “Create”

 

Cosa posso fare per far giocare un profilo contro un’altro?

Bisogna creare una nuova copia della cartella (e sottocartelle) di Neurone e selezionare il profilo scelto. Questa operazione può essere fatta nel tab “Utilities”. Dopodicchè bisogna registrare il nuovo chess engine nell’interfaccia grafica.

 

E’ possibile utilizzare Neurone su Linux?

Sì! Il ritorno al framework 2.0 l’ho fatto per questo! Gli step da seguire per Ubuntu sono:
1 ) Installare il pacchetto wine reperibile dal componente universe dei repository ufficiali di Ubuntu.
2 ) Selezionare Windows 2000 come default nel wine config.
3 ) Avviare dalla console “wget http://kegel.com/wine/winetricks”
4 ) Avviare dalla console “sh winetricks corefonts dotnet20″
5 ) Avviare dalla console “sh winetricks fakeie6″
6 ) Scaricare interfaccia preferita (consiglio Winboard o Arena)
7 ) Scaricare l’ultima versione di Neurone
8 ) Selezionare tutti gli eseguibili delle cartelle della gui e del chess engine e modificare le proprietà dei files in lettura/scrittura ed esecuzione.
Io ho seguito questi step su Ubuntu e funziona con le seguenti limitazioni:
1 ) La velocità di elaborazione è diminuita del 10-15%
2 ) Non è possibile sfruttare le caratteristiche ‘vocali’ di Neurone
3 ) Graficamente la rappresentazione dei pezzi in gioco presenta qualche errore legato alla velocità di refresh.
Conviene disabilitare ogni effetto grafico di movimento per attenuare un po’ quest’anomalia

 

Uses wordpress plugins developed by www.wpdevelop.com