Author: Robert Hyatt
Date: 19:06:44 08/29/98
Go up one level in this thread
On August 29, 1998 at 17:15:31, Robert Henry Durrett wrote: >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??? yes... although many engines already do this internally. IE Crafty behaves differently after 1. d4 than it does after 1. e4, because the goals of the game are somewhat different. I understand what you mean however, and it is certainly possible... one type of evaluation (I think that the eval is all that really needs to change, the basic search is pretty well adapted to any position) for open positions, one for closed, one for really bad binds, one for this, one for that... it is possible... but that's about all I can say, as I, at least, try to make one eval work for everything... > >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? the question is, can you really determine which engine would be best in which positional circumstance? That might be the problem.
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.