algerbrex wrote: ↑Thu Oct 14, 2021 9:52 pm
After 1000 games:
Code: Select all
Score of Blunder 1.1.0 vs Blunder 1.0.0: 505 - 290 - 205 [0.608] 1000
... Blunder 1.1.0 playing White: 264 - 128 - 108 [0.636] 500
... Blunder 1.1.0 playing Black: 241 - 162 - 97 [0.579] 500
... White vs Black: 426 - 369 - 205 [0.528] 1000
Elo difference: 75.9 +/- 19.5, LOS: 100.0 %, DrawRatio: 20.5 %
Blunder 1.1.0 vs 1.1.0? Did you start re-versioning or something?
I assume you copied Rustic's search code, and then testing a version of this with and without PVS, which gave a difference of +75 for the version with PVS? That's impressive... even more than Rustic itself gained. You must have had a subtle bug somewhere which we both have been missing (but I must say that I didn't read through your move ordering and qsearch parts, so the bug might have been there).
The thing I was testing was the draw condition. Yours is at the beginning of the search. Mine skips the search in the move loop, just scoring the move as a draw. You go one ply deeper and then return at the beginning. I think the only difference is if and when a drawing move will be stored in the TT; in my case, the move is taken into account as a normal move, in your case, the function exits, so I think my drawn move may end up in the TT as a beta cutoff more often, which might give a few speedups and thus Elo.
So I created a version of Rustic which copied your draw condition, and tested it against mine:
Code: Select all
Score of Rustic Alpha 3.25.100 vs Rustic Alpha 3.24.100: 806 - 817 - 377 [0.497]
... Rustic Alpha 3.25.100 playing White: 457 - 363 - 180 [0.547] 1000
... Rustic Alpha 3.25.100 playing Black: 349 - 454 - 197 [0.448] 1000
... White vs Black: 911 - 712 - 377 [0.550] 2000
Elo difference: -1.9 +/- 13.7, LOS: 39.2 %, DrawRatio: 18.9 %
2000 of 2000 games finished.
So no such thing. It doesn't matter if you skip the search in the move loop as I do, or exit the function in the beginning as you do.
I'd still be interested to know where the bug in your search function was. If you managed to fix it and PVS gains 75 Elo, you should see blunder gain 40-50 Elo in an average gauntlet.