Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extension of the UCI protocol

Author: Stefan Meyer-Kahlen

Date: 01:20:09 04/19/04

Go up one level in this thread


On April 19, 2004 at 04:09:33, Peter Schäfer wrote:

>On April 17, 2004 at 14:08:06, Stefan Meyer-Kahlen wrote:
>
>>On April 16, 2004 at 15:17:17, Peter Fendrich wrote:
>>
>>>On April 16, 2004 at 12:26:11, Stefan Meyer-Kahlen wrote:
>>>
>>>>
>>>>Hello Peter,
>>>>
>>>>
>>>>On April 16, 2004 at 12:14:37, Peter Schäfer wrote:
>>>>>
>>>>>Hello Stefan,
>>>>>
>>>>>Is there a chance that we will see further improvements to the UCI protocol ?
>>>>
>>>>
>>>>Yes, there will be further improvements, but we have just released a new version
>>>>so don't expect it to happen next week.
>>>>
>>>>
>>>>>I guess these issues have been discussed before a lot, just to mention a few:
>>>>>
>>>>>- let the engine decide about resignation and draw.
>>>>>  This is even more interesting if the engine can take the opponent's ELO
>>>>>  into account (e.g. don't offer draws to weak opponents).
>>>>
>>>>
>>>>We have discussed this in Paderborn and we sort of agreed that this would wreck
>>>>the stateless design of the protocol. We integrated AnalysisMode and ucinewgame
>>>>but we didn't want to go any further.
>>>
>>>
>>>Why not another info tags: "resign" meaning "I want to resign" and "draw"
>>>meaning "I want a draw". Then it's up to the GUI (the user) to handle it as
>>>desired.
>>
>>
>>In "pure" UCI the engine doesn't know (and doesn't need to know) that it is
>>playing a game. The engine just gets positions to search. Actually the engine
>>doesn't know what a game of chess is. Because of this the engine can't resign a
>>game or offer draws in a game.
>>
>>Now we have added the "AnalyseMode" command, so the engine does at least know
>>whether the positon to search belongs to a game or is just an analysis. Also
>>with "ucinewgame" the engine knows to which "game" (actually it need not be a
>>game for the engine, just that after ucinewgame the engine is searching on
>>something different) a position belongs. We did this because of public demand
>>and not because we really liked it.
>>
>>Those two changes are a step in the direction to explain the engine what a game
>>is. If you want the engine to resign something you have to tell the engine what
>>to resign. We didn't want to go that far. It is just a design or philosophical
>>decision.
>>
>
>Hello Stafan,
>
>this seems to be one more point in favor of a "stateful" protocol.
>I don't want to start a discussion about it, because such a descision
>needs careful consideration (and you certainly have discussed it before).
>
>I just want to point out that many engines "de facto" already use a kind of
>stateful approach, because it is common practice to transfer the complete move
>list with every position.
>It is not an elegant solution, but it demonstrates that there is a real demand
>for a stateful protocol.
>
>Best Wishes,
>Peter


Transfering the whole move list for every positiion to search indicates a
stateless protocol as the engine need not remember the moves played so far.

Stefan




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.