Analysis under UCI

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

PK
Posts: 895
Joined: Mon Jan 15, 2007 11:23 am
Location: Warsza

Analysis under UCI

Post by PK »

UCI specification contains UCI_AnalyseMode option, meant to inform the engine that it is analyzing and not playing right now. So far, so good. Yet when I implemented opening book in Rodent and wanted to disable it during analysis using that very option, I noticed that Arena and (old) FritzGui use "go infinite" instead. The difference is that FritzGui still shows the check box controlling that option, whereas Arena hides it.

Now, what wolud be the correct course of action:

- disable opening book on "go infinite" (hoping that there are no evil GUIs attempting to take over the world... er... time control using exclusively "go infinite" and "stop")
- rename the option so that it gets visible (I'm inclined to do that)
- do nothing, assuming that GUIs aren't implementing the protocol correctly

the problem with missing UCI_AnalyseMode is even more pronounced when using asymmetric king safety eval. the user might want to initiate three scenarios

- analysis with symmetric eval
- analysis with skewed eval
- normal gameplay

what do You think is correct solution?
mar
Posts: 2571
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Analysis under UCI

Post by mar »

Well I think that go infinite suffices for analysis.
All GUIs support that.
Analysis with symmetric eval seems more logical IMHO. Noone wants to analyse with contempt I think.
The point of analysis is getting accurate eval.
User avatar
hgm
Posts: 27895
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Analysis under UCI

Post by hgm »

Correct use of the protocol would be to not let the user interrfere in handling this option (because it is a UCI_ standard option), and let the GUI clear it while playing a game, and set it otherwise (e.g. during analysis).

Whether the GUI plays a game using 'go infinite' + 'stop', or implements analysis through 'go infinite', 'go depth', 'go nodes' or 'go ponder' is upto the GUI. This would all be legitimate use of UCI.

If you want the user to be able to switch on/off book use or learning, you should let the engine support separate options for that.