lithander wrote: ↑Tue Mar 09, 2021 10:33 am
There's a new release version of MinimalChess!
As promised, I've run MinimalChess through two gauntlets.
Against Rustic Alpha 1, with which it has (almost) a parity of features. MinimalChess 0.3 has PVMove ordering, which Alpha 1 does not. A1 is faster however, and it seems to be fast enough to compensate for this feature. When watching some games, it looks as if Rustic's PST's are a little bit better.
Code: Select all
Score of Rustic Alpha 1 vs MinimalChess 0.3: 45 - 24 - 31 [0.605]
... Rustic Alpha 1 playing White: 27 - 8 - 15 [0.690] 50
... Rustic Alpha 1 playing Black: 18 - 16 - 16 [0.520] 50
... White vs Black: 43 - 26 - 31 [0.585] 100
Elo difference: 74.1 +/- 57.8, LOS: 99.4 %, DrawRatio: 31.0 %
100 of 100 games finished
Even though Rustic Alpha 1 is still stronger, a match against MinimalChess 0.3 is by no means a slaughterfest any longer. The error bars are a bit large because of playing only 100 games, but it seems as if a 1600 rating for MinimalChess 0.3 is in the cards, if it's a bit lucky with the opponents it faces in CCRL testing.
Another gauntlet against Alpha 2, which has a TT and TT Move ordering:
Code: Select all
Score of Rustic Alpha 2 rc5 Mate vs MinimalChess 0.3: 72 - 10 - 18 [0.810]
... Rustic Alpha 2 rc5 Mate playing White: 36 - 5 - 9 [0.810] 50
... Rustic Alpha 2 rc5 Mate playing Black: 36 - 5 - 9 [0.810] 50
... White vs Black: 41 - 41 - 18 [0.500] 100
Elo difference: 251.9 +/- 75.4, LOS: 100.0 %, DrawRatio: 18.0 %
100 of 100 games finished.
It seems MinimalChess 0.3 takes a serious hit when paired against an opponent that uses a transposition table, in contrast to, for example, Celestial 1.0, which drops only 14 Elo points. In the rating list, Rustic Alpha 2 was about 105 Elo above Alpha 1, so I had expected Alpha 2 to score around +180 Elo. +251 is decidedly worse, but still... the error bars are rather large.
Because of the less than predicted performance of MinimalChess 0.3 against Alpha 2, the rating of Alpha 2 becomes a bit higher, and thus all the engines that played against it also increased a few points in rating. Alpha 2 itself increased from 1781 to 1792 since the previous list. This is the current list, with the games of MinimalChess 0.3 included:
Code: Select all
1 Clueless 1.4 1888 63 59 100 69% 1734 9%
2 Wukong JS 1.4 1843 59 57 100 64% 1734 15%
3 Deepov 0.4 1831 58 56 100 63% 1734 15%
4 CDrill Build 4 1805 59 58 100 59% 1734 11%
5 Pigeon 1.5.1 1795 54 53 100 59% 1734 34%
6 Rustic Alpha 2 rc5 1792 23 23 600 57% 1741 20%
7 TSCP 1.81 1743 58 58 100 51% 1734 10%
8 Celestial 1.0 1733 55 55 100 50% 1734 22%
9 FracTal 1.0 1714 52 52 100 47% 1734 39%
10 Shallow Blue 2.0 1713 56 57 100 47% 1734 16%
11 Rustic Alpha 1 1677 23 23 600 42% 1741 19%
12 Mizar 3 1662 57 58 100 41% 1734 13%
13 MinimalChess 0.3 1582 40 41 200 29% 1734 25%
Congratulations with this massive increase of about 540 points. I think the main reason for the difference in Elo-rating would be Rustic's PST's, because the only other difference in features is PV Move ordering vs. raw speed (as far as I know).
Did you run a match against Rustic Alpha 1 using Rustic's PST's?
Congratulations. If you wanted to write a minimal chess engine, you did it.
- Include a few PST sets
- Include a PST-set that has all zero's, effectively disabling it
- Make a UCI-option to disable QSearch
Then you have an engine that can play from somewhere between 1000 Elo up to +/- 1600 CCRL, with QSearch enabled, depending on the PST's. That seems a perfect opportunity to call it MinimalChess 1.0, and call it quits on this engine
Assuming you want to write a bitboard engine and then go all-out with adding features. I'd be willing to help with this (with tips and hints, and some testing/profiling, not programming), as I went through that process a year before.
edit: Rustic Alpha 2 rc5 is going to be Alpha 2 shortly; the engine itself won't change. I just have to add the UCI options to it for setting and clearing the TT. The engine can do it from the command line, but I want it to be complete before releasing it.