Anulliero Daniel
Presentation
Développeur du programme JARS (dernière version : 1.75a) et du programme Yoda ( dernière version 2.09)
J’ai commencé à m’intéresser à la programmation il y a une vingtaine d’années déjà . A l’époque on m’avais offert un petit bijou : un ordinateur de poche (SHARP PC 1403) . Une petite merveille , avec 6800 ko de mémoire et 2ko de RAM !
Avec un langage BASIC résident , permettant de faire des petits programmes (mais quand même pas un jeu d’échec , pas encore..)
Mais ça m’a permis d’apprendre le BASIC et même d’écrire un premier jeu de réflexion : un jeu d’OTHELLO sur échiquier 6x6 cases avec analyse sur deux coups de profondeur .
J’ai hérité ensuite d’un gros PC de bureau , un RDI sans carte graphique , sans windows , avec deux lecteurs 5 pouces , mais avec un BASIC meilleur : le fameux GWBASIC . Performance de cet ordi : 64 ko de RAM et processeur 2 Mhz !! Un Othello plus abouti sur cette machine. Mais l’intérêt de la programmation d’échecs grandit en moi , je cherche toute documentation sur cela (surtout trouvée dans l’OI , avec notamment les excellents articles de DAVID LEVY). Sur le RDI je m’essaye à la programmation de la fameuse fonction d’évaluation des positions (permettant donc à un logiciel d’échecs d’évaluer le mérite d’une position par rapport à une autre). Mais ce n’est pas allé plus loin
Plus tard j’ai disposé d’une machine déjà plus correcte : un MacIntosh LCIII , 25 Mhz , avec surtout un merveilleux BASIC , permettant de gérer du graphique VGA , la souris , les fenêtres etc ! wow !
Là on passe aux choses sérieuses et j’écris mon vrai premier programme d’échecs (nommé BISHOP) , avec un bel échiquier VGA , déplacement des pièces à la souris , mais analyse sur seulement deux demi-coups ! (niveau Elo de ce premier essai : je pense plus faible que le célèbre Boris en bois )
Hélas , l’écran du LCIII grilla et , plus d’ordinateur pendant un moment , break mis à profit pour approfondir davantage les techniques de programmation bien connues : recherche arborescente , algorithme alpha beta , fonction d’évaluation , effet d’horizon etc .
Achat d’un PC enfin ! Un HP à 800 mghz , mais le BASIC PC (le célèbre QUICK BASIC 4.5) est moins performant que celui du Mac : pas de gestion souris , menus etc Il faut faire sans L’écriture de BISHOP redémarre , plus sérieux cette fois ! Ce programme (en mode texte ou haute résolution) peut maintenant analyser sur plusieurs coups de profondeur , programmable par l’utilisateur (mais au dessus de 4 coups cela peut être très long) , dispose d’un algorithme de recherche préliminaire (pour le tri des coups jouables par le programme) , et quelques notions stratégiques sont programmées dans sa fonction d’évaluation .
Avec tout cela , j’évalue son niveau elo à 1300 à peu près .
J’avais d’ailleurs organisé un petit tournoi test de BISHOP contre 3 machines dédiées que je possède : CHESS TRAVELLER et GRADUATE CHESS de SCISYS , OCTO de NOVAG .
Résultat encourageant !
|
BISHOP |
TRAVELLER |
GRADUATE |
OCTO |
POINTS |
|
|
BISHOP |
xxxxxxxxxxxx |
1111 |
1==1 |
0111 |
10/12 |
C’est à cette époque que je découvre les fameux tournois de Leo Dijksman sur internet (site WBEC) , gérés par winboard , une interface graphique très utile , permettant de s’affranchir de l’écriture complexe de l’interface . Et aussi , j’ai compris les limites du BASIC (même compilé) pour le jeu d’échec . Donc , apprentissage du langage C
Parallèlement , le moral gonflé à bloc par le résultat de BISHOP contre les trois machines , je le teste contre des engines trouvés sur internet : Polar engine , Minichess AI , St Andersen , Storm etc Et là , je mesure le chemin à parcourir . car contre ces programmes , BISHOP est nul .
Sur internet on a accès à des sources de jeux d’échecs en C , c’est ainsi que j’ai pu étudier TSCP, firstchess , arasan , crafty etc . Et bientôt , mon premier engine en C voit le jour (il s’appelle TITAN) , en mode texte , pas encore compatible Winboard , et d’un niveau encore faible : 1400 environ .
Je découvre le forum winboard (http://wbforum.vpittlik.org/) et je demande de l’aide car mon nouveau programme , JARS 1.20 , ne marche toujours pas sous winboard , grrrr ! Et dans ce forum , un français , Olivier DEVILLE me dit : lorsque ton programme marchera sous winboard je peux l’intégrer à mes tournois si tu veux ! Rendez vous pris !
Enfin Jars 1.20 tourne sous winboard et je l’envoie donc à Olivier :
http://loirechecs.chez-alice.fr/chesswar/indexfr.htm
qui le teste gentiment la première mouture est un peu pitoyable avec bug , pertes au temps etc je débugge à fond la caisse , il teste , je débugge JARS 1.41 est né , le meilleur que j'ai jamais fait (il s'avère avoir un niveau elo d'environ 1600 ) . De plus , on peut suivre les parties en direct des différents tournois d'Olivier , avec le génial logiciel TLCV
(TomsLiveChessViewer : http://home.pacific.net.au/~tommyinoz/tlcv.html ) qui comporte aussi un chat où viennent quelques programmeurs très sympas , et c'est surtout grâce à eux que j'ai pu améliorer JARS en découvrant des techniques (comme le nullmoveprunning ou le late move reductor) . Maintenant on peut évaluer JARS 1.73 à 1850-1920 elo . Il est bien sur plus difficile de l'améliorer mais j"y travaille.
A bientôt !
2007 : Jars
2008 : Yoda
2016 : ISA
Dernière Version : ISA 2.0.61
Chess Programming Wikispaces
PALMARES
Tournois WBEC :
Edition 18 , 5eme Division , Groupe D
Yoda 2.09 : 16/24 avec 17.5/46
http://wbec-ridderkerk.nl/html/5thdiv.htm
Performance Blitzchess
|
Version |
Parties |
Elo Blitzchess |
LCT II |
BT-2450 |
BT-2630 |
BS-2830 |
GS-2930 |
Quicktest |
|
Jars 1.73 |
140 |
2237 |
||||||
|
Jars 1.75 |
1000 |
2255 |
||||||
|
Yoda 1.25 |
140 |
2217 |
||||||
|
Yoda 1.30 |
120 |
2211 |
||||||
|
Yoda 2.09 |
960 |
2150 |
Info: Yoda v1.30 is available instead of v2.09 because 2.09 have a big hashtable bug!! (Daniel Anulliero)
