Winboard 4.8.0b and PolyGlot 2.0.3 adjudication issues

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

Moderators: hgm, Rebel, chrisw

Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Winboard 4.8.0b and PolyGlot 2.0.3 adjudication issues

Post by Ferdy »

Promote move is flagged as illegal but is not. I have 2 more cases like this so far. Verify engine claims and detect mates are set to ON.

67...Kc3 { -99.90/10 0.5 polyglot: resign (illegal engine move by white: g7g8) but bare king } 1/2-1/2
[d]8/5PPP/8/3K4/8/2k5/8/8 w - - 1 68

[pgn]
[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2015.02.22"]
[Round "4"]
[White "Lime_v66"]
[Black "Deuterium v15.1.35.83"]
[Result "1/2-1/2"]
[Annotator "11. +0.06 11... -0.15"]
[ECO "B88"]
[TimeControl "120+0"]

1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4 Nf6 5.Nc3 Nc6 6.Bc4 e6 7.Bb3 Be7 8.Be3 O-O 9.O-O Nxd4 10.Bxd4 Bd7 11.Bxf6 { +0.06/9 2.8 } 11...gxf6 { -0.15/18 4 } 12.Ba4 { +0.04/10 2.6 } 12...Bxa4 { -0.04/23 4 } 13.Nxa4 { +0.06/11 3 } 13...Qa5 { -0.03/21 7 } 14.Nc3 { +0.05/10 2.9 } 14...f5 { -0.02/18 3 } 15.Re1 { +0.09/9 1.9 } 15...Bf6 { -0.03/17 3 } 16.Qxd6 { +0.38/10 2.2 } 16...Bxc3 { -0.06/20 3 } 17.bxc3 { +0.45/10 2.1 } 17...Qxc3 { -0.05/19 3 } 18.exf5 { +0.48/10 1.7 } 18...exf5 { -0.06/19 3 } 19.Qe7 { +0.52/9 3 } 19...Qxc2 { -0.04/19 3 } 20.Qg5+ { +1.84/11 2.1 } 20...Kh8 { -0.01/3 } 21.Qf6+ { +1.97/11 1.6 } 21...Kg8 { +0.00/3 } 22.Re3 { +1.97/11 3 } 22...f4 { -1.49/23 2.9 } 23.Re5 { +2.07/11 1.9 } 23...h6 { -1.51/21 2.8 } 24.Qxh6 { +2.05/10 1.2 } 24...f6 { -1.44/21 2.7 } 25.Rh5 { +2.10/9 1.5 } 25...Rac8 { -1.46/17 5 } 26.Qh8+ { +3.29/9 1.5 } 26...Kf7 { -1.00/3 } 27.Rh7+ { +3.43/9 1.9 } 27...Ke6 { -6.07/19 7 } 28.Re1+ { +3.43/8 2.8 } 28...Kd5 { -6.37/18 4 } 29.Qg7 { +3.43/8 2.7 } 29...Rfd8 { -6.42/16 2.1 } 30.Qf7+ { +3.66/6 2.6 } 30...Kc5 { -6.46/17 2.0 } 31.Qc7+ { +4.87/7 2.0 } 31...Rxc7 { -6.46/16 1.9 } 32.Rxc7+ { +6.72/9 1.0 } 32...Kb5 { -6.50/17 4 } 33.Rxc2 { +6.82/11 1.9 } 33...Rd5 { -6.55/18 4 } 34.Rb2+ { +6.97/8 0.9 } 34...Ka6 { -6.66/20 1.6 } 35.Rb4 { +7.10/10 2.1 } 35...Rf5 { -6.59/18 1.6 } 36.Re6+ { +7.76/9 0.8 } 36...b6 { -7.39/20 1.5 } 37.Ra4+ { +7.70/10 1.8 } 37...Kb7 { -7.57/19 1.5 } 38.Re7+ { +7.70/9 2.2 } 38...Kc6 { -7.60/19 1.4 } 39.Raxa7 { +7.68/9 1.1 } 39...b5 { -7.61/19 2.1 } 40.Ra6+ { +7.99/8 1.2 } 40...Kc5 { -7.99/22 1.3 } 41.Rc7+ { +8.02/9 0.8 } 41...Kb4 { -8.53/24 4 } 42.h3 { +8.75/11 1.2 } 42...Rd5 { -8.89/18 1.7 } 43.Rxf6 { +9.32/11 1.0 } 43...Rd4 { -9.11/17 1.6 } 44.Rcf7 { +9.39/10 2.0 } 44...f3 { -9.15/17 1.0 } 45.Rf4 { +9.67/10 0.7 } 45...Rc4 { -9.14/13 1.0 } 46.Rxc4+ { +17.87/10 0.7 } 46...bxc4 { -14.79/17 1.0 } 47.g4 { +19.22/14 1.1 } 47...Ka3 { -17.94/17 1.4 } 48.Rb7 { +28.56/13 0.6 } 48...Kxa2 { -21.47/19 1.8 } 49.Kh2 { +31.27/16 1.8 } 49...c3 { -21.12/19 0.9 } 50.Kg3 { +36.87/13 1.7 } 50...c2 { -21.54/19 0.8 } 51.Rc7 { +36.84/16 0.6 } 51...Kb3 { -21.57/19 1.2 } 52.Kxf3 { +37.58/17 1.4 } 52...Kb2 { -21.54/19 0.8 } 53.Ke3 { +37.84/16 0.8 } 53...c1=Q+ { -21.87/17 0.8 } 54.Rxc1 { +37.81/20 1.4 } 54...Kxc1 { -22.03/17 0.7 } 55.f4 { +37.77/21 1.6 } 55...Kc2 { -21.91/16 0.7 } 56.Kd4 { +37.77/19 1.5 } 56...Kb3 { -99.80/18 1.7 } 57.f5 { +38.57/18 0.6 } 57...Kb4 { -99.84/17 0.6 } 58.h4 { +38.54/18 1.5 } 58...Kb5 { -99.80/15 0.6 } 59.Kd5 { +38.54/16 1.4 } 59...Kb4 { -99.78/15 0.6 } 60.g5 { +38.65/15 0.9 } 60...Kb5 { -99.82/13 0.6 } 61.f6 { +39.21/13 0.6 } 61...Kb4 { -99.84/14 0.6 } 62.h5 { +39.39/13 0.6 } 62...Kc3 { -99.82/12 0.5 } 63.h6 { +39.69/13 1.3 } 63...Kd3 { -99.86/11 0.5 } 64.g6 { +99.83/12 0.5 } 64...Kc3 { -99.86/11 0.5 } 65.g7 { +99.83/11 1.3 } 65...Kb4 { -99.88/11 0.5 } 66.f7 { +99.83/6 0.8 } 66...Kb3 { -99.90/11 0.5 } 67.h7 { +99.83/6 1.2 } 67...Kc3 { -99.90/10 0.5 polyglot: resign (illegal engine move by white: g7g8) but bare king } 1/2-1/2
[/pgn]

Later part of the debug.

Code: Select all

661923 <second&#58; move h6h7
661923 >first &#58; time 1446
661923 >first &#58; otim 3496
book hit = &#40;NULL&#41;
661923 >first &#58; usermove 661923 >first &#58; h6h7
silence
661923 <first &#58; 1 -1536 0 27 Kc3 f8=Q
661923 <first &#58; 2 -1536 0 68 Kc3 f8=Q
661923 <first &#58; 3 -2267 0 405 Kc3 g8=Q Kb3 h8=Q
661923 <first &#58; 4 -2268 0 849 Kc3 g8=Q Kb3 Qb8+ Kc2 h8=Q
661923 <first &#58; 5 -3016 0 2878 Kc3 g8=Q Kb3 h8=Q Kc2 f8=Q
661923 <first &#58; 6 -3016 0 7325 Kc3 g8=Q Kb3 h8=Q Kc2 f8=Q
661933 <first &#58; 7 -9990 1 36248 Kc3 g8=Q Kb3 h8=Q Kc2 Qgh7+ Kb3 Qb1+ Ka4 Qha1#
661953 <first &#58; 8 -9990 2 67389 Kc3 g8=Q Kb3 h8=Q Kc2 Qgh7+ Kb3 Qb1+ Ka4 Qha1#
661973 <first &#58; 9 -9990 5 139798 Kc3 g8=Q Kb3 h8=Q Kc2 Qgh7+ Kb3 Qb1+ Ka4 Qha1#
662093 <first &#58; 10 -9990 17 385471 Kc3 g8=Q Kb3 h8=Q Kc2 Qgh7+ Kb3 Qb1+ Ka4 Qha1#
662393 <first &#58; 10 -9990 17 385471 Kc3 g8=Q Kb3 h8=Q Kc2 Qgh7+ Kb3 Qb1+ Ka4 Qha1#
662393 <first &#58; move b3c3
662393 >second&#58; time 3496
662393 >second&#58; otim 1409
book hit = &#40;NULL&#41;
662393 >second&#58; usermove 662393 >second&#58; b3c3
silence
662403 <second&#58; 4 +9985 1 11617 
662453 <second&#58; 5 +9989 6 80555 
662463 <second&#58; 6 +9987 7 91106 
662703 <second&#58; 7 +9991 31 560763 
663563 <second&#58; 0-1 &#123;polyglot&#58; resign &#40;illegal engine move by white&#58; g7g8&#41;&#125;
GameEnds&#40;27, polyglot&#58; resign &#40;illegal engine move by white&#58; g7g8&#41;, 6&#41;
GE&#40;27, polyglot&#58; resign &#40;illegal engine move by white&#58; g7g8&#41;, 6&#41; bare king k=1 color=44
663563 >first &#58; result 1/2-1/2 &#123;polyglot&#58; resign &#40;illegal engine move by white&#58; g7g8&#41; but bare king&#125;
663563 >second&#58; result 1/2-1/2 &#123;polyglot&#58; resign &#40;illegal engine move by white&#58; g7g8&#41; but bare king&#125;
663563 >first &#58; force
663563 >first &#58; ping 8
663563 >second&#58; force
663563 >second&#58; ping 6
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Winboard 4.8.0b and PolyGlot 2.0.3 adjudication issues

Post by Guenther »

Ferdy wrote:Promote move is flagged as illegal but is not. I have 2 more cases like this so far. Verify engine claims and detect mates are set to ON.

67...Kc3 { -99.90/10 0.5 polyglot: resign (illegal engine move by white: g7g8) but bare king } 1/2-1/2
In a strict way the move is illegal, because the promoted piece is not specified, it should have been g7g8=Q IIRC.
I am sure though that there once was a relaxed behaviour in Polyglot versions which assumed a Q if nothing is specified by the engine.
(May be there also is an option to overcome that engine bug, but I don't remember now - better would be of course to fix the bug)

Guenther
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Winboard 4.8.0b and PolyGlot 2.0.3 adjudication issues

Post by Ferdy »

Guenther wrote:
Ferdy wrote:Promote move is flagged as illegal but is not. I have 2 more cases like this so far. Verify engine claims and detect mates are set to ON.

67...Kc3 { -99.90/10 0.5 polyglot: resign (illegal engine move by white: g7g8) but bare king } 1/2-1/2
In a strict way the move is illegal, because the promoted piece is not specified, it should have been g7g8=Q IIRC.
I am sure though that there once was a relaxed behaviour in Polyglot versions which assumed a Q if nothing is specified by the engine.
(May be there also is an option to overcome that engine bug, but I don't remember now - better would be of course to fix the bug)


Guenther
Thanks for pointing this out.
:) This indeed is an engine bug, sorry.
I have been shopping on stable compliant engines at CCRL 40/4, 2000 to 2400 rating points.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Winboard 4.8.0b and PolyGlot 2.0.3 adjudication issues

Post by hgm »

Indeed, on promotions specifying the piece is mandatory. In the long-algebraic protocol notation there should be no = sign, however, and the piece should always be in lower case. So f7f8q or g7g8n. In SAN there must be an =, and the piece should be upper case (e.g. f8=Q). WinBoard would understand both.

Polyglot is very pedantic in all respects. I am surprised, though, that WInBoard would complain. There have been some versions that considered a missing promotion piece illegal, but so many engines in the lower classes of ChessWar sinned against this that I quickly had to switch back to supplying a default choice.

So I am a bit surprised that WinBoard 4.8.0 would not accept this. When I load the position and type g7g8, WinBoard promotes to Queen without complaints. And it uses he same parser for the engine move and the typed move.