Cheese 2.1

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

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
CMCanavessi
Posts: 886
Joined: Thu Dec 28, 2017 3:06 pm
Location: Argentina

Re: Cheese 2.1

Post by CMCanavessi » Sat Dec 07, 2019 3:53 pm

Patrice Duhamel wrote:
Mon Jul 08, 2019 8: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	
Hi Patrice, I'm getting illegal moves in Arena when the game is about to end (and cheese is about to lose badly).
I played several games Vs. RubyChess 1.6 (which is waaaay stronger and almost always wins) and when the game is about to end and cheese is left with very few pieces, Arena will say "illegal move" and give the game to Ruby. Maybe worth investigating a bit. Games are being played with ponder on, 1 thread for each.

Code: Select all

Pairing 189/2016: RubiChess 1.6 x64  -  Cheese 2.1 x64
Round 1 of 2: RubiChess 1.6 x64  -  Cheese 2.1 x64
Game end: 1-0 {1-0 Arena Adjudication. Illegal move!}
Last game won by RubiChess 1.6 x64 with White in 73 moves
RubiChess 1.6 x64  -  Cheese 2.1 x64: 
   1 W 1    1,0:0,0        1,0:0,0       12:49:58      +M4    73 21,559 :15,000  1-0-0
Saving file F:\Chess\Arena Windows 3\Tournaments\208 - Entry League.pgn Round:1 2019.12.07 12:45:26
And here's the PGN for one of the games, maybe it helps you reproduce the behaviour

Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls

User avatar
CMCanavessi
Posts: 886
Joined: Thu Dec 28, 2017 3:06 pm
Location: Argentina

Re: Cheese 2.1

Post by CMCanavessi » Sat Dec 07, 2019 4:07 pm

Here's the last bits of the log from another game:

Code: Select all

9399141 <first : info depth 33 seldepth 64 multipv 1 time 2769 score mate 4 nodes 8594904 nps 3102920 tbhits 0 hashfull 1 pv c7c8q g8h7  c8f5  g7g6  f5g6  h7h8  a6a8  
29399141 <first : bestmove c7c8q ponder g8h7 
29399141*1*Found move:c7c8q
29399422 >first : position startpos moves e2e4 c7c5 c2c3 d7d5 e4d5 d8d5 d2d4 b8c6 g1f3 c8f5 d4c5 d5d1 e1d1 a8d8 d1e1 e7e5 b2b4 g8f6 f1b5 f5d7 c1e3 f6g4 b1d2 f8e7 h2h3 g4e3 f2e3 e8g8 b5c4 g8h8 e3e4 f7f5 c4d5 f5e4 d5e4 h8g8 e1e2 a7a5 b4b5 c6a7 a2a4 e7c5 e4d5 g8h8 d5b7 d7e6 h1f1 e6g8 f3g5 a7c8 g5e4 c5e7 f1f8 e7f8 b7c8 d8c8 a1c1 g8e6 c3c4 f8a3 c1c2 a3c5 e4c5 c8c5 b5b6 c5c8 c4c5 e6d5 d2b3 d5b3 b6b7 c8f8 c2b2 b3c4 e2d2 f8b8 c5c6 c4e6 b2b5 h7h6 b5e5 b8d8 d2c3 e6c8 b7b8q d8f8 b8d6 f8g8 d6g6 c8a6 e5a5 a6f1 c6c7 g8c8 a5a7 c8g8 g6e6 f1a6 a7a6 h8h7 e6g8 h7g8 c7c8q g8h7
29399485 >first : go ponder wtime 3146 btime 42315 winc 1000 binc 1000
29399485*2*Start calc, move no: 103
29399485 >second : ponderhit
29399485 <first : info depth 1 seldepth 1 multipv 1 time 0 score mate 3 nodes 1 nps 10101 tbhits 0 hashfull 0 pv c8f5  
29399485 <second : bestmove 0000 ponder c8f5
29399485*2*---------> Arena:Illegal move!: "0000 " (Feinprüfung)

This is wrong: "29399485 <second : bestmove 0000 ponder c8f5"
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls

User avatar
CMCanavessi
Posts: 886
Joined: Thu Dec 28, 2017 3:06 pm
Location: Argentina

Re: Cheese 2.1

Post by CMCanavessi » Sat Dec 07, 2019 4:39 pm

Just manually playing with it a bit:

Code: Select all

Cheese 2.1 (64 bits) by Patrice Duhamel
uci
id name Cheese 2.1 64 bits
id author Patrice Duhamel
option name Hash type spin default 4096 min 1 max 16384
option name Ponder type check default false
option name OwnBook type check default false
option name Book File type string default cheesebook-20.bin
option name Clear Hash type button
option name UsePersonality type check default false
option name PersonalityFile type string default personality/default.txt
option name UCI_Chess960 type check default false
option name MultiPV type spin default 1 min 1 max 32
option name NullMovePruning type check default true
option name LateMoveReduction type check default true
option name Threads type spin default 1 min 1 max 64
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 2700 min 1000 max 2700
option name DrawScore type spin default 0 min -100 max 100
uciok
position startpos moves e2e4 c7c5 c2c3 d7d5 e4d5 d8d5 d2d4 b8c6 g1f3 c8f5 d4c5 d5d1 e1d1 a8d8 d1e1 e7e5 b2b4 g8f6 f1b5 f5d7 c1e3 f6g4 b1d2 f8e7 h2h3 g4e3 f2e3 e8g8 b5c4 g8h8 e3e4 f7f5 c4d5 f5e4 d5e4 h8g8 e1e2 a7a5 b4b5 c6a7 a2a4 e7c5 e4d5 g8h8 d5b7 d7e6 h1f1 e6g8 f3g5 a7c8 g5e4 c5e7 f1f8 e7f8 b7c8 d8c8 a1c1 g8e6 c3c4 f8a3 c1c2 a3c5 e4c5 c8c5 b5b6 c5c8 c4c5 e6d5 d2b3 d5b3 b6b7 c8f8 c2b2 b3c4 e2d2 f8b8 c5c6 c4e6 b2b5 h7h6 b5e5 b8d8 d2c3 e6c8 b7b8q d8f8 b8d6 f8g8 d6g6 c8a6 e5a5 a6f1 c6c7 g8c8 a5a7 c8g8 g6e6 f1a6 a7a6
go ponder wtime 5084 btime 40493 winc 1000 binc 1000
info depth 1 seldepth 0 score cp -1717 time 16 nodes 69 nps 4312 pv h8h7 c7c8q g8c8 e6c8
info depth 2 seldepth 4 score cp -1717 time 16 nodes 425 nps 26562 pv g7g6 c7c8q g8c8 e6c8 h8h7
info depth 3 seldepth 5 score cp -1740 time 16 nodes 1203 nps 75187 pv h8h7 e6g8 h7g8 c7c8q g8h7 c8f5 h7h8
info depth 4 seldepth 8 score cp -2011 time 16 nodes 2438 nps 152375 pv h6h5 c7c8q g8c8 e6c8 h8h7 c8f5 g7g6 f5g6 h7h8 g6h5 h8g8
info depth 5 seldepth 10 score mate -5 time 16 nodes 13332 nps 833250 pv h8h7 e6g8 h7g8 c7c8q g8h7 c8f5 g7g6 f5g6 h7h8 a6a8
info depth 6 seldepth 10 score mate -5 time 16 nodes 25631 nps 1601937 pv h8h7 e6g8 h7g8 c7c8q g8h7 c8f5 g7g6 f5g6 h7h8 a6a8
bestmove h8h7
ponderhit
bestmove h8h7 ponder e6g8
position startpos moves e2e4 c7c5 c2c3 d7d5 e4d5 d8d5 d2d4 b8c6 g1f3 c8f5 d4c5 d5d1 e1d1 a8d8 d1e1 e7e5 b2b4 g8f6 f1b5 f5d7 c1e3 f6g4 b1d2 f8e7 h2h3 g4e3 f2e3 e8g8 b5c4 g8h8 e3e4 f7f5 c4d5 f5e4 d5e4 h8g8 e1e2 a7a5 b4b5 c6a7 a2a4 e7c5 e4d5 g8h8 d5b7 d7e6 h1f1 e6g8 f3g5 a7c8 g5e4 c5e7 f1f8 e7f8 b7c8 d8c8 a1c1 g8e6 c3c4 f8a3 c1c2 a3c5 e4c5 c8c5 b5b6 c5c8 c4c5 e6d5 d2b3 d5b3 b6b7 c8f8 c2b2 b3c4 e2d2 f8b8 c5c6 c4e6 b2b5 h7h6 b5e5 b8d8 d2c3 e6c8 b7b8q d8f8 b8d6 f8g8 d6g6 c8a6 e5a5 a6f1 c6c7 g8c8 a5a7 c8g8 g6e6 f1a6 a7a6 h8h7 e6g8
go ponder wtime 5073 btime 41326 winc 1000 binc 1000
info depth 1 seldepth 1 score mate -4 time 16 nodes 1 nps 62 pv h7g8
bestmove h7g8
ponderhit
bestmove h7g8 ponder 0000
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls

Guenther
Posts: 3280
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: Cheese 2.1

Post by Guenther » Sat Dec 07, 2019 4:58 pm

CMCanavessi wrote:
Sat Dec 07, 2019 4:07 pm
Here's the last bits of the log from another game:

Code: Select all

9399141 <first : info depth 33 seldepth 64 multipv 1 time 2769 score mate 4 nodes 8594904 nps 3102920 tbhits 0 hashfull 1 pv c7c8q g8h7  c8f5  g7g6  f5g6  h7h8  a6a8  
29399141 <first : bestmove c7c8q ponder g8h7 
29399141*1*Found move:c7c8q
29399422 >first : position startpos moves e2e4 c7c5 c2c3 d7d5 e4d5 d8d5 d2d4 b8c6 g1f3 c8f5 d4c5 d5d1 e1d1 a8d8 d1e1 e7e5 b2b4 g8f6 f1b5 f5d7 c1e3 f6g4 b1d2 f8e7 h2h3 g4e3 f2e3 e8g8 b5c4 g8h8 e3e4 f7f5 c4d5 f5e4 d5e4 h8g8 e1e2 a7a5 b4b5 c6a7 a2a4 e7c5 e4d5 g8h8 d5b7 d7e6 h1f1 e6g8 f3g5 a7c8 g5e4 c5e7 f1f8 e7f8 b7c8 d8c8 a1c1 g8e6 c3c4 f8a3 c1c2 a3c5 e4c5 c8c5 b5b6 c5c8 c4c5 e6d5 d2b3 d5b3 b6b7 c8f8 c2b2 b3c4 e2d2 f8b8 c5c6 c4e6 b2b5 h7h6 b5e5 b8d8 d2c3 e6c8 b7b8q d8f8 b8d6 f8g8 d6g6 c8a6 e5a5 a6f1 c6c7 g8c8 a5a7 c8g8 g6e6 f1a6 a7a6 h8h7 e6g8 h7g8 c7c8q g8h7
29399485 >first : go ponder wtime 3146 btime 42315 winc 1000 binc 1000
29399485*2*Start calc, move no: 103
29399485 >second : ponderhit
29399485 <first : info depth 1 seldepth 1 multipv 1 time 0 score mate 3 nodes 1 nps 10101 tbhits 0 hashfull 0 pv c8f5  
29399485 <second : bestmove 0000 ponder c8f5
29399485*2*---------> Arena:Illegal move!: "0000 " (Feinprüfung)

This is wrong: "29399485 <second : bestmove 0000 ponder c8f5"
Is there something missing in this debug snippet?
The calculation and the move Kh7 is not there and 281ms of no info can be seen between those two lines:

Code: Select all

29399141*1*Found move:c7c8q
29399422 >first :
A bestmove 0000 could be a reaction to an illegal position command too (from Arena in this case),
but there is no info there, as described above?
https://rwbc-chess.de/chronology.htm
--------------------------------------------------
The troll explosion at talkchess:
https://docs.google.com/spreadsheets/d/ ... KSptBx9AUs

User avatar
CMCanavessi
Posts: 886
Joined: Thu Dec 28, 2017 3:06 pm
Location: Argentina

Re: Cheese 2.1

Post by CMCanavessi » Sat Dec 07, 2019 5:26 pm

I think it's due to ponder. As I see in the changelog from 2.0 to 2.1 the whole uci thing was re-written. Maybe there's a bug around there? When ponder is on, Cheese can't lose any game, it will do illegal moves before it. With 2.0, this does not happen and works ok.

Here's more of the log and the pgn of the full game: https://pastebin.com/a0NGs8r3

I see a lot of these:

Code: Select all

29378610 <second : bestmove 0000 ponder a5a8
29378610*2*Bestmove was from pondersearch, ignoring
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls

Patrice Duhamel
Posts: 140
Joined: Sat May 25, 2013 9:17 am
Location: France
Full name: Patrice Duhamel
Contact:

Re: Cheese 2.1

Post by Patrice Duhamel » Sat Dec 07, 2019 5:31 pm

CMCanavessi wrote:
Sat Dec 07, 2019 3:53 pm
Hi Patrice, I'm getting illegal moves in Arena when the game is about to end (and cheese is about to lose badly).
I played several games Vs. RubyChess 1.6 (which is waaaay stronger and almost always wins) and when the game is about to end and cheese is left with very few pieces, Arena will say "illegal move" and give the game to Ruby. Maybe worth investigating a bit. Games are being played with ponder on, 1 thread for each.
Cheese send 'bestmove 0000' when there are no legal moves in the position.

This problem happens only with pondering ?

Thanks, I will look at this when I find some time.
Anything that can go wrong will go wrong.

User avatar
CMCanavessi
Posts: 886
Joined: Thu Dec 28, 2017 3:06 pm
Location: Argentina

Re: Cheese 2.1

Post by CMCanavessi » Sat Dec 07, 2019 5:35 pm

Patrice Duhamel wrote:
Sat Dec 07, 2019 5:31 pm
CMCanavessi wrote:
Sat Dec 07, 2019 3:53 pm
Hi Patrice, I'm getting illegal moves in Arena when the game is about to end (and cheese is about to lose badly).
I played several games Vs. RubyChess 1.6 (which is waaaay stronger and almost always wins) and when the game is about to end and cheese is left with very few pieces, Arena will say "illegal move" and give the game to Ruby. Maybe worth investigating a bit. Games are being played with ponder on, 1 thread for each.
Cheese send 'bestmove 0000' when there are no legal moves in the position.

This problem happens only with pondering ?

Thanks, I will look at this when I find some time.
I haven't tested with no pondering, but I guess that it would have been already catched by the many testers. The thing is that no-one besides me uses ponder to test, that's why I suspect about it. There were clearly legal moves in the previous games, and 2.0 works ok, so it must be something that changed between 2.0 and 2.1.
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls

Patrice Duhamel
Posts: 140
Joined: Sat May 25, 2013 9:17 am
Location: France
Full name: Patrice Duhamel
Contact:

Re: Cheese 2.1

Post by Patrice Duhamel » Mon Dec 09, 2019 6:41 pm

I found the problem, when the engine stop searching because it reaches maximum depth and receive ponderhit from the gui, the best move is not set.

But I have no time to release a new version soon, no progress, few problems to solve.
I will try to release a new version in 2020.
Anything that can go wrong will go wrong.

User avatar
CMCanavessi
Posts: 886
Joined: Thu Dec 28, 2017 3:06 pm
Location: Argentina

Re: Cheese 2.1

Post by CMCanavessi » Mon Dec 09, 2019 7:08 pm

Ok, it's great that you at least found the issue :mrgreen:
I'll wait for the new version, meanwhile Cheese 2.0 is doing ok in my lowest league. Around middle of the pack.
Follow my tournament and some Leela gauntlets live at http://twitch.tv/ccls

Post Reply