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.