CT800 V1.40 released

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

CT800 V1.40 released

Post by Ras »

A new release V1.40 of the CT800 engine is available! The engine should go well into the CCRL 2300 range.

The changes are:
  • More aggressive pruning in search.
  • Increased value of rook vs. minor and pawns if both sides have pawns.
  • Improved handling of king and queen vs. king and rook.
  • Compressed the bitbase for king and pawn vs. king from 32 kB to 24 kB.
  • The mate searching mode is about 30% faster.
  • More opening book knowledge.
  • Improved protection against false opening book hits.
  • Added option for aggregate castling rights in the position editor of the microcontroller version.
Download: https://www.ct800.net/download.htm


Here are two games of V1.40 (microcontroller version) vs. Mephisto Berlin Pro London (68020, 24 MHz), both at 30 minutes per game. The CT800 without overclocking.

The CT800 with Black opts for Modern Defence, and the BLP goes for the f2-f4 attack. The CT800 holds its ground and undermines White's pawn centre as intended. White doesn't get around to castling, but Black's king position isn't exactly a low-energy house, either. At the end of a wild game where both sides overlook possible advantages, the BLP heads for draw by threefold repetition through perpetual check.

In the rematch, the CT800 has White and chooses the pretty rare f2-f3 side variant of the Trompovsky attack, still from the embedded opening book. White castles long, Black short. White unleashes a pawn storm. The BLP, losing ground, tries a centre pawn sacrifice to get some counterplay, but White's attack is already too strong. A queen exchange lets Black fend off mate, but not the white passed pawns, and the BLP resigns.

That were the first two test games of V1.40, and not only that the CT800 has reached its first draw against the BLP, but even a win.

[pgn]
[Date "2020.04.04"]
[White "Mephisto Berlin London Pro"]
[Black "CT800"]
[WhiteElo "2281"]
[TimeControl "1800"]
[ECO "B06"]
[Result "1/2-1/2"]

1. e4 g6 2. d4 d6 3. Nc3 Bg7 4. f4 Nc6 5. Nf3 Bg4 6. Bb5
Bxf3 7. gxf3 a6 8. Bxc6+ bxc6 9. Be3 Rb8 10. Rb1 Nf6
11. Rg1 O-O 12. f5 e6 13. fxe6 fxe6 14. Bg5 Qe8 15. Qd3 Nd7
16. Ne2 c5 17. c3 cxd4 18. cxd4 c5 19. Qxa6 cxd4 20. Qxd6
Be5 21. Qa3 Ra8 22. Qb3 Bxh2 23. Rg2 Be5 24. Rd1 Qf7 25. f4
Rfb8 26. Qh3 Bg7 27. Nxd4 Nc5 28. b3 Nxe4 29. Re2 Nc5
30. Nc6 Rb5 31. Rh2 h5 32. Rd8+ Rxd8 33. Nxd8 Qe8 34. Qe3
e5 35. a4 Rxb3 36. Qxc5 exf4+ 37. Be7 Bc3+ 38. Kf1 Rb1+
39. Kg2 Rb2+ 40. Kh1 Rb1+ 41. Kg2 Qd7 42. Qc4+ Kh7 43. Qf7+
Bg7 44. Rxh5+ gxh5 45. Qxh5+ Kg8 46. Qf7+ Kh7 47. Qh5+ Bh6
48. Qf7+ Bg7 49. Qh5+ 1/2-1/2
[/pgn]

[pgn]
[Date "2020.04.04"]
[White "CT800"]
[Black "Mephisto Berlin London Pro"]
[BlackElo "2281"]
[TimeControl "1800"]
[ECO "A45"]
[Result "1-0"]

1. d4 Nf6 2. Bg5 Ne4 3. Bf4 d5 4. f3 Nf6 5. Nc3 Bf5 6. Qd2
e6 7. O-O-O Bb4 8. g4 Bg6 9. h4 h6 10. h5 Bh7 11. a3 Ba5
12. Nh3 O-O 13. e3 c5 14. dxc5 Nc6 15. g5 d4 16. exd4 Bxc3
17. Qxc3 Nd5 18. Qd2 Nxf4 19. Qxf4 e5 20. dxe5 Qe7 21. gxh6
Qxc5 22. Bc4 Qxe5 23. Rhg1 Qxf4+ 24. Nxf4 Rfd8 25. Rxd8+
Rxd8 26. hxg7 Nd4 27. Bd5 Rxd5 28. Nxd5 Ne2+ 29. Kd2 Nxg1
30. h6 f5 31. Nf6+ Kf7 32. Nxh7 Nxf3+ 33. Kd1 f4 1-0
[/pgn]
Rasmus Althoff
https://www.ct800.net
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: CT800 V1.40 released

Post by Scally »

Hi Rasmus,

Thanks for the update, unfortunately your Raspberry Pi compile is missing a library:

Al@PicoChess:~/ct800-v1.40/binaries/Raspberry-Pi $ ./CT800_V1.40_x32
./CT800_V1.40_x32: /lib/arm-linux-gnueabihf/libc.so.6: version `GLIBC_2.28' not found (required by ./CT800_V1.40_x32)

However I was able to compile it myself using your code.


Thanks,

Al.
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: CT800 V1.40 released

Post by Ras »

Scally wrote: Sun Apr 05, 2020 7:23 pmThanks for the update, unfortunately your Raspberry Pi compile is missing a library:
Yes, I updated to the GCC 8 toolchain, targeting the current Raspbian Buster distro version from October 2019 because that supports also Raspi 3 and later. The previous compiles used GCC 4 targeting the Raspbian Wheezy distro version from July 2013.

Which distro version are you using? But good that at least the build script works.
Rasmus Althoff
https://www.ct800.net
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: CT800 V1.40 released

Post by Scally »

Thanks Rasmus,

Ah yes that makes sense, I didn’t try it on Buster. Most of our users are still using Raspbian Stretch, we are encouraging them to switch over, but I’m still compiling Engines on Stretch because of this.

Al.
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: CT800 V1.40 released

Post by Ras »

Scally wrote: Sun Apr 05, 2020 10:07 pmAh yes that makes sense, I didn’t try it on Buster.
Ah that's why. I used the opportunity to add a readme file to the Raspi binary folder in the download archive that describes the problem and the two possible solutions (distro update or build script), which will help people in troubleshooting. Thanks for the feedback! :D

Distributing Linux binaries... Torvalds already ranted about that at the DebConf all back in 2014.
Rasmus Althoff
https://www.ct800.net
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: CT800 V1.40 released

Post by CMCanavessi »

Nice! I'll run a gauntlet with 1.34 and 1.40 and compare.
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls
User avatar
Graham Banks
Posts: 41419
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: CT800 V1.40 released

Post by Graham Banks »

Nice surprise. :)
gbanksnz at gmail.com
Jamal Bubker
Posts: 326
Joined: Mon May 24, 2010 4:32 pm

Re: CT800 V1.40 released

Post by Jamal Bubker »

Thanks Rasmus for this new release ! 8-)
Gabor Szots
Posts: 1362
Joined: Sat Jul 21, 2018 7:43 am
Location: Szentendre, Hungary
Full name: Gabor Szots

Re: CT800 V1.40 released

Post by Gabor Szots »

I have started a gauntlet and first results are very promising.
Gabor Szots
CCRL testing group
User avatar
CMCanavessi
Posts: 1142
Joined: Thu Dec 28, 2017 4:06 pm
Location: Argentina

Re: CT800 V1.40 released

Post by CMCanavessi »

Some results with 1.32, 1.34 and 1.40. Same gauntlet for all, improvement for every version, but huge jump from 1.34 to 1.40 :mrgreen:

Code: Select all

    Engine                         Score          CT
01: CT800 V1.32 x64                99.0/248 ········ 
02: RattateChess 1.0 Nosferatu x32 7.0/8    11110111 
02: KnightX 1.92 x32               7.0/8    10111111 
02: Fruit 1.0 x32                  7.0/8    11011111 
02: Fruit 1.5 x32                  7.0/8    11011111 
02: Betsabe II 1.75 x32            7.0/8    11111101 
07: Absolute Zero 2.4.7.2 x64      6.5/8    11=10111 
07: RubiChess 0.8.1 x64            6.5/8    1110=111 
07: Betsabe II 1.84 x32            6.5/8    01=11111 
10: Dimitri 3.93 x32               6.0/8    =011=111 
10: Chispa 4.0.3 x32               6.0/8    10111110 
12: RubiChess 0.7 x64              5.5/8    110=0111 
13: Isa 2.0.61 x64                 5.0/8    0101=11= 
13: Popochin v4.0 x64              5.0/8    =011011= 
13: CPW-Engine 1.1 x64             5.0/8    0=0=1111 
13: Popochin v4.1 x64              5.0/8    11==0110 
13: EveAnn 1.72 x32                5.0/8    011=011= 
18: Baislicka v1.0 x64             4.5/8    =1101001 
18: Zevra v1.8.6 r672 x64          4.5/8    0111010= 
18: GopherCheck 0.2.3 x64          4.5/8    01010=11 
21: Zeus 1.29 x32                  4.0/8    11=000=1 
21: FORTRESS 1.6.2 x32             4.0/8    =10110=0 
21: Isa 2.0.64 x64                 4.0/8    01100110 
21: Paladin 0.1                    4.0/8    110==001 
25: Dumb 1.0 x64                   3.5/8    10000=11 
25: CmcChess 2.6 x64               3.5/8    =1001001 
27: Buzz 0.08 x64                  3.0/8    0=00=1== 
27: Kurt 0.9.2.2 x64               3.0/8    00000111 
27: FireFly v2.7.2 x64             3.0/8    0=0=1010 
30: Beowulf v2.4a x32              2.5/8    00100=01 
30: Dumb 1.1 x64                   2.5/8    010=0=0= 
32: Sungorus 1.4 x64               1.5/8    0000=001 

Code: Select all

    Engine                         Score           CT
01: CT800 V1.34 x64                104.0/248 ········ 
02: RubiChess 0.8.1 x64            7.5/8     1=111111 
02: Betsabe II 1.75 x32            7.5/8     1111111= 
04: Dimitri 3.93 x32               7.0/8     11111=1= 
04: Isa 2.0.61 x64                 7.0/8     11110111 
04: Betsabe II 1.84 x32            7.0/8     11=111=1 
07: Fruit 1.5 x32                  6.5/8     1110=111 
08: Paladin 0.1                    6.0/8     01111110 
09: FireFly v2.7.2 x64             5.5/8     =11=0=11 
10: Fruit 1.0 x32                  5.0/8     10110101 
10: Sungorus 1.4 x64               5.0/8     001111== 
10: Isa 2.0.64 x64                 5.0/8     01011101 
10: Zeus 1.29 x32                  5.0/8     00==1111 
10: Zevra v1.8.6 r672 x64          5.0/8     011=011= 
15: RubiChess 0.7 x64              4.5/8     =1110100 
15: RattateChess 1.0 Nosferatu x32 4.5/8     =11=0=10 
15: GopherCheck 0.2.3 x64          4.5/8     =1011100 
15: FORTRESS 1.6.2 x32             4.5/8     ==01110= 
15: EveAnn 1.72 x32                4.5/8     0101=110 
15: Popochin v4.0 x64              4.5/8     0=11=0=1 
21: Kurt 0.9.2.2 x64               4.0/8     011=00=1 
21: Absolute Zero 2.4.7.2 x64      4.0/8     0=111=00 
21: Dumb 1.0 x64                   4.0/8     10000111 
21: CmcChess 2.6 x64               4.0/8     =0====1= 
25: Baislicka v1.0 x64             3.5/8     =1010010 
25: Popochin v4.1 x64              3.5/8     00=10011 
25: Chispa 4.0.3 x32               3.5/8     0100110= 
25: CPW-Engine 1.1 x64             3.5/8     0=010011 
29: Beowulf v2.4a x32              3.0/8     =00100=1 
30: Dumb 1.1 x64                   2.0/8     01000010 
30: Buzz 0.08 x64                  2.0/8     11000000 
32: KnightX 1.92 x32               1.0/8     0000==00 

Code: Select all

    Engine                         Score           CT   
01: CT800 V1.40 x64                148.5/248 ········ 
02: Fruit 1.5 x32                  8.0/8     11111111 
03: RubiChess 0.8.1 x64            6.5/8     =0111111 
03: Betsabe II 1.84 x32            6.5/8     111=1101 
05: Zeus 1.29 x32                  5.0/8     01011==1 
06: Fruit 1.0 x32                  4.5/8     1110100= 
06: CPW-Engine 1.1 x64             4.5/8     01001=11 
06: Dumb 1.0 x64                   4.5/8     0111010= 
06: Betsabe II 1.75 x32            4.5/8     00011=11 
06: Sungorus 1.4 x64               4.5/8     100===11 
11: Kurt 0.9.2.2 x64               3.5/8     100=0011 
11: CmcChess 2.6 x64               3.5/8     100=0101 
11: Isa 2.0.61 x64                 3.5/8     11=00100 
14: Chispa 4.0.3 x32               3.0/8     00100101 
14: Popochin v4.0 x64              3.0/8     10010010 
14: Paladin 0.1                    3.0/8     01=0001= 
17: RubiChess 0.7 x64              2.5/8     010=0=0= 
17: Buzz 0.08 x64                  2.5/8     100=0100 
17: Absolute Zero 2.4.7.2 x64      2.5/8     0=100100 
17: EveAnn 1.72 x32                2.5/8     0=000101 
17: FORTRESS 1.6.2 x32             2.5/8     0110000= 
17: RattateChess 1.0 Nosferatu x32 2.5/8     000=0101 
17: Popochin v4.1 x64              2.5/8     010=1000 
24: Dumb 1.1 x64                   2.0/8     00100001 
24: KnightX 1.92 x32               2.0/8     00100100 
24: Isa 2.0.64 x64                 2.0/8     =00000=1 
24: Beowulf v2.4a x32              2.0/8     0=0=0010 
28: Zevra v1.8.6 r672 x64          1.5/8     10000=00 
28: FireFly v2.7.2 x64             1.5/8     00000=10 
30: GopherCheck 0.2.3 x64          1.0/8     10000000 
30: Dimitri 3.93 x32               1.0/8     01000000 
30: Baislicka v1.0 x64             1.0/8     00000001 

Ratings on my list:

Code: Select all

   # PLAYER                                   :  RATING  PLAYED    W    D    L   (%)  D(%)  OppAvg  OppN  OppDiv
 291 CT800 V1.40 x64                          :  2333.8     248  133   31   84    60    13  2260.7    31    31.0
 322 CT800 V1.34 x64                          :  2207.2     266   93   49  124    44    18  2252.3    34    33.9
 333 CT800 V1.30 x64                          :  2170.0     242   96   53   93    51    22  2165.1    37    33.7
 334 CT800 V1.32 x64                          :  2167.3     286   93   44  149    40    15  2242.9    39    38.2
 340 CT800 V1.20 x64                          :  2148.9     326   98   46  182    37    14  2304.5   116   100.1
 346 CT800 V1.12 x64                          :  2131.7     248   88   35  125    43    14  2213.1    86    75.0
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls