A complete 2000 lines of code engine

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

Moderators: hgm, Rebel, chrisw

User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: A complete 2000 lines of code engine

Post by MikeB »

xr_a_y wrote: Fri May 24, 2019 6:39 am Minic is now better than fruit2.1 :D

Code: Select all

Score of fruit_21 vs Minic: 33 - 65 - 34 [0.379]
Elo difference: -85.94 +/- 52.46
That is so awesome - keep up the great work!
Image
User avatar
silentshark
Posts: 327
Joined: Sat Mar 27, 2010 7:15 pm

Re: A complete 2000 lines of code engine

Post by silentshark »

xr_a_y wrote: Fri May 24, 2019 9:51 am Using TT in qsearch was useless in Minic with a very simple eval. It became good to store and probe in qsearch when eval started to be the bottleneck.

Just probing TT in qsearch seems strange to me, this will only be good when in check I guess... I store things in qsearch with depth=-1. I guess the important thing is to get eval score for free, I don't expect a lot from TT cut-off.
Aha in qsearch, I do eval hashtable store and probe, and main hashtable probe only. But it seems many engines have now got rid of the eval hashtable, and store eval in the main hashtable.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

silentshark wrote: Fri May 24, 2019 4:50 pm
xr_a_y wrote: Fri May 24, 2019 9:51 am Using TT in qsearch was useless in Minic with a very simple eval. It became good to store and probe in qsearch when eval started to be the bottleneck.

Just probing TT in qsearch seems strange to me, this will only be good when in check I guess... I store things in qsearch with depth=-1. I guess the important thing is to get eval score for free, I don't expect a lot from TT cut-off.
Aha in qsearch, I do eval hashtable store and probe, and main hashtable probe only. But it seems many engines have now got rid of the eval hashtable, and store eval in the main hashtable.
Yes I was using two tables before, but switch to the xiphos style eval+score TT some weeks ago.
User avatar
silentshark
Posts: 327
Joined: Sat Mar 27, 2010 7:15 pm

Re: A complete 2000 lines of code engine

Post by silentshark »

xr_a_y wrote: Fri May 24, 2019 5:17 pm
silentshark wrote: Fri May 24, 2019 4:50 pm
xr_a_y wrote: Fri May 24, 2019 9:51 am Using TT in qsearch was useless in Minic with a very simple eval. It became good to store and probe in qsearch when eval started to be the bottleneck.

Just probing TT in qsearch seems strange to me, this will only be good when in check I guess... I store things in qsearch with depth=-1. I guess the important thing is to get eval score for free, I don't expect a lot from TT cut-off.
Aha in qsearch, I do eval hashtable store and probe, and main hashtable probe only. But it seems many engines have now got rid of the eval hashtable, and store eval in the main hashtable.
Yes I was using two tables before, but switch to the xiphos style eval+score TT some weeks ago.
Maybe I should look at this again - is the single table a clear win?
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

not for Minic, it was equal with a poor eval at least.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

A totally absurd question rise up yesterday : "can fairy-max still beat Minic?". And the answer is YES ! (but not often ...)
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

Be careful testers, version 0.61 of Minic is affected by a bug. May segfault in pawn endgame. I hope it won't affect the current div6 or group C.
A patch will be released soon, 0.60 can be used instead.

Best regards
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

xr_a_y wrote: Sat Jun 01, 2019 12:13 am Be careful testers, version 0.61 of Minic is affected by a bug. May segfault in pawn endgame. I hope it won't affect the current div6 or group C.
A patch will be released soon, 0.60 can be used instead.

Best regards
Wow crazy bug ... material table was not taking into account the removed pawn after a promotion ... Let's see how this affect elo ...
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

Some SMP results :

Code: Select all

Rank Name                          Elo     +/-   Games   Score   Draws
   1 Minic 3 threads                77      23     598   61.0%   35.3%
   2 rofChade1                      71      25     598   60.1%   22.2%
   3 Minic 2 threads                46      23     599   56.5%   34.6%
   4 Topple_0.4.0_nehalem            5      25     598   50.7%   21.4%
   5 Minic                         -88      23     598   37.5%   32.9%
   6 fruit_21                     -113      26     599   34.2%   19.7%

1795 of 15000 games finished.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: A complete 2000 lines of code engine

Post by xr_a_y »

xr_a_y wrote: Sat Jun 01, 2019 12:59 pm
xr_a_y wrote: Sat Jun 01, 2019 12:13 am Be careful testers, version 0.61 of Minic is affected by a bug. May segfault in pawn endgame. I hope it won't affect the current div6 or group C.
A patch will be released soon, 0.60 can be used instead.

Best regards
Wow crazy bug ... material table was not taking into account the removed pawn after a promotion ... Let's see how this affect elo ...
Release 0.62 is available and fix this bug.

Please note that GroupeC and Division6 can of course go on with 0.61 but after that 0.61 shall not be tested more.