Xboard "False Draw Claim" bug

Discussions about the WinBoard protocol. Here you can also report bugs and request new features.

Moderators: hgm, Andres Valverde

Xboard "False Draw Claim" bug

Postby Miguel A. Ballicora » 13 Jul 2009, 05:11

Xboard apparently did not recognize 3 positions repeated in this game and wrongly forfeited the black pieces.
The last move 87. Kd3 is the third position. The black pieces, in its turn, claimed draw and xboard did not see it.
This is Xboard 4.3.15 running in Ubuntu linux.

Miguel

[Event "Computer Chess Game"]
[Site "avefenix"]
[Date "2009.07.12"]
[Round "2"]
[White "Xpdnt 080904"]
[Black "Gaviota 0.66.3"]
[Result "1-0"]
[TimeControl "40/20"]

1. c4 Nf6 2. Nc3 e6 3. Nf3 c5 4. g3 b6 5. Bg2 Bb7 6. O-O Be7 7. d4 cxd4 8.
Qxd4 d6 9. Rd1 a6 10. b3 Nbd7 11. Bb2 O-O 12. e4 Qc7 13. a3 Nc5 14. Nd2 Bc6
15. Ne2 e5 16. Qe3 Ng4 17. Qc3 b5 18. cxb5 axb5 19. h3 Nf6 20. Qe3 Rfb8 21.
Rac1 b4 22. a4 Nfd7 23. Ra1 Rc8 24. h4 Ra6 25. Rdc1 Nb6 26. Bh3 Bd7 27.
Bxd7 Qxd7 28. a5 Na8 29. Rc2 Qb7 30. Ra2 Nb6 31. Bxe5 dxe5 32. axb6 Qxb6
33. Nc4 Qf6 34. Kh2 Rxa2 35. Rxa2 Qe6 36. Nd2 Bf8 37. f3 Rd8 38. Nc1 Rd4
39. Ra7 Qb6 40. Ra2 Qe6 41. Kg2 g6 42. Ra8 Qc6 43. Ra7 Ne6 44. Ne2 Bc5 45.
Ra2 Rd8 46. Qh6 Ra8 47. Rc2 f6 48. Nc4 Qb7 49. Qd2 Rd8 50. Qc1 Rd3 51. Rd2
Qd7 52. Qc2 Rxd2 53. Nxd2 h6 54. Nc4 g5 55. h5 Qe8 56. g4 Qd7 57. Kg3 Kh7
58. Qd2 Qxd2 59. Nxd2 Kg8 60. Kg2 Be3 61. Nc4 Bf4 62. Na5 Nc5 63. Ng3 Bxg3
64. Kxg3 Kf7 65. Kf2 Ke6 66. Nc6 Na6 67. Nd8+ Ke7 68. Nb7 Kd7 69. Ke2 Kc7
70. Na5 Nc5 71. Kf2 Kb6 72. Nc4+ Kc6 73. Nd2 Kb7 74. Ke1 Kc8 75. Kd1 Kd7
76. Kc2 Kc6 77. Nc4 Ne6 78. Ne3 Nd4+ 79. Kd3 Kc5 80. Nf5 Nxf5 81. exf5
{First position} Kd5
82. Ke3 Kd6 83. Ke4 Kc5 84. Kd3 {Second position} Kd5 85. Ke3 Kd6 86. Ke4 Kc5 87. Kd3
{False draw claim: 'Draw by repetition claimed by Gaviota'} 1-0
User avatar
Miguel A. Ballicora
 
Posts: 160
Joined: 03 Aug 2005, 02:24
Location: Chicago, IL, USA

Re: Xboard "False Draw Claim" bug

Postby H.G.Muller » 13 Jul 2009, 09:16

OK, this apparently was a known bug, as my recent WinBoard versions no longer have it. The problem was that due to omission of braces. As a result the pawn capture towards the h-file is thought to create en-passant rights. The omission came about because at some point the statement within an if() that tested for a pawn double step was replaced by two statements, and I hadn't noticed that there were no braces yet.

My current source contains the required braces (from 4.3.16 on).
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 27 Jul 2009, 13:32

H.G.Muller wrote:OK, this apparently was a known bug, as my recent WinBoard versions no longer have it. ...


The bug occurs in a case of an agreed draw too.

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby H.G.Muller » 27 Jul 2009, 19:43

You have to be a little more specific on that one.

You mean if one engine offers a draw, and the other replies by "1/2-1/2", the latter is flagged as a false claim?

I agree that this would indeed not be very elegant. But the protocol specs (the original specs by Tim!) explicitly say that you cannot use 1/2-1/2 to accept a draw offer. It would not work anyway on an ICS (because an ICS can withdraw the offer without you knowing it). So then it is not really a bug, but a protocol violation of the engine.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 28 Jul 2009, 04:46

I mean the draw claim is also handled wrong by xboard. I'll run test games with debug enabled. Hint: Crafty is a good test object because it has all this draw claims implemented. It seems most of the draw claims are handled wrong. Over night here a draw claim (insufficient material) was "corrected" although it wasn't wrong:

[Event "Computer Chess Game"]
[Site "vpittlik"]
[Date "2009.07.27"]
[Round "2"]
[White "Crafty-23.0"]
[Black "amundsen 0.80"]
[Result "0-1"]
[ECO "D32"]
[Opening "QGD"]
[Variation "Tarrasch defence"]
[TimeControl "40/120"]

1. d4 d5 2. c4 e6 3. Nc3 c5 4. cxd5 exd5 5. Nf3 cxd4 6. Qxd4 Nf6 7. Bg5 Be7
{ -0.25/10 2.5 } 8. e3 O-O { -0.09/10 4 } 9. O-O-O { +0.18/11 3 } 9... Be6
{ +0.47/10 7 } 10. Bb5 { +0.01/11 2.8 } 10... Na6 { +0.55/10 10 } 11. Ne5 {
+0.12/10 4 } 11... Rc8 { +0.37/8 1.8 } 12. Bxa6 { +0.10/10 5 } 12... bxa6 {
+0.72/9 1.9 } 13. Kb1 { -0.33/10 2.9 } 13... Qc7 { +0.98/8 1.0 } 14. f4 {
-0.45/10 2.9 } 14... Qb7 { +1.10/8 1.2 } 15. Bxf6 { -0.50/11 2.8 } 15...
gxf6 { +1.12/10 2.6 } 16. Nf3 { -0.60/12 3 } 16... Rc4 { +1.15/9 2.4 } 17.
Qd2 { -0.57/12 2.9 } 17... Rfc8 { +1.15/10 2.0 } 18. Ka1 { -0.71/13 2.9 }
18... Bb4 { +0.98/10 2.4 } 19. Rc1 { -0.73/13 3 } 19... Qc7 { +1.36/11 2.3
} 20. Nd4 { -0.79/13 3 } 20... Bd7 { +1.39/11 5 } 21. Rhg1 { -0.65/11 3 }
21... Rxc3 { +1.27/11 5 } 22. bxc3 { -0.75/17 3 } 22... Bxc3+ { +1.29/12
2.1 } 23. Rxc3 { -0.74/18 3 } 23... Qxc3+ { +1.27/14 1.9 } 24. Qxc3 {
-0.74/18 3 } 24... Rxc3 { +1.13/14 1.8 } 25. Re1 Kf8 { +1.10/12 2.7 } 26.
Kb2 { -0.37/15 4 } 26... Rc4 { +1.03/13 11 } 27. Rc1 { -0.48/16 4 } 27...
Rxc1 { +1.02/15 5 } 28. Kxc1 { -0.42/17 1.6 } 28... Ke7 { +1.02/14 2.1 }
29. Kd2 { -0.50/17 4 } 29... Kd6 { +1.02/13 1.4 } 30. Kc3 { -0.46/16 4 }
30... a5 { +1.03/13 1.8 } 31. Nf3 { -0.46/16 4 } 31... Kc5 { +1.03/12 1.4 }
32. Ne1 { -0.55/16 5 } 32... Kd6 { +0.92/13 1.9 } 33. Nf3 { +0.01/19 4 }
33... h6 { +1.00/13 4 } 34. Kd4 { -0.41/16 4 } 34... Bb5 { +0.95/13 4 } 35.
Nh4 { -0.18/17 4 } 35... Bd7 { +0.97/15 4 } 36. Nf3 { +0.01/20 5 } 36...
Bb5 { +0.95/14 4 } 37. Nh4 { +0.01/19 4 } 37... Ke6 { +0.50/15 4 } 38. Kc5
{ -0.10/17 5 } 38... Bf1 { +0.45/15 4 } 39. g4 { -0.03/17 5 } 39... Bh3 {
+0.45/15 2.7 } 40. Nf5 { +0.14/17 4 } 40... Bxg4 { +0.22/15 2.6 } 41. Nd4+
{ +0.15/17 2.4 } 41... Kd7 { +0.01/16 7 } 42. Nc6 { +0.23/17 2.4 } 42...
Bf3 { -0.07/16 8 } 43. Nxa5 { +0.29/17 2.4 } 43... Ke6 { -0.09/17 4 } 44.
Nc6 { +0.71/17 2.4 } 44... Kf5 { -0.18/16 1.8 } 45. Nxa7 { +1.23/17 2.4 }
45... Ke4 { +0.67/15 1.1 } 46. a4 { +0.94/18 2.8 } 46... Kxe3 { +0.35/14
2.0 } 47. Nb5 { +1.15/17 2.5 } 47... Kxf4 { -0.10/14 1.2 } 48. a5 {
+1.32/17 2.5 } 48... d4 { -0.70/13 1.3 } 49. Kxd4 { +1.16/17 2.5 } 49... f5
{ -0.64/14 2.0 } 50. Nd6 { +1.80/15 2.5 } 50... f6 { -0.53/17 9 } 51. a6 {
+2.11/15 2.5 } 51... Kg5 { -0.51/16 6 } 52. Nf7+ { +1.85/16 6 } 52... Kg6 {
-0.29/14 1.9 } 53. Ke3 { +1.93/18 2.5 } 53... Bd5 { -0.50/15 1.6 } 54. Nd8
{ +1.92/18 2.5 } 54... Kg5 { -0.48/15 1.6 } 55. Kd4 { +1.73/17 2.6 } 55...
Bh1 { -0.35/14 1.5 } 56. Ne6+ { +2.05/16 2.5 } 56... Kg4 { -0.49/14 1.3 }
57. h3+ { +2.05/16 2.6 } 57... Kg3 { -0.46/15 1.6 } 58. Ng7 { +0.34/18 18 }
58... Kf4 { -0.46/16 2.5 } 59. h4 { +1.85/16 4 } 59... Kg4 { -0.68/18 7 }
60. Ne8 { +2.25/17 2.0 } 60... Kxh4 { -0.69/18 5 } 61. Nxf6 { +0.01/16 2.1
} 61... Ba8 { -1.23/18 7 } 62. Ke3 { +0.01/16 2.2 } 62... Kg5 { +0.32/18 5
} 63. Nh7+ { +0.01/16 2.1 } 63... Kg6 { +0.02/17 3 } 64. Nf8+ { +0.01/16
2.1 } 64... Kg5 { +0.01/18 4 } 65. Ne6+ { +0.01/17 2.2 } 65... Kg4 {
+1.27/15 1.1 } 66. a7 { +0.01/18 2.2 } 66... h5 { +1.27/16 4 } 67. Nf4 {
+0.01/18 2.4 } 67... Be4 { +1.27/16 1.1 } 68. Nd3 { +0.01/18 2.3 } 68...
Kg3 { +1.27/15 1.7 } 69. Kd4 { +0.01/18 2.4 } 69... h4 { +1.55/17 1.6 } 70.
Ke3 { +0.01/17 2.3 } 70... Bh1 { +1.51/15 1.7 } 71. Nf4 { +0.01/18 2.4 }
71... Bc6 { +1.47/17 2.7 } 72. Ne2+ { +0.01/18 2.7 } 72... Kg4 { +2.10/17
2.8 } 73. Nf4 { +0.01/19 2.5 } 73... Be4 { +1.46/17 3 } 74. Nd3 { +0.01/19
2.6 } 74... Kg3 { +1.47/16 3 } 75. Nf4 { +0.01/19 3 } 75... Kg4 { +1.47/17
8 } 76. Nd3 { +0.01/21 4 } 76... Kg3 { +1.47/16 3 } 77. Nf4 { +0.01/20 2.7
} 77... Bc6 { +1.47/16 1.4 } 78. Ne2+ { +0.01/19 4 } 78... Kg4 { +1.47/17
1.7 } 79. Nf4 { +0.01/20 4 } 79... Bf3 { +1.47/16 0.8 } 80. Nd3 { +0.01/20
1.9 } 80... Bd5 { +0.55/2 0.1 } 81. Ne5+ { +0.01/18 2.3 } 81... Kg3 {
+1.47/18 2.8 } 82. Nd3 { +0.01/19 4 } 82... Bf3 { +1.47/18 13 } 83. Nf4 {
+0.01/19 2.4 } 83... Ba8 { +1.78/18 18 } 84. Ne2+ { +0.01/19 2.3 } 84...
Kg4 { +1.78/19 1.2 } 85. Nf4 { +0.01/20 2.3 } 85... Bf3 { +1.77/17 1.4 }
86. Ng6 { +0.01/20 2.3 } 86... Bb7 { +1.77/15 1.5 } 87. Nf4 { +0.01/19 2.4
} 87... Kg3 { +1.77/18 4 } 88. Nh5+ { +0.01/19 3 } 88... Kg4 { +1.77/19 1.8
} 89. Nf4 { +0.01/21 3 } 89... Bh1 { +1.77/18 2.3 } 90. Nd3 { +0.01/20 2.6
} 90... Bg2 { +1.28/15 1.1 } 91. Kf2 { +0.01/18 2.4 } 91... Bb7 { +1.75/14
1.5 } 92. Ke3 { +0.01/19 2.5 } 92... Kg3 { +1.77/15 1.9 } 93. Nf4 {
+0.01/19 2.4 } 93... Bh1 { +1.28/16 2.7 } 94. Ne2+ { +0.01/20 3 } 94... Kg4
{ +1.28/18 1.2 } 95. Nf4 { +0.01/20 2.5 } 95... Ba8 { +1.28/17 2.7 } 96.
Nd3 { +0.01/20 2.5 } 96... Bg2 { +1.28/16 1.9 } 97. Nf4 { +0.01/19 2.5 }
97... Ba8 { +1.28/17 1.1 } 98. Nd3 { +0.01/21 2.5 } 98... Kg3 { +0.91/17
1.6 } 99. Nf4 { +0.01/19 2.8 } 99... Bh1 { +0.99/18 2.6 } 100. Nh5+ {
+0.01/19 2.5 } 100... Kg4 { +0.91/16 1.0 } 101. Nf4 { +0.01/21 5 } 101...
Bc6 { +1.00/18 1.2 } 102. Ng6 { +0.01/19 2.5 } 102... Kg3 { +1.68/16 2.2 }
103. Nf4 { +0.01/19 2.6 } 103... Kg4 { +1.68/18 1.6 } 104. Nd3 { +0.01/20
2.6 } 104... Kg3 { +0.68/17 1.7 } 105. Nf4 { +0.01/20 3 } 105... Ba8 {
+0.68/16 1.5 } 106. Nh5+ { +0.01/20 2.7 } 106... Kg4 { +0.62/19 2.9 } 107.
Nf4 { +0.01/22 4 } 107... Bb7 { +0.39/19 5 } 108. Nd3 { +0.01/21 2.9 }
108... Kg5 { +0.39/18 6 } 109. Nf4 { +0.01/18 2.7 } 109... Be4 { +0.38/17
2.8 } 110. Nh3+ { +0.01/18 2.7 } 110... Kf6 { +0.07/17 1.7 } 111. Kd4 {
+0.01/18 2.8 } 111... Bf3 { +0.38/16 1.4 } 112. Nf4 { +0.01/18 2.9 } 112...
Bb7 { +0.39/17 1.4 } 113. Ke3 { +0.01/17 9 } 113... Be4 { +0.38/17 2.0 }
114. Nh3 { +0.01/18 2.8 } 114... Ke5 { +0.23/17 4 } 115. Nf4 { +0.01/19 2.5
} 115... Kd6 { +0.42/17 4 } 116. Nd3 { +0.01/17 2.6 } 116... Kc7 { +0.51/16
3 } 117. Kf4 { +0.01/19 2.8 } 117... Kb6 { +0.37/18 4 } 118. a8=Q {
+0.01/25 3 } 118... Bxa8 { +0.43/19 2.5 } 119. Kxf5 { +0.01/34 3 } 119...
h3 { +0.39/19 3 } 120. Kg5 h2 { +0.42/18 1.6 } 121. Nf2 Kc5 { +0.41/17 1.0
} 122. Kh4 Kd4 { +0.37/17 1.6 } 123. Kg3 Bd5 { False draw claim:
'Insufficient material' } 0-1

End position: 8/8/8/3b4/3k4/6K1/5N1p/8 w - - 6 124

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 28 Jul 2009, 05:15

Here is an example for a denied 50-moves-rule draw:

[Event "Computer Chess Game"]
[Site "vpittlik"]
[Date "2009.07.28"]
[Round "1"]
[White "Crafty-23.0"]
[Black "Xpdnt 090704"]
[Result "0-1"]
[TimeControl "40/60"]

1. d4 Nf6 2. c4 g6 3. Nc3 d5 4. cxd5 Nxd5 5. e4 Nxc3 6. bxc3 Bg7 7. Nf3 c5
8. Rb1 O-O 9. Be2 cxd4 10. cxd4 Qa5+ 11. Bd2 Qxa2 12. O-O Bg4 13. Bg5 f6
{-0.23/10 6} 14. Bf4 {+0.09/10 1.6} e5 {+0.03/7 0.5} 15. dxe5
{+0.27/10 1.7} fxe5 {-0.33/9 2.6} 16. Be3 {+0.36/11 1.6} Nc6 {-0.36/9 1.6}
17. Rxb7 {+0.28/12 1.7} Rad8 {-0.27/8 0.7} 18. Nd2 {+0.16/12 1.7} Bxe2
{-0.40/8 1.1} 19. Qxe2 {+0.08/12 0.6} Rb8 {-0.39/8 1.0} 20. Rxb8
{+0.11/13 2.2} Rxb8 {-0.26/10 1.4} 21. Rc1 {+0.13/12 1.8} Nd4 {-0.23/9 1.6}
22. Qd1 Bf6 {-0.17/8 1.7} 23. Kh1 {+0.01/10 1.9} Rd8 {-0.12/9 1.8} 24. Qf1
{+0.12/11 1.9} Nc2 {-0.18/10 4} 25. Bh6 {+0.01/12 2.0} g5 {-0.33/10 2.2}
26. Nc4 {+0.37/12 2.0} Rd4 {-0.15/9 1.0} 27. Ne3 {+0.99/13 2.0} Nxe3
{-0.66/11 2.7} 28. fxe3 {+1.73/13 2.1} Rd6 {-1.18/10 2.1} 29. Rc8+
{+1.55/13 2.0} Kf7 {-1.41/11 2.0} 30. Rc7+ {+1.62/13 2.1} Kg8
{-1.48/11 2.0} 31. h3 {+1.97/13 2.1} Qe6 {-1.40/11 1.2} 32. Rxa7
{+2.24/13 2.2} g4 {-1.93/11 2.7} 33. hxg4 {+2.34/14 2.2} Qxg4
{-2.15/11 2.3} 34. Qc4+ {+2.34/14 2.3} Kh8 {-2.22/12 2.2} 35. Bg7+
{+2.31/15 2.3} Qxg7 {-2.30/14 2.2} 36. Rxg7 {+2.35/15 0.8} Rd1+
{-2.37/13 1.6} 37. Kh2 {+2.35/16 2.3} Kxg7 {-2.44/13 2.1} 38. Qe2
{+2.35/15 2.3} Rb1 {-2.54/12 2.3} 39. Kg3 {+2.35/14 2.3} Rb8 {-2.47/11 2.2}
40. Qg4+ {+2.35/15 2.3} Kf7 {-2.53/14 4} 41. Qh5+ {+2.35/15 1.3} Kg7
{-2.53/14 1.5} 42. Qe2 {+2.35/15 1.3} Rg8 {-2.52/12 1.5} 43. Qf3
{+2.35/14 1.3} h6 {-2.53/11 1.5} 44. Kh3 {+2.34/14 1.3} h5 {-2.39/12 2.6}
45. g4 {+2.33/13 1.4} hxg4+ {-2.09/15 5} 46. Qxg4+ {+2.30/14 1.3} Kf7
{-2.09/15 4} 47. Qd7+ {+2.29/14 1.4} Kf8 {-2.09/15 1.2} 48. Kh2
{+2.41/12 1.3} Rg7 {-2.08/10 1.2} 49. Qc8+ {+2.37/13 1.8} Ke7 {-2.03/9 1.2}
50. Qc4 {+2.41/13 1.3} Rg5 {-2.04/13 1.2} 51. Kh3 {+2.40/13 1.4} Rg7
{-2.04/12 1.2} 52. Qc7+ {+2.42/13 1.4} Ke6 {-2.04/13 1.2} 53. Qc6+
{+2.42/14 1.4} Ke7 {-2.04/13 1.2} 54. Qd5 {+2.42/14 1.4} Rg5 {-2.06/13 1.2}
55. Qb3 {+2.41/14 1.4} Rg1 {-2.06/13 1.2} 56. Qb7+ {+2.42/13 1.4} Ke6
{-2.06/14 1.2} 57. Qd5+ {+2.41/15 1.4} Ke7 {-1.96/3 0.1} 58. Qb3
{+2.41/15 3} Rg5 {-2.06/14 1.3} 59. Qb7+ {+2.40/14 1.5} Ke6 {-2.06/15 1.3}
60. Qa7 {+2.38/15 1.5} Rg7 {-2.06/13 1.3} 61. Qa2+ {+2.42/15 1.6} Ke7
{-2.06/14 1.3} 62. Qa3+ Kf7 {-2.06/13 1.3} 63. Qb3+ {+2.42/14 1.5} Ke7
{-2.06/13 1.3} 64. Qb7+ Kf8 {-2.06/13 1.3} 65. Qa8+ {+2.38/15 1.6} Ke7
{-2.06/14 1.3} 66. Qa2 {+2.39/14 1.5} Rg5 {-2.06/14 1.3} 67. Qa7+
{+2.37/15 1.6} Ke6 {-2.06/12 1.3} 68. Qh7 {+2.37/16 1.7} Rg7 {-2.06/14 1.3}
69. Qf5+ {+2.37/16 1.6} Ke7 {-2.06/14 1.3} 70. Qc8 {+2.37/16 1.8} Rg5
{-2.06/12 1.3} 71. Qc7+ {+2.37/15 1.7} Ke6 {-2.06/14 1.3} 72. Qc4+
{+2.37/15 1.8} Ke7 {-2.06/13 1.3} 73. Qb5 {+2.37/16 2.2} Rg6 {-2.06/11 1.3}
74. Qb7+ {+2.38/14 1.8} Ke6 {-2.06/8 0.1} 75. Qb6+ {+2.38/15 1.8} Ke7
{-2.06/11 0.9} 76. Qc7+ {+2.37/16 2.2} Ke6 {-2.07/14 1.5} 77. Qc4+
{+2.37/16 2.0} Ke7 {-2.07/14 1.8} 78. Qc5+ {+2.37/16 2.1} Kf7
{-2.07/15 1.9} 79. Qd5+ {+2.37/16 2.3} Kg7 {-2.07/16 2.1} 80. Qd7+
{+2.37/16 2.1} Kf8 {-2.07/16 2.0} 81. Qc8+ {+2.37/15 1.2} Ke7
{-2.07/15 1.3} 82. Qc3 {+2.37/15 1.2} Rg5 {-2.07/12 1.3} 83. Qc8 Kf7
{-2.07/13 1.2} 84. Qd7+ {+2.35/15 1.3} Kg8 {-2.07/15 1.3} 85. Qc7
{+2.34/12 1.2} Kf8 {-2.07/14 1.3} 86. Qa7 {+2.30/14 2.5} Rg7 {-2.07/14 1.7}
87. Qc5+ {+1.64/10 1.2} Kf7 {-2.07/13 1.5} 88. Qd5+ {+1.53/11 1.2} Ke7
{-2.06/13 1.4} 89. Qd3 {+1.66/11 1.3} Rg6 {-2.06/11 1.4} 90. Qd2
{+1.64/11 1.2} Kf8 {-2.06/11 1.3} 91. Kh2 {+1.20/13 1.6} Be7 {+0.00/17 4}
92. Qd5 {+0.01/15 1.3} Rh6+ {+0.00/17 1.0} 93. Kg3 {+0.01/15 1.3} Rg6+
{+0.00/18 1.3} 94. Kf3 {+0.01/16 1.3} Rf6+ {+0.00/18 1.2} 95. Ke2
{+0.01/17 1.2} Bd6 {+0.00/16 0.5}
{False draw claim: 'Drawn by 50-move rule'} 0-1


And an excerpt from a debug:

time odds: 1 1

280839 >first : time 4188

280839 >first : otim 3832

280839 >first : Bd6

AnimateMove: piece 24 slides from 4,6 to 3,5

280916 <first : 1/2-1/2 {Drawn by 50-move rule}

GameEnds(39, Drawn by 50-move rule, 5)

GE(38, False draw claim: 'Drawn by 50-move rule', 5) bare king k=4 color=22

280916 >first : result 0-1 {False draw claim: 'Drawn by 50-move rule'}

280916 >second: result 0-1 {False draw claim: 'Drawn by 50-move rule'}

280917 >first : quit

280932 >second: quit


I can send the complete debug to you if you need it.

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby Guenther Simon » 28 Jul 2009, 08:08

Volker Pittlik wrote:I mean the draw claim is also handled wrong by xboard. I'll run test games with debug enabled. Hint: Crafty is a good test object because it has all this draw claims implemented. It seems most of the draw claims are handled wrong. Over night here a draw claim (insufficient material) was "corrected" although it wasn't wrong:
...
123. Kg3 Bd5 { False draw claim:
'Insufficient material' } 0-1

End position: 8/8/8/3b4/3k4/6K1/5N1p/8 w - - 6 124

vp


Well that surely is no valid draw claim by insufficient material. White should have offered a draw instead.

Guenther
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Re: Xboard "False Draw Claim" bug

Postby Guenther Simon » 28 Jul 2009, 08:15

Volker Pittlik wrote:Here is an example for a denied 50-moves-rule draw:

[Event "Computer Chess Game"]
[Site "vpittlik"]
[Date "2009.07.28"]
[Round "1"]
[White "Crafty-23.0"]
[Black "Xpdnt 090704"]
[Result "0-1"]
[TimeControl "40/60"]
...
46. Qxg4+ {+2.30/14 1.3} Kf7
{-2.09/15 4} 47. Qd7+ {+2.29/14 1.4} Kf8 {-2.09/15 1.2} 48. Kh2
{+2.41/12 1.3} Rg7 {-2.08/10 1.2} 49. Qc8+ {+2.37/13 1.8} Ke7 {-2.03/9 1.2}
50. Qc4 {+2.41/13 1.3} Rg5 {-2.04/13 1.2} 51. Kh3 {+2.40/13 1.4} Rg7
{-2.04/12 1.2} 52. Qc7+ {+2.42/13 1.4} Ke6 {-2.04/13 1.2} 53. Qc6+
{+2.42/14 1.4} Ke7 {-2.04/13 1.2} 54. Qd5 {+2.42/14 1.4} Rg5 {-2.06/13 1.2}
55. Qb3 {+2.41/14 1.4} Rg1 {-2.06/13 1.2} 56. Qb7+ {+2.42/13 1.4} Ke6
{-2.06/14 1.2} 57. Qd5+ {+2.41/15 1.4} Ke7 {-1.96/3 0.1} 58. Qb3
{+2.41/15 3} Rg5 {-2.06/14 1.3} 59. Qb7+ {+2.40/14 1.5} Ke6 {-2.06/15 1.3}
60. Qa7 {+2.38/15 1.5} Rg7 {-2.06/13 1.3} 61. Qa2+ {+2.42/15 1.6} Ke7
{-2.06/14 1.3} 62. Qa3+ Kf7 {-2.06/13 1.3} 63. Qb3+ {+2.42/14 1.5} Ke7
{-2.06/13 1.3} 64. Qb7+ Kf8 {-2.06/13 1.3} 65. Qa8+ {+2.38/15 1.6} Ke7
{-2.06/14 1.3} 66. Qa2 {+2.39/14 1.5} Rg5 {-2.06/14 1.3} 67. Qa7+
{+2.37/15 1.6} Ke6 {-2.06/12 1.3} 68. Qh7 {+2.37/16 1.7} Rg7 {-2.06/14 1.3}
69. Qf5+ {+2.37/16 1.6} Ke7 {-2.06/14 1.3} 70. Qc8 {+2.37/16 1.8} Rg5
{-2.06/12 1.3} 71. Qc7+ {+2.37/15 1.7} Ke6 {-2.06/14 1.3} 72. Qc4+
{+2.37/15 1.8} Ke7 {-2.06/13 1.3} 73. Qb5 {+2.37/16 2.2} Rg6 {-2.06/11 1.3}
74. Qb7+ {+2.38/14 1.8} Ke6 {-2.06/8 0.1} 75. Qb6+ {+2.38/15 1.8} Ke7
{-2.06/11 0.9} 76. Qc7+ {+2.37/16 2.2} Ke6 {-2.07/14 1.5} 77. Qc4+
{+2.37/16 2.0} Ke7 {-2.07/14 1.8} 78. Qc5+ {+2.37/16 2.1} Kf7
{-2.07/15 1.9} 79. Qd5+ {+2.37/16 2.3} Kg7 {-2.07/16 2.1} 80. Qd7+
{+2.37/16 2.1} Kf8 {-2.07/16 2.0} 81. Qc8+ {+2.37/15 1.2} Ke7
{-2.07/15 1.3} 82. Qc3 {+2.37/15 1.2} Rg5 {-2.07/12 1.3} 83. Qc8 Kf7
{-2.07/13 1.2} 84. Qd7+ {+2.35/15 1.3} Kg8 {-2.07/15 1.3} 85. Qc7
{+2.34/12 1.2} Kf8 {-2.07/14 1.3} 86. Qa7 {+2.30/14 2.5} Rg7 {-2.07/14 1.7}
87. Qc5+ {+1.64/10 1.2} Kf7 {-2.07/13 1.5} 88. Qd5+ {+1.53/11 1.2} Ke7
{-2.06/13 1.4} 89. Qd3 {+1.66/11 1.3} Rg6 {-2.06/11 1.4} 90. Qd2
{+1.64/11 1.2} Kf8 {-2.06/11 1.3} 91. Kh2 {+1.20/13 1.6} Be7 {+0.00/17 4}
92. Qd5 {+0.01/15 1.3} Rh6+ {+0.00/17 1.0} 93. Kg3 {+0.01/15 1.3} Rg6+
{+0.00/18 1.3} 94. Kf3 {+0.01/16 1.3} Rf6+ {+0.00/18 1.2} 95. Ke2
{+0.01/17 1.2} Bd6 {+0.00/16 0.5}
{False draw claim: 'Drawn by 50-move rule'} 0-1


And an excerpt from a debug:

time odds: 1 1

280839 >first : time 4188

280839 >first : otim 3832

280839 >first : Bd6

AnimateMove: piece 24 slides from 4,6 to 3,5

280916 <first : 1/2-1/2 {Drawn by 50-move rule}

GameEnds(39, Drawn by 50-move rule, 5)

GE(38, False draw claim: 'Drawn by 50-move rule', 5) bare king k=4 color=22

280916 >first : result 0-1 {False draw claim: 'Drawn by 50-move rule'}

280916 >second: result 0-1 {False draw claim: 'Drawn by 50-move rule'}

280917 >first : quit

280932 >second: quit


I can send the complete debug to you if you need it.

vp


Hmmm, this one is also not really valid from Crafty. I am quite sure though that Crafty handled this correct in the past?
In the past Crafty also sent the 50 moves draw claim before ply 100, _but_ it still showed what it would have intended
to play, which is normally the correct way.

Guenther
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 28 Jul 2009, 09:32

Guenther Simon wrote:...

Well that surely is no valid draw claim by insufficient material. White should have offered a draw instead.

Guenther


I think the main point here is not if the draw is offered or claimed. What counts more here that it's definitely not a win for black!
I did a quick check with some of thestronger engines. All display 0.00 as evaluation.

volker
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby H.G.Muller » 28 Jul 2009, 09:37

Well, those are indeed false claims, not? KBPKN is not a claimable draw (even KBKN isn't). And in the other game white 46th move was a capture, so 50 moves without capture is only reached after white's 96th move. So after black's 95th move it is not a draw based on the 50-move rule yet.

In these two cases WinBoard rules correctly.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Xboard "False Draw Claim" bug

Postby H.G.Muller » 28 Jul 2009, 09:42

Volker Pittlik wrote:I think the main point here is not if the draw is offered or claimed. What counts more here that it's definitely not a win for black!
I did a quick check with some of thestronger engines. All display 0.00 as evaluation.


WinBoard is not supposed to second-guess at what the result would have been if the engine that violates the rules would have abided by them. It just forfeits it. The only exception is if the opponent would be reduced to a bare King, so that winning would be a mathematical impossibility for it. In that case the forfeiting engine still gets a draw. (Also in case of time losses.)
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 28 Jul 2009, 10:16

H.G.Muller wrote:...WinBoard is not supposed to second-guess at what the result would have been if the engine that violates the rules...


[Event "Computer Chess Game"]
[Site "vpittlik"]
[Date "2009.07.28"]
[Round "1"]
[White "Sloppy-0.2.2"]
[Black "Stockfish 1.4"]
[Result "0-1"]
[ECO "E63"]
[Opening "King's Indian"]
[Variation "fianchetto, Panno variation"]
[TimeControl "40/10"]

1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.Nf3 O-O 5.g3 d6 6.Bg2 Nc6 7.O-O a6 8.h3 Rb8
9.Bg5 b5 {-0.22/10 0.5} 10.cxb5 {+0.02/7 0.6} 10...axb5 {-0.24/11 0.5} 11.
Rc1 {+0.02/6 0.3} 11...b4 {-0.02/10 0.4} 12.Bxf6 {+0.07/7 0.3} 12...exf6 {
+0.04/10 0.3} 13.Nd5 {-0.02/8 0.3} 13...Bd7 {+0.12/10 0.3} 14.e3 {+0.00/7
0.3} 14...Re8 {+0.04/9 0.2} 15.Nf4 {-0.03/6 0.3} 15...Na5 {+0.16/9 0.3}
16.Nd2 {+0.03/7 0.5} 16...c6 {+0.26/10 0.5} 17.Qc2 {+0.19/6 0.3} 17...d5 {
+0.26/8 0.2} 18.h4 {+0.21/6 0.3} 18...b3 {+0.34/10 0.9} 19.Nxb3 {+0.13/7
0.4} 19...Nxb3 {+0.02/11 0.9} 20.axb3 {+0.00/8 0.3} 20...Bf8 {+0.08/9 0.1}
21.Ra1 {+0.01/7 0.6} 21...Qb6 {-0.06/10 0.4} 22.Bf3 {+0.07/6 0.3} 22...Bf5
{+0.30/10 0.2} 23.Qe2 {-0.10/7 0.3} 23...Qxb3 {+0.42/9 0.1} 24.Rfc1 {
+0.11/7 0.5} 24...Bd7 {+0.46/9 0.2} 25.Ra7 {+0.10/7 0.3} 25...Rb7 {
+0.46/10 0.3} 26.Rca1 {+0.06/6 0.2} 26...Qb6 {+0.44/9 0.2} 27.Qa6 {+0.00/7
0.3} 27...Rxa7 {+1.03/10 0.2} 28.Qxa7 {+0.00/7 0.2} 28...Qxb2 {+1.15/10
0.2} 29.g4 {-0.37/6 0.2} 29...Bc8 {+1.27/9 0.2} 30.Qa4 {-0.61/6 0.2} 30...
Bd7 {+1.19/9 0.2} 31.Qa7 {+0.00/8 0.2} 31...Rd8 {+1.07/10 0.4} 32.Nd3 {
-0.48/7 0.2} 32...Qc3 {+1.21/10 0.1} 33.Qa5 {-0.33/8 0.2} 33...Qxa5 {
+1.17/10 0.2} 34.Rxa5 {-0.55/9 0.2} 34...Rb8 {+1.11/10 0.1} 35.Ra7 {
-0.55/8 0.2} 35...Bc8 {+1.25/10 0.2} 36.Kf1 {-0.59/7 0.2} 36...Kg7 {
+1.25/10 0.2} 37.Rc7 {-0.64/7 0.2} 37...Ba6 {+1.21/10 0.2} 38.Be2 {-0.53/7
0.1} 38...Rb6 {+0.84/11 0.2} 39.Kg2 {-0.57/7 0.3} 39...Bd6 {+1.13/9 0.1}
40.Rd7 {-0.45/3 0.1} 40...Ba3 {+0.88/8 0.1} 41.Nf4 {-0.06/8 0.3} 41...Bxe2
{+0.56/11 0.5} 42.Nxe2 {-0.04/9 0.2} 42...Kf8 {+0.28/13 1.0} 43.Nf4 {
-0.11/8 0.2} 43...Ke8 {+0.74/13 0.4} 44.Ra7 {-0.23/9 0.3} 44...Bd6 {
+0.68/13 0.4} 45.Kf3 {-0.23/9 0.3} 45...Bb8 {+0.68/13 0.4} 46.Ra8 {-0.15/9
0.2} 46...Ke7 {+0.68/13 0.4} 47.Nd3 {-0.18/9 0.2} 47...h6 {+0.66/12 0.3}
48.Nc5 {-0.04/8 0.3} 48...h5 {+0.44/12 0.7} 49.gxh5 {+0.09/9 0.2} 49...
gxh5 {+0.34/13 0.5} 50.Ra5 {+0.06/9 0.2} 50...f5 {+0.14/13 0.4} 51.Ra8 {
+0.01/9 0.2} 51...Rb1 {+0.12/11 0.2} 52.Ra6 {+0.22/9 0.2} 52...Rh1 {
+0.20/12 0.3} 53.Rxc6 {+0.41/9 0.2} 53...Rh3+ {-0.22/12 0.6} 54.Ke2 {
+0.65/9 0.2} 54...Rxh4 {-0.08/12 0.1} 55.Na4 {+0.76/9 0.2} 55...Rh2 {
-0.34/11 0.1} 56.Nb6 {+0.72/8 0.2} 56...Bg3 {-0.36/11 0.1} 57.Kf3 {+0.60/9
0.4} 57...Bxf2 {-0.66/12 0.4} 58.Nxd5+ {+0.89/8 0.2} 58...Kd8 {-0.52/10
0.3} 59.Rf6 {+0.84/8 0.4} 59...Bh4 {-0.18/12 0.2} 60.Rxf5 {+0.44/9 0.2}
60...Rf2+ {-0.16/12 0.1} 61.Ke4 {+0.67/10 0.2} 61...Rxf5 {-0.10/12 0.1}
62.Kxf5 {+0.53/10 0.2} 62...Bf2 {+0.00/13 0.2} 63.Ke4 {+0.38/10 0.2} 63...
h4 {+0.00/13 0.1} 64.Kf3 {+0.15/10 0.3} 64...Be1 {+0.00/13 0.1} 65.Nf4 {
+0.03/9 0.2} 65...f5 {+0.00/12 0.1} 66.Nh5 {+0.11/9 0.3} 66...Ke7 {
+0.00/12 0.1} 67.Kg2 {+0.00/9 0.2} 67...Kf7 {+0.16/13 0.2} 68.Nf4 {
+0.00/11 0.3} 68...Bd2 {+0.00/14 0.1} 69.Kf3 {+0.00/10 0.2} 69...Ke8 {
+0.36/11 0.1} 70.Ke2 {+0.00/10 0.2} 70...Bc1 {+0.30/12 0.1} 71.Kf2 {
+0.00/10 0.2} 71...Kd8 {+0.00/12 0.1} 72.Nd3 {+0.00/10 0.3} 72...Bd2 {
+0.00/12 0.1} 73.Ke2 {+0.00/10 0.2} 73...Ba5 {+0.28/11 0.1} 74.Kf2 {
+0.00/10 0.2} 74...Ke7 {+0.00/13 0.2} 75.Ne5 {+0.00/10 0.2} 75...Ke6 {
+0.00/14 0.2} 76.Nf3 {+0.00/11 0.2} 76...Bd8 {+0.00/15 0.1} 77.Kg2 {
+0.00/12 0.2} 77...Kd5 {+0.00/16 0.1} 78.Kh3 {+0.00/14 0.2} 78...Bf6 {
+0.00/17 0.1} 79.Nxh4 {+0.00/15 0.2} 79...Bxd4 {+0.00/18 0.2} 80.Nxf5 {
+0.00/21 0.2} 80...Bxe3 {False draw claim: 'Insufficient mating material'}
0-1

8/8/8/3k1N2/8/4b2K/8/8 w - - 0 81
Draw with all moves.

I disable this feature now for me.

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby H.G.Muller » 28 Jul 2009, 10:38

Volker Pittlik wrote:8/8/8/3k1N2/8/4b2K/8/8 w - - 0 81
Draw with all moves.


{--------------
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . k . N . .
. . . . . . . .
. . . . b . . K
. . . . . . . .
. . . . . . . .
white to play
--------------}
1. Kg4 Ba7 2. Kf4 Kc6 3. Ke5 Kb7 4. Kd6 Ka8 5. Kc7 Bf2 6. Nd6 Be3 7. Kc8
Bf2 8. Nb5 Ba7 9. Nc7#
{White mates} 1-0

This is not a position that can be claimed as a draw under FIDE rules. The engine is at fault.

The risk of switching off the feature with rogue engines like this is that they might dodge losses in positions like

[Event "Edited game"]
[Site "FLAMYNIGO"]
[Date "2009.07.28"]
[Round "-"]
[White "-"]
[Black "-"]
[Result "1-0"]
[FEN "6rk/4NP2/7K/8/8/8/b7/8 w - - 0 1"]
[SetUp "1"]

{--------------
. . . . . . r k
. . . . N P . .
. . . . . . . K
. . . . . . . .
. . . . . . . .
. . . . . . . .
b . . . . . . .
. . . . . . . .
white to play
--------------}
1. fxg8=Q+ Bxg8 2. Ng6#
{White mates} 1-0

by simply claiming a draw after Bxg8.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 28 Jul 2009, 12:12

H.G.Muller wrote:...
The risk of switching off the feature with rogue engines like this...


I wouldn't judge Stockfish or Sloppy as "rogue engines". However the moves you have shown are possible but very unlikely to play by that engines as well as the weakest ones.
In conclusion the interpretation of rules as implemented right not causes much more trouble here then it prevents. (Imagine a football match: 1:1 at 89th minute. A player of team A claims a penalty cause he thinks he deserves one. The referee disagrees. Then what? Penalty denied? Yellow card for player A? Or 0:3 for team B? The last option is implemented at the moment.


vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 28 Jul 2009, 14:56

H.G.Muller wrote:...
This is not a position that can be claimed as a draw under FIDE rules...


It is according to article 10.2a (http://www.fide.com/component/handbook/?id=124&view=article). The game is "...not to win with by normal means...". If we agree that the intentional help of the opponent (making such silly moves) is not a normal mean this is a draw.

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby H.G.Muller » 28 Jul 2009, 17:02

What you refer to are the rules for quick-play. WinBoard does not implement those, and neither does any GUI I know. The rule of "not making an effort to win" calls for a judgement that GUIs simply cannot make. Furthermore, in computer chess this rule is not really needed: they are designed to prevent humans abusing a slight time advantage in a dead drawn position, by running the opponent out of time. Unlike computers, who can move in a micro-second if needed, humans need a finite minumum time to perform a move and press the clock, even if the move is totally trivial. Note that the rule only applies if the humans have less than 2 min on the clock. If they have more, they are supposed to easily do 50 trivial moves without forfeiting, and claim then. For computers playing electronically, the time could be scaled to 2 msec left on the clock.

The rule that applies here is 9.6: a game is drawn if there is no possible sequence of legal moves leading to checkmate. With KBKN and KBKB (unlike B) there are such sequences. In normal games these cannot be claimed as draw.

Even if the GUI would implement quick-play finishes, this would have made no difference: You were playing a 40/10 game, which is a standard time control.

All this has been discussed extensively on many forums, and the consensus is that KBKN, KNNK, KBKB* and KRKR are not claimable draws. There are other draws according to FIDE rules (e.g. 4k3/8/8/p1p1p1p1/PpPpPpPp/1P1P1P1P/8/4K3 w), but considering the difficulty that GUIs would have recognizing all such positions there is also consensus that it is desirable to not allow engines claiming such positions. So the set of claimable draws is limited to KK, KBK, KNK, KBKB and KBnKBm (the latter two with like Bishops).

Sloppy is in violation of the rules. It should be fixed. If a tester wants to save time by declaring such positions draw, he can use the -trivialDraws true option. Then the GUI takes care of this. But the engine should stick to the rules.

Your football metaphore is a very poor one. If a team that thinks they should get a penalty refuses to play on and leave the field, they not only get a forfeitary loss, but are excluded from the tournament (usually for a numebr of years). This has happened at the highest level (AC Milan).

I am sorry if the option does not do what you want, but I can't please eveyone. Just switch it off, then XBoard will also honour every false claim. The eventual solution should be that all engines are fixed to obey the rules. Any lenience to false claims will do exactly the opposite, and encourage engines to be buggy and obstinate.
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Xboard "False Draw Claim" bug

Postby Volker Pittlik » 28 Jul 2009, 17:41

H.G.Muller wrote:What you refer to are the rules for quick-play. WinBoard does not implement those,...


YOU didn't implement them.

H.G.Muller wrote:...Even if the GUI would implement quick-play finishes, this would have made no difference: You were playing a 40/10 game, which is a standard time control...


Which is plain simply wrong. Look closer: it's 40 moves in 10 seconds what is anything else than standard. In this case article 10... is valid because it refers to situation were less than 2 minutes are left. This is the case here from the start. However in these cases an agreement of the player and the arbiter has to be made. Its all together only valid for human games on the board. And if even at human games human arbritration is necessary its more necessary in computer games.

H.G.Muller wrote:...Sloppy is in violation of the rules...


As well as Crafty and Gaviota.

H.G.Muller wrote:...Just switch it off, then XBoard will also honour every false claim...


I've already done so. The false draw claim are by far the minority. These engines can be excluded from tournaments by using simple common sense.
As far as I know a human chess player can be punished if he continuously offers a draw. To forfeit him at the first claim even it is wrong is neither in accordance to the rules of chess nor to the reality in tournaments. But that's exactly the way xboard is handling it at the moment.

vp
User avatar
Volker Pittlik
 
Posts: 1031
Joined: 24 Sep 2004, 10:14
Location: Murten / Morat, Switzerland

Re: Xboard "False Draw Claim" bug

Postby H.G.Muller » 28 Jul 2009, 17:50

Sorry, but you are wrong. Even when I mixed up min and sec, 40/10 is not quick-play:
Article 10: Quickplay Finish

10.1
A ‘quickplay finish’ is the phase of a game when all the (remaining) moves must be made in a limited time.

10.2
If the player, having the move, has less than two minutes left on his clock, he may claim a draw before his flag falls. He shall summon the arbiter and may stop the clocks. (See Article 6.12.b)

a.
If the arbiter agrees the opponent is making no effort to win the game by normal means, or that it is not possible to win by normal means, then he shall declare the game drawn. Otherwise he shall postpone his decision or reject the claim.

In 40/10 you just keep doing moves until you get new time. Never a problem. Humans will never be exposed to TC faster than can be physically handled.

I don't think Gaviota could be blamed for anything, that was a genuine bug in 4.3.15, which has since been fixed.

If you exclude cheating engines like Sloppy and Crafty, it would of course not matter at all if you left the option on or off. The entire purpose of the option is to find out engines that do not play by the rules. And you see that it is remarkably effective at that...
User avatar
H.G.Muller
 
Posts: 3453
Joined: 16 Nov 2005, 12:02
Location: Diemen, NL

Re: Xboard "False Draw Claim" bug

Postby Mathieu » 28 Jul 2009, 18:24

The engines you quote make 2 errors :
they end the game by claiming a draw instead of offering a draw
they state there isn't enought material to mate.

2nd point is obviously wrong as was shown by H.G. Muller. Insufficiant material is not the reason for the draw (the reason is simply an even position : best play will inevitably lead to repetition or 50-move draw).

1st point violates the 10.2 article : what fide rule says is that you can call the referee to state about the game, but only the referee will say if it's a draw or not, so only him can end the game.
The only way a player (or here an engine) can state by himself that the game is a draw according to fide is when no sequence of legal move leads to a mate.
Because GUI can't evaluate a position, it's usual in automated computer chess to consider that a false claim results in a loss.
It IS a false claim since there is ENOUGHT material to win : the engines should offer a draw, not end the game and call it a draw.

For those who like comparisons, here is another one, but sticking with chess :
When your engine detects a forced mate, you don't stop the game by claiming a win, and you play until mate if your opponent doesn't resign. So why would you stop a game because your engine knows it will result in a draw? (after all, your engine may be wrong) Instead, keep using fide rules : if you think it's a draw, you can offer a draw but not end the game.
Mathieu
 
Posts: 26
Joined: 08 Sep 2008, 22:42

Re: Xboard "False Draw Claim" bug

Postby Mathieu » 28 Jul 2009, 18:36

it reminds me an example of a friend's game that may be a little out of subject but it shows (Ithink) what is and what is not a claimable draw :

it was a real game (no computer or so) and the endgame was K+R vs K+B, a theoretical draw.
the weak side reached the good corner to draw, and after few moves, since he had less than 2 minutes, he stopped the clock and called the referee. Everything is ok with that.
The referee did not accept the draw, so they had to play. No penalty was given as it really should be a draw, but there is nothing wrong in trying to mate.
My friend finally managed to mate his opponent who made an error.

So the referee was right : even if it is a theoretical draw, normal play still can lead to a win and then, he refused to end the game in a draw.

Otherwise, call the referee at the very first move of the game: if no errors, the game whould be a draw...
Mathieu
 
Posts: 26
Joined: 08 Sep 2008, 22:42

Next

Return to WinBoard development and bugfixing

Who is online

Users browsing this forum: No registered users and 6 guests