Minic version 3

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

Moderator: Ras

MOBMAT
Posts: 396
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Re: Minic version 3

Post by MOBMAT »

No, this is a x64 machine and OS.
I frequently use dozens of other x64 bmi2 chess engines.
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

MOBMAT wrote: Fri Jan 20, 2023 9:01 pm No, this is a x64 machine and OS.
I frequently use dozens of other x64 bmi2 chess engines.
Oh maybe you used git to download it, but without lfs activated !
What is the size of the executable ? If it is very small, this is probably what happened.

In this case using the download link will work (https://github.com/tryingsomestuff/Mini ... inic3/3.32)
MOBMAT
Posts: 396
Joined: Sat Feb 04, 2017 11:57 pm
Location: USA

Re: Minic version 3

Post by MOBMAT »

xr_a_y wrote: Sat Jan 21, 2023 8:56 am
MOBMAT wrote: Fri Jan 20, 2023 9:01 pm No, this is a x64 machine and OS.
I frequently use dozens of other x64 bmi2 chess engines.
Oh maybe you used git to download it, but without lfs activated !
What is the size of the executable ? If it is very small, this is probably what happened.

In this case using the download link will work (https://github.com/tryingsomestuff/Mini ... inic3/3.32)
OK! that worked!
The size of the files I had downloaded were only 146K
What is
lfs activated
mean?

Thanks!

Vince
i7-6700K @ 4.00Ghz 32Gb, Win 10 Home, EGTBs on PCI SSD
Benchmark: Stockfish15.1 NNUE x64 bmi2 (nps): 1277K
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

MOBMAT wrote: Sat Jan 21, 2023 5:54 pm
xr_a_y wrote: Sat Jan 21, 2023 8:56 am
MOBMAT wrote: Fri Jan 20, 2023 9:01 pm No, this is a x64 machine and OS.
I frequently use dozens of other x64 bmi2 chess engines.
Oh maybe you used git to download it, but without lfs activated !
What is the size of the executable ? If it is very small, this is probably what happened.

In this case using the download link will work (https://github.com/tryingsomestuff/Mini ... inic3/3.32)
OK! that worked!
The size of the files I had downloaded were only 146K
What is
lfs activated
mean?

Thanks!

Vince
As exe are huge (because they include the nets) I need to use git-lfs on my github repo. Read this for more details : https://git-lfs.com/
Krzysztof Grzelak
Posts: 1585
Joined: Tue Jul 15, 2014 12:47 pm

Re: Minic version 3

Post by Krzysztof Grzelak »

I have a request if you can post a download link for version 3.33.
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

Krzysztof Grzelak wrote: Tue Apr 04, 2023 10:38 am I have a request if you can post a download link for version 3.33.
I'm working on 3.37 currently, it will be ready soon.

Regards
User avatar
xr_a_y
Posts: 1872
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Minic version 3

Post by xr_a_y »

Hi all,

long time no see ! I was quite busy this year professionally and personnally, so I didn't invest much time in chess programming.

Anyway a new Minic version is finally available (Minic 3.39 https://github.com/tryingsomestuff/Mini ... s/tag/3.39). This release includes a new net named "nyctophobic narwhal", some good search patches and some minor bug fixes. Overall it shall play near 30Elo better than last release in self test at short TC.

Binaries shall be found here : https://github.com/tryingsomestuff/Mini ... inic3/3.39

Have fun !
Frank Quisinsky
Posts: 6895
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Minic version 3

Post by Frank Quisinsky »

Hello Vivien,

at first, thanks for your new version.

Two questions only ...
1. What exactly do you mean by ContemptMG ...

2. Should I set a higher "PawnHash", maybe to 64 or higher ...
if I am using the time control 40 moves in 20 minutes "repeatedly"

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

Re: Minic version 3

Post by xr_a_y »

Hello Frank,

Two good questions.

To compute dynamic contempt, Minic (and many other engines) are relaying on
- 2 values
- a dynamic "view" on the game
- opponent level if provided

The two values are equal 12 by default

Code: Select all

ScoreType    contempt         = 12;
ScoreType    contemptMG       = 12;
before each search, we use this formula

Code: Select all

         contempt = {ScoreType((p.c == Co_White ? +1 : -1) * (DynamicConfig::contempt + DynamicConfig::contemptMG) * DynamicConfig::ratingFactor),
                     ScoreType((p.c == Co_White ? +1 : -1) * DynamicConfig::contempt * DynamicConfig::ratingFactor)};
 
contempt is then a "phased" value, one for middle game and the other for end-game. As you see, in MG, both values are added, while in end-game only one is used. You also see here a "ratingFactor" thing that will take the opponent strength into account (if given).

A last, the dynamic part arrives and it depends on current score using some tanh formula.

Code: Select all

         contempt += static_cast<ScoreType>(std::round(25 * std::tanh(currentScore[multi] / 400.f))); 


PawnHash is now a total value, so if you plan to use many threads, I'd suggest to use here 16* number_of_thread, it will be enough


Regards
Frank Quisinsky
Posts: 6895
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Minic version 3

Post by Frank Quisinsky »

Hi Vivien,

I like to read that ... contempt for mid-games and endgames and the rating-factor.
All is fine for me!

Most important for me is to reduce the "move-average" and all the boring endgames, runs longer and longer if engines try to avoid in clearly draw position the draw in endgames.

Please give me a second tipp!
If I like to reduced the move-average with resign=off games ...

I should give your engine (if I understand) ...

Contempt=0 ... parameter for mid-games and endgames in combination!
ContemptMG=0

Or better ...
I think contempt for mid-games is absolutely OK (like that) because the move-average for games with resing=off goes not to high.
In most of cases I think contempt for endgames is the main-reason for a lot of boring endgames with resign=off.
From a lot of engines the move-average with resign=off are over 100 moves today.

After all I understand I set with the first contempt parameter mid-game & endgame.
In this case I have to set contempt=0 if I like to reduce the move-average!?

Maybe I have a part from your explanation not understand ...
The only reason is my bad english.

Best
Frank

If I understand ...
Maybe better is to create ...

Contempt Mid-game=12
Contempt End-game=0

But in this case
ContemptMG= the good idea will not working if contempt End-game=0

PawnHash is clear :-)