;

D.Anulliero

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 !

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)


Haut de page...
Page d'accueil | Je recherche... | Liens | Livre d'or | De A à Z | Plan du site | Mes Sources | Remerciements | Contact