Not logged inRybka Chess Community Forum
Up Topic Rybka Support & Discussion / Rybka Discussion / UCI bug with en passant
- - By Sesse (****) Date 2007-06-16 13:18
Hi,

It seems Rybka (at least the 2.1 demo -- the 1.0 beta doesn't exhibit the same problem) has problems with some FEN strings that contain en passant info but where no en passant move is possible. The simplest way to reproduce it seems to be:

* Start Rybka.
* Write "uci" and get the option list back.
* Input the position: "position fen
4r2k/5p2/1p5p/p1p3p1/P1Pp3P/1P2r1P1/5K2/2N4R b - h3 0 34
" (is there any way to make the forum not expand that into a chess board? =) )
* Make Rybka start calculating: "go infinite"

At this point, Rybka just gives up and says "bestmove a1a1". If I lie to it and say "-" instead of "h3" (ie. no en passant move), it works well. I can work around this in my frontend (I've written a custom mini-frontend for connecting Rybka to FICS for analysis), but based on my understanding of the FEN format, any double-pawn move should be noted in the FEN string, even those where there is no possible capturing pawn. Any ideas?

Oh, by the way, a native Linux port of Rybka would rock (and hopefully not be very hard, given that it's a console program? Unless there's lots of inline assembly or something, of course :-) ); the 32-bit version works fine in WINE, but the 64-bit version doesn't, and given the extra playing strength... :-)

/* Steinar */
Parent - - By dobrocinek (*) Date 2007-06-16 13:41
From the PGN Standard: Section 16

16.1.3.4: En passant target square
...
An en passant target square is given if and only if the last move was a pawn advance of two squares. Therefore, an en passant target square field may have a square name even if there is no pawn of the opposing side that may immediately execute the en passant capture.

it look like not only rybka problem:
Toga II 1.2 :
info time 8078 nodes 3080000 nps -1519875044794313100000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00 cpuload -1
info hashfull 484
info currmove e3f3 currmovenumber 28
info currmove e3e2 currmovenumber 29
info currmove e3e1 currmovenumber 30
info currmove e3d3 currmovenumber 31
info depth 15 seldepth 34 time 8172 nodes 3117197 nps -7456621325792102800000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000
info depth 16
info currmove g5g4 currmovenumber 1
info time 9078 nodes 3450000 nps -0 cpuload -1
info hashfull 527
info time 10078 nodes 3850000 nps -460297851342181840000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000 cpuload -1
info hashfull 569

also something funny. when i made me UCI/PGN implementation i was only putting en passant square info only when the capture is really possible and there was no probles....
Parent - By Sesse (****) Date 2007-06-16 13:45
Funny, I tested it with Toga II here (just forgot to write it), and it worked OK then. Perhaps just differences in compiles.

Anyhow, good to see that the standard is with me. :-)

/* Steinar */
Parent - - By Vasik Rajlich (Silver) Date 2007-06-18 07:03
You're right - Rybka is not UCI-compliant here. You missed the Rybka 2.3.2a release by a day or two, I will fix it for Rybka 3.

Re. Rybka for Linux - at some point, we'll do this. I need to find a place for it in the schedule. System calls need to be changed and tested, plus some documents and business support, etc.

Vas
Parent - - By Sesse (****) Date 2007-06-27 23:31
Thanks; good to know that it will be fixed; for now I'll just work around it. (I bought v2.3.2a eventually; much better than the 1.0 beta :-) )

As for the Linux port, I'd be happy to do it if you can't find the time, but I guess the work of separating out the chess engine from the rest of the code is more than simply doing it yourselves (I can not imagine you'd send the complete source code to an external party! :-) ). Another feature for the ever growing Rybka 3.x feature list, I'd guess...

/* Steinar */
Parent - By Vasik Rajlich (Silver) Date 2007-06-29 13:39
Yes. I'd also like to have some control over this, since bugs always come back to me :)

Vas
Up Topic Rybka Support & Discussion / Rybka Discussion / UCI bug with en passant

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill