Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: UCI versus Winboard

Author: Dieter Buerssner

Date: 15:47:40 08/21/02

Go up one level in this thread


On August 21, 2002 at 16:34:14, Miguel A. Ballicora wrote:

>Why moves on analyze mode or many possible commands in WB is a problem?

For the analyze: Because you have to delay commands back to some outer control
loop from deep search. Sure, it can be done - but it makes things more
complicated at a point where it is not needed. If only exit and "." were allowed
in analyse, no additional "outer loop logic" would be needed at all.

analyse\nexit\n\force\ne2e4\nanalyze\n

I would bet, that at least some WB engines would have a bug, when they receive
setboard during analyze (WB does not send this at the moment, but it is clearly
allowed in the protocol).

For "many possible commands": Just because it is not allways obvious what to do.
Some cases that I have seen (not only from WB, but also from other WB
interfaces): result during ponder and during search. Why not send "?" "force",
have the engine in a known state, and then send result. Why would I need to
think about all the cases, where result can be received. Depending on the mode,
I would need to do something different. And, in xboard (at least when connected
to ICS), it was slightly different than in WB. Sometimes Linux Yace "hang" (WB
did not recognize, that it is ready for the next game, or something similar)
when result was received. It never happened under WB. It took me a long time, to
figure out, what was happening, and I fixed it. But, it was not obvious at all -
at least to me.

Other commands, that can be received in various search modes: force, easy, new
(under some CA version also while pondering), and probably many more.

I asked Tim, which commands are allowed in which modes. Well - I should be
prepared for any command. Under UCI, I know, for which commands, I need to
prepared, and the action is very well defined.

My main "outer playing loop" for Winboard is 350 lines long, the same for UCI is
60 lines long (including over 10 lines inside #if DEBUG_UCI #endif), and some
complication of code because of learning, which is not so easy under UCI.

Of course, the WB code suffers also from this (because it is also prepared for
the CB WB-adapter). But the UCI code is just much easier (for example no need
for any logic, to know, if I should start to search/analyze or ponder
automatically).

Regards,
Dieter




This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.