I use Arena to open the pgn and looked for the game where Weini lost the quickest That game was imported in lichess which easily spotted the blunder.
statistics, testing and frustration
Moderators: hgm, Rebel, chrisw
-
- Posts: 160
- Joined: Sat Jan 28, 2017 1:29 pm
- Location: The Netherlands
Re: statistics, testing and frustration
-
- Posts: 1871
- Joined: Sat Nov 25, 2017 2:28 pm
- Location: France
Re: statistics, testing and frustration
I think Xiphos and Vajolet is doing both.Didn't check others.Edsel Apostol wrote: ↑Wed Sep 12, 2018 9:12 pm I think most strong engines doesn't check for && score < beta anymore.
Usually you don't store a bestmove in the TT if score is equal or below alpha.
And when I remove that, Weini is losing elo (and does not solve fine70 anymore, I mean fast enough ...).
-
- Posts: 1871
- Joined: Sat Nov 25, 2017 2:28 pm
- Location: France
Re: statistics, testing and frustration
Testing some advices given in this threat this week, I finally found something that wins some elo.
In Weini, I used to use the TT move only if
I now switch as (almost) Xiphos to (both in search and qsearch)
Moreover, I used to not use the TT move directly (i.e. return a score immediatly) if it leads to a draw (I was afraid of false draw score due to 3 reps but now I use only 1 rep so probably no need to worry anymore). I now use the TT move (under the previous conditions) also if it leads to a draw.
In Weini, I used to use the TT move only if
Code: Select all
!fromPV || ttt.t_type == Transposition::tt_exact
Code: Select all
!fromPV ||
(ttt.t_type == Transposition::tt_exact
&& ttt.score > alpha
&& ttt.score < beta) ||
(ttt.t_type == Transposition::tt_alpha
&& ttt.score <= alpha) ||
(ttt.t_type == Transposition::tt_beta
&& ttt.score >= beta) ) )
-
- Posts: 214
- Joined: Thu Sep 01, 2011 5:38 pm
- Location: Seville, Spain
Re: statistics, testing and frustration
I think you are messing around a bit with TT.xr_a_y wrote: ↑Fri Sep 14, 2018 7:56 pmMoreover, I used to not use the TT move directly (i.e. return a score immediatly) if it leads to a draw (I was afraid of false draw score due to 3 reps but now I use only 1 rep so probably no need to worry anymore). I now use the TT move (under the previous conditions) also if it leads to a draw.Code: Select all
!fromPV || (ttt.t_type == Transposition::tt_exact && ttt.score > alpha && ttt.score < beta) || (ttt.t_type == Transposition::tt_alpha && ttt.score <= alpha) || (ttt.t_type == Transposition::tt_beta && ttt.score >= beta) ) )
This is what I do, I think that is what everyone is using, and it is pretty simple:
Code: Select all
THashEntry entry;
if (Hash.hash_get(Current->key, &entry)){
if (TO_MOVE(entry.move) != NULL_MOVE && is_pseudolegal(TO_MOVE(entry.move))){
trans_move = TO_MOVE(entry.move);
pv_copy( trans_move );
}
entry.eval = hash_value_get(entry.eval, root_distance() );
if (entry.ok_to_prune(depth, alpha, beta)){
return entry.eval;
}
}
Code: Select all
bool THashEntry::ok_to_prune(int depth, int alpha, int beta){
return (
(isMate(this->eval) && this->type == typeExact)
|| (
(this->depth >= depth) &&
(
(this->type == typeExact) ||
(this->type == typeAlpha && this->eval <= alpha) ||
(this->type == typeBeta && this->eval >= beta)
)
)
);
}
regards.
Still learning how to play chess...
knigths move in "L" shape ¿right?
knigths move in "L" shape ¿right?
-
- Posts: 4605
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: statistics, testing and frustration
Sander is quite right. You have at least a serious repetition bug!sandermvdb wrote: ↑Wed Sep 12, 2018 10:15 pm I just downloaded the games Weini 0.0.20 played in the CCRL 40/4. This is the game it has lost in the least number of moves:
https://lichess.org/aoEmr338
It looks like a 3-fold repetition bug where it just throws away its queen and therefore loses the match.
I downloaded the commented CCRL 40/40 for Weini 0.023 and cleaned it with a script,
thus Toms GameAnalyser can read it (filtered out won games before with Scid because
we are not interested in those)
Fiddled a bit with some settings in TGA and found at least 3 games already in a few minutes,
which have the same symptom.
When a rep is on the horizon even when eval is worse it suddenly starts to blunder a piece
or worsens its position instead of trying to force a repetition and take the draw. (or even 50 moves draw)
Here are two examples from the first sample (Weini White).
Example1:
Asymptotes eval also is wrong for a long while and Weini showing around -0.84 has a comfortable
positionally draw and could have just sat with its K around the Black passer on e3 awaiting a 3 time rep
or a 50 moves draw as Black can do nothing.
Instead it suddenly created a decisive weakness with 119.g6??
I could understand it if would show a positive score and attempts to win.
[pgn] [Event "CCRL 40/40"] [Site "CCRL"] [Date "2018.08.23"] [Round "626.2.687"] [White "Weini 0.0.23 64-bit"] [Black "Asymptote 0.1.8 64-bit"] [Result "0-1"] [WhiteElo "2241"] [BlackElo "2177"] [ECO "D30"] [Opening "QGD"] [PlyCount "255"] 1.d4 {book} 1...d5 {book} 2.c4 {book} 2...e6 {book} 3.Nf3 {book} 3...Nf6 { book} 4.Bg5 {book} 4...h6 {book} 5.Bxf6 {book} 5...Qxf6 {book} 6.Nbd2 { book} 6...Be7 {book} 7.e3 {+0.07/16 40} 7...a5 {-0.24/12 30} 8.Bd3 { +0.62/14 49} 8...Nc6 {-0.17/11 32} 9.O-O {+0.59/16 49} 9...g5 {-0.19/12 35 } 10.Qe2 {+0.63/13 33} 10...Bd7 {-0.01/12 38} 11.cxd5 {+0.72/13 49} 11... exd5 {-0.03/13 58} 12.Bb5 {+0.49/15 49} 12...O-O {-0.03/12 31} 13.Bxc6 { +0.63/14 49} 13...Qxc6 {-0.01/13 39} 14.Ne5 {+0.53/16 48} 14...Qd6 { -0.04/12 54} 15.Rfc1 {+0.54/13 31} 15...Bf5 {+0.06/12 91} 16.Qf3 {+0.47/14 48} 16...Bh7 {+0.05/12 50} 17.Nb3 {+0.52/14 27} 17...f6 {+0.29/12 31} 18. Ng4 {+0.16/18 49} 18...a4 {+0.34/13 42} 19.Nc5 {+0.94/16 35} 19...b6 { +2.27/13 28} 20.Nxh6+ {-1.01/19 346} 20...Kg7 {+2.22/14 24} 21.Nf5+ { -0.87/17 24} 21...Bxf5 {+2.27/15 24} 22.Qxf5 {-0.91/18 32} 22...bxc5 { +2.27/15 77} 23.Rxc5 {-1.03/18 32} 23...Rfd8 {+2.20/14 80} 24.Qc2 { -1.00/16 31} 24...Ra7 {+2.29/13 29} 25.Rc1 {-0.98/16 31} 25...Rb8 { +2.31/13 69} 26.Rc6 {-0.88/12 31} 26...Qd8 {+2.33/13 25} 27.Rc3 {-1.26/13 31} 27...Bd6 {+2.40/12 47} 28.Qe2 {-1.26/13 31} 28...Rab7 {+2.58/11 23} 29.R3c2 {-1.25/14 21} 29...Qd7 {+2.55/10 46} 30.h3 {-1.27/13 31} 30...Rb4 {+2.70/12 43} 31.Rb1 {-1.33/14 31} 31...a3 {+2.69/12 44} 32.b3 {-1.16/13 31} 32...Qe6 {+2.66/11 44} 33.Rd1 {-1.23/11 30} 33...Re8 {+2.70/12 44} 34. Re1 {-1.33/13 30} 34...Qe4 {+2.76/12 44} 35.Kf1 {-1.31/13 17} 35...f5 { +2.72/12 44} 36.Qh5 {-1.37/15 32} 36...Qxc2 {+2.79/12 22} 37.Qxe8 { -1.03/15 30} 37...Qd3+ {+2.35/12 49} 38.Re2 {-1.01/15 29} 38...Qb1+ { +2.31/14 49} 39.Re1 {-1.01/14 29} 39...Qe4 {+2.20/14 46} 40.Qd7+ {-0.95/15 24} 40...Kf6 {+1.38/14 52} 41.Qd8+ {-0.52/15 32} 41...Qe7 {+1.31/13 19} 42.Qh8+ {-0.53/16 38} 42...Qg7 {+1.38/13 23} 43.Qa8 {-0.50/16 38} 43...Rb5 {+1.25/13 49} 44.Qd8+ {-0.10/17 35} 44...Qe7 {+1.05/14 39} 45.Qh8+ { -0.39/18 38} 45...Ke6 {+1.09/15 54} 46.Qc8+ {-0.33/18 38} 46...Qd7 { +1.09/14 20} 47.Qg8+ {-0.35/18 38} 47...Qf7 {+1.14/14 27} 48.Qxg5 { -0.36/18 38} 48...Rb8 {+1.16/13 72} 49.Qh4 {-0.36/16 38} 49...Rg8 { +1.17/12 35} 50.Re2 {-0.45/16 38} 50...Qg6 {+1.30/13 37} 51.f4 {-0.59/20 38} 51...Be7 {+1.25/12 83} 52.Qf2 {-0.59/18 38} 52...Qg3 {+1.31/15 50} 53. Qxg3 {-0.63/17 38} 53...Rxg3 {+1.37/18 26} 54.Ke1 {-0.63/21 30} 54...c6 { +1.37/17 20} 55.Kd2 {-0.88/18 30} 55...Bb4+ {+2.18/14 37} 56.Kd3 {-1.03/19 31} 56...Bd6 {+2.43/17 27} 57.Kc2 {-1.12/18 31} 57...c5 {+2.59/17 19} 58. dxc5 {-1.03/18 19} 58...Bxc5 {+2.66/17 37} 59.Kd2 {-1.03/20 32} 59...Kf7 { +2.66/17 18} 60.Kd3 {-1.19/19 32} 60...d4 {+2.63/17 79} 61.Kc4 {-1.19/18 32} 61...Rxe3 {+2.64/16 21} 62.Rxe3 {-1.22/16 33} 62...dxe3 {+2.66/23 26} 63.Kd3 {-1.30/17 25} 63...Kg6 {+2.68/23 66} 64.Ke2 {-1.30/18 26} 64...Kh5 {+2.68/19 60} 65.g3 {-1.30/18 26} 65...Kg6 {+2.69/21 54} 66.Kf3 {-1.30/18 27} 66...Kf7 {+2.70/21 17} 67.Ke2 {-1.31/17 28} 67...Bd4 {+2.71/22 17} 68. g4 {-1.31/18 29} 68...Ke6 {+2.70/16 33} 69.Kd3 {-1.46/16 29} 69...Bc5 { +2.71/21 39} 70.b4 {-1.43/15 17} 70...Bb6 {+2.71/20 37} 71.g5 {-1.43/17 32 } 71...Kf7 {+2.73/22 34} 72.b5 {-1.43/18 34} 72...Kg7 {+2.71/20 19} 73.Ke2 {-1.43/20 36} 73...Kg6 {+2.73/19 18} 74.Kf3 {-1.43/19 37} 74...Kh5 { +2.73/24 31} 75.Ke2 {-1.43/21 40} 75...Ba7 {+2.72/23 25} 76.Kd3 {-1.42/20 41} 76...Kg6 {+2.73/21 42} 77.Ke2 {-1.42/18 47} 77...Bd4 {+2.70/24 21} 78. Kd3 {-1.42/19 53} 78...Kh5 {+2.70/21 38} 79.Ke2 {-1.42/19 64} 79...Bb6 { +2.71/23 55} 80.Kd3 {-1.40/20 69} 80...Bc5 {+2.69/23 55} 81.Ke2 {-1.40/17 23} 81...Kg6 {+2.71/22 149} 82.Kd3 {-1.33/18 14} 82...Bb6 {+2.72/23 62} 83.Ke2 {-1.33/19 25} 83...Kg7 {+2.70/22 128} 84.Kf3 {-1.33/19 25} 84...Bc5 {+2.70/25 19} 85.Ke2 {-1.33/18 25} 85...Bd4 {+2.70/23 16} 86.Kf3 {-1.33/20 25} 86...Ba7 {+2.69/22 43} 87.Ke2 {-1.33/19 26} 87...Kg6 {+2.66/23 17} 88. Kd3 {-1.33/19 26} 88...Bc5 {+2.67/18 21} 89.Ke2 {-1.33/19 26} 89...Kg7 { +2.64/22 50} 90.Kf3 {-1.33/19 27} 90...Bd4 {+2.65/22 93} 91.Ke2 {-1.33/19 27} 91...Kh7 {+2.57/20 89} 92.Kf3 {-1.43/19 27} 92...Ba7 {+2.17/25 19} 93. Ke2 {-1.43/19 28} 93...Kg7 {+2.57/24 22} 94.Kf3 {-1.43/20 28} 94...Kf7 { +1.75/24 35} 95.Ke2 {-1.43/17 29} 95...Bc5 {+1.71/21 73} 96.Kd3 {-1.43/17 29} 96...Bb6 {+1.72/22 32} 97.Ke2 {-1.43/19 29} 97...Ke8 {+1.72/22 62} 98. h4 {-0.76/18 27} 98...Kf8 {+1.68/24 14} 99.h5 {-0.81/17 31} 99...Kg7 { +1.71/23 54} 100.Kf3 {-0.71/16 31} 100...Bd4 {+1.69/23 13} 101.Ke2 { -0.80/16 32} 101...Bc5 {+1.68/23 18} 102.Kf3 {-0.80/16 32} 102...Bb6 { +1.10/23 14} 103.Ke2 {-0.80/16 33} 103...Ba7 {+1.67/21 12} 104.Kf3 { -0.80/16 34} 104...Kg8 {+1.68/22 20} 105.Ke2 {-0.80/16 35} 105...Kf7 { +1.71/16 24} 106.Kd3 {-0.80/16 35} 106...Kg7 {+1.72/22 17} 107.Ke2 { -0.80/16 36} 107...Bd4 {+1.69/22 37} 108.Kd3 {-0.80/17 37} 108...Bc5 { +1.67/19 33} 109.Ke2 {-0.79/16 39} 109...Kf7 {+1.72/22 14} 110.Kf3 { -0.80/16 40} 110...Bb6 {+1.72/21 28} 111.Ke2 {-0.80/16 42} 111...Kg8 { +1.72/17 25} 112.Kf3 {-0.80/17 43} 112...Bd4 {+1.71/22 25} 113.Ke2 { -0.80/16 45} 113...Kh7 {+1.71/16 25} 114.Kf3 {-0.89/17 48} 114...Ba7 { +1.73/20 21} 115.Ke2 {-0.88/17 49} 115...Bb6 {+1.72/20 26} 116.Kf3 { -0.84/18 51} 116...Kg8 {+1.72/23 17} 117.Ke2 {-0.84/18 61} 117...Kh8 { +1.72/23 28} 118.Kd3 {-0.84/18 69} 118...Bc5 {+1.73/22 15} 119.g6 { -0.72/17 66} 119...Kg7 {+2.17/23 34} 120.Ke2 {+0.00/19 87} 120...Kh6 { +3.68/22 34} 121.Kd3 {-2.99/18 162} 121...Bd4 {+4.14/21 150} 122.Ke2 { -3.07/14 23} 122...Kxh5 {+4.67/22 57} 123.g7 {-3.22/16 23} 123...Bxg7 { +5.14/18 26} 124.Kxe3 {-4.01/17 23} 124...Kg4 {+5.65/19 77} 125.Kd3 { -5.82/18 166} 125...Bh6 {+5.49/15 40} 126.Kc4 {-12.39/18 150} 126...Bxf4 { +7.97/18 23} 127.Kd5 {-9.38/16 19} 127...Be3 {+9.08/20 25} 128.b6 { -9.88/15 19} 0-1[/pgn]
Example 2:
In this game it is even more visible. There was already a two time repetition after 57...Qf5, but suddenly
it played Nxb4?? with a slightly positive score though for only one ply (before always slightly negative).
[pgn][Event "CCRL 40/40"] [Site "CCRL"] [Date "2018.08.21"] [Round "627.3.151"] [White "Weini 0.0.23 64-bit"] [Black "Zevra 1.8.5 r664 64-bit"] [Result "0-1"] [WhiteElo "2241"] [BlackElo "2240"] [ECO "B40"] [Opening "Sicilian defence"] [PlyCount "163"] 1.e4 {book} 1...c5 {book} 2.Nf3 {book} 2...e6 {book} 3.b3 {book} 3...d6 { book} 4.Bb2 {book} 4...Nf6 {book} 5.Bb5+ {+0.08/16 38} 5...Bd7 {-0.02/20 21} 6.Nc3 {+0.11/17 38} 6...Bxb5 {+0.83/19 22} 7.Nxb5 {-0.16/17 37} 7... Nxe4 {+0.93/19 25} 8.O-O {-0.26/17 37} 8...Nc6 {+0.87/19 25} 9.c4 { -0.27/14 37} 9...a6 {+0.74/18 24} 10.Nc3 {-0.72/16 37} 10...Nxc3 {+1.44/19 22} 11.Bxc3 {-0.33/15 21} 11...e5 {+1.36/19 28} 12.Re1 {-0.90/16 36} 12... Be7 {+1.47/16 18} 13.d3 {-0.88/15 36} 13...O-O {+1.57/15 35} 14.Qe2 { -0.93/14 36} 14...f5 {+1.86/15 21} 15.a3 {-0.85/12 29} 15...g5 {+1.88/17 27} 16.Nd2 {-0.64/17 29} 16...g4 {+1.82/16 19} 17.Nf1 {-0.62/16 27} 17... Nd4 {+1.94/17 23} 18.Qd1 {-0.60/14 33} 18...Bg5 {+1.96/17 35} 19.Ne3 { -0.63/14 37} 19...Qd7 {+1.98/16 35} 20.Nd5 {-0.55/15 30} 20...Rae8 { +2.08/17 20} 21.Rb1 {-0.55/13 37} 21...b5 {+1.98/14 32} 22.a4 {-0.52/15 33 } 22...b4 {+2.24/19 30} 23.Bxd4 {-0.49/15 26} 23...exd4 {+2.25/21 34} 24. Rf1 {-0.46/15 36} 24...f4 {+2.67/18 21} 25.f3 {-0.35/16 35} 25...h5 { +2.54/18 35} 26.Rb2 {-0.34/16 31} 26...Rf7 {+2.62/17 40} 27.Re2 {-0.34/15 36} 27...Re5 {+2.52/18 25} 28.Rb2 {-0.41/15 36} 28...Qe6 {+2.86/15 42} 29. Rc2 {-0.47/15 36} 29...Bh4 {+2.91/18 23} 30.a5 {-0.41/16 35} 30...Rf8 { +2.81/16 32} 31.Nc7 {-0.40/16 20} 31...Qd7 {+2.81/18 25} 32.Nd5 {-0.40/17 37} 32...g3 {+2.72/17 46} 33.h3 {-0.37/16 25} 33...Qe8 {+2.70/19 24} 34. Qd2 {-0.40/15 37} 34...Bd8 {+2.85/18 38} 35.Ra2 {-0.42/16 37} 35...Bg5 { +2.68/18 38} 36.Qd1 {-0.44/16 36} 36...Rf7 {+2.84/20 27} 37.Qd2 {-0.41/15 22} 37...Qe6 {+2.80/18 31} 38.Rb1 {-0.40/17 22} 38...Bh6 {+2.67/18 59} 39. Kf1 {-0.38/18 28} 39...Qf5 {+2.67/19 66} 40.Raa1 {-0.30/18 33} 40...h4 { +2.67/20 60} 41.Re1 {-0.31/18 33} 41...Qc8 {+2.67/19 25} 42.Re2 {-0.26/17 18} 42...Bg7 {+2.66/18 21} 43.Rae1 {-0.15/18 27} 43...Qf8 {+2.66/18 18} 44.Rxe5 {-0.10/21 28} 44...Bxe5 {+2.54/20 21} 45.Qa2 {-0.10/26 32} 45... Qc8 {+2.56/18 31} 46.Qa4 {-0.10/25 32} 46...Kf8 {+2.56/21 25} 47.Re4 { -0.10/25 32} 47...Qe8 {+2.56/19 17} 48.Qa2 {-0.10/26 32} 48...Qd8 { +2.56/20 19} 49.Nb6 {-0.10/24 32} 49...Qe8 {+2.56/22 22} 50.Nd5 {+0.10/30 18} 50...Qd8 {+2.56/21 21} 51.Nb6 {-0.10/27 32} 51...Qe7 {+2.56/19 23} 52. Nd5 {-0.10/25 34} 52...Qe6 {+2.56/20 20} 53.Kg1 {-0.10/27 32} 53...Qd7 { +2.56/20 22} 54.Kf1 {-0.10/26 32} 54...Kg8 {+2.56/20 18} 55.Qd2 {-0.10/25 32} 55...Qf5 {+2.56/20 22} 56.Qa2 {-0.10/26 37} 56...Qd7 {+2.56/20 20} 57. Qd2 {-0.10/27 32} 57...Qf5 {+2.56/20 24} 58.Nxb4 {+0.10/30 24} 58...cxb4 { +3.65/18 31} 59.Qxb4 {-1.99/21 221} 59...Qc8 {+3.81/18 22} 60.Qa3 { -1.99/20 22} 60...Rb7 {+4.07/19 28} 61.Re1 {-2.05/19 22} 61...Qb8 { +4.09/20 24} 62.Rb1 {-2.05/19 22} 62...Rb4 {+4.26/20 39} 63.Kg1 {-2.51/20 22} 63...d5 {+4.74/20 40} 64.cxd5 {-2.88/18 22} 64...Kf7 {+5.30/20 36} 65. Qb2 {-2.65/18 22} 65...Qb5 {+5.42/20 25} 66.Qc2 {-2.97/18 22} 66...Qxd5 { +5.43/20 32} 67.Re1 {-3.09/18 22} 67...Qe6 {+5.71/18 42} 68.Kf1 {-3.34/20 22} 68...Rb5 {+5.96/19 29} 69.Qa2 {-3.50/20 22} 69...Qd5 {+5.97/19 28} 70. Qc2 {-3.53/19 22} 70...Rc5 {+5.96/20 38} 71.Qb2 {-3.62/18 22} 71...Rxa5 { +6.15/19 34} 72.b4 {-3.67/18 22} 72...Rb5 {+6.15/19 24} 73.Ra1 {-3.64/17 22} 73...Bd6 {+6.83/18 33} 74.Rxa6 {-4.09/16 22} 74...Rxb4 {+7.54/20 32} 75.Qc2 {-4.77/19 22} 75...Qb5 {+7.65/20 52} 76.Ra1 {-4.92/18 22} 76...Rb2 {+9.74/20 51} 77.Qc4+ {-5.22/21 22} 77...Qxc4 {+25.93/22 26} 78.dxc4 { -5.22/20 20} 78...d3 {#39/21 44} 79.Ra7+ {-10.99/17 18} 79...Kf6 {#19/23 41} 80.Ra1 {-15.05/16 22} 80...Bc5 {#15/22 53} 81.Ke1 {-78.12/18 26} 81... Ke7 {#13/20 28} 82.Kd1 {Black wins by adjudication} 0-1[/pgn]
-
- Posts: 1871
- Joined: Sat Nov 25, 2017 2:28 pm
- Location: France
Re: statistics, testing and frustration
Thanks a lot for this analysis. I guess 0.0.24 (not released yet) doesn't show the same issue but i'll check that twice. There are indeed strange things going on with draw even in the dev version...
-
- Posts: 1871
- Joined: Sat Nov 25, 2017 2:28 pm
- Location: France
Re: statistics, testing and frustration
Thanks for your inputs. So you suggest to use the TT move and return a score with it as soon as it is an exact score, even at a PV node ?asanjuan wrote: ↑Fri Sep 28, 2018 9:36 amCode: Select all
(this->type == typeExact) || (this->type == typeAlpha && this->eval <= alpha) || (this->type == typeBeta && this->eval >= beta)
-
- Posts: 4052
- Joined: Thu May 15, 2008 9:57 pm
- Location: Berlin, Germany
- Full name: Sven Schüle
Re: statistics, testing and frustration
119.g6?! is not optimal but still a draw. The decisive error is 120.Ke2? where the only move that holds the draw is 120.Kc3! Therefore another possible explanation of the symptom would be that the search depth was not sufficient to see that Kc3 draws but Ke2 loses. The score 0.00 calculated for 120.Ke2, compared to -2.99 after the next move, makes this quite likely for me. I do not see a clear connection to the repetition topic in this case.Guenther wrote: ↑Fri Sep 28, 2018 12:12 pm Example1:
Asymptotes eval also is wrong for a long while and Weini showing around -0.84 has a comfortable
positionally draw and could have just sat with its K around the Black passer on e3 awaiting a 3 time rep
or a 50 moves draw as Black can do nothing.
Instead it suddenly created a decisive weakness with 119.g6??
I could understand it if would show a positive score and attempts to win.
Sven Schüle (engine author: Jumbo, KnockOut, Surprise)
-
- Posts: 4605
- Joined: Wed Oct 01, 2008 6:33 am
- Location: Regensburg, Germany
- Full name: Guenther Simon
Re: statistics, testing and frustration
Hi Sven, I wrote this because 119.g6 was played with negative score (-0.72), why should one move a pawn, when the the 50 moves counterSven wrote: ↑Sat Sep 29, 2018 5:39 pm119.g6?! is not optimal but still a draw. The decisive error is 120.Ke2? where the only move that holds the draw is 120.Kc3! Therefore another possible explanation of the symptom would be that the search depth was not sufficient to see that Kc3 draws but Ke2 loses. The score 0.00 calculated for 120.Ke2, compared to -2.99 after the next move, makes this quite likely for me. I do not see a clear connection to the repetition topic in this case.Guenther wrote: ↑Fri Sep 28, 2018 12:12 pm Example1:
Asymptotes eval also is wrong for a long while and Weini showing around -0.84 has a comfortable
positionally draw and could have just sat with its K around the Black passer on e3 awaiting a 3 time rep
or a 50 moves draw as Black can do nothing.
Instead it suddenly created a decisive weakness with 119.g6??
I could understand it if would show a positive score and attempts to win.
already is at 20 and there was already a 2 time rep before I think? I don't think this requires a kind of fortress detection?
I don't know though what other programs do when eval is negative and there is a chance to accumulate the counter?
OTH there might be a problem with 50 moves draws too, may be I check more games later.
-
- Posts: 214
- Joined: Thu Sep 01, 2011 5:38 pm
- Location: Seville, Spain
Re: statistics, testing and frustration
Don't forget the depth condition in order to return a TT cutoff.xr_a_y wrote: ↑Fri Sep 28, 2018 5:07 pmThanks for your inputs. So you suggest to use the TT move and return a score with it as soon as it is an exact score, even at a PV node ?asanjuan wrote: ↑Fri Sep 28, 2018 9:36 amCode: Select all
(this->type == typeExact) || (this->type == typeAlpha && this->eval <= alpha) || (this->type == typeBeta && this->eval >= beta)
if entry->depth >= depth AND (the above conditions) then CUTOFF. returning alpha, beta or tt-value is irrelevant in a PVS search since the upper level of the search will discard the move or research it with more depth.
The only reason to not to prune and return in a PV node is because you want to print the whole pv in a re-search. But this is something cosmetic.
Just in case you couldn't prune the tree with a TT cutoff, if there is a move in your TT, then use it first in your move loop, even before you start to generate moves.
And yes, at PV nodes is the same.
Still learning how to play chess...
knigths move in "L" shape ¿right?
knigths move in "L" shape ¿right?