which "setoption name" types are compiled in SF ?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
tissatussa
Posts: 31
Joined: Sat Sep 24, 2016 4:13 am
Location: Netherlands
Full name: Roelof Berkepeis

which "setoption name" types are compiled in SF ?

Post by tissatussa »

hi all,

I found these options in the StockFish "engine-interface" text :

setoption name Selectivity value 3
setoption name Style value Risky

I also found that not all compiled versions of StockFish have these options, a programmer might decide to exclude some of them ..
Is this true ?
Is there a way to determine which "setoption name" options are compiled into any xFish version ?
NOTE: according to the engine-interface text, 'Risky' is one of the possible Style values.
-simple is not always best but best is always simple-
syzygy
Posts: 5563
Joined: Tue Feb 28, 2012 11:56 pm

Re: which "setoption name" types are compiled in SF ?

Post by syzygy »

tissatussa wrote: Sun Jul 15, 2018 12:49 pm Is there a way to determine which "setoption name" options are compiled into any xFish version ?
Just type "uci".

Code: Select all

$ stockfish
Stockfish 170618 64 POPCNT by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
uci
id name Stockfish 170618 64 POPCNT
id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott

option name Debug Log File type string default 
option name Contempt type spin default 21 min -100 max 100
option name Analysis Contempt type combo default Both var Off var White var Black var Both
option name Threads type spin default 1 min 1 max 512
option name Hash type spin default 16 min 1 max 131072
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 30 min 0 max 5000
option name Minimum Thinking Time type spin default 20 min 0 max 5000
option name Slow Mover type spin default 84 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 6 min 0 max 6
uciok
quit
NOTE: according to the engine-interface text, 'Risky' is one of the possible Style values.
I don't know what "engine-interface text" you are referring to. If it is about Stockfish, it seems outdated.
User avatar
tissatussa
Posts: 31
Joined: Sat Sep 24, 2016 4:13 am
Location: Netherlands
Full name: Roelof Berkepeis

Re: which "setoption name" types are compiled in SF ?

Post by tissatussa »

I did find that "engine-interface.txt" on several internet pages, but indeed it's rather old: 2006 .. eg. at https://github.com/nmrugg/stockfish.js/ ... erface.txt and at https://www.shredderchess.com/download.html (last chapter "Download UCI Chess Engine Protocol", see the "Start Download" link at the end, which gives a ZIP).

Does a newer version exist?
And/or does it depend on the compiled xFish version?
-simple is not always best but best is always simple-
User avatar
Eelco de Groot
Posts: 4565
Joined: Sun Mar 12, 2006 2:40 am
Full name:   

Re: which "setoption name" types are compiled in SF ?

Post by Eelco de Groot »

engine-interface.txt has nothing to do with Stockfish other than that Stockfish is following the UCI protocol. In this document Stefan describes several options which are found in the Shredder engine but not in Stockfish. If there is a newer version with new options I have not heard of it. The protocol has not changed in a long time. Ronald was referring to the date of Stockfish of course. As long as a version/derivative of Stockfish is following the protocol and license, any programmer can add options as he wishes.
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan