Computer Chess Club Archives


Search

Terms

Messages

Subject: A Multi-Crafty Engine!

Author: Robert Henry Durrett

Date: 14:15:31 08/29/98


A problem discussed occasionally here is: If a chess engine is optimized to play
certain types of middlegame positions, then it may play poorly in other types of
middlegame positions.  This is a constraint on the engine designer.  He/she must
make sure the engine will perform acceptably well for virtually all possible
chess positions.  As a result, perhaps, the multi-purpose engine may not play
optimally for any given type of position.

The theoretical, if not practical, answer is to replicate the available engine
[such as Crafty]and optimize each copy for one type of chess position.  If the
set of all possible chess positions could be partitioned into, say, ten distinct
classes, then ten copies of the engine could be used, each being optimized for
one class.

Then, if the ten engines were to share a single processor, all that would remain
to be done would be to create some new software whose purpose would be to
quickly evaluate the current position to determine which position type was on
the chessboard at that time.  It would also then switch control to the
appropriate engine.  It would also have to detect chances in position type as
the game progressed. I do not know if the design of this new software would be
trivial or not.

So, consider the following:  Ten copies of Crafty stored on the hard drive, all
tied together with the new software, and each optimized for a different class of
positions.

Of course, moving large chunks of software from the hard drive into RAM would be
very time consuming.  So, what would be the solution?  Answer, only load those
portions which were to be different, and not load an entire Crafty each time the
position type changed.  [Really, it would not be necessary to completely
replicate all of Crafty after all.]

Well, Bob, could you do it if you really wanted to???

One might note that further improvements might be obtained if different engines
were used, such as several of the top-rated engines.  In each case, the engine
designer would optimize his engine for the particular class of positions to
which that engine would be assigned.

Incidentally, I do not seriously propose that this be done.

But, . . . COULD it be done, and would doing so net an improvement over existing
engines?



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.