Can someone help me here? Any engine that uses robbobases LOSES from this drawn position :
8/8/8/8/7p/3K4/6P1/3k4 w - - 3 70
E.g. try Fire vs Rybka 3 or 4 with tablebases -- R4 or R3 playing Black wins!
Is there something wrong with my Robbobases setup ... they work for everything else.
Robbobases error?
- kingliveson
- Posts: 1388
- Joined: Thu Jun 10, 2010 1:22 am
- Real Name: Franklin Titus
- Location: 28°32'1"N 81°22'33"W
Re: Robbobases error?
Definitely a bug some where. It is choosing g4 which is a loss instead of ke3.
Problematic file: COMP.KPKP
Problematic file: COMP.KPKP
PAWN : Knight >> Bishop >> Rook >>Queen
Re: Robbobases error?
I think the error is in the logic of the function RobboTotalBaseScore. It basically computes the Value from the TotalBase ignoring ep, and then if ep is present, computes the Value after making those moves. But it screws up the logic of win/loss here with the MAX function at the end, and should take a MIN instead (1=win, 2=draw, 3+=loss, so to get the best result, you take the MIN). Here it finds a win for the first Value (no ep present), but then replaces it with a draw from the second (after playing hxg3). I actually spot-checked many of their "TotalBases" against Nalimov at one point, so I think they are correct (EDIT: the positions with ep are not stored, but computed on the fly, so checking the files won't note the problem here). Looking more at this function, I think there are also some other errors with the win/loss comparison.Problematic file: COMP.KPKP
- kingliveson
- Posts: 1388
- Joined: Thu Jun 10, 2010 1:22 am
- Real Name: Franklin Titus
- Location: 28°32'1"N 81°22'33"W
Re: Robbobases error?
You are correct it's a logic problem. Stepping through the source (functions TotalBaseScore and RobboTotalBaseScore) -- changing *Value = MAX (*Value, vb) to *Value = MIN (*Value, vb) produced right result in this case.BB+ wrote:I think the error is in the logic of the function RobboTotalBaseScore. It basically computes the Value from the TotalBase ignoring ep, and then if ep is present, computes the Value after making those moves. But it screws up the logic of win/loss here with the MAX function at the end, and should take a MIN instead (1=win, 2=draw, 3+=loss, so to get the best result, you take the MIN). Here it finds a win for the first Value (no ep present), but then replaces it with a draw from the second (after playing hxg3). I actually spot-checked many of their "TotalBases" against Nalimov at one point, so I think they are correct (EDIT: the positions with ep are not stored, but computed on the fly, so checking the files won't note the problem here). Looking more at this function, I think there are also some other errors with the win/loss comparison.Problematic file: COMP.KPKP
- Attachments
-
- RobboBug.png (13.07 KiB) Viewed 2032 times
PAWN : Knight >> Bishop >> Rook >>Queen