Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Extension of the UCI protocol

Author: Odd Gunnar Malin

Date: 18:05:58 04/15/04

Go up one level in this thread


On April 15, 2004 at 20:07:02, John Merlino wrote:

>On April 15, 2004 at 19:04:01, Odd Gunnar Malin wrote:
>
>>On April 15, 2004 at 15:31:22, Stefan Meyer-Kahlen wrote:
>>
>>>
>>>Below you find an extension of the UCI protocol which was discussed with many
>>>engine authors at the IPCCC earlier this year in Paderborn and finally worked
>>>out with Rudolf Huber of SOS, Dieter Bürßner of YACE and myself. This new
>>>version is fully compatible with the old protocol (just one tiny exception, see
>>>below), so you can load and old engine in a new user interface and a new engine
>>>in an old user interface. This is the reason why we did not call it UCI2 or
>>>something.
>>>
>>>The main changes are:
>>>
>>>* a possibility to set the engine to any playing strength measured in Elo,
>>
>>I like this option very much, hope it encourage engine authors to create engines
>>that support it.
>
>It's a good idea, but I don't expect too many authors to put a lot of time into
>trying to make it remotely accurate. Think how long it would take Dieter (for
>example) to be able to program his engine to play something reasonably
>approximating 1000 ELO....then 1200 ELO...then 1400...or whatever different
>settings this new protocol is going to allow. A difficult task.
>

It isn't necessary to have exact numbers, but an estimate could be made by
letting the engine play on chess-servers.

If the author want his engine to be used by many players then he will hit most
people at 1200-1700. If the average player are 1400-1500 in rating, creating an
engine that is stronger than 1700 (engine score 75%) would cut off 50% of
possible users.

>I suspect that most authors are simply going to artificially limit the search
>depth and/or NPS and say that they now "support" this feature.
>

There is a method that is only slightly harder for reducing the tactical
strength.
In the root of the search (where a change of prefered move happend), each change
of move could be timestamped and go into a table for later lookup when a move
should be made.
My current formula for selecting move from this table are:
strengthdivider=2^((100-strength)/5)
where strength=0-100%
then I take the move from the table where movetime=usedtime/strengthdivider.

Knoweledge should be easy too to give with a number, but here of course you need
to study games to get a feel what to add at each level (a bit randomness is
needed too).

The third parametre for strength reduce are blunder move/rate. Here is where the
hard work begins.

>The King is the only engine I know of that does this well, and I would guess
>that Johan spent a great deal of time making sure that his engine could be
>"dumbed down" in a believable way. This is likely not what the typical (unpaid)
>engine programmer is going to want to spend his time on.
>
>jm

A look at the average rating (above), no wonder why CM are the most populare
chessprogram.

Odd Gunnar



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.