Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: UCI versus Winboard

Author: Miguel A. Ballicora

Date: 10:56:59 08/22/02

Go up one level in this thread


On August 21, 2002 at 18:47:40, Dieter Buerssner wrote:

>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).

Ok, I never experienced serious problems. I guess that doing it with two threads
must have simplified things. It was mentioned in this thread. Since I have not
done it in a different way I cannot comment.

>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.

Yes, is everything in the details. I believe that the design of WB is good and
flexible, maybe a tiny bit too flexible. It could be fixed without much effort
IMHO. At least things should be spelled out a bit better in the protocol. I
agree with that. After all, the protocol is flexible for many possible behaviors
of the GUI, but we know exactly what WB does. So, there is two protocols, a
"theoretical one" and the one that the WB-GUI uses, which is more restricted.
Maybe we should "document" the latter. AFAIK, that has not been done.

Regards,
Miguel


>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.