Page 1 of 2

Cheese 2.1

Posted: Mon Jul 08, 2019 10:59 pm
by Patrice Duhamel
I released Cheese 2.1 :

http://cheesechess.free.fr/en/download.html

This is a bug fix version, maybe few ELO improvement.

Code: Select all

- fix initialization of UCI Strength in .ini file
- fix FEN parsing with FRC castling rights
- fix few problems with threads
- rewrite UCI & Xboard protocols code
- small optimizations and simplifications
- fix a problem with LMP
- increase LMR for non PV nodes	

Re: Cheese 2.1

Posted: Tue Jul 09, 2019 12:59 am
by supersharp77
Patrice Duhamel wrote: Mon Jul 08, 2019 10:59 pm I released Cheese 2.1 :

http://cheesechess.free.fr/en/download.html

This is a bug fix version, maybe few ELO improvement.

Code: Select all

- fix initialization of UCI Strength in .ini file
- fix FEN parsing with FRC castling rights
- fix few problems with threads
- rewrite UCI & Xboard protocols code
- small optimizations and simplifications
- fix a problem with LMP
- increase LMR for non PV nodes	
Thanks.....We LOVE Cheese!! :D :wink:

Re: Cheese 2.1

Posted: Tue Jul 09, 2019 1:36 pm
by Sergio Martinez
Thank you very much Patrice :)

Re: Cheese 2.1

Posted: Tue Jul 09, 2019 2:24 pm
by Scally
Thanks for the Raspberry Pi version, works a treat ...

Al.

Re: Cheese 2.1

Posted: Sun Jul 21, 2019 12:45 pm
by Ferdy
Patrice Duhamel wrote: Mon Jul 08, 2019 10:59 pm I released Cheese 2.1 :

http://cheesechess.free.fr/en/download.html

This is a bug fix version, maybe few ELO improvement.

Code: Select all

- fix initialization of UCI Strength in .ini file
- fix FEN parsing with FRC castling rights
- fix few problems with threads
- rewrite UCI & Xboard protocols code
- small optimizations and simplifications
- fix a problem with LMP
- increase LMR for non PV nodes	
It does not follow movetime command.
This is on UCI_elo 1500.

Examples.
Almost 3 sec from 1 sec.

Code: Select all

DEBUG:chess.engine:<UciProtocol (pid=5108)>: << position fen r1bq1rk1/pppnppb1/4P1p1/7p/2P3nP/2N2N2/PP2BPP1/R1BQK2R b KQ - 0 1
DEBUG:chess.engine:<UciProtocol (pid=5108)>: << go movetime 1000
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 1 seldepth 1 score cp 67 time 16 nodes 91 nps 5687 pv g7c3 b2c3 f7e6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 2 seldepth 3 score cp 67 time 47 nodes 1042 nps 22170 pv g7c3 b2c3 f7e6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 3 seldepth 5 score cp 13 time 265 nodes 5181 nps 19550 pv g7c3 b2c3 d7f6 d1d8 f8d8
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 4 seldepth 6 score cp 24 time 530 nodes 9634 nps 18177 pv g7c3 b2c3 f7e6 e1g1 c7c5
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 5 seldepth 7 score cp 28 time 1451 nodes 21886 nps 15083 pv f7e6 d1c2 f8f6 e1g1 e6e5
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 6 seldepth 9 score cp 6 time 2948 nodes 38297 nps 12990 pv g7c3 b2c3 f7e6 e1g1 d7e5 d1d4 d8d4 c3d4
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> bestmove g7c3

Almost 7 sec from 1 sec.

Code: Select all

DEBUG:chess.engine:<UciProtocol (pid=5108)>: << position fen 4n3/pp2k3/2n5/4pbR1/2B3p1/P3P3/1P3P2/3K4 b - - 0 1
DEBUG:chess.engine:<UciProtocol (pid=5108)>: << go movetime 1000
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 1 seldepth 1 score cp 127 time 16 nodes 42 nps 2625 pv e7f6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 2 seldepth 2 score cp 105 time 62 nodes 365 nps 5887 pv e8d6 g5g7 e7f6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 3 seldepth 4 score cp 128 time 218 nodes 1305 nps 5986 pv e8d6 c4b3 e7d8 g5g8 d8e7
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 4 seldepth 5 score cp 135 time 452 nodes 2506 nps 5544 pv e8d6 c4b3 e7f6 g5g8
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 5 seldepth 7 score cp 116 time 2137 nodes 10948 nps 5123 pv e8d6 c4d5 e7f6 g5g8 f5g6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8d6 currmovenumber 1
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7f6 currmovenumber 2
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5c8 currmovenumber 3
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6a5 currmovenumber 4
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5d7 currmovenumber 5
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove b7b5 currmovenumber 6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5e6 currmovenumber 7
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5e4 currmovenumber 8
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5h7 currmovenumber 9
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5b1 currmovenumber 10
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6d4 currmovenumber 11
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8f6 currmovenumber 12
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7d6 currmovenumber 13
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove a7a6 currmovenumber 14
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove a7a5 currmovenumber 15
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e5e4 currmovenumber 16
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6d8 currmovenumber 17
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove g4g3 currmovenumber 18
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7d8 currmovenumber 19
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8c7 currmovenumber 20
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6b8 currmovenumber 21
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7d7 currmovenumber 22
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6b4 currmovenumber 23
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7f8 currmovenumber 24
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5c2 currmovenumber 25
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove b7b6 currmovenumber 26
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5d3 currmovenumber 27
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5g6 currmovenumber 28
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8g7 currmovenumber 29
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 6 seldepth 8 score cp 115 time 3229 nodes 15795 nps 4891 pv e8d6 c4d5 e7f6 g5g8 c6e7 g8f8 f6g5
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 7
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8d6 currmovenumber 1
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7f6 currmovenumber 2
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5c8 currmovenumber 3
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6a5 currmovenumber 4
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5d7 currmovenumber 5
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove b7b5 currmovenumber 6
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5e6 currmovenumber 7
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5e4 currmovenumber 8
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5h7 currmovenumber 9
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5b1 currmovenumber 10
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6d4 currmovenumber 11
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8f6 currmovenumber 12
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7d6 currmovenumber 13
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove a7a6 currmovenumber 14
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove a7a5 currmovenumber 15
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e5e4 currmovenumber 16
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6d8 currmovenumber 17
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove g4g3 currmovenumber 18
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7d8 currmovenumber 19
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8c7 currmovenumber 20
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6b8 currmovenumber 21
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7d7 currmovenumber 22
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove c6b4 currmovenumber 23
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e7f8 currmovenumber 24
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5c2 currmovenumber 25
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove b7b6 currmovenumber 26
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5d3 currmovenumber 27
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove f5g6 currmovenumber 28
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8g7 currmovenumber 29
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 7 seldepth 10 score cp 132 time 6723 nodes 30073 nps 4473 pv e8d6 c4b3 e7f6 g5g8 f5g6 d1e2 b7b5
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info depth 8
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> info currmove e8d6 currmovenumber 1
DEBUG:chess.engine:<UciProtocol (pid=5108)>: >> bestmove e8d6

Re: Cheese 2.1

Posted: Sat Jul 27, 2019 12:52 pm
by Patrice Duhamel
Ferdy wrote: Sun Jul 21, 2019 12:45 pm
It does not follow movetime command.
This is on UCI_elo 1500.
I was not able to answer before, (holidays and no internet connexion).

This problem happens only when using UCI_ELO ?
Are you using Windows or Linux version ?

Thanks.

Re: Cheese 2.1

Posted: Sat Jul 27, 2019 1:21 pm
by Ferdy
Patrice Duhamel wrote: Sat Jul 27, 2019 12:52 pm
Ferdy wrote: Sun Jul 21, 2019 12:45 pm
It does not follow movetime command.
This is on UCI_elo 1500.
I was not able to answer before, (holidays and no internet connexion).

This problem happens only when using UCI_ELO ?
Are you using Windows or Linux version ?

Thanks.
I am using windows.

Re: Cheese 2.1

Posted: Sat Jul 27, 2019 4:39 pm
by Patrice Duhamel
Ferdy wrote: Sat Jul 27, 2019 1:21 pm I am using windows.
I try your examples and other potions and I can't reproduce the problem.

Can you tell me if you can reproduce this problem every time, and if it only appear in Cheese version 2.1 ?

In my code I increase a number at the begining of the search function, and I test search time when
the counter is > 30000, UCI Elo use only Sleep of 20 ms (every X nodes), I don't understand what is wrong.

Re: Cheese 2.1

Posted: Sun Jul 28, 2019 1:32 am
by Ferdy
Patrice Duhamel wrote: Sat Jul 27, 2019 4:39 pm
Ferdy wrote: Sat Jul 27, 2019 1:21 pm I am using windows.
I try your examples and other potions and I can't reproduce the problem.

Can you tell me if you can reproduce this problem every time, and if it only appear in Cheese version 2.1 ?

In my code I increase a number at the begining of the search function, and I test search time when
the counter is > 30000, UCI Elo use only Sleep of 20 ms (every X nodes), I don't understand what is wrong.
I run Cheese 2.1 from my script that uses python-chess module, analyzing 5k positions, the log I showed is from it. I was curious at that time why other engines were already finished but Chesse was still analyzing.

go movetime seems problematic (madchess too, other engines are OK), probably python-chess is also part of the problem. Just ignore this report if you cannot reproduce it.

I am now using go wtime btime ... currently for Cheese. Time spent is not perfect but is enough for my needs.

Code: Select all

2019-07-28 07:16:02,296 :: DEBUG :: <UciProtocol (pid=3640)>: << ucinewgame
2019-07-28 07:16:02,296 :: DEBUG :: <UciProtocol (pid=3640)>: << isready
2019-07-28 07:16:02,324 :: DEBUG :: <UciProtocol (pid=3640)>: >> readyok
2019-07-28 07:16:02,324 :: DEBUG :: <UciProtocol (pid=3640)>: << position fen 8/P7/1K1n2p1/6k1/8/r7/5P1p/2R5 w - - 0 1
2019-07-28 07:16:02,325 :: DEBUG :: <UciProtocol (pid=3640)>: << go wtime 1000 btime 1000 winc 0 binc 0 movestogo 1
2019-07-28 07:16:02,325 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 1 seldepth 1 score cp -266 time 16 nodes 53 nps 3312 pv c1h1
2019-07-28 07:16:02,346 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 2 seldepth 4 score cp -251 time 32 nodes 489 nps 15281 pv c1h1 a3b3 b6c6
2019-07-28 07:16:02,346 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 3 seldepth 5 score cp -244 time 32 nodes 1503 nps 46968 pv c1h1 d6c4 b6b7 a3b3 b7c6
2019-07-28 07:16:02,377 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 4 seldepth 7 score cp -269 time 63 nodes 5113 nps 81158 pv c1h1 d6c8 b6b7 c8a7 h1h2
2019-07-28 07:16:02,408 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 5 seldepth 8 score cp -276 time 94 nodes 10729 nps 114138 pv c1h1 d6c8 b6c5 c8a7 h1h2 a7c8
2019-07-28 07:16:02,594 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 6 seldepth 10 score cp -272 time 281 nodes 40022 nps 142427 pv c1h1 d6c8 b6b7 c8a7 h1h2 a7b5 b7b6
2019-07-28 07:16:02,762 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 7 seldepth 12 score cp -268 time 437 nodes 62442 nps 142887 pv c1h1 d6c8 b6c7 c8a7 h1h2 a7b5 c7b6 b5d6 h2h7
2019-07-28 07:16:03,227 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 8 seldepth 14 score cp -268 time 905 nodes 131708 nps 145533 pv c1h1 d6c8 b6b7 c8a7 h1h2 a7b5 b7c6
2019-07-28 07:16:03,227 :: DEBUG :: <UciProtocol (pid=3640)>: >> bestmove c1h1
2019-07-28 07:16:03,229 :: DEBUG :: <UciProtocol (pid=3640)>: << ucinewgame
2019-07-28 07:16:03,229 :: DEBUG :: <UciProtocol (pid=3640)>: << isready
2019-07-28 07:16:03,250 :: DEBUG :: <UciProtocol (pid=3640)>: >> readyok
2019-07-28 07:16:03,250 :: DEBUG :: <UciProtocol (pid=3640)>: << position fen 2k3r1/pp6/2pq4/3p2rp/2nP1Q2/P1N3Pb/1PP1KP2/R3R3 w - - 0 1
2019-07-28 07:16:03,250 :: DEBUG :: <UciProtocol (pid=3640)>: << go wtime 1000 btime 1000 winc 0 binc 0 movestogo 1
2019-07-28 07:16:03,250 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 1 seldepth 1 score cp -194 time 16 nodes 116 nps 7250 pv f4d6 c4d6
2019-07-28 07:16:03,281 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 2 seldepth 3 score cp -194 time 32 nodes 490 nps 15312 pv f4d6 c4d6
2019-07-28 07:16:03,364 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 3 seldepth 4 score cp -189 time 110 nodes 1630 nps 14818 pv f4d6 c4d6 e2d1 h3g4 d1d2
2019-07-28 07:16:03,648 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 4 seldepth 7 score cp -201 time 390 nodes 3647 nps 9351 pv f4d6 c4d6 e2d3 h3f5 d3d2 d6c4 d2c1
2019-07-28 07:16:04,199 :: DEBUG :: <UciProtocol (pid=3640)>: >> info depth 5 seldepth 8 score cp -219 time 952 nodes 10249 nps 10765 pv f4d6 c4d6 e2d3 h3f5 d3d2 c8b8
2019-07-28 07:16:04,199 :: DEBUG :: <UciProtocol (pid=3640)>: >> bestmove f4d6


Re: Cheese 2.1

Posted: Sun Jul 28, 2019 11:54 am
by Patrice Duhamel
Ferdy wrote: Sun Jul 28, 2019 1:32 am I am now using go wtime btime ... currently for Cheese. Time spent is not perfect but is enough for my needs.
Thanks, I will try with your script to see if I can reproduce it when I have some time.