Not bad for changing 2 lines of code
An alternative to IID
Moderators: hgm, Rebel, chrisw
-
- Posts: 6995
- Joined: Thu Aug 18, 2011 12:04 pm
Re: An alternative to IID
90% of coding is debugging, the other 10% is writing bugs.
-
- Posts: 347
- Joined: Tue Nov 19, 2019 4:34 am
- Location: https://github.com/TerjeKir/weiss
- Full name: Terje Kirstihagen
Re: An alternative to IID
Only a slight worry that it's negative at very long time controls, but aside from that quite awesome. Simplification with elo!
-
- Posts: 725
- Joined: Tue Dec 18, 2007 9:38 pm
- Location: Munich, Germany
- Full name: Dr. Oliver Brausch
Re: An alternative to IID
I am still wondering: How do you get this "elo-gain"?
By just playing your engine against each other oder by playing against other engines?
-
- Posts: 347
- Joined: Tue Nov 19, 2019 4:34 am
- Location: https://github.com/TerjeKir/weiss
- Full name: Terje Kirstihagen
Re: An alternative to IID
-
- Posts: 725
- Joined: Tue Dec 18, 2007 9:38 pm
- Location: Munich, Germany
- Full name: Dr. Oliver Brausch
Re: An alternative to IID
I see, but... since I have 32-core server to test, I can verify, that a greater ELO against itself does not automatically mean greater ELO against other opponents.
-
- Posts: 347
- Joined: Tue Nov 19, 2019 4:34 am
- Location: https://github.com/TerjeKir/weiss
- Full name: Terje Kirstihagen
Re: An alternative to IID
-
- Posts: 70
- Joined: Tue Dec 31, 2019 2:52 am
- Full name: Kieren Pearson
Re: An alternative to IID
Adds
To Halogen. I'm going to merge it anyways because it simplifies IID and removes a lot of the complexity even if it wasn't an elo gainer for me
Code: Select all
ELO | 1.67 +- 5.05 (95%)
-
- Posts: 91
- Joined: Sat Nov 02, 2019 6:42 pm
- Full name: ɹǝƃɹǝqǝᗡ ǝɔnɹꓭ
Re: An alternative to IID
Committed today in Stockfish: Simplify Away Internal Iterative Deepening
-
- Posts: 725
- Joined: Tue Dec 18, 2007 9:38 pm
- Location: Munich, Germany
- Full name: Dr. Oliver Brausch
Re: An alternative to IID
This is a complete game-changer and very dangerous to evaluate:
On tactical positions (with empty hash) it doesn't look good, but for normal game play (with constantly filling hash) it looks promising.
Against its former version, it's increasing ELO. The more time, the more gain.
But, I guess, against stronger opponents it's not that good because the surprising effect of super-tactical-position will get lost.
later:
not much later:
Very interesting, but:
A tactical endgame position with c5 being the winning move, was detected on ply 16 before,
will need 25 plies with this alteration:
On tactical positions (with empty hash) it doesn't look good, but for normal game play (with constantly filling hash) it looks promising.
Against its former version, it's increasing ELO. The more time, the more gain.
But, I guess, against stronger opponents it's not that good because the surprising effect of super-tactical-position will get lost.
Code: Select all
# PLAYER : RATING ERROR POINTS PLAYED (%) W D L D(%) CFS(%)
1 OliThink 5.6.5a : 19 24 263.0 499 52.7 160 206 133 41.3 94
2 OliThink 5.6.5 : 0 ---- 236.0 499 47.3 133 206 160 41.3 ---
White advantage = 33.25 +/- 11.54
Draw rate (equal opponents) = 41.71 % +/- 2.24
Code: Select all
# PLAYER : RATING ERROR POINTS PLAYED (%) W D L D(%) CFS(%)
1 OliThink 5.6.5a : 29 17 518.0 957 54.1 324 388 245 40.5 100
2 OliThink 5.6.5 : 0 ---- 439.0 957 45.9 245 388 324 40.5 ---
White advantage = 22.56 +/- 7.89
Draw rate (equal opponents) = 40.92 % +/- 1.50
Code: Select all
# PLAYER : RATING ERROR POINTS PLAYED (%) W D L D(%) CFS(%)
1 OliThink 5.6.5a : 33 16 547.0 1001 54.6 347 400 254 40.0 100
2 OliThink 5.6.5 : 0 ---- 454.0 1001 45.4 254 400 347 40.0 ---
White advantage = 23.02 +/- 8.06
Draw rate (equal opponents) = 40.40 % +/- 1.55
A tactical endgame position with c5 being the winning move, was detected on ply 16 before,
Code: Select all
../../comp/565/olithink -sd 16 "8/5k1p/1p1pRp2/3P4/PpP3Pp/6bP/6K1/8 w - - 0 2 bm c4c5"
1 159 0 38 g2f3
2 127 0 130 g2f3 b4b3
3 132 0 744 e6e3 g3e5 e3b3
4 123 0 1203 e6e3 g3e5 e3b3 e5c3
5 129 0 2748 e6e3 g3e5 e3b3 e5c3 g2f3
6 128 0 3603 e6e3 g3e5 e3b3 e5c3 g2f3 h7h6
7 132 0 5134 e6e3 g3e5 e3b3 e5c3 g2f3 h7h6 b3b1
8 129 0 7471 e6e3 g3e5 e3b3 e5c3 g2f3 h7h6 b3b1 c3d2
9 117 0 18805 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 h7h5 b3b1
10 121 1 27805 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 h7h6 b3b1 c3e5 f4e3
11 123 1 40883 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 h7h6 b3b1 c3d2 f4e4 g6g5
12 113 3 81929 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e3 e5c3 e3e4 h7h5 e4f3
13 113 4 132284 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e3 e5c3 e3e4 h7h5 e4f3 h5g4 f3g4
14 113 7 205042 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e3 e5c3 e3e4 h7h5 e4f4 h5g4 f4g4
15 93 17 536682 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e4 e5c3 b3b1 g6g5 b1f1 b4b3 e4d3 c3e5
16 215 308 12444096 c4c5 b4b3 e6e3 b6c5 e3b3 g3e1 b3b6 c5c4 b6d6 e1a5 d6c6 c4c3 c6c5 a5b4 c5c7 f7g6 g2f3
move c4c5
Code: Select all
./olithink -sd 26 "8/5k1p/1p1pRp2/3P4/PpP3Pp/6bP/6K1/8 w - - 0 2 bm c4c5"
1 159 0 38 g2f3
2 127 0 130 g2f3 b4b3
3 132 0 744 e6e3 g3e5 e3b3
4 123 0 1203 e6e3 g3e5 e3b3 e5c3
5 129 0 2746 e6e3 g3e5 e3b3 e5c3 g2f3
6 128 0 3563 e6e3 g3e5 e3b3 e5c3 g2f3 h7h6
7 132 0 4997 e6e3 g3e5 e3b3 e5c3 g2f3 h7h6 b3b1
8 129 0 6648 e6e3 g3e5 e3b3 e5c3 g2f3 h7h6 b3b1 c3d2
9 117 0 13797 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 h7h5 b3b1
10 122 1 24337 e6e3 g3e5 e3f3 e5d4 g2f1 f7g6 f1e1 d4c3 e1e2 h7h5 f3f4
11 123 2 53035 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 h7h6 b3b1 c3d2 f4e4 g6g5
12 113 3 72304 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e3 e5c3 e3e4 h7h5 e4f4
13 115 3 92933 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e3 e5c3 e3e4 g6g5 b3b1 h7h6
14 114 4 121700 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e3 e5c3 e3e4 g6g5 b3b1 h7h5 b1g1
15 79 10 274667 e6e3 g3e5 e3b3 e5c3 g2f3 f7g6 f3f4 c3e5 f4e3 e5c3 e3e4 g6g5 b3b1 h7h5 g4h5 f6f5 e4f3
16 109 17 485060 e6e3 g3e5 g2f3 f7g6 e3b3 e5c3 f3f4 c3e5 f4e4 e5c3 b3b1 g6g5 b1f1 b4b3 e4d3 c3e5 f1f5 g5g6
17 109 21 609091 e6e3 g3e5 g2f3 f7g6 e3b3 e5c3 f3f4 c3e5 f4e4 e5c3 b3b1 g6g5 b1f1 b4b3 e4d3 c3e5 f1f5 g5g6 d3e3
18 90 33 982539 e6e3 g3e5 g2f3 f7g6 f3e4 e5c3 e3f3 c3e5 e4d3 b4b3 d3e4 b3b2 f3b3 h7h5 g4h5 g6g5 e4d3 f6f5 d3c2
19 93 47 1423662 e6e3 g3e5 g2f3 f7g6 f3e4 e5c3 e3f3 c3e5 e4d3 b4b3 d3e4 b3b2 f3b3 h7h5 g4h5 g6g5 b3b6 f6f5 e4d3 g5h5 a4a5
20 88 79 2464628 e6e3 g3e5 g2f3 f7g6 f3e4 g6g5 e3f3 g5g6 e4d3 b4b3 d3e4 b3b2 f3b3 h7h5 g4h5 g6g5 b3b6 f6f5 e4d3 g5h5 a4a5 h5g6
21 110 178 6060338 e6e3 f7g6 g2f3 f6f5 e3b3 g3e1 g4f5 g6f5 b3b1 e1c3 f3e3 f5g5 e3d3 g5f4 b1g1 h7h5 d3c2 c3d4 g1g6 d4e5 c2b3 f4f5
22 120 299 10722736 e6e3 f7g6 g2f3 f6f5 e3b3 g3e1 g4f5 g6f5 b3b1 e1c3 f3e3 f5g5 b1g1 g5f5 e3d3 h7h5 g1f1 f5g6 d3c2 g6h6 c2b3 h6g5 f1f2 g5h6 f2f5
23 116 442 16269882 e6e3 f7g6 g2f3 f6f5 e3b3 g3e1 g4f5 g6f5 b3b1 e1c3 f3e3 f5g5 b1g1 g5f5 e3d3 h7h5 g1f1 f5g6 d3c2 g6h6 c2b3 h6g5 f1f7 g5h6
24 125 785 29501777 e6e3 f7g6 g2f3 f6f5 e3b3 g3e1 g4f5 g6f5 b3b1 e1c3 f3e3 f5e5 b1f1 c3d4 e3d3 d4c5 d3c2 e5e4 c2b3 e4e5 f1e1 e5f4 e1e7 h7h5 e7e6
25 239 3442 147708818 c4c5 b4b3 e6e3 b6c5 e3b3 g3e1 b3b7 f7g6 b7d7 c5c4 d7d6 e1a5 d6c6 c4c3 g2f3 g6f7 f3e4 f7e7 e4f5 a5b4 g4g5 f6g5 f5g5 e7e8
26 265 8898 411301300 c4c5 b4b3 e6e3 b6c5 e3b3 g3e1 b3b7 f7g6 b7d7 c5c4 d7d6 e1a5 d6c6 c4c3 c6c5 a5b4 c5c4 b4a5 d5d6 g6f7 d6d7 f7e7 c4c5
move c4c5
-
- Posts: 1756
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Re: An alternative to IID
Hmm.. I would have liked to see SMP tests for that change. Multi-threaded has the possibility of giving you a TT hit you don't "expect", but also the chance to take away a TT hit that you "should" get, if you were in the single threaded world.Deberger wrote: ↑Sat Aug 22, 2020 12:05 am Committed today in Stockfish: Simplify Away Internal Iterative Deepening
There is a parallel in this idea to something I talked to Mark L. about two years ago. Maybe it was an idea in Komodo -- maybe we were just spitballing. The idea was to simply chop a depth off after pruning if the node fell outside the bounds of (alpha, beta) by some margin. If you add the missing TT condition to this, the code presented here seems like a full-blown aggressive version of that idea.
I will try some tests with some variations. I think it can be better than a simplification (I already removed IID some years ago)
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )