Interesting position from Jouni Uski

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Interesting position from Jouni Uski

Post by bob »

Alessandro Scotti wrote:I have tried again with the same commands posted above and obtained the same result you posted (i.e. correct mate found)... who knows what I did when I tried that for the first time! :shock:
OK. To the best of my knowledge I haven't had an EP bug in many years. Except for the cases where a GUI fails to properly set the EP square and pass it to Crafty...
MartinBryant

Re: Interesting position from Jouni Uski

Post by MartinBryant »

This is definitely a GUI problem.

If you run the Colossus exe standalone and give it the commands...

position fen 5K2/8/2qk4/2nPp3/3r4/6B1/B7/3R4 w - e6 0 0
go infinite

...it announces...

bestmove d5e6

...immediately.

I tried this in Fritz 10 GUI and although Fritz 10 passes the correct 'position' command to the UCI engine, when the engine responds with the 'bestmove' command, Fritz just ignores it like it's an illegal move.
Also if you use the Fritz 10 engine, it ignores the ep square altogether and wants to play Bxe5+
I'd bet that if this came up in a game then the GUI would handle it all correctly, it's just a FEN processing bug.
GeoffW

Re: Interesting position from Jouni Uski

Post by GeoffW »

Hi Bob

I am intrigued now, lets have another peek at what is going on with Crafty on my setup. (Single CPU P4, WinXp, Chess Arena 1.1)

I know the later Chess Arena betas, have fen bugs, but as far as I am aware 1.1 is OK.

I forget which version of Crafty I originally tried so I downloaded it again. I got the 20.14 BH version

What I am seeing now is that if I try to start Crafty analysing this position I get no output coming back at all !

here is the debug, I cant spot anything obviously wrong with what Arena is sending

961813>1:new
961813>1:random
961813>1:level 0 45 5
961828<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
961828<1:tellicsnoalias set 1 Crafty v20.14 BH (1 cpus)
961875>1:post
961875>1:hard
961875>1:easy
961875>1:ping 3
961907<1:pong 3
961985>1:name GeoffW1
961985>1:force
961985>1:setboard 5K2/8/2qk4/2nPp3/3r4/6B1/B7/3R4 w - e6 0 1
981547>1:analyze
981547<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
981547<1:Analyze Mode: type "exit" to terminate.
982938>1:.
982938<1:stat01: 0 0 0 0 0
983938>1:.
983938<1:stat01: 0 0 0 0 0
984938>1:.
984938<1:stat01: 0 0 0 0 0
985938>1:.
985938<1:stat01: 0 0 0 0 0
986938>1:.
986938<1:stat01: 0 0 0 0 0
987938>1:.
987938<1:stat01: 0 0 0 0 0
988938>1:.
990016>1:exit
990219>1:force

If I now manually edit the position so that I clear the ep square, it analyses as expected, here is the debug

1166860>1:new
1166860>1:random
1166860>1:level 0 45 5
1166891<1:tellicsnoalias set 1 Crafty v20.14 BH (1 cpus)
1166922>1:post
1166922>1:hard
1166922>1:easy
1166922>1:ping 1
1166953<1:pong 1
1167047>1:name Crafty
1167110>1:new
1167110>1:random
1167110>1:level 0 45 5
1167125<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
1167125<1:tellicsnoalias set 1 Crafty v20.14 BH (1 cpus)
1167172>1:post
1167172>1:hard
1167172>1:easy
1167172>1:ping 2
1167188<1:pong 2
1167282>1:name Crafty
1167282>1:force
1167282>1:setboard 5K2/8/2qk4/2nPp3/3r4/6B1/B7/3R4 w - - 0 1
1213266>1:analyze
1213266<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
1213266<1:Analyze Mode: type "exit" to terminate.
1213407<1: 11 1 13 214017 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8
1213532<1: 12 1 27 435650 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+
1213594<1: 12 1 33 531365 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+
1213860<1: 13 1 60 1025611 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5
1214000<1: 13 1 74 1236142 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5
1214719<1: 14 1 146 2544879 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5 10. Kh8
1214907>1:.
1214922<1:stat01: 166 2881853 14 16 23
1215032<1: 14 1 175 3039902 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5 10. Kh8
1215391>1:exit
1215594>1:force

On that evidence I would still say looks like a Crafty Bug, but I am sure I will be corrected if someone spots a mistake by me or Arena's Winboard protocol :D

Geoff
GeoffW

Re: Interesting position from Jouni Uski

Post by GeoffW »

Hi Martin

Here is the debug for Colossus running on Arena. I am not really that familiar with UCI protocol, maybe you can see something wrong with Arena's output ?

1554500>1:isready
1554532<1:readyok
1554610>1:ucinewgame
1554610>1:isready
1554672<1:readyok
1554719>1:position fen 5K2/8/2qk4/2nPp3/3r4/6B1/B7/3R4 w - e6 0 1
1554719>1:go infinite
1554750<1:info depth 1 seldepth 1
1554766<1:info currmovenumber 25
1554766<1:info depth 1 currmove d5c6 currmovenumber 1 nodes 0 time 1
1554766<1:info depth 1 score cp -174 pv d5c6 d4d1
1554766<1:info depth 1 currmove g3e5 currmovenumber 2 nodes 4 time 1
1554766<1:info depth 1 score cp -114 pv d1d4
1554766<1:info depth 1 currmove a2b3 currmovenumber 4 nodes 18 time 1
1554766<1:info depth 1 currmove f8f7 currmovenumber 23 nodes 168 time 17
1554766<1:info depth 1 nps 10352 nodes 176 time 17
1554766<1:info depth 2 seldepth 7
1554766<1:info depth 2 currmove d1d4 currmovenumber 1 nodes 176 time 17
1554782<1:info score cp -160 upperbound
1554782<1:info depth 2 currmove d5c6 currmovenumber 1 nodes 290 time 17
1554782<1:info depth 2 score cp -174 pv d5c6 d4d1
1554782<1:info depth 2 currmove g3e5 currmovenumber 2 nodes 315 time 17
1554782<1:info depth 2 currmove g3f4 currmovenumber 23 nodes 361 time 17
1554782<1:info depth 2 nps 21294 nodes 362 time 17
1554782<1:info depth 3 seldepth 7
1554782<1:info depth 3 currmove d5c6 currmovenumber 1 nodes 362 time 17
1554782<1:info depth 3 score cp -160 pv d5c6 d4d1 a2c4
1554782<1:info depth 3 currmove g3e5 currmovenumber 2 nodes 591 time 17
1554782<1:info depth 3 score cp 94 lowerbound pv g3e5
1554797<1:info depth 3 currmove g3e5 currmovenumber 1 nodes 652 time 17
1554797<1:info depth 3 score cp -2 pv g3e5 d6e5 d1e1 e5d6 d5c6 d6c6
1554797<1:info depth 3 currmove d5c6 currmovenumber 2 nodes 845 time 17
1554797<1:info depth 3 currmove g3f4 currmovenumber 23 nodes 1014 time 17
1554797<1:info depth 3 nps 60000 nodes 1020 time 17
1554797<1:info depth 4 seldepth 11
1554797<1:info depth 4 currmove g3e5 currmovenumber 1 nodes 1020 time 17
1554797<1:info depth 4 score cp -2 pv g3e5 d6e5 d1e1 e5d6 d5c6 d6c6
1554797<1:info depth 4 currmove d5c6 currmovenumber 2 nodes 1569 time 33
1554797<1:info depth 4 currmove g3f4 currmovenumber 23 nodes 1849 time 33
1554797<1:info depth 4 nps 56090 nodes 1851 time 33
1554797<1:info depth 5 seldepth 12
1554813<1:info depth 5 currmove g3e5 currmovenumber 1 nodes 1851 time 33
1554813<1:info depth 5 score cp -10 pv g3e5 d6e5 d1e1 e5d6 d5c6 d4f4 a2f7 d6c6
1554813<1:info depth 5 currmove d5c6 currmovenumber 2 nodes 4076 time 64
1554813<1:info depth 5 currmove g3f4 currmovenumber 23 nodes 4356 time 64
1554813<1:info depth 5 nps 68125 nodes 4360 time 64
1554813<1:info depth 6 seldepth 14
1554828<1:info depth 6 currmove g3e5 currmovenumber 1 nodes 4360 time 64
1554828<1:info depth 6 score cp 16 lowerbound pv g3e5
1554828<1:info depth 6 currmove g3e5 currmovenumber 1 nodes 8024 time 64
1554828<1:info depth 6 score cp 16 pv g3e5 d6e5 d1e1 e5d6 d5c6 d4f4 f8e8 d6c6 a2d5 c6c7

As you can see, Colossus is missing the mate, but you can see Arena has told it the ep square is e6.

Operator bug ?, Arena Bug ?, Chess Engine bug ?, jury is still out I reckon !

Hope it is not an operator bug, but wouldnt be the first time :D

Geoff
MartinBryant

Re: Interesting position from Jouni Uski

Post by MartinBryant »

Well this is really wierd, coz I just ran up Arena, selected Colossus as the engine, pasted the FEN, told it to 'Analyze Now!' and it found d5xe6 no problem!

I am using Arena 1.1 Build 1847

Here's the debug window output...

Arena 1.1
3313**-------------NewGame!!!-------------
46985*1*----------------------Starting engine 1 Colossus2006f-----------------------
46985*1*Configured Engine 1 Type: UCI
47125*1*Engine 1 dir: E:\Developer\Games\UGIConsoles\CC2006f\2006f
47188*1*Engine 1 commandline: E:\Developer\Games\UGIConsoles\CC2006f\2006f\Colossus2006f.exe
47641>1:uci
47704<1:id name Colossus 2006f
47704<1:id author Martin Bryant
47704<1:option name Hash type spin default 32 min 1 max 2048
47704<1:option name Ponder type check default false
47704<1:option name Clear Hash type button
47704<1:option name Static Evaluation type button
47704<1:option name Contempt type spin default 0 min -150 max 150
47704<1:option name NalimovPath type string
47704<1:option name NalimovCache type spin default 1 min 1 max 256
47704<1:uciok
47907>1:setoption name Hash value 64
47907>1:setoption name NalimovPath value C:\TB
47907>1:setoption name NalimovCache value 16
47907>1:isready
48438<1:readyok
49125>1:isready
49157<1:readyok
49282>1:ucinewgame
49282>1:isready
49438<1:readyok
49438>1:position fen 5K2/8/2qk4/2nPp3/3r4/6B1/B7/3R4 w - e6 0 1
49438>1:go infinite
49532<1:info depth 1 seldepth 1
49532<1:info depth 2 seldepth 7
49532<1:info depth 3 seldepth 7
49532<1:info depth 4 seldepth 7
49532<1:info depth 4 time 1 nodes 303 score mate 1 pv d5e6
49532<1:info depth 4 nps 304000 nodes 304 time 1
49532<1:info depth 5 seldepth 7
49532<1:info depth 5 currmove d5e6 currmovenumber 1 nodes 304 time 1
49532<1:info depth 5 time 1 nodes 305 score mate 1 pv d5e6
49532<1:info depth 5 currmove g3f4 currmovenumber 24 nodes 306 time 1
49547<1:info depth 5 nps 306000 nodes 306 time 1
49547<1:info depth 6 seldepth 7
49547<1:info depth 6 currmove d5e6 currmovenumber 1 nodes 306 time 1
49547<1:info depth 6 time 1 nodes 307 score mate 1 pv d5e6
49547<1:info depth 6 currmove g3f4 currmovenumber 24 nodes 308 time 1
49547<1:info depth 6 nps 308000 nodes 308 time 1
49547<1:info depth 7 seldepth 7
49547<1:info depth 7 currmove d5e6 currmovenumber 1 nodes 308 time 1
49547<1:info depth 7 time 1 nodes 309 score mate 1 pv d5e6
49547<1:info depth 7 currmove g3f4 currmovenumber 24 nodes 310 time 1
49547<1:info depth 7 nps 310000 nodes 310 time 1
49547<1:bestmove d5e6
MartinBryant

Re: Interesting position from Jouni Uski

Post by MartinBryant »

Hang on...
what version of Colossus are you using there???
GeoffW

Re: Interesting position from Jouni Uski

Post by GeoffW »

Hi Martin

Yes puzzling isnt it, I am using Colossus version 2006b

Also I am using exactly same version of Arean as you Build 1847

Geoff
MartinBryant

Re: Interesting position from Jouni Uski

Post by MartinBryant »

Ah, well, now, maybe there WAS a bug way back then!!! :-)

Could you try it again with the latest version 2007a available at
http://www.colossus.demon.co.uk/chess/c ... essuci.htm
GeoffW

Re: Interesting position from Jouni Uski

Post by GeoffW »

Thanks for the updated link Martin

I didnt upgrade as your earlier 2006 version was easily good enough to give my prog a heavy thrashing :-(

The old version was the explanation, the 2007a version gets it right instantly. Mystery explained, for Colossus at least.

Geoff
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Interesting position from Jouni Uski

Post by bob »

GeoffW wrote:Hi Bob

I am intrigued now, lets have another peek at what is going on with Crafty on my setup. (Single CPU P4, WinXp, Chess Arena 1.1)

I know the later Chess Arena betas, have fen bugs, but as far as I am aware 1.1 is OK.

I forget which version of Crafty I originally tried so I downloaded it again. I got the 20.14 BH version

What I am seeing now is that if I try to start Crafty analysing this position I get no output coming back at all !

here is the debug, I cant spot anything obviously wrong with what Arena is sending

961813>1:new
961813>1:random
961813>1:level 0 45 5
961828<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
961828<1:tellicsnoalias set 1 Crafty v20.14 BH (1 cpus)
961875>1:post
961875>1:hard
961875>1:easy
961875>1:ping 3
961907<1:pong 3
961985>1:name GeoffW1
961985>1:force
961985>1:setboard 5K2/8/2qk4/2nPp3/3r4/6B1/B7/3R4 w - e6 0 1
981547>1:analyze
981547<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
981547<1:Analyze Mode: type "exit" to terminate.
982938>1:.
982938<1:stat01: 0 0 0 0 0
983938>1:.
983938<1:stat01: 0 0 0 0 0
984938>1:.
984938<1:stat01: 0 0 0 0 0
985938>1:.
985938<1:stat01: 0 0 0 0 0
986938>1:.
986938<1:stat01: 0 0 0 0 0
987938>1:.
987938<1:stat01: 0 0 0 0 0
988938>1:.
990016>1:exit
990219>1:force

If I now manually edit the position so that I clear the ep square, it analyses as expected, here is the debug

1166860>1:new
1166860>1:random
1166860>1:level 0 45 5
1166891<1:tellicsnoalias set 1 Crafty v20.14 BH (1 cpus)
1166922>1:post
1166922>1:hard
1166922>1:easy
1166922>1:ping 1
1166953<1:pong 1
1167047>1:name Crafty
1167110>1:new
1167110>1:random
1167110>1:level 0 45 5
1167125<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
1167125<1:tellicsnoalias set 1 Crafty v20.14 BH (1 cpus)
1167172>1:post
1167172>1:hard
1167172>1:easy
1167172>1:ping 2
1167188<1:pong 2
1167282>1:name Crafty
1167282>1:force
1167282>1:setboard 5K2/8/2qk4/2nPp3/3r4/6B1/B7/3R4 w - - 0 1
1213266>1:analyze
1213266<1:tellicsnoalias kibitz Hello from Crafty v20.14 BH!
1213266<1:Analyze Mode: type "exit" to terminate.
1213407<1: 11 1 13 214017 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8
1213532<1: 12 1 27 435650 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+
1213594<1: 12 1 33 531365 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+
1213860<1: 13 1 60 1025611 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5
1214000<1: 13 1 74 1236142 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5
1214719<1: 14 1 146 2544879 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5 10. Kh8
1214907>1:.
1214922<1:stat01: 166 2881853 14 16 23
1215032<1: 14 1 175 3039902 1. Bxe5+ Kxe5 2. Re1+ Kd6 3. dxc6 Kxc6 4. Kg8 Rd8+ 5. Kh7 Nd7 6. Bf7 Nf6+ 7. Kg7 Ng4 8. Re8 Rxe8 9. Bxe8+ Kc5 10. Kh8
1215391>1:exit
1215594>1:force

On that evidence I would still say looks like a Crafty Bug, but I am sure I will be corrected if someone spots a mistake by me or Arena's Winboard protocol :D

Geoff
What is happening is that you get no analysis output. The search stops after 4 plies since a mate was found in every search. With so few nodes searched, the output is not produced...

add "noise 0" to your crafty.rc and you will see the actual analysis starting at ply=1. This "noise" feature was added 10 years ago to stop output from scrolling the screen wildly when playing tournaments. The first N plies take no time and seeing that analysis is not so interesting...

Crafty sees the mate just fine. It just doesn't display any output since the default "noise" value is higher than the node count produced by the 1-2-3-4 ply searches before it quits.