ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Reducing Strength
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions Flat
View previous topic :: View next topic  
Author Message
Pawel Koziol



Joined: 15 Jan 2007
Posts: 274
Location: Warsza

PostPost subject: Re: Reducing Strength    Posted: Thu Mar 15, 2012 9:10 am Reply to topic Reply with quote

We have implemented the stuff Edmund described in Glass and it works reasonably well, except that it doesn't scale with time control. Thus, an engine that performs as about 2000 Elo at blitz feels like 1800 in a longer game.

Edmund is right that it's better to get pseudorandom values from position hash ( randomPercentage = hashKey % 100 rather than randomPercentage = rand() % 100 )

later You can code something like

for all moves
{
if ( randomPercentage < errorPercentage
&& ply > canErrFromPly ) newScore = alpha;
else newScore = Search(...)
}

be sure, though, that engine actually tries at least one legal move, otherwhise You might get a false mate score.

Another useful thing is slowing the engine down - humans tend to move faster when an engine replies instantly, and thus they play much weaker chess. Also, the algorithm described here results in engine reporting intimidating (if fake) depth, which looks plain ugly without a slowdown.

You might also want to look at the Phalanx source code - it also has a routine that allows forgetting about certain moves during search, depending on the move properties (for example longer moves and backward moves tend to be omitted more often)
_________________
Pawel Koziol
http://www.pkoziol.cal24.pl/rodent/rodent.htm
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Subject Author Date/Time
Reducing Strength Ted Wong Thu Mar 15, 2012 12:22 am
      Re: Reducing Strength Edmund Moshammer Thu Mar 15, 2012 2:43 am
            Re: Reducing Strength Ted Wong Thu Mar 15, 2012 6:21 am
                  Re: Reducing Strength Pawel Koziol Thu Mar 15, 2012 9:10 am
                        Re: Reducing Strength Ted Wong Thu Mar 15, 2012 10:04 am
      Re: Reducing Strength Ferdinand Mosca Thu Mar 15, 2012 10:34 am
      Re: Reducing Strength Robert Houdart Thu Mar 15, 2012 10:44 am
            Re: Reducing Strength Ed Schroder Thu Mar 15, 2012 12:17 pm
                  Re: Reducing Strength Mike Robinson Thu Mar 15, 2012 1:55 pm
      Re: Reducing Strength Robert Hyatt Thu Mar 15, 2012 2:02 pm
            Re: Reducing Strength Mike Robinson Thu Mar 15, 2012 2:40 pm
                  Re: Reducing Strength Ted Wong Thu Mar 15, 2012 4:35 pm
                  Re: Reducing Strength Edmund Moshammer Thu Mar 15, 2012 5:26 pm
            Re: Reducing Strength Jon Dart Sat Mar 17, 2012 2:53 pm
                  Re: Reducing Strength Robert Hyatt Sat Mar 17, 2012 4:07 pm
                        Re: Reducing Strength Pawel Koziol Sun Mar 25, 2012 7:36 pm
                              Re: Reducing Strength Ted Wong Mon Mar 26, 2012 12:47 am
      Re: Reducing Strength Ben-Hur Carlos Langoni Sat Mar 17, 2012 3:39 pm
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: Programming and Technical Discussions

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads