On-line engine blitz tourney November

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: On-line engine blitz tourney November

Post by hgm »

What do you mean by "internal parameters" of the engine? Is that the engine-defined options? And is your engine UCI or CECP?

For UCI ngines you can alter the settings through the Engine #1 Settings menu dialog, and use the "Polyglot Save" button to have the settings remembered for future settings. The latest XBoard development version also has a button in that dialog for saving settings of CECP engines. (Not sure when that was first introduced.) To make sure the engine uses the GUI opening book you can use an extra argument -firstXBook on the XBoard command line.
Pi4Chess
Posts: 253
Joined: Mon Nov 16, 2020 12:13 pm
Full name: Manuel Rivera

Re: On-line engine blitz tourney November

Post by Pi4Chess »

hgm wrote: Mon Nov 23, 2020 2:53 pm What do you mean by "internal parameters" of the engine? Is that the engine-defined options? And is your engine UCI or CECP?

For UCI ngines you can alter the settings through the Engine #1 Settings menu dialog, and use the "Polyglot Save" button to have the settings remembered for future settings. The latest XBoard development version also has a button in that dialog for saving settings of CECP engines. (Not sure when that was first introduced.) To make sure the engine uses the GUI opening book you can use an extra argument -firstXBook on the XBoard command line.
Yeah you are right about the parameters. It's UCI engine. I did quick tests so I don't remember this polyglot sabe button so I will check that ! Thx ! ☺️
Joost Buijs
Posts: 1564
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: On-line engine blitz tourney November

Post by Joost Buijs »

You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
Pi4Chess
Posts: 253
Joined: Mon Nov 16, 2020 12:13 pm
Full name: Manuel Rivera

Re: On-line engine blitz tourney November

Post by Pi4Chess »

Joost Buijs wrote: Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
Thanks for the info Joost. I will dig into that and make some tests :-)
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: On-line engine blitz tourney November

Post by hgm »

Joost Buijs wrote: Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
I am not sure what you mean by "very basic engine settings". The Engine Settings dialogs show every engine-defined option, and Polyglot takes care of the UCI standard options such as Hash, Ponder and UCI_AnalyzeMode automatically.

Besides, you should never use a polyglot.ini file. Just tick UCI when you register the engine with the Load Engine dialog, or include -fUCI when you specify the engine from the command line.
Joost Buijs
Posts: 1564
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: On-line engine blitz tourney November

Post by Joost Buijs »

hgm wrote: Mon Nov 23, 2020 11:32 pm
Joost Buijs wrote: Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
I am not sure what you mean by "very basic engine settings". The Engine Settings dialogs show every engine-defined option, and Polyglot takes care of the UCI standard options such as Hash, Ponder and UCI_AnalyzeMode automatically.

Besides, you should never use a polyglot.ini file. Just tick UCI when you register the engine with the Load Engine dialog, or include -fUCI when you specify the engine from the command line.
Than this probably happens because I don't use the -fUCI option at all and treat polyglot as being the chess program with -fcp.
I just use this software and I never looked at what part of the UCI protocol is translated by polyglot and what part Winboard natively supports.

The whole concept of translating between two different protocols is flawed, UCI is the major protocol in use, it would be a lot better to have native UCI support in Winboard instead of translating to CECP with polyglot or UCI2WB.

Maybe I should use it differently, but still I don't like it that it wipes and overwrites polyglot.ini completely when using the save button instead of only updating the settings that are changed.
User avatar
hgm
Posts: 27811
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: On-line engine blitz tourney November

Post by hgm »

WinBoard doesn't support anything natively; it only communicates with the UCI engine through Polyglot. Communication between WinBoard and the adapter is in CECP, between the adapter and the engine in the foreign protocol.

I don't know Polyglot very well. But it seems that the Polyglot Save command is indeed not suitable for use with a hand-written polyglot.ini file. The latter is not recommended, and only supported for backward compatibility, though. In particular to allow the use of Polyglot with interfaces that do not support the CECP option feature, so that engine settings cannot be controlled through the CECP interface, but must be provided in an ini file. Under such conditions Polyglot Save cannot be activated at all (as it is a CECP option feature), and this is probably why it was not tailored for use in this case.

A quick look at the source code shows that the Save command suppresses the saving of some options. In particular the options that are controlled in other ways through the CECP interface (like Ponder, Hash, Threads, UCI_Analyze...). It would be pointless to save these in the ini file, as even when they are there, the setting would be overruled by how the GUI wants to set them.

What probably hurt you is that it also suppresses writing of the engine name and directory. The way XBoard uses polyglot these are specified through the command line, and the name of the ini file is derived from the engine name. So it would never be possible to access the ini file in the first place if the engine name wasn't already known. I suppose it would have been better to make the saving of engine file and directory dependent on whether these were given on the command line, or not. But, like I said, the Polyglot Save option was never intended for use with a user-supplied ini file.

But I want to phase out Polyglot anyway; the WinBoard-AA beta package relies on UCI2WB instead.

I do like the modular design a lot, where the complexity of handling all kinds of different protocols is outsourced to adapters, which can be changed as needed.

So the bottom line is that it is OK to use Polyglot Save, as long as you don't hack the system in an unnatural way by editing ini files.
Pi4Chess
Posts: 253
Joined: Mon Nov 16, 2020 12:13 pm
Full name: Manuel Rivera

Re: On-line engine blitz tourney November

Post by Pi4Chess »

Joost Buijs wrote: Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
A little feedback since i have tested this "Polyglot save" button.
For me it works as i wanted. Since i don't need to put extra options in the ini file i use this option to save the engine internal parameters (like Contempt or Slow Mover + the polyglot book , and i use the GUI common options to save other parameters like Threads, Hash, EGTB path, EGTB hash etc... (Xboard 4.9.x)

When i connect again with same engine the parameters i filled are the same.

If you wanna do some games on the server against my little Pi 4 send me a pm :-)
Joost Buijs
Posts: 1564
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: On-line engine blitz tourney November

Post by Joost Buijs »

hgm wrote: Tue Nov 24, 2020 12:58 pm I do like the modular design a lot, where the complexity of handling all kinds of different protocols is outsourced to adapters, which can be changed as needed.

So the bottom line is that it is OK to use Polyglot Save, as long as you don't hack the system in an unnatural way by editing ini files.
Using external adapters to support different protocols might be easier to maintain, but it also has some drawbacks like needing two pipes instead of one for communication (which slows the communication down), and the extra translation step adds complexity which makes the chance that an error will occur larger IMHO.

Since Polyglot is an external adapter the only natural way to change settings is to edit it's ini file, adding the option to change UCI settings to a GUI that doesn't support UCI natively seems more like a hack to me.
Last edited by Joost Buijs on Wed Nov 25, 2020 9:01 am, edited 1 time in total.
Joost Buijs
Posts: 1564
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: On-line engine blitz tourney November

Post by Joost Buijs »

Pi4Chess wrote: Tue Nov 24, 2020 11:46 pm
Joost Buijs wrote: Mon Nov 23, 2020 7:41 pm You have to be careful with the Polyglot safe button, instead of updating settings in polyglot.ini it writes a new polyglot.ini and that is something that you want if you have engine settings in polyglot.ini that are not recognized by Winboard/Xboard.
Winboard only has very basic engine settings.
I stumbled a few times upon this, usually I just edit polyglot.ini directly to avoid this.
A little feedback since i have tested this "Polyglot save" button.
For me it works as i wanted. Since i don't need to put extra options in the ini file i use this option to save the engine internal parameters (like Contempt or Slow Mover + the polyglot book , and i use the GUI common options to save other parameters like Threads, Hash, EGTB path, EGTB hash etc... (Xboard 4.9.x)

When i connect again with same engine the parameters i filled are the same.

If you wanna do some games on the server against my little Pi 4 send me a pm :-)
There are always some programs logged on and open to play, so if you want to test if everything works you can try to match one of these.