Wanted UCI engines with more options

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

Moderator: Ras

Modern Times
Posts: 3894
Joined: Thu Jun 07, 2012 11:02 pm

Re: Wanted UCI engines with more options

Post by Modern Times »

Yes, for example:

Glass_Release_x64_personality.exe

setoption name Knight value 325
setoption name Bishop value 335
setoption name Rook value 500
setoption name Queen value 975
setoption name Bishop Pair value 30
setoption name Aggression value 100
setoption name Caution value 100
setoption name Activity value 100
setoption name Restraint value 120
setoption name Passers value 100
setoption name Pawn structure value 100
setoption name Contempt value 10
setoption name Blur value 50
setoption name Time handicap value 100
setoption name Nalimov value 0
setoption name Blindness (Book) value 40
setoption name Blindness (Candidates) value 60
setoption name Blindness (Main line) value 50
setoption name Blindness (Quiescence) value 50
setoption name Bad depth value 3
setoption name Max depth value 9
setoption name NPS value 0
setoption name Blindness 2 (Candidates) value 9000
setoption name Blindness 2 (Main line) value 7000
setoption name King play value 0
setoption name Queen play value 5
setoption name Rook play value 0
setoption name Bishop play value 0
setoption name Knight play value 0
setoption name Pawn play value 0
Ferdy
Posts: 4855
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted UCI engines with more options

Post by Ferdy »

Modern Times wrote:Yes, for example:

Glass_Release_x64_personality.exe

setoption name Knight value 325
setoption name Bishop value 335
setoption name Rook value 500
setoption name Queen value 975
setoption name Bishop Pair value 30
setoption name Aggression value 100
setoption name Caution value 100
setoption name Activity value 100
setoption name Restraint value 120
setoption name Passers value 100
setoption name Pawn structure value 100
setoption name Contempt value 10
setoption name Blur value 50
setoption name Time handicap value 100
setoption name Nalimov value 0
setoption name Blindness (Book) value 40
setoption name Blindness (Candidates) value 60
setoption name Blindness (Main line) value 50
setoption name Blindness (Quiescence) value 50
setoption name Bad depth value 3
setoption name Max depth value 9
setoption name NPS value 0
setoption name Blindness 2 (Candidates) value 9000
setoption name Blindness 2 (Main line) value 7000
setoption name King play value 0
setoption name Queen play value 5
setoption name Rook play value 0
setoption name Bishop play value 0
setoption name Knight play value 0
setoption name Pawn play value 0
What version of Glass is that?

This is what I have.

Code: Select all

Glass 2.0 PERSONALITY UCI chess engine
by Edmund Moshammer and Pawel Koziol
Built Feb 26 2013, 03:53:03

Cannot open Book.gob, a small internal book will be used instead!
Cannot open default.ini
uci
id name Glass 2.0 PERSONALITY
id author Pawel Koziol and Edmund Moshammer
option name Hash type spin default 128 min 1 max 2048
option name Hashfull type combo default None var None var Main var Pawn var PV
option name Clear Hash type button
option name Threads type spin default 1 min 1 max 1
option name NalimovPath type string default C:\EGTB\
option name NalimovCache type spin default 1 min 1 max 1024
option name OwnBook type check default true
option name TournamentBook type check default false
option name OwnBookPath type string default Book.gob
option name Bookmove Info type check default true
option name Learning type check default true
option name Buffer type spin default 300 min 0 max 1000000
option name MultiPV type spin default 1 min 1 max 256
option name Full PV type check default false
option name UCI_ShowCurrLine type check default false
option name UCI_EngineAbout type string default Glass by Edmund Moshammer and Pa
wel Koziol, see www.marittima.pl/glass
option name Nullmove type check default true
option name Quick Repetition type check default false
option name Swindle Mode type check default false
option name Ponder type check default true
option name Simple Move type check default true
option name Process Time type check default false
option name eLMR_mind type spin default 4 min 0 max 100
option name eLMR_depth type spin default 5 min 0 max 100
option name eLMR_extend_fact type spin default 1024 min 0 max 1024
option name eLMR_extend_static type spin default 4 min 0 max 100
option name eFPRUNE_x1 type spin default 172 min 0 max 1024
option name eFPRUNE_x2 type spin default 103 min 0 max 1024
option name eKS_x1 type spin default 160 min 0 max 1024
option name eKS_x2 type spin default 7 min 0 max 1024
option name eKS_x3 type spin default 7 min 0 max 1024
option name eLAZY_MARGIN type spin default 300 min 0 max 1024
option name eNULL_x1 type spin default 24 min 0 max 1024
option name eNULL_x2 type spin default 4 min 0 max 1024
option name Personality type combo default main var main
option name Inifilepath type string default default.ini
uciok
Modern Times
Posts: 3894
Joined: Thu Jun 07, 2012 11:02 pm

Re: Wanted UCI engines with more options

Post by Modern Times »

There is a folder of ini files,

25/02/2013 01:26 1,109 #1000elo.ini
25/02/2013 01:26 1,113 #1200elo.ini
25/02/2013 01:26 1,113 #1400elo.ini
25/02/2013 01:26 1,110 #1600elo.ini
25/02/2013 01:26 1,112 #1800elo.ini
25/02/2013 01:26 1,113 #2000elo.ini
25/02/2013 01:26 1,108 #2200elo.ini
25/02/2013 01:26 1,101 Aggressive.ini
25/02/2013 01:26 1,099 Bright.ini
25/02/2013 01:26 1,108 Careful.ini
25/02/2013 01:26 1,102 Chimp.ini
25/02/2013 01:26 1,099 Contender.ini
25/02/2013 01:26 1,074 Coward.ini
25/02/2013 01:26 1,107 Defender.ini
25/02/2013 01:26 1,063 Glass.ini
25/02/2013 01:26 1,103 Gorilla.ini
18/06/2015 22:45 0 list.txt
25/02/2013 01:26 1,111 Maverick.ini
25/02/2013 01:26 1,106 Mother.ini
25/02/2013 01:26 1,110 Nerd.ini
25/02/2013 01:26 1,114 Ogre.ini
25/02/2013 01:26 1,110 Punk.ini
25/02/2013 01:26 1,108 Rasta.ini
25/02/2013 01:26 1,101 Raw.ini
25/02/2013 01:26 1,109 Solid.ini
25/02/2013 01:26 1,106 Useless.ini


I'm sure the engine author can help you with this.
Ferdy
Posts: 4855
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted UCI engines with more options

Post by Ferdy »

Modern Times wrote:There is a folder of ini files,

25/02/2013 01:26 1,109 #1000elo.ini
25/02/2013 01:26 1,113 #1200elo.ini
25/02/2013 01:26 1,113 #1400elo.ini
25/02/2013 01:26 1,110 #1600elo.ini
25/02/2013 01:26 1,112 #1800elo.ini
25/02/2013 01:26 1,113 #2000elo.ini
25/02/2013 01:26 1,108 #2200elo.ini
25/02/2013 01:26 1,101 Aggressive.ini
25/02/2013 01:26 1,099 Bright.ini
25/02/2013 01:26 1,108 Careful.ini
25/02/2013 01:26 1,102 Chimp.ini
25/02/2013 01:26 1,099 Contender.ini
25/02/2013 01:26 1,074 Coward.ini
25/02/2013 01:26 1,107 Defender.ini
25/02/2013 01:26 1,063 Glass.ini
25/02/2013 01:26 1,103 Gorilla.ini
18/06/2015 22:45 0 list.txt
25/02/2013 01:26 1,111 Maverick.ini
25/02/2013 01:26 1,106 Mother.ini
25/02/2013 01:26 1,110 Nerd.ini
25/02/2013 01:26 1,114 Ogre.ini
25/02/2013 01:26 1,110 Punk.ini
25/02/2013 01:26 1,108 Rasta.ini
25/02/2013 01:26 1,101 Raw.ini
25/02/2013 01:26 1,109 Solid.ini
25/02/2013 01:26 1,106 Useless.ini


I'm sure the engine author can help you with this.
We will just leave that as it is as I am looking for something that the strength can be increased by optimizing eval param values. For personalities, this is already the intended behaviour of the engine, so we will not touch it.
styx
Posts: 338
Joined: Tue Mar 13, 2012 9:59 pm
Location: Germany

Re: Wanted UCI engines with more options

Post by styx »

TheKing 3.5 x64:

Image

Unfortunately it's a commercial engine
User avatar
Sylwy
Posts: 5281
Joined: Fri Apr 21, 2006 4:19 pm
Location: IAȘI - the historical capital of MOLDOVA
Full name: Silvian Rucsandescu

Re: The no.1 for your request

Post by Sylwy »

Ferdy wrote:I am looking for uci engines that have more options especially evaluation parameters, options that are of spin type, example.
option name PawnStructure Bonus type spin default 30 min 0 max 99
I will try to optimize these engines as an experiment with my tuner.

I knew MadChess, and Amyan.

Hello !

The recommendation of Ruxy GmBH AG (the no.1 in area, by far :lol: ) is:

DisasterArea of Herr Jochen Peussner/Germany !

The evaluation (and what an evaluation ! Its ancestor was famous: the private Neurologic) is completely tunable.

http://desasterarea.jimdo.com/

==============================================
Engine-Options:
Hash: size in MB (max 1GB 32bit, 16 GB 64bit)
Threads: max 4 cores
MultiPV: limited to max 8 variants
GUI_Lag: time in millisec for gui-delay
Timing: remaining time is divided with this value basically (but will be changed by other criteria)
PawnStruct: just this, set it to 0, and DesasterArea will ignore doublepawns etc.
Candidates: pawns, that could become a passer
Passers: against stronger engine always wrong (to high or to low ;-) )
Mobility: mobility of pieces (no pawns and king)
King_Safety: mainly pawn_shield and some extras
King_Attacks: just this
CenterControl: knights, king and pawns are excluded
Pins: pieces pinned to king
PSQT: = pst
Oracle: some general rules (same as misc in Stockfish), no precalc of psqt
AB_Window: value 0 turns it off (no fail-high or low)
QVS_Checks: allowed depth in quiesce for silent check-moves
Bishop_Pair: set to pawn_value/2 (some modern engines seem to give more than that)
Check_Extension: 1 ply
Single_Move_Extension: engine is in check and there is only one move
SE_Extension: singular move extension, triggers in at remaining depth >= 8 ply)
Min_Split_Depth: for 2 cores (5 ply default seems best)
Min_SE_Depth: default 8 ply
Min_LMR_Depth: remaining depth to do LMR-Reductions, set it to 1600, and LMR is switched off
Max_Static_Nullcut_Depth: 0 means no static_nullcut (can be usefull for analysis)
Max_Razoring_Depth: 0 means no razoring (can be usefull for analysis)
Max_NC_Futility_Depth: 0 means no nodecount futility, moves that will be completly ignored
Max_SEE_Futility_Depth: 0 means no see futility, only good captures
Max_Gain_Futility_Depth: 0 means no positionell gain futility
Attack_Scale_0: no direct attacks to king-squares, only safe checks may be available
Attack_Scale_1: 1 piece has direct attacks to king-squares
Attack_Scale_2: 2 pieces have direct attacks to king-squares
Attack_Scale_3: 3 and more pieces have direct attacks to king-squares
Ponder: dummy, pondering is controlled by gui
Eval_Hash: testing feature, memory is allocated always
Pawn_Hash: testing feature, memory is allocated always
Nullmove: can be switched off here
Null_Verification: dito
Delta_Pruning: only captures, that raise value to or above alpha in quiesce
Singular_Extensions: redundand, can be switched off also by setting Min_SE_Depth to 1600
Clear_hash: inits main, eval and pawn hash
==============================================

Have a nice weekend !
SilvianR :lol:
tpetzke
Posts: 686
Joined: Thu Mar 03, 2011 4:57 pm
Location: Germany

Re: Wanted UCI engines with more options

Post by tpetzke »

Development versions of iCE allow the modification of all evaluation weights at runtime. But I dont use a UCI option for that as I don't intend to expose those parameters in a GUI.

There is a special setweight command in iCE that changes the weight

Code: Select all

Usage: setweight name <name> values <mg eg> [-q]
       setweight id <id> values <mg eg> [-q]
       setweight default

     |                                           |    WEIGHT    |
  ID | WEIGHT NAME                               |   MG     EG  |   MAX
 ----+-------------------------------------------+--------------+-------
   0 | PAWN_MATERIAL                             |   101    113 |    127
   1 | KING_MATERIAL                             |   INF    INF | 32.767
 ----+-------------------------------------------+--------------+-------
   2 | KNIGHT_MATERIAL                   MIN 300 |   407    405 |    555
   3 | BISHOP_MATERIAL                   MIN 300 |   407    432 |    555

setweight id 0 values 105 105
Setting weight PAWN_MATERIAL [ 0] values to (105, 105)

If you are interested I can make you a dev version of iCE 2. All those weights are tuned by my GA tuner so I use some partly strange looking values that work somehow but are probably far from optimal.
Thomas...

=======
http://macechess.blogspot.com - iCE Chess Engine
Ferdy
Posts: 4855
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted UCI engines with more options

Post by Ferdy »

styx wrote:TheKing 3.5 x64:

Image

Unfortunately it's a commercial engine
Those params looks good for tuning.
Ferdy
Posts: 4855
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: The no.1 for your request

Post by Ferdy »

Sylwy wrote:
Ferdy wrote:I am looking for uci engines that have more options especially evaluation parameters, options that are of spin type, example.
option name PawnStructure Bonus type spin default 30 min 0 max 99
I will try to optimize these engines as an experiment with my tuner.

I knew MadChess, and Amyan.

Hello !

The recommendation of Ruxy GmBH AG (the no.1 in area, by far :lol: ) is:

DisasterArea of Herr Jochen Peussner/Germany !

The evaluation (and what an evaluation ! Its ancestor was famous: the private Neurologic) is completely tunable.

http://desasterarea.jimdo.com/

==============================================
Engine-Options:
Hash: size in MB (max 1GB 32bit, 16 GB 64bit)
Threads: max 4 cores
MultiPV: limited to max 8 variants
GUI_Lag: time in millisec for gui-delay
Timing: remaining time is divided with this value basically (but will be changed by other criteria)
PawnStruct: just this, set it to 0, and DesasterArea will ignore doublepawns etc.
Candidates: pawns, that could become a passer
Passers: against stronger engine always wrong (to high or to low ;-) )
Mobility: mobility of pieces (no pawns and king)
King_Safety: mainly pawn_shield and some extras
King_Attacks: just this
CenterControl: knights, king and pawns are excluded
Pins: pieces pinned to king
PSQT: = pst
Oracle: some general rules (same as misc in Stockfish), no precalc of psqt
AB_Window: value 0 turns it off (no fail-high or low)
QVS_Checks: allowed depth in quiesce for silent check-moves
Bishop_Pair: set to pawn_value/2 (some modern engines seem to give more than that)
Check_Extension: 1 ply
Single_Move_Extension: engine is in check and there is only one move
SE_Extension: singular move extension, triggers in at remaining depth >= 8 ply)
Min_Split_Depth: for 2 cores (5 ply default seems best)
Min_SE_Depth: default 8 ply
Min_LMR_Depth: remaining depth to do LMR-Reductions, set it to 1600, and LMR is switched off
Max_Static_Nullcut_Depth: 0 means no static_nullcut (can be usefull for analysis)
Max_Razoring_Depth: 0 means no razoring (can be usefull for analysis)
Max_NC_Futility_Depth: 0 means no nodecount futility, moves that will be completly ignored
Max_SEE_Futility_Depth: 0 means no see futility, only good captures
Max_Gain_Futility_Depth: 0 means no positionell gain futility
Attack_Scale_0: no direct attacks to king-squares, only safe checks may be available
Attack_Scale_1: 1 piece has direct attacks to king-squares
Attack_Scale_2: 2 pieces have direct attacks to king-squares
Attack_Scale_3: 3 and more pieces have direct attacks to king-squares
Ponder: dummy, pondering is controlled by gui
Eval_Hash: testing feature, memory is allocated always
Pawn_Hash: testing feature, memory is allocated always
Nullmove: can be switched off here
Null_Verification: dito
Delta_Pruning: only captures, that raise value to or above alpha in quiesce
Singular_Extensions: redundand, can be switched off also by setting Min_SE_Depth to 1600
Clear_hash: inits main, eval and pawn hash
==============================================

Have a nice weekend !
SilvianR :lol:
Thanks I will also look at that engine.
Ferdy
Posts: 4855
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Wanted UCI engines with more options

Post by Ferdy »

tpetzke wrote:Development versions of iCE allow the modification of all evaluation weights at runtime. But I dont use a UCI option for that as I don't intend to expose those parameters in a GUI.

There is a special setweight command in iCE that changes the weight

Code: Select all

Usage: setweight name <name> values <mg eg> [-q]
       setweight id <id> values <mg eg> [-q]
       setweight default

     |                                           |    WEIGHT    |
  ID | WEIGHT NAME                               |   MG     EG  |   MAX
 ----+-------------------------------------------+--------------+-------
   0 | PAWN_MATERIAL                             |   101    113 |    127
   1 | KING_MATERIAL                             |   INF    INF | 32.767
 ----+-------------------------------------------+--------------+-------
   2 | KNIGHT_MATERIAL                   MIN 300 |   407    405 |    555
   3 | BISHOP_MATERIAL                   MIN 300 |   407    432 |    555

setweight id 0 values 105 105
Setting weight PAWN_MATERIAL [ 0] values to (105, 105)

If you are interested I can make you a dev version of iCE 2. All those weights are tuned by my GA tuner so I use some partly strange looking values that work somehow but are probably far from optimal.
At this time I am only interested on uci option type formats, as the tuner is adapted on that format, although I can change the tool to use setweight.

My tuner is a script, and after determining some values, I use cutechess-cli and set options there for game test.

I see that this is problematic when testing large number of params, reading from a file would be a better option.

I am not into large params tuning yet, just a couple of 10 to 20 params so far.