Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How do you effectively dumb down an engine? (some suggestions)

Author: Mike Byrne

Date: 04:17:56 04/19/04

Go up one level in this thread


On April 18, 2004 at 22:36:34, Mike Byrne wrote:

>On April 18, 2004 at 20:36:56, Steve Maughan wrote:
>
>>I'm looking to implement the new ELO rating support in UCI 2.  In the past I
>>haven't given much thought as to how one could make an engine predictably
>>weaker.  Does anyone have any suggestions?  After the little thought I have
>>given the subject here's what I've come up with.
>>
>>1.  Search to a shallower depth / shorter time.  This seems somewhat
>>unsatisfactory as it will ignore the other setting.
>>
>>2.  Add random elements to the evaluation term - the bigger the term the weaker
>>the play.
>>
>>3.  Round off at the root.  So to weaken the engine slightly you would have the
>>root round off to 0.1 pawns, a further weakening would be in units of 0.5 pawns
>>etc.  This means that if a value came back as +1.23 the engine would regard it
>>as +1.20.  I like this idea since it is relatively simple to implement :-).
>>However I'm not sure how effective it would be at actually weakening the engine
>>(it may speed the engine up since there may be more cuttoffs!?!).
>>
>>4.  Within the tree you could ignore some moves e.g. all losing capture after x
>>depth.  This is also interesting.  It may closely match how humans think and
>>err.  Of course it is more complex to implement.
>>
>>Any other ideas.  This could be an interesting area for discussion as it has
>>virtually no commercial value (IMO nobody is going to buy an engine that is
>>weak).  I'd be interested to know of other idea.
>>
>>Regards,
>>
>>Steve Maughan
>
>The two simplest methods are to reduce depth and to provide offbeat score values
>for pieces.  I use a combination of both in dumming down Crafty in the modified
>Se version.  In additon, I implemeneted a delay move feature so it would would
>not move so quickly while serching to a SD of 3.  There are versions that have
>tens of thousands of games played already with a rating near 1300/1400 for some
>of the weaker personalities.  Those operatotors can tell you more than me how
>effective the dumb down Crafty's are.  The fact that it has already played in
>excess of 10,000 games on ICC tells you much people like it.
>
>With a search depth of 1 with full extensions, Crafty will play near 1500 in
>blitz on ICC.  To get it weaker, you have to reduce extensions and/or provide
>offbeat piece values and/or weaken the evaluation function.  I do the first two,
>never touched the evaluation function to weaken it.

I forgot, the other method I usd is an option called "intensity".  Intensity is
a value between 1 and 10,000 set by the user- - the engine will take the
intensity value , divide by 10,000 and mulitply that by the internally generated
time to calculate its move and spend the rest of its time in a simple loop.
10,000 was used, because it was determined that a user would have to use a value
between 20 and 50 to make it weak enough for a weak player on today's hardware
and could slowly increment it the usage overtime to make Crafty play stronger.



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.