Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Automatically Reconfigurable Chess Programs?

Author: Bob Durrett

Date: 16:35:04 12/22/03

Go up one level in this thread


On December 22, 2003 at 14:43:43, Michael Yee wrote:

>On December 22, 2003 at 13:52:47, Bob Durrett wrote:
>
>>It is Christmas time and I'm in the Christmas spirit.  That makes me a little
>>giddy, but that's OK.
>>
>>I don't know whether or to what extent the following ideas are already in use or
>>incorporated into amateur and commercial chess programs.
>>
>>Please consider the following ideas:
>>
>>POSITION EVALUATION:
>>
>>Generally, chess programmers try to make their position evaluation software
>>capable of evaluating all positions reasonably well.  That much is obvious.
>>
>>But what if a programmer were asked to optimize the position evaluation software
>>to look at only one kind of position [such as open early middlegame without
>>queens, for example] and were assured that the software would never have to
>>evaluate any other kind of position?  How would the programmer optimize his
>>position evaluation code to do best at that kind of position but not care about
>>other types?  Would the position evaluation code differ significantly from
>>position evaluation code intended for ALL types of positions?  I suspect that
>>the code optimized for that specific type of position might be quite different.
>>
>>What if that same programmer, having completed the above task, were asked to
>>repeat the process but for a very different type of position?  Presumably, the
>>resulting code would differ from the code produced for the first type of
>>position.
>>
>>This process could be repeated until either the programmer quit, or he completed
>>this task for ALL distinct types of positions.  My guess is that the code for
>>some position types might differ considerably from the code for some other
>>position types.
>>
>>Now, having completed the above tasks, suppose the programmer is asked to
>>produce code whose purpose were solely to identify the type of position.
>>
>>It should be evident by now where all this is leading.  The idea is to have each
>>type of position evaluation code in the engine and then cause the engine to use
>>the appropriate code for each type of position.
>>
>>The programming challenges would include minimization of wasted time so that
>>essential evaluation computations would take up most of the used time.
>>
>>Generally, there are two top-level approaches to doing this.  The brute force
>>but simplest approach would be to have separate blocks of code, one for each
>>type of position.  A more sophisticated approach might be to minimize
>>duplication but rely on switching or other means of reconfiguring a single [or
>>few] block of code to optimize for each type of position.  The attempt to have a
>>single block of reconfigurable code might become a nightmare for the programmer
>>but some sort of compromise leading to a "partially sophisticated"
>>reconfiguration scheme might be feasible.
>>
>>SEARCHING, PRUNING AND SIMILAR:
>>
>>Conceivably a similar approach might be used for this.  Perhaps there are better
>>ways to do these things for different types of positions or different types of
>>game situations.
>>
>>Bob D.
>
>Hi Bob,
>
>Those are good ideas... In fact, many programs already do a toned-down version
>of what you suggest by having different types of evaluation for at least the
>opening, middlegame, and endgame. For instance, in early stages of the game, the
>King is encouraged to stay at the edge or corner and preferably have a pawn
>shield. But in the endgame, the King is usually encouraged to be centralized.
>
>Michael

Merry Christmas!  : )

Bob D.



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.