Heimdall default values under Arena

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

Moderators: hgm, Rebel, chrisw

Gabor Szots
Posts: 1395
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Heimdall default values under Arena

Post by Gabor Szots »

When I install it under Arena and tell it to reset to defaults the EvalFile is set to Unknown Value and the engine does not move. If I delete Unknown Value the engine moves.
Gabor Szots
CCRL testing group
nocturn9x
Posts: 12
Joined: Mon Aug 05, 2024 1:28 pm
Full name: Mattia Giambirtone

Re: Heimdall default values under Arena

Post by nocturn9x »

The EvalFile option is optional. By default, if it's empty, it'll use the network file embedded in the executable. So unless you want Heimdall to play with a different net, set the EvalFile option to an empty string :)
supernova
Posts: 34
Joined: Mon Apr 15, 2024 8:30 pm
Full name: Arthur Matheus

Re: Heimdall default values under Arena

Post by supernova »

Gabor Szots wrote: Sun Oct 27, 2024 1:51 pm When I install it under Arena and tell it to reset to defaults the EvalFile is set to Unknown Value and the engine does not move. If I delete Unknown Value the engine moves.
Hello, I had already asked this question one week ago.

https://www.talkchess.com/viewtopic.ph ... 45e6e24b18

Regards.
AndrewGrant
Posts: 1852
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Heimdall default values under Arena

Post by AndrewGrant »

There are a number of (bugged) GUIs which attempt to set all params to their defaults on startup. Its very annoying, but won't ever be fixed.
When you can't win an argument, you censor it.
acase
Posts: 994
Joined: Wed Mar 15, 2006 1:14 am
Location: Columbus, Ohio USA
Full name: Andrew R Case

Re: Heimdall default values under Arena

Post by acase »

AndrewGrant wrote: Mon Oct 28, 2024 4:32 am There are a number of (bugged) GUIs which attempt to set all params to their defaults on startup. Its very annoying, but won't ever be fixed.
Hello Andrew,

Are there any GUIs you recommend that don't do this behavior?
Modern Times
Posts: 3602
Joined: Thu Jun 07, 2012 11:02 pm

Re: Heimdall default values under Arena

Post by Modern Times »

CuteChess GUI does not do that.
Alexander Schmidt
Posts: 1235
Joined: Thu May 10, 2007 2:49 pm

Re: Heimdall default values under Arena

Post by Alexander Schmidt »

AndrewGrant wrote: Mon Oct 28, 2024 4:32 am There are a number of (bugged) GUIs which attempt to set all params to their defaults on startup. Its very annoying, but won't ever be fixed.
This is of course not a bug since the uci protocol does not forbid this. If an engine can't handle this, it's the engine, that is bugged.

Even in the example inside the original protocol description the GUI sends a default value to the engine.
// engine identify
id name Shredder
id author Stefan MK

// engine sends the options it can change
// the engine can change the hash size from 1 to 128 MB
option name Hash type spin default 1 min 1 max 128

// the engine supports Nalimov endgame tablebases
option name NalimovPath type string default <empty>
option name NalimovCache type spin default 1 min 1 max 32

// the engine can switch off Nullmove and set the playing style
option name Nullmove type check default true
option name Style type combo default Normal var Solid var Normal var Risky

// the engine has sent all parameters and is ready
uciok

// Note: here the GUI can already send a "quit" command if it just wants to find out
// details about the engine, so the engine should not initialize its internal
// parameters before here.
// now the GUI sets some values in the engine
// set hash to 32 MB
setoption name Hash value 32

// init tbs
setoption name NalimovCache value 1
setoption name NalimovPath value d:\tb;c\tb

// waiting for the engine to finish initializing
// this command and the answer is required here!
isready

// engine has finished setting up the internal values
readyok
Joerg Oster
Posts: 950
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany
Full name: Jörg Oster

Re: Heimdall default values under Arena

Post by Joerg Oster »

Alexander Schmidt wrote: Fri Nov 01, 2024 11:14 am
AndrewGrant wrote: Mon Oct 28, 2024 4:32 am There are a number of (bugged) GUIs which attempt to set all params to their defaults on startup. Its very annoying, but won't ever be fixed.
This is of course not a bug since the uci protocol does not forbid this. If an engine can't handle this, it's the engine, that is bugged.

Even in the example inside the original protocol description the GUI sends a default value to the engine.
// engine identify
id name Shredder
id author Stefan MK

// engine sends the options it can change
// the engine can change the hash size from 1 to 128 MB
option name Hash type spin default 1 min 1 max 128

// the engine supports Nalimov endgame tablebases
option name NalimovPath type string default <empty>
option name NalimovCache type spin default 1 min 1 max 32

// the engine can switch off Nullmove and set the playing style
option name Nullmove type check default true
option name Style type combo default Normal var Solid var Normal var Risky

// the engine has sent all parameters and is ready
uciok

// Note: here the GUI can already send a "quit" command if it just wants to find out
// details about the engine, so the engine should not initialize its internal
// parameters before here.
// now the GUI sets some values in the engine
// set hash to 32 MB
setoption name Hash value 32

// init tbs
setoption name NalimovCache value 1
setoption name NalimovPath value d:\tb;c\tb

// waiting for the engine to finish initializing
// this command and the answer is required here!
isready

// engine has finished setting up the internal values
readyok
I think you are misreading/misinterpreting.
It's the engine which is sending the option name, its type and its default and min and max values here.

Edit: Sorry, obviously you are referring to the setoption command setting the NalimovCache to its default value of 1.
Jörg Oster
Joerg Oster
Posts: 950
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany
Full name: Jörg Oster

Re: Heimdall default values under Arena

Post by Joerg Oster »

AndrewGrant wrote: Mon Oct 28, 2024 4:32 am There are a number of (bugged) GUIs which attempt to set all params to their defaults on startup. Its very annoying, but won't ever be fixed.
So this looks more like a problem of an empty string as a default option.
Better to use something like "empty" or the name of the eval file as default.
Jörg Oster
Alexander Schmidt
Posts: 1235
Joined: Thu May 10, 2007 2:49 pm

Re: Heimdall default values under Arena

Post by Alexander Schmidt »

Joerg Oster wrote: Fri Nov 01, 2024 1:04 pm
AndrewGrant wrote: Mon Oct 28, 2024 4:32 am There are a number of (bugged) GUIs which attempt to set all params to their defaults on startup. Its very annoying, but won't ever be fixed.
So this looks more like a problem of an empty string as a default option.
Better to use something like "empty" or the name of the eval file as default.
Yes, I was refering to the quoted sentence. Empty strings in communication protocols should be avoided in general. Some UCI engines use "<empty>" as default values for options without default value. An engine that uses an internal NN by default can tell this with the default value "internal". Then it shows up in the GUI and the user knows what is happening.