OliThink 5.9.5 is very small

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

Moderators: hgm, Rebel, chrisw

OliverBr
Posts: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: OliThink 5.9.5 is very small

Post by OliverBr »

Bitboard enthusiasts may be interested in the latest change in the bitboard implementation of OliThink.

Finally, only 6 bits are used instead of 7. I am expecting a 5 ELO gain from this.

https://github.com/olithink/OliThink/co ... a22e6c0dcf

Note: When I first implemented this move generator in OliThink (OliPerft) in 2007, I had never heard of "Kindergarten Bitboards". It was a completely detached development on my own:

You can see the first implementation here:
https://github.com/olithink/OliThink/co ... 5d44848a26
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
User avatar
Kotlov
Posts: 266
Joined: Fri Jul 10, 2015 9:23 pm
Location: Russia

Re: OliThink 5.9.5 is very small

Post by Kotlov »

OliverBr wrote: Sun Jun 06, 2021 11:35 pm Finally, only 6 bits are used instead of 7. I am expecting a 5 ELO gain from this.
bits or bitboards(U64)?
Eugene Kotlov
Hedgehog 2.1 64-bit coming soon...
OliverBr
Posts: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: OliThink 5.9.5 is very small

Post by OliverBr »

Kotlov wrote: Mon Jun 07, 2021 1:42 pm
OliverBr wrote: Sun Jun 06, 2021 11:35 pm Finally, only 6 bits are used instead of 7. I am expecting a 5 ELO gain from this.
bits or bitboards(U64)?
6 bits. You only need to know the inner 6 bits of a file/rank in order to calculate the possible sliding moves.

Including 5.9.8 OlIThink is precomputing 7 bits which is more than necessary. This shows that OliThink's move generator had been independently developed.
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink
OliverBr
Posts: 725
Joined: Tue Dec 18, 2007 9:38 pm
Location: Munich, Germany
Full name: Dr. Oliver Brausch

Re: OliThink 5.9.5 is very small

Post by OliverBr »

OliThink 5.9.9 has been released.

Finally it features half-sized bitboards and some minor changes that improved the engine a little while being even smaller.

The original targets of OliThink are still valid:

- Just mobility evaluation.
- No pre-calculated data.
- Compact and efficient.

OliThink 5.9.9 has an ELO of about 2950 on Linux. It has been developed on MacOSX and tested on Linux, so it may be perform better there than on Windows.
As a result of its nature (small and efficient) it is stronger on very fast time controls like 40/1 (one second for 40 moves).

There is a 1:1 Java port, which has the exact same calculation, but needs about 50% more time. (and more memory).

Notable mention to two engines being also quite compact (but larger and much stronger): Xiphos and Weiss.
Thanks to two sparring partners featuring hundreds of thousands of games: Halogen 8.1 and Drofa 3.0.0

Time Control 40/16:

Code: Select all

   # PLAYER             :  RATING  ERROR  POINTS  PLAYED   (%)     W     D     L  D(%)  CFS(%)
   1 Halogen 8.1        :      55      5  8333.0   14487  57.5  6833  3000  4654  20.7     100
   2 OliThink 5.9.9     :       2      5  6735.0   14489  46.5  4100  5270  5119  36.4      80
   3 OliThink 5.9.8b    :       0   ----  6664.0   14488  46.0  4021  5286  5181  36.5     ---

White advantage = 39.23 +/- 1.98
Draw rate (equal opponents) = 31.83 % +/- 0.32
Time Control 40/1:

Code: Select all

   # PLAYER            :  RATING  ERROR  POINTS  PLAYED   (%)     W    D     L  D(%)  CFS(%)
   1 OliThink 5.9.9    :      68      8  3575.5    6008  59.5  3162  827  2019  13.8     100
   2 Halogen 8.1       :       0   ----  2432.5    6008  40.5  2019  827  3162  13.8     ---

White advantage = 6.12 +/- 4.50
Draw rate (equal opponents) = 14.07 % +/- 0.46
Chess Engine OliThink: http://brausch.org/home/chess
OliThink GitHub:https://github.com/olithink