BSC (b0n0 Simple Chess)

Nicolas ROBERT

Développeur de BSC

Novembre 2011


Table des matières

1. Introduction
1.1. Tournoi Blitz rapide v3.0 - Partie en 5 minutes
1.2. Tournoi Blitz rapide v2
1.3. Résultats LCTII
1.4. Résultats BT2630
1.5. Résultats Win At Chess
2. Téléchargement
3. Futures améliorations à apporter
4. Historique
4.1. 3.9# du 10/08/2011
4.2. 3.9 du 10/08/2010
4.3. 3.8 du 18/04/2010
4.4. 3.7+f du 18/04/2009
4.5. 3.6 du 20/03/2009
4.6. 3.5 du 14/02/2009
4.7. 3.42 du 11/02/2009
4.8. 3.4a du 09/02/2009
4.9. 3.4 du 31/01/2009
4.10. 3.3 du 16/05/2008
4.11. 3.2 du 23/04/2008
4.12. 3.1b du 07/04/2008
4.13. 3.0 du 30/03/2008
4.14. 2.8 du 01/02/2003
4.15. 2.72
4.16. 2.71
4.17. 2.7
4.18. 2.6
4.19. 2.5
4.20. 2.4
4.21. 2.3
4.22. 2.2
4.23. 2.1
4.24. 2.0
4.25. 1.9
4.26. 1.8
4.27. 1.7
4.28. 1.5
4.29. 1.2
4.30. 1.1
5. Utilisation
5.1. Les fichiers
5.2. Le fichier bsc.rc
5.3. Le fichier bsc.opn
5.4. Le mode console
5.5. Le fichier d'apprentissage
5.6. Le mode xboard avec Winboard

Liste des tableaux

1. LCTII Test
2. BT2630 Selective Options (Athlon XP 2400, 16MB Hash, 521KB HashPawn, 60sec)

1. Introduction

BSC est un programme d'échecs implanté de façon classique (en C) et de force moyenne. Ses premières versions sont fortement inspirées du programme TSCP (Tom Kerrigan Simple Chess Program). L'échiquier est représenté par deux tableaux de 64 cases, un déterminant la couleur de la pièce (NOIR, BLANC et VIDE), l'autre le type de pièce (ROI, DAME ... VIDE). Le déplacement des pièces est validé par des mailbox. La force du programme est estimée à environ 1900/2100 ELO sur un PII450 (100000 positions/sec analysées en moyenne). Selon mon analyse, le programme n'est pas brillant lors de l'ouverture du jeu: en effet, les lignes de la bibliothèque d'ouverture ne sont pas les meilleurs et sont choisies aléatoirement (pas de score ou de statistiques liés à l'ouverture choisie) Cependant, il fonctionne correctement avec l'interface Arena et peu utiliser des bibliothèques d'ouvertures meilleurs intégrées dans Arena (ex. Frank Quisinsky Opening Book). En milieu de partie, le programme joue de façon correcte et peut trouver des combinaisons gagnantes intéressantes. Son jeu est globalement intéressant et convient au joueurs de club intermediaire. En fin de partie, il est assez fort et utilise les tables de fin partie 4 ou 5 pions.

1.1. Tournoi Blitz rapide v3.0 - Partie en 5 minutes

Les fonctions razoring et futility pruning désactivé (no ponder, 16MB Hash, 512kB Hash Pawn). Les tests sont réalisés sur un athlon XP 2400 avec Arena.

1   b0n0 Simple Chess 3.0  1700  101101101110111010110½1111½011   21.0/30 +147
2   Tscp                   1700  010010010001000101001½0000½100    9.0/30 -147
Estimation min: ~ 1800 Elo


Arena book - 3.3 without LMR and 3.4/3.5 with LMR (64-2 MB hash, dual-core ponder on)

1: b0n0 Simple Chess 3.4  23,0/40 ········ 00==0010 00====11 01101=11 1==1==01 1=11==11  430,00
2: b0n0 Simple Chess 3.42 22,0/40 11==1101 ········ 0111==00 ==00==0= ==1=0=== 01=10111  429,00
3: b0n0 Simple Chess 3.5  22,0/40 11====00 1000==11 ········ 1=10010= 0110==== 11=0111=  422,00
4: Faile                  21,0/40 10010=00 ==11==1= 0=01101= ········ 1=0111=1 000=101=  413,50
5: b0n0 Simple Chess 3.4a 17,0/40 0==0==10 ==0=1=== 1001==== 0=1000=0 ········ 01011==0  347,00
6: b0n0 Simple Chess 3.3  15,0/40 0=00==00 10=01000 00=1000= 111=010= 10100==1 ········  306,50

b0n0 Simple Chess 3.5 - b0n0 Simple Chess 3.3   : 6,0/8 5-1-2 (11=0111=)  75%  +191
b0n0 Simple Chess 3.5 - b0n0 Simple Chess 3.4   : 4,0/8 2-2-4 (11====00)  50%    ±0
b0n0 Simple Chess 3.5 - b0n0 Simple Chess 3.42  : 4,0/8 3-3-2 (1000==11)  50%    ±0
b0n0 Simple Chess 3.5 - b0n0 Simple Chess 3.4a  : 4,0/8 2-2-4 (0110====)  50%    ±0
b0n0 Simple Chess 3.5 - Faile                   : 4,0/8 3-3-2 (1=10010=)  50%    ±0

=> BSC 3.5 est 100 ELO plus fort BSC 3.3 (d'après bayeselo)
BSC 3.5 est du même niveau que la version 3.4
BSC 3.5 est selectif dans sa recherche et plus rapide en fin de partie que les versions 3.4 (LMR)
BSC 3.4a et 3.4 sont peu selectifs dans leur recherche (LMR) 
BSC 3.42 est selectif dans sa recherche (LMR)


Arena book - 3.3 without LMR and 3.42 with LMR (64-2 MB hash, dual-core ponder on)

-----------------b0n0 Simple Chess 3.3-----------------
b0n0 Simple Chess 3.3 - b0n0 Simple Chess 3.4 : 8,5/26 4-13-9 (=0==10=00=0==0=0001000110=)  33%  -123
-----------------b0n0 Simple Chess 3.4-----------------
b0n0 Simple Chess 3.4 - b0n0 Simple Chess 3.3 : 17,5/26 13-4-9 (=1==01=11=1==1=1110111001=)  67%  +123


Arena book - 3.3 without LMR and 3.4 with LMR (64-2 MB hash)

-----------------b0n0 Simple Chess 3.3-----------------
b0n0 Simple Chess 3.3 - b0n0 Simple Chess 3.4 : 4,0/15 2-9-4 (0000=011000=0==)  27%  -173
-----------------b0n0 Simple Chess 3.4-----------------
b0n0 Simple Chess 3.4 - b0n0 Simple Chess 3.3 : 11,0/15 9-2-4 (1111=100111=1==)  73%  +173


Own book - No futility pruning - 3.3 without LMR and 3.4 with LMR  (64-2 MB hash)

-----------------b0n0 Simple Chess 3.3-----------------
b0n0 Simple Chess 3.3 - b0n0 Simple Chess 3.4 : 2,5/10 1-6-3 (10=0=000=0)  25%  -191
-----------------b0n0 Simple Chess 3.4-----------------
b0n0 Simple Chess 3.4 - b0n0 Simple Chess 3.3 : 7,5/10 6-1-3 (01=1=111=1)  75%  +191

Les fonctions razoring et futility pruning sont activées (no ponder, 16MB Hash, 512kB Hash Pawn)

-----------------b0n0 Simple Chess 3.0-----------------
b0n0 Simple Chess 3.0 - Tscp : 23,0/30 21-5-4 (=1011111100111=11111111110=1=0)  77%  +210
-----------------Tscp-----------------
Tscp - b0n0 Simple Chess 3.0 : 7,0/30 5-21-4 (=0100000011000=00000000001=0=1)  23%  -210

Estimation min: ~ 1860 Elo

Les fonctions razoring, futility pruning et nullmove sont activées (no ponder, 16MB Hash, 512kB Hash Pawn)

-----------------b0n0 Simple Chess 2.8-----------------
b0n0 Simple Chess 2.8 - b0n0 Simple Chess 3.2 : 23,0/66 17-37-12 (0=00=100001==0=10000000000110000000011100010111=0===1010101=100==0)  35%  -108
-----------------b0n0 Simple Chess 3.2-----------------
b0n0 Simple Chess 3.2 - b0n0 Simple Chess 2.8 : 43,0/66 37-17-12 (1=11=011110==1=01111111111001111111100011101000=1===0101010=011==1)  65%  +108


-----------------b0n0 Simple Chess 3.1-----------------
b0n0 Simple Chess 3.1 - Faile : 3,0/12 1-7-4 (0==000=001=0)  25%  -191
b0n0 Simple Chess 3.1 - Tscp  : 10,5/12 10-1-1 (111=11101111)  88%  +346
-----------------Faile-----------------
Faile - b0n0 Simple Chess 3.1 : 9,0/12 7-1-4 (1==111=110=1)  75%  +191
Faile - Tscp                  : 10,5/12 10-1-1 (11111101=111)  88%  +346
-----------------Tscp-----------------
Tscp - b0n0 Simple Chess 3.1  : 1,5/12 1-10-1 (000=00010000)  13%  -330
Tscp - Faile                  : 1,5/12 1-10-1 (00000010=000)  13%  -330

Estimation min: ~ 1750 Elo
Estimation max: ~ 2000 Elo

1.2. Tournoi Blitz rapide v2

Pour comparer avec d'autres engines de sa catégorie sous winboard, voici le tableau final du tournoi blitz (1'): BSC (16 MB Hash, !mtdf, !null_move, !futility/razoring).

Exemple 1. Tournoi blitz 1 min, 84 jeux



-------------------------------------------
   Engine      Score    1  2  3  4  5  6  7
-------------------------------------------
1. BSC 2.0     10,0/12 ## 10 01 11 11 11 11 
2. UFIM 1.43    8,5/12 01 ## 00 11 1= 11 11 
3. TSCP 1.73    7,5/12 10 11 ## 00 10 =1 11 
4. zephyr 0.61  6,5/12 00 00 11 ## 01 =1 11 
5. UFIM 2.00    6,5/12 00 0= 01 10 ## 11 11 
6. Adam 1.1     3,0/12 00 00 =0 =0 00 ## 11 
7. List 4.61    0,0/12 00 00 00 00 00 00 ## 



Exemple 2. Elo rating


Rating type: GLICKO
Initial rating: 2000
Initial RD: 350

-----------------------------------------------------------------------------------------------
Place	Engine                   	Rating	   RD	Games	Wins	Draws	Points	Score %	
-----------------------------------------------------------------------------------------------
   1.	BSC                      	  2318	134,1	   12	  10	    0	  10,0	  83,33
   2.	UFIM                     	  2100	 96,6	   24	  14	    2	  15,0	  62,50
   3.	zephyr                   	  2068	130,9	   12	   6	    1	   6,5	  54,17
   4.	TSCP                     	  2057	128,1	   12	   7	    1	   7,5	  62,50
   5.	Adam                     	  1817	119,7	   12	   2	    2	   3,0	  25,00
   6.	List                     	  1569	167,2	   12	   0	    0	   0,0	   0,00


Etant donnée les résultats, BSC est de la même catégorie d'engine qu'UFIM. Voici un tournoi blitz entre différentes version d'UFIM et BSC.

Exemple 3. Tournoi blitz 1 min, 60 jeux

-----------------------------------------------------
   Engine    Score            1          2          3
-----------------------------------------------------
1. BSC 2.0   15,5/20 ########## =1=111101= 11110111== 
2. UFIM 1.43  8,0/20 =0=000010= ########## =011100011 
3. UFIM 2.00  6,5/20 00001000== =100011100 ########## 

Exemple 4. Elo Rating blitz (1min)

Rating type: GLICKO
Initial rating: 2000
Initial RD: 350

-----------------------------------------------------------------------------------------------
Place	Engine                   	Rating	   RD	Games	Wins	Draws	Points	Score %	
-----------------------------------------------------------------------------------------------
   1.	BSC                      	  2066	104,6	   22	  15	    5	  17,5	  79,55
   2.	UFIM                     	  1870	 74,5	   46	  16	    8	  20,0	  43,48


1.3. Résultats LCTII

Les résultats au test LCTII (niveau tournoi, 10 minutes par problème)

Tableau 1.  LCTII Test

2.0Found Time (sec)Score (+Elo)2.2Found Time (sec)Score (+Elo)3.0 (Athlon XP 2400, 16MB Hash, 512KB HASHPAWN, no selective)Found Time (sec)Score (+Elo)3.1b (Athlon XP 2400, 16MB Hash, 512KB HASHPAWN, no selective)Found Time (sec)3.2 (Athlon XP 2400, 16MB Hash, 512KB HASHPAWN, no selective)Found Time (sec)
   POS137910POS13220POS145POS161
POS23220POS2030POS2030POS20POS20
   POS45620POS42525POS429POS421
POS829010          
POS95425          
POS1233510          
POS13030POS13030       
   CMB14520CMB1430CMB13CMB13
CMB224810CMB2130CMB2830CMB211CMB29
CMB31225CMB31025CMB3630CMB36CMB35
CMB4330CMB4230CMB434810CMB4-CMB4-
CMB52725CMB5030CMB5830CMB59CMB55
   CMB634110CMB616015CMB6113CMB677
   CMB73920CMB74120CMB735CMB726
   CMB816615CMB81725CMB815CMB813
CMB95185CMB9830CMB9130CMB91CMB90
   CMB1012015CMB1014315CMB10105CMB1081
FIN1830FIN1030FIN1230FIN11FIN11
FIN22825FIN2030FIN2030FIN20FIN20
FIN3430FIN3030FIN313115FIN3120FIN3136
FIN41325FIN4430FIN424210FIN459FIN450
FIN69315          

D'après le test LCTII, il apparaît clairement que BSC n'est pas très positionnel comme programme. Au niveau combinatoire, il se tient correctement, sachant que le programme n'est pas trop rapide. Son point fort est les fins de partie.

BSC 2.0 (PII 450 Mhz, 16 MB Hash)

  • POS = 75

  • CMB = 95

  • FIN = 125

Total : 1900 + 75 + 95 + 125 = 2195 ELO

BSC 2.2 (P4 1.8Ghz 16 MB Hash)

  • POS = 60

  • CMB = 230

  • FIN = 120

Total : 1900 + 60 + 255 + 120 = 2335 ELO

BSC 3.0 (P4 1.8Ghz 16 MB Hash)

  • POS = 75

  • CMB = 235

  • FIN = 85

Total : 1900 + 75 + 235 + 85 = 2295 ELO

BSC 3.5 (Solaris Sun-Fire-V240 1,5 ghz) 64-2 MB hash with LMR

  • POS = 20%

  • CMB = 72%

  • FIN = 41%

Total : 2355 ELO

1:d6 (00:00:30) 14 [10] 115600001 nodes 192666 nps X
2:Bd6b4 (00:00:01) 2 [11] 119300001 nodes 198833 nps X
3:Qf2xh4+ (00:00:01) 100 [11] 133200001 nodes 222000 nps
4:e5 (00:00:12) -53 [12] 117000001 nodes 195000 nps X
5:Rc8c7 (00:03:03) -27 [11] 124100001 nodes 206833 nps
6:Rd8d7 (00:00:00) 30 [10] 130000001 nodes 216666 nps
7:Nh5xg7 (00:00:01) 6 [11] 118900001 nodes 198166 nps
8:Nh4f3 (00:00:15) -23 [10] 118400001 nodes 197333 nps
9:Qa7d4 (00:04:05) 118 [10] 126600001 nodes 211000 nps X
10:Nc6xd4 (00:03:47) -20 [12] 112900001 nodes 188166 nps
11:Kg2f2 (00:02:08) 63 [11] 110600001 nodes 184333 nps
12:Rc6xc3 (00:00:24) 9 [11] 117800001 nodes 196333 nps
13:Rb8d8 (00:01:42) 61 [11] 124700001 nodes 207833 nps
14:a4 (00:00:01) 55 [10] 117000001 nodes 195000 nps
15:f6 (00:00:04) 843 [15] 139000001 nodes 231666 nps X
16:f5 (00:00:01) 89 [13] 129500001 nodes 215833 nps X
17:Bc6b7 (00:02:23) 35 [15] 124900001 nodes 208166 nps
18:h3 (00:04:01) -16 [12] 133300001 nodes 222166 nps X
19:a6 (00:03:10) 151 [12] 134500001 nodes 224166 nps X
20:f4 (00:00:58) -135 [13] 126900001 nodes 211500 nps X
21:Bd2b4 (00:03:27) 179 [10] 120400001 nodes 200666 nps X
22:Kd3e3 (00:00:04) 154 [15] 142600001 nodes 237666 nps
23:fxg5 (00:00:00) 731 [14] 140300001 nodes 233833 nps
24:Nc4xd6 (00:00:03) 425 [13] 124200006 nodes 207000 nps X
25:Qh5xh7+ (00:00:01) 9987 [9] 147700001 nodes 246166 nps X
26:Qf6f3 (00:00:16) 9991 [11] 150100001 nodes 250166 nps X
27:exf6 (00:00:23) 191 [12] 118100001 nodes 196833 nps X
28:Rh3xh7+ (00:00:02) 1204 [10] 156700014 nodes 261166 nps X
29:exf6 (00:00:48) 172 [10] 128700001 nodes 214500 nps X
30:Rc8xc3 (00:00:19) 408 [11] 130400001 nodes 217333 nps X
31:Nd5f6+ (00:00:25) 675 [9] 138900001 nodes 231500 nps X
32:Ra2xd2 (00:00:03) 0 [10] 127300001 nodes 212166 nps X
33:Bf4xh6 (00:00:47) 115 [11] 125700001 nodes 209500 nps X
34:Bc1f4 (00:00:47) -53 [11] 118600001 nodes 197666 nps
35:Nc3e2 (00:00:16) -64 [10] 118600001 nodes 197666 nps 

1.4. Résultats BT2630

Comparaison des heuristiques sur quelques postions de BT2630

Tableau 2.  BT2630 Selective Options (Athlon XP 2400, 16MB Hash, 521KB HashPawn, 60sec)

BTXX3.0 (all false) Found Time in sec3.2 (all false) Found Time in sec3.0 (futility=true)3.0 (razor=true)3.0 (razor=true,futility=true)3.0 (nullmove=true)3.0 (lmr=true)
BT26877669
BT32219232223189
BT476X7X77
BT52212122
BT61141410
BT72221122
BT80000000
BT90000000
BT1019121818171530
BT112222229

Les résultats sont effectués sur une station Sparc Sun-Fire-V240, bi-cpu 1,5 ghz (mais BSC n'est pas SMP). Il est accordé à BSC 3.5 600 secondes de réflexion.

Sunos 5.8 Generic_117350-51 sun4u sparc SUNW,Sun-Fire-V240

bsc.rc:
HASH=64
HPAWN=2048
CHECKNODES=100000
NULLMOVE=1
MTDF=0
ABWINDOW=10
FUTILITY=1
RAZOR=1
LMR=1
EGBB=1
EGBBCACHE=4
EGBBPATH=c:/egbb/
5MEN=0
LEARN=0
RESIGN_VALUE=-9000

bt2630.epd: 
6k1/2b2p1p/ppP3p1/4p3/PP1B4/5PP1/7P/7K w - - bm Bxb6; id "test2";
5r1k/p1q2pp1/1pb4p/n3R1NQ/7P/3B1P2/2P3P1/7K w - - bm Re6; id "test3";
5r1k/1P4pp/3P1p2/4p3/1P5P/3q2P1/Q2b2K1/B3R3 w - - bm Qf7; id "test4";
3B4/8/2B5/1K6/8/8/3p4/3k4 w - - bm Ka6; id "test5";
1k1r4/1pp4p/2n5/P6R/2R1p1r1/2P2p2/1PP2B1P/4K3 b - - bm e3; id "test6";
6k1/p3q2p/1nr3pB/8/3Q1P2/6P1/PP5P/3R2K1 b - - bm Rd6; id "test7";
2krr3/1p4pp/p1bRpp1n/2p5/P1B1PP2/8/1PP3PP/R1K3B1 w - - bm Rxc6+; id "test8";
r5k1/pp2p1bp/6p1/n1p1P3/2qP1NP1/2PQB3/P5PP/R4K2 b - - bm g5; id "test9";
2r3k1/1qr1b1p1/p2pPn2/nppPp3/8/1PP1B2P/P1BQ1P2/5KRR w - - bm Rxg7+; id "test10";
1br3k1/p4p2/2p1r3/3p1b2/3Bn1p1/1P2P1Pq/P3Q1BP/2R1NRK1 b - - bm Qxh2+; id "test11";
8/pp3k2/2p1qp2/2P5/5P2/1R2p1rp/PP2R3/4K2Q b - - bm Qe4; id "test12";
2bq3k/2p4p/p2p4/7P/1nBPPQP1/r1p5/8/1K1R2R1 b - - bm Be6; id "test13";
3r1rk1/1p3pnp/p3pBp1/1qPpP3/1P1P2R1/P2Q3R/6PP/6K1 w - - bm Rxh7; id "test14";
2b1q3/p7/1p1p2kb/nPpN3p/P1P1P2P/6P1/5R1K/5Q2 w - - bm e5; id "test15";
2krr3/pppb1ppp/3b4/3q4/3P3n/2P2N1P/PP2B1P1/R1BQ1RK1 b - - bm Nxg2; id "test16";
4r1k1/p1qr1p2/2pb1Bp1/1p5p/3P1n1R/3B1P2/PP3PK1/2Q4R w - - bm Qxf4; id "test17";
8/4p3/8/3P3p/P2pK3/6P1/7b/3k4 w - - bm d6; id "test18";
3r2k1/pp4B1/6pp/PP1Np2n/2Pp1p2/3P2Pq/3QPPbP/R4RK1 b - - bm f3; id "test19";
r4rk1/5p2/1n4pQ/2p5/p5P1/P4N2/1qb1BP1P/R3R1K1 w - - bm Ra2; id "test20";
k7/8/PP1b2P1/K2Pn2P/4R3/8/6np/8 w - - bm Re1; id "test21";
rnb1k2r/pp2qppp/3p1n2/2pp2B1/1bP5/2N1P3/PP2NPPP/R2QKB1R w KQkq - bm a3; id "test22";
8/7p/8/p4p2/5K2/Bpk3P1/4P2P/8 w - - bm g4; id "test23";
R7/3p3p/8/3P2P1/3k4/1p5p/1P1NKP1P/7q w - - bm g6; id "test24";
8/8/3k1p2/p2BnP2/4PN2/1P2K1p1/8/5b2 b - - bm Nd3; id "test25";
2r3k1/pbr1q2p/1p2pnp1/3p4/3P1P2/1P1BR3/PB1Q2PP/5RK1 w - - bm f5; id "test26";
3r2k1/p2r2p1/1p1B2Pp/4PQ1P/2b1p3/P3P3/7K/8 w - - bm e6; id "test27";
rnb1k1nr/p2p1ppp/3B4/1p1N1N1P/4P1P1/3P1Q2/PqP5/R4Kb1 w kq - bm e5; id "test28";
r1b1kb1r/pp1n1ppp/2q5/2p3B1/Q1B5/2p2N2/PP3PPP/R3K2R w KQkq - bm O-O-O; id "test29";
2k5/2p3Rp/p1pb4/1p2p3/4P3/PN1P1P2/1P2KP1r/8 w - - bm f4; id "test30";
rq2r1k1/5pp1/p7/4bNP1/1p2P2P/5Q2/PP4K1/5R1R w - - bm Nxg7; id "test1";

bsc.log:
1:Bd4xb6 (00:00:08) 394 [14] 122300001 nodes 203833 nps 
2:Re5e6 (00:00:13) 291 [11] 141500001 nodes 235833 nps 
3:Re1f1 (00:00:00) -64 [10] 130300001 nodes 217166 nps 
4:Kb5a6 (00:00:25) 745 [13] 193300001 nodes 322166 nps 
5:e3 (00:00:28) 302 [12] 125400001 nodes 209000 nps 
6:Rc6d6 (00:00:01) 0 [13] 131300009 nodes 218833 nps 
7:Rd6xc6+ (00:00:00) 154 [12] 125600001 nodes 209333 nps 
8:g5 (00:00:00) -56 [11] 115100001 nodes 191833 nps 
9:Rg1xg7+ (00:00:02) 220 [10] 124400001 nodes 207333 nps 
10:Qh3xh2+ (00:00:02) 302 [11] 128700001 nodes 214500 nps 
11:Qe6e4 (00:00:05) 1184 [11] 128800001 nodes 214666 nps 
12:c2+ (00:00:00) 284 [9] 132900001 nodes 221500 nps 
13:Rh3xh7 (00:00:02) 9987 [11] 143800001 nodes 239666 nps 
14:Rf2f6+ (00:00:00) 184 [11] 124500001 nodes 207500 nps  
15:Nh4xg2 (00:00:01) 60 [10] 128400001 nodes 214000 nps 
16:Qc1xf4 (00:00:16) 9989 [11] 133000001 nodes 221666 nps 
17:d6 (00:00:01) 0 [14] 129900001 nodes 216500 nps 
18:f3 (00:01:15) -104 [11] 112500001 nodes 187500 nps 
19:Ra1a2 (00:00:15) 297 [12] 131000001 nodes 218333 nps 
20:g7 (00:00:00) 323 [8] 137600001 nodes 229333 nps 
21:a3 (00:00:03) 28 [12] 110700001 nodes 184500 nps 
22:Kf4xf5 (00:00:00) 114 [13] 142300001 nodes 237166 nps
23:g6 (00:03:38) 60 [9] 121800001 nodes 203000 nps
24:Kd6d7 (00:07:25) 144 [11] 125600001 nodes 209333 nps
25:f5 (00:00:08) 120 [11] 122400001 nodes 204000 nps
26:e6 (00:04:40) 3 [11] 149700003 nodes 249500 nps
27:Nd5c7+ (00:00:00) -298 [10] 119800001 nodes 199666 nps
28:Bc4xf7+ (00:01:06) -5 [8] 122700001 nodes 204500 nps
29:f4 (00:00:10) 14 [11] 117200001 nodes 195333 nps
30:Nf5xg7 (00:00:00) 255 [12] 128900001 nodes 214833 nps

Le temps passé total est de 4976 secondes. 4976/30=166. 2630-166=2464 ELO est le score obtenu.

1.5. Résultats Win At Chess

Les résultats sont effectués sur une station Sparc Sun-Fire-V240, bi-cpu 1,5 ghz (mais BSC n'est pas SMP). Il est accordé à BSC 3.5 30 secondes de réflexion. Les problèmes suivants n'ont pas été résolus dans le temps imparti:

Sunos 5.8 Generic_117350-51 sun4u sparc SUNW,Sun-Fire-V240

bsc.rc:
HASH=64
HPAWN=2048
CHECKNODES=100000
NULLMOVE=1
MTDF=0
ABWINDOW=10
FUTILITY=1
RAZOR=1
LMR=1
EGBB=1
EGBBCACHE=4
EGBBPATH=c:/egbb/
5MEN=0
LEARN=0
RESIGN_VALUE=-9000

8/7p/5k2/5p2/p1p2P2/Pr1pPK2/1P1R3P/8 b - - bm Rxb2; id "WAC.002";
2kr3r/pp1q1ppp/5n2/1Nb5/2Pp1B2/7Q/P4PPP/1R3RK1 w - - bm Nxa7+; id "WAC.071";
r4rk1/p1B1bpp1/1p2pn1p/8/2PP4/3B1P2/qP2QP1P/3R1RK1 w - - bm Ra1; id "WAC.080";
r4rk1/1p2ppbp/p2pbnp1/q7/3BPPP1/2N2B2/PPP4P/R2Q1RK1 b - - bm Bxg4; id "WAC.092";
8/k1b5/P4p2/1Pp2p1p/K1P2P1P/8/3B4/8 w - - bm b6+; id "WAC.100";
r1q2rk1/p3bppb/3p1n1p/2nPp3/1p2P1P1/6NP/PP2QPB1/R1BNK2R b KQ - bm Nxd5; id "WAC.180";
rr4k1/p1pq2pp/Q1n1pn2/2bpp3/4P3/2PP1NN1/PP3PPP/R1B1K2R b KQ - bm Nb4; id "WAC.196";
2r1r2k/1q3ppp/p2Rp3/2p1P3/6QB/p3P3/bP3PPP/3R2K1 w - - bm Bf6; id "WAC.222";
2b2rk1/p1p4p/2p1p1p1/br2N1Q1/1p2q3/8/PB3PPP/3R1RK1 w - - bm Nf7; id "WAC.226";
8/8/8/1p5r/p1p1k1pN/P2pBpP1/1P1K1P2/8 b - - bm Rxh4 b4; id "WAC.229";
2b5/1r6/2kBp1p1/p2pP1P1/2pP4/1pP3K1/1R3P2/8 b - - bm Rb4; id "WAC.230";
5r2/1p1RRrk1/4Qq1p/1PP3p1/8/4B3/1b3P1P/6K1 w - - bm Qxf7+ Rxf7+; id "WAC.235";
1r3r1k/3p4/1p1Nn1R1/4Pp1q/pP3P1p/P7/5Q1P/6RK w - - bm Qe2; id "WAC.243";
2k1r3/1p2Bq2/p2Qp3/Pb1p1p1P/2pP1P2/2P5/2P2KP1/1R6 w - - bm Rxb5; id "WAC.247";
3r1rk1/1pb1qp1p/2p3p1/p7/P2Np2R/1P5P/1BP2PP1/3Q1BK1 w - - bm Nf5; id "WAC.256";
r2r2k1/1R2qp2/p5pp/2P5/b1PN1b2/P7/1Q3PPP/1B1R2K1 b - - bm Rab8; id "WAC.264";
2r1k2r/2pn1pp1/1p3n1p/p3PP2/4q2B/P1P5/2Q1N1PP/R4RK1 w k - bm exf6; id "WAC.265";
r7/4b3/2p1r1k1/1p1pPp1q/1P1P1P1p/PR2NRpP/2Q3K1/8 w - - bm Nxf5; id "WAC.279";

282/300 sont résolus en 30 secondes, soit 94% du test.

2. Téléchargement

Cette version fonctionne en mode console (cygwin Win32, winboard protocol), avec Winboard ou encore Arena.

Vous pouvez télécharger ce programme ici:

Pour les versions antèrieures à la 3.4, vous pouvez télécharger une autre bibliothèque d'ouverture (8000 variations, 200000 coups, tiré de l'openbook de Fritz4): BSC book Fritz4

Ce programme est protégé par les lois du Copyright, peut-être distribué à volonté mais ne doit pas être modifié sans l'accord de son auteur.

3. Futures améliorations à apporter

Ci-dessous la liste des améliorations dans l'ordre prioritaire

  • Amélioration de l'évaluation statique: clouage de pièces...

  • Implanter le nouveau protocole UCI. Utilisation de WB2UCI pour le moment

  • Mieux Gérer la représentation SAN (e4, Nxf3), plus de robustesse.

  • Implanter les BitBoards pour accélérer le node rate.

  • Implémenter l'algorithme singular extension (à la deep blue!)

  • Intégrer les ECO pour la bibliothèque d'ouverture. (intégré dans Arena donc est-ce vraiement utile ?)

4. Historique

4.1. 3.9# du 10/08/2011

Small optimized stable release

  • 3.9+ is a buggy release with compilation bug. Tune some code with LMR(sliding)

  • Add new cygwin.dll for windows 7 compatibility

  • Add 64bit version

4.2. 3.9 du 10/08/2010

Last stable release BSC v 3.9 10/08/2010 (Windows 32 bits Cygwin) BSC v 3.9 10/08/2010 (Linux 32 bits static) BSC v 3.9 10/08/2010 (Linux 64 bits static) BSC v 3.9 10/08/2010 (Solaris 2.8 64 bits static)

  • fix bugs in interface and winboard protocol

  • use butterfly history for LMR

  • Internal Iterative Deepening

  • Adaptive nullmove reduce 3 or 2

  • only extension on recapture and check, 7th pawn, promote

  • Fix somes eval bugs and values tuning

4.4. 3.7+f du 18/04/2009

BSC 3.7+f du 20/03/2009 (Windows 32 bits Cygwin) BSC 3.7+f du 20/03/2009 (Linux 32 bits static) BSC 3.7+f du 20/03/2009 (Linux 64 bits static)

  • LMR with no history counters

  • Delta pruning with SEE

  • Tuning extension and singular

  • Recapture extension at pvnode

  • Adding disable book option in bsc.rc

  • fix bug in analyze xboard command

  • Improve mobility evaluation for minor/major pieces (not in endgame)

  • Fix bug in rook 7th evaluation

4.5. 3.6 du 20/03/2009

BSC 3.6 du 20/03/2009 (Windows 32 bits Cygwin) BSC 3.6 du 20/03/2009 (Linux 32 bits static) BSC 3.6 du 20/03/2009 (Linux 64 bits static)

  • Improve LMR with only when depth>=4, memory counters of fail high/low and fix bug

  • Tuning evaluation: new bonus and penality

  • Tuning extension on castle and captures

  • Improve function aspiration search

  • Improve futility pruning search: more selective

  • Delta pruning in quiesce search

4.6. 3.5 du 14/02/2009

BSC 3.5 du 14/02/2009 (Windows 32 bits Cygwin) BSC 3.5 du 14/02/2009 (Linux 32 bits static) BSC 3.5 du 14/02/2009 (Linux 64 bits static) BSC 3.5 du 14/02/2009 (Solaris 2.8 64 bits static)

  • null move with 3 ply/2 ply

  • LMR without move History counters: only no extension, no capture

  • Pawn extension at 7th rank

  • Reduce capture extension

  • Max depth 40 half-ply

  • Singular extension with check

  • Tuning evaluation on passed pawn

4.7. 3.42 du 11/02/2009

BSC 3.42 du 11/02/2009 (Windows 32 bits Cygwin) BSC 3.42 du 11/02/2009 (Linux 32 bits static) BSC 3.42 du 11/02/2009 (Linux 64 bits static) BSC 3.42 du 11/02/2009 (Solaris 2.8 64 bits static)

  • improve check extension

  • LMR without move History counters: only no extension, no capture, no endgame

  • Portage Solaris

4.9. 3.4 du 31/01/2009

BSC v 3.4 31/01/2009 (Windows 32 bits Cygwin) BSC v 3.4 31/01/2009 (Linux 32 bits static) BSC v 3.4 31/01/2009 (Linux 64 bits static)

  • Improve Late Move Reduction: history cut, research. BSC is little more stronger with LMR, perhaps 50-100 ELO

  • Tunning low mobility extension

  • Implement new opening book (same as prodeo)

  • Fix bug in test command with fscanf

  • Castle extension search

  • Fix hashing bug with null move

4.10. 3.3 du 16/05/2008

BSC v 3.3 16/05/2008 (Windows 32 Cygwin)

BSC v 3.3 16/05/2008 (Linux static)

  • Improve Late Move Reduction

  • Fix search extension

  • no check extension in 4-5men endgame

4.11. 3.2 du 23/04/2008

BSC v 3.2 23/04/2008 (Windows 32 Cygwin)

  • Stabilisation de la 3.1b

  • Improve search extension

  • nullmove, razoring and futility disable in endgame (no short path to win with tablebase)

  • Fix bug in exit with learning (segmentation fault)

4.12. 3.1b du 07/04/2008

BSC v 3.1b 07/04/2008 (Windows 32 Cygwin)

  • Support for tablebases Scorpio (EGBB) 4 or 5 MEN

  • Support Learning

  • Support for analyzing in winboard/arena (.)

  • Support FEN castle

  • Reduce check extension: successive check or capture check

4.13. 3.0 du 30/03/2008

BSC v 3.0 30/03/2003

BSC v 3.0 30/03/2003 (Linux static)

  • New evaluation

  • Late Move reduction implantation

  • New futility prunning at pre-pre and pre frontier node

  • Fix null move with 2 ply reduce (3 before)

  • New depth extend heuristic in alpha/beta

  • Fix bug in aspiration search with draw (no max depth)

4.14. 2.8 du 01/02/2003

BSC v 2.8 01/02/2003

  • Fix bug in null move search

  • New function (faster) for draw repetition moves

  • Add winboard adaptater bsc.eng for Chessbase

4.15. 2.72

  • Fix bug in alpha-beta (stop search when no move in PV with score=INF)

4.16. 2.71

  • Fix bug in alpha-beta (stop search when no move in PV with score=INF)

4.17. 2.7

BSC 2.7 du 14/12/2002

  • Fix parameters in extension search, pawn hash for pawn struct, logo and wb2uci in package

  • Méthode implantée : Pawn hashing

4.18. 2.6

BSC v 2.6 du 02/12/2002

  • Fix parameters in evaluation, extension search, null move

4.19. 2.5

BSC v 2.5 du 06/11/2002

  • Fix bugs in evaluation

4.20. 2.4

BSC v 2.4 02/11/2002

  • Fix bugs in evaluation

4.21. 2.3

BSC v 2.3 24/10/2002

  • Fix bugs in evaluation (pawn position) , Fix bug in check control

4.22. 2.2

2.2 du 23/10/2002

  • Fix bugs in evaluation, fix bug in aspiration search (PV not follow), optimisation du mode blitz, optimisation de code

4.23. 2.1

2.1 du 18/10/2002

  • Heuristique de permuation de coups, Nouveau time control, Nouvelle évaluation statique (fix bug ? for castle move), Recapture extension, Nouvelle implentation des futility (fix bug in mat balance), Fractionnal Depth extension, nouvelle implantation de la fonction is_attacked

  • Méthodes implantées : Fractionnal Depth, Recapture extension

4.24. 2.0

2.0 du 20/07/2002

  • 12/10/2002: Fix bug in time control

  • Mat Proof-search (recherche de mat + rapide), futility+razoring fix bug, heuristic extension pour la recherche de sacrifice de pieces majeures, extension pour les promotions, nouvelle fonction d'évaluation avec mobilitée, mode blitz

  • Méthodes implantées : + proof search, , blitz search (faster algorithm): NegaMax simplifié pour recherche plus rapide!

4.25. 1.9

1.9 du 05/06/2002

  • Nouvelle Implantation des Hashtables

  • Utilisation Futility Prunning dans le fichier de configuration

  • Fixe bug dans root_search, posant des problèmes à mtdf

  • nouveau fichier pour la bibliothèque d'ouverture, basé sur l'openbook de Fritz4, refixe les limites de la bibliothèque d'ouverture (5000 lignes à 10000 lignes)

  • Gestion de la notation SAN en mode console

  • Méthodes implantées actuellement: NegaMax (null window), aspiration search, root_search, mtdf, transposition table, iterative deepening, move ordering, PV search, Killer heuristic (2 best), History heuristic, null move heuristic, futility heuristic, quiesce search, some selective extensions, ponder move, opening book, fifty move

4.26. 1.8

1.8 du début 2002

  • aspiration search, futility pruning

  • Méthodes implantées : aspiration search, futiliy

4.27. 1.7

1.7 du 24/09/2001

  • killer move, hashtables affinées

  • Méthodes implantées : killer move

4.28. 1.5

1.5 du 07/05/2001

  • mtdf, null move heuristic, hashtables affinées

  • Méthodes implantées : mtdf, null move heuristic

4.29. 1.2

1.2 du 18/02/2001

  • NegaMax with null-win, root_search, hashtables affinées, fichier de configuration « bsc.rc »

  • Méthodes implantées : NegaMax with null-win, root_search

4.30. 1.1

1.1 du 16/02/2001

  • Implantation des hashtables, de la bibliothèque d'ouverture, du pondering, du check-node en partant de l'implantation de TSCP

  • Méthodes implantées : simple NegaMax, transposition table, iterative deepening, move ordering, PV search, History heuristic, quiesce search, some selective extensions, ponder move, opening book, fifty move

5. Utilisation

5.1. Les fichiers

La distribution BSC comprend les fichiers suivants:

  • bsc.exe : l'executable

  • bsc.rc : le fichier de configuration de BSC

  • bsc.init : le fichier de configuration de BSC pour Winboard

  • bsc.lrn : le fichier d'apprentissage de BSC

  • cygwin1.dll : la librairie dynamique Cygwin 32

  • bsc.opn : le fichier de la bibliothèque d'ouverture de BSC (3558 lignes)

  • bsc.bmp : logo de BSC

  • bsc.pdf : ce document au format PDF

  • lct2.epd, bt2630.epd et wac.epd : deux fichiers de tests de positions (Win At Chess, BT2630 et LCT2)

  • wb2uci.eng, wb2uci.exe : adaptateur Winboard vers UCI

5.2. Le fichier bsc.rc

Exemple 5. exemple de configuration

HASH=64 (les tables de transpositions sont activées, 64 Mo, 0 pour ne pas avoir d'hashing)
HPAWN=2048 (2048 Ko pour le hashing sur la structure de pions)
CHECKNODES=300000 (on vérifie que le temps n'est pas dépassé toutes les 300000 positions analysées)
NULLMOVE=1 (null-move heuristic activée)
MTDF=0 (mtdf désactivé)
ABWINDOW=25 (alpha/beta aspiration search ou mtdf window de 0.25 point matériel, pion=1)
FUTILITY=1 (futility activé: pre et pre-pre frontier node)
RAZOR=1 (razoring activé: pre-pre-pre frontier node)
DELTA=200 (delta pruning a quiesce search: la marge est ici de 2 pions, mettre à 0 pour désactiver)
LMR=1 (Late Move Reduction activé)
EGBB=1 (Tablebase activée)
EGBBCACHE=4 (Cache de Tablebase)
EGBBPATH=c:/egbb/ (Chemin des tablebases Scorpio egbb)
5MEN=0 (utilise 5MEN => 400 Mo of RAM)
LEARN=0 (apprentissage desactivé)
RESIGN_VALUE=-9000 (valeur de résignation, ici mat)
BOOK=1 (utilise l'openbook, 0 pour désactiver)

Les options de reduction de recherche Futility prunning, Razoring, Delta Pruning et Nullmove sont activées par défault. L'autre option selective de recherche LMR peut améliorer sensiblement le niveau du programme ou l'analyse de certaines positions. Pour mieux comprendre les différents options que supporte BSC et que vous pouvez activer, lisez les articles suivants (en Anglais uniquement): Chess Tree Search Chess Tree Search Theory MTDF

5.3. Le fichier bsc.opn

C'est le fichier de la bibliothèque d'ouverture de BSC. La structure de ce fichier est simple et contient les différentes lignes que peut jouer BSC lors de la phase d'ouverture du jeu. Vous pouvez ajouter ou modifié les lignes d'ouvertures à l'aide d'un éditeur de texte. Le choix d'une ligne se fait de façon aléatoire.

Exemple 6. bsc.opn

d2d4g8f6c2c4g7g6g1f3f8g7g2g3e8g8f1g2c7c6b1c3d7d5c4d5c6d5f3e5e7e6e1g1b8c6e5c6b7c6
d2d4g8f6c2c4g7g6g1f3f8g7g2g3e8g8f1g2c7c6b1c3d7d5c4d5c6d5f3e5e7e6e1g1f6d7e5f3b8c6


5.4. Le mode console

Après avoir lancer bsc.exe, vous pouvez jouer aux échecs avec BSC en mode console en tapant les commandes au clavier.

Exemple 7. Mode console

BSC: b0n0 Simple Chess
----------------------
version 3.0, 30/03/2008
Copyright (C) 2008, ROBERT Nicolas <nicolas.robert@tangentoide.net>

help displays a list of commands.

Opening book found => bsc.opn
3558 lines in opening book
16383 ko for HASH
512 ko for PAWN HASH
hash=16MB, hashpawn=512KB, check_nodes=300000n, null move=false, mtdf=false, alp
ha/beta window=5cp, fut=true, razor=true, Late Move Reduction=false

0>bsc# help
help
on - computer plays for the side to move
off - computer stops playing
st n - search for n seconds per move
sd n - search n ply per move (>=1)
undo - takes back a move
new - starts a new game
d - display the board
ml - display the legal moves
fen - setup a fen position
mat x - brut search for a mat in x ply
test file.epd n_sec nb_pos - test EPD file
hard - enable pondering
easy - disable pondering
book - disable book
bye - exit the program
xboard - switch to XBoard mode
Enter moves in coordinate notation, e.g., e2e4, e7e8Q
0>bsc#


Notation d'origine: Pour déplacer une pièce, il faut entrer case_départcase_arrivée: e2e4. La promotion s'écrit a7a8Q (Q pour reine, R pour tour, N pour cavalier et B pour fou). Les notations (0-0 et 0-0-0) pour le roque ne sont pas supportées. Pour roquer, la notation sera par exemple e1g1 (0-0 pour les blancs). Les commandes disponibles en mode console sont:

Extension San: vous pouvez entrez vos coups en utilisant la notation SAN: O-O, Nf3, e4, fxe6, Qb1xc4, Nbd2, a8=Q, fxe8=R. N'insertion du + pour signaler un échec en fin de notation est déconseillé.

  • on : bsc prend la main et joue

  • off : mode deux joueurs

  • st n: fixe la durée en secondes pour jouer

  • sd n: fixe la profondeur de recherche pour jouer

  • new: commence une nouvelle partie

  • undo: retour en arrière

  • d: affiche l'échiquier

  • ml: affiche la listes des coups valides

  • fen fen_position: entre une position au format fen

  • mat x: recherche un mat en force brute (en coups, soit 2x demi-coups). Les echécs sont étendus ce qui permet de trouver des mat en x+n coups.

    3q1rk1/p4pp1/2pb3p/3p4/6Pr/1PNQ4/P1PB1PP1/4RRK1 b - - bm Bh2+; id "WAC.009";
    0>bsc# mat 2
    Searching 4 half ply
    info depth 4 currmove h4g4 currmovenumber 1/38 nodes 1 time 0
    info depth 4 currmove d8b8 currmovenumber 2/38 nodes 2960 time 0
    info depth 4 currmove d8a8 currmovenumber 3/38 nodes 6223 time 0
    info depth 4 currmove d8e8 currmovenumber 4/38 nodes 8275 time 15
    info depth 4 currmove d8c7 currmovenumber 5/38 nodes 11264 time 15
    info depth 4 currmove d8b6 currmovenumber 6/38 nodes 14895 time 15
    info depth 4 currmove d8a5 currmovenumber 7/38 nodes 17901 time 31
    info depth 4 currmove d8d7 currmovenumber 8/38 nodes 20524 time 31
    info depth 4 currmove d8e7 currmovenumber 9/38 nodes 24010 time 31
    info depth 4 currmove d8f6 currmovenumber 10/38 nodes 27546 time 31
    info depth 4 currmove d8g5 currmovenumber 11/38 nodes 31216 time 31
    info depth 4 currmove f8e8 currmovenumber 12/38 nodes 34575 time 31
    info depth 4 currmove g8h8 currmovenumber 13/38 nodes 37733 time 46
    info depth 4 currmove a7a6 currmovenumber 15/38 nodes 40172 time 46
    info depth 4 currmove a7a5 currmovenumber 16/38 nodes 42423 time 46
    info depth 4 currmove f7f6 currmovenumber 17/38 nodes 44587 time 46
    info depth 4 currmove f7f5 currmovenumber 18/38 nodes 46949 time 46
    info depth 4 currmove g7g6 currmovenumber 19/38 nodes 49502 time 46
    info depth 4 currmove g7g5 currmovenumber 20/38 nodes 51822 time 46
    info depth 4 currmove c6c5 currmovenumber 21/38 nodes 53451 time 62
    info depth 4 currmove d6c7 currmovenumber 22/38 nodes 55566 time 62
    info depth 4 currmove d6b8 currmovenumber 23/38 nodes 58129 time 62
    info depth 4 currmove d6e7 currmovenumber 24/38 nodes 60843 time 62
    info depth 4 currmove d6c5 currmovenumber 25/38 nodes 63475 time 62
    info depth 4 currmove d6b4 currmovenumber 26/38 nodes 66377 time 62
    info depth 4 currmove d6a3 currmovenumber 27/38 nodes 68953 time 62
    info depth 4 currmove d6e5 currmovenumber 28/38 nodes 71757 time 78
    info depth 4 currmove d6f4 currmovenumber 29/38 nodes 74079 time 78
    info depth 4 currmove d6g3 currmovenumber 30/38 nodes 76043 time 78
    info depth 4 currmove d6h2 currmovenumber 31/38 nodes 78330 time 78
    Found! (88257 nodes,time=0 sec)
    d6h2 g1h1 h2g3 h1g1 h4h1 g1h1 d8h4 h1g1 h4h2 #
    info depth 4 currmove h6h5 currmovenumber 32/38 nodes 88257 time 93
    info depth 4 currmove d5d4 currmovenumber 33/38 nodes 90607 time 93
    info depth 4 currmove h4h5 currmovenumber 34/38 nodes 92641 time 93
    info depth 4 currmove d8c8 currmovenumber 35/38 nodes 94512 time 93
    info depth 4 currmove h4h3 currmovenumber 36/38 nodes 97862 time 93
    info depth 4 currmove h4h2 currmovenumber 37/38 nodes 99925 time 93
    info depth 4 currmove h4h1 currmovenumber 38/38 nodes 101973 time 93
    Found (105698 nodes examined,time=0 sec)
    0>bsc#
    

  • test fichier.epd temps_réflexion_secondes nombres_positions: test un fichier EPD de positions. Le résultat de la recherche est inscrit dans le fichier bsc.log

  • hard, easy: réfléchi ou non lorsque c'est votre tour

  • book: désactive l'utilisation de la bibliothèque d'ouverture

  • xboard: switch en mode xboard pour Winboard

  • bye: quitte le programme

Les commandes en mode xboard ne sont pas expliquées. Elles sont conformes au protocole décrit par xboard.

5.5. Le fichier d'apprentissage

En activant l'option d'apprentissage, la ligne Learn file => bsc.lrn open (5000 entries) apparaît au démarrage du moteur d'échecs. La distribution est initialisée avec un fichier d'apprentissage à 5000 entrées. Le fichier d'apprentissage peut-être réinitialisé par la commande clear_learn_file.

0>bsc# clear_learn_file
Cleaning Learn File for 5000 entries...Done!
Learn file => bsc.lrn open (5000 entries)

Un nouveau fichier d'apprentissage peut également être crée par la commande create_learn_file n où n est le nombre d'entrée dans le fichier d'apprentissage.

0>bsc# create_learn_file 10000
Creating Learn File for 10000 entries...Done!

5.6. Le mode xboard avec Winboard

Winboard est une interface graphique permettant d'installer différents moteurs d'échecs. BSC supporte le protocole xboard.

Pour installer BSC avec Winboard, éditer le fichier winboard.ini et ajouter les lignes «  bsc /fd="C:\progra~1\winboard\bsc" » et «  bsc /sd="C:\progra~1\winboard\bsc" » dans les sections firstChessProgramNames et secondChessProgramNames.

Exemple 8. winboard.ini

/firstChessProgramNames={bsc  /fd="C:\progra~1\winboard\bsc"
"GNUChess -T 16000"
"wcrafty-18.10.exe hash 16000000 xboard" /fd="C:\progra~1\winboard\crafty"
Comet_b37 /fd="C:\progra~1\winboard\comet"
}
/secondChessProgramNames={bsc /sd="C:\progra~1\winboard\bsc"
"GNUChess -T 16000"
"wcrafty-18.10.exe hash 16000000 xboard" /sd="C:\progra~1\winboard\crafty"
Comet_b37 /sd="C:\progra~1\winboard\comet"
}

BSC supporte le mode analyse sous Winboard.

Figure 1. Mode analyse sous Winboard

Mode analyse sous Winboard

Dans la fenêtre d'analyse, vous voyez apparaître : la profondeur de recherche, le score de la recherche, l'analyse du coup N sur les coups possible, la meilleur variation, le temps mis pour trouver le meilleur coup, le pourcentage de réussite de recherche dans les tables de transposition, le nombre de positions analysées, le nombre de positions analysées par seconde.