cutechess-cli 0.8.0 released

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

Moderators: hgm, Rebel, chrisw

User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Question about the resign option

Post by Guenther »

Code: Select all

	// Resign adjudication
	if (m_resignMoveCount > 0)
	{
		int& count = m_resignScoreCount[side];
		if &#40;eval.score&#40;) <= m_resignScore&#41;
			count++;
		else
			count = 0;

		if &#40;count >= m_resignMoveCount&#41;
			m_result = Chess&#58;&#58;Result&#40;Chess&#58;&#58;Result&#58;&#58;Adjudication,
						 side.opposite&#40;));
	&#125;
If I read the code right the counter is reset if a move is below the margin?
I guess it considers both sides here, because of the side variable?

This would mean, if I set the resignscorecount as 3 there should be 6 consecutive plies with eval below/equal the set resignscore?
Or does it only consider each side independent, without considering 'agreement' between both opponents?
E.g. White is below the resignscore 3 moves in a row and Black was still above in the 3 consecutive plies, would it still be adjudicated or not?

I am asking because I found games which were adjusted too late or too early, at least in the way I thought it should work.

Even if my assumption about consecutive plies is wrong there is at least
a problem e.g. below:
(setting was 6moves/800 - 2 versions of Gaviota as xboard)

Ok here the problem obviously is NO score for certain 'easy' or single reply moves.
Should this be fixed in the chess program or should the UI assume noscore = resignscore?

Code: Select all

50. Re8 &#123;+12.02/11 0.20s&#125; Qd1+ &#123;-8.25/12 0.17s&#125;
51. Kh2 &#123;+8.26/13 0.20s&#125; Qh5+ &#123;-8.52/12 0.17s&#125; 52. Kg1 &#123;+8.26/14 0.25s&#125;
Qd1+ &#123;-8.52/13 0.17s&#125; 53. Kh2 &#123;+8.26/16 0.62s&#125; Qh5+ &#123;-8.58/14 0.17s&#125;
54. Kg3 &#123;+8.62/13 0.17s&#125; Qg6+ &#123;-8.83/14 0.44s&#125; 55. Qxg6+ &#123;+8.74/13 0.17s&#125; Kxg6
56. Rg8 &#123;+16.80/12 0.18s&#125; Kh5 &#123;-17.44/13 0.24s&#125; 57. Kh3 &#123;+18.26/14 0.17s&#125;
Kg6 &#123;-18.60/14 0.17s&#125; 58. Rxg7+ &#123;+18.66/13 0.17s&#125; Kxg7 &#123;-20.15/15 0.26s&#125;
59. a5 &#123;+19.09/15 0.41s&#125; Kf7 &#123;-20.54/15 0.31s&#125; 60. b4 &#123;+20.63/15 0.15s&#125;
Ke7 &#123;-25.17/15 0.15s&#125; 61. a6 &#123;+24.69/14 0.17s&#125;
Kd6 &#123;-25.09/14 0.25s, White wins by adjudication&#125; 1-0

84. Ke5 &#123;+9.28/12 0.14s&#125; Kh7 &#123;-12.25/11 0.17s&#125; 85. f5 &#123;+12.83/12 0.13s&#125;
Kh6 &#123;-12.83/12 0.15s&#125; 86. f6 &#123;+12.21/11 0.15s&#125; gxf6+ &#123;-327.45/12 0.14s&#125;
87. Kxf6 &#123;+327.46/13 0.19s&#125; h4 88. Rb8 &#123;+327.48/2 0.004s&#125; Kh5 &#123;-327.49/2 0.005s&#125;
89. Kf5 &#123;+327.50/2 0.004s&#125; Kh6 &#123;-327.51/2 0.005s&#125; 90. Rh8+ &#123;+327.52/2 0.004s&#125;
Kg7 91. Rxh4 &#123;+327.54/2 0.005s&#125; Kf7 &#123;-327.55/2 0.006s&#125;
92. Re4 &#123;+327.56/2 0.004s&#125; Kg7 &#123;-327.57/2 0.005s&#125; 93. Re7+ &#123;+327.58/2 0.004s&#125;
Kf8 &#123;-327.59/2 0.005s&#125; 94. Kf6 &#123;+327.60/2 0.004s&#125; Kg8 95. Re5 &#123;+327.62/2 0.003s&#125;
Kf8 &#123;-327.63/2 0.005s&#125; 96. Kg6 &#123;+327.64/2 0.003s&#125; Kg8
97. Re8# &#123;+327.66/2 0.003s, White mates&#125; 1-0
I guess I understand now that the counter is only reset for one side!
Shouldn't it be reset for both sides?

Code: Select all

Kc7 &#123;-7.19/11 0.23s&#125; 30. a5 &#123;+7.94/11 0.37s&#125; Nxa5 &#123;-8.80/12 1.2s&#125;
31. Rxa5 &#123;+7.89/11 0.28s&#125; e5 &#123;-8.78/9 0.26s&#125; 32. Qc4 &#123;+10.44/7 0.27s&#125;
Rac8 &#123;-10.39/8 0.20s&#125; 33. Rb5 &#123;+16.98/10 0.58s&#125; Qc6 &#123;-15.33/9 0.19s&#125;
34. Bd5 &#123;+17.36/9 0.28s&#125; Qb6 &#123;-17.46/9 0.38s&#125; 35. Bxb7 &#123;+18.35/10 0.26s&#125;
Be7 &#123;-18.46/10 0.21s, White wins by adjudication&#125; 1-0