Author: Robert Henry Durrett
Date: 15:27:32 05/17/98
Go up one level in this thread
On May 16, 1998 at 12:18:39, Dave Gomboc wrote: > I have been working for eight months on the automated generation of >opening repertoires for chess programs, something that will eventually >find its way to publication (when I finish :). The notion of "automating" the development of one's own personal opening repertoire is probably something that every serious chessplayer would be interested in. Of course, it would not be useful to have the process totally automated, because most people would wish to customize their personal opening repertoire(s), as it is being developed, to take into account their personal preferences. Nevertheless, the availability of newer and better software which would reduce the future efforts required in the development of one's personal repertoire(s) would be really nice to have. To illustrate the problems [which I see] which might be encountered during the development of such software, suppose for the sake of discussion that you have personally chosen [or dreamed-up] a set of lines in the French Defense which you plan/wish/hope to play the next time you get the opportunity. That set could be defined as your "current" French Defense opening repertoire. So, you start with an opening repertoire. Then, you play a chess game. Undoubtedly, your opponent plays something not covered by your "current" French repertoire, throwing you out of your current repertoire. So, during or after your post-mortem analyses for that game, you try to decide in advance what you will play against the NEW move the next time it occurs in your games. You, essentially, revise or expand your prior "current" French repertoire to get your new "current" opening repertoire. By this process, one produces a "living" repertoire. In other words, your personal repertoire constantly changes, and most likely expands manyfold over a period of years. [Repertoire development software must accommodate this "living" aspect of any practical personal repertoire.] One's repertoire could profitably be considered to be a collection of chess positions [where it is your move] rather than as a collection of chess "lines." Essentially, for each position in the repertoire, with you-to-move, you have a pre-selected move for yourself which you previously selected while developing your personal repertoire. In other words, a repertoire can be considered to be a SET of PAIRS where each pair consists of a position [with you to move] and a preselected move which you intend to play in some future game if that position occurs during that game. [If the repertoire is to be played from the Black side, then all of the positions will be "Black-to-move."] One of the first questions a chessplayer would have to ask when trying to prepare a future response to the surprise move is: "Would it be possible to transpose back into my existing repertoire [viewed as a collection of position-move pairs] from the new position by some reasonable line?" If so, then the line(s) which would permit that would bear serious consideration, assuming that it is known that the existing repertoire is a good one. So, what you might have is either (1) "There is no reasonable way to get back into my existing repertoire," or (2) "There is at least one reasonable way to transpose back to a given position in my existing repertoire," or (3) "There are several different positions in my existing repertoire which I can transpose back into by one or more reasonable lines." In the final analysis, at the most elemental level, what we have is the programming problem of finding ways to connect two given positions by a "reasonable" line. A line would be "reasonable" if it did not allow the opponent any opportunity to steer the game into a position unfavorable to you. The automated repertoire development program must, then, contain a block of code [a subroutine or subprogram?] which would find all "reasonable" lines connecting two given chess positions. [Aside: If there were no "reasonable" available line to transpose back into the "known good" repertoire, then the task would become one of coming up with something really new to you. Chess database software might include games in which the "new" position occurred, and one might be well advised to review how others had handled the "new" position before making a final selection for one's updated personal repertoire.] I am not personally aware of any software which can perform the "elemental" task of finding all "reasonable" lines connecting two given positions. [Again, a "reasonable line" is a line which does not allow the opponent any opportunity to steer the game into a position unfavorable to you.] In fact, I suspect that it is the automation of finding these "reasonable" lines [connecting two given positions] where the "rubber will hit the road" for any automated repertoire software development effort. Unless this problem can be solved, I'm not sure one could automate repertoire development. I do not know of any existing software which does this. The above are my thoughts regarding the problems one might encounter during the development of "automated" repertoire development software. Does anybody else have any ideas about what the proposed new chess software would have to do, and how it could be developed? Is the existing software "good enough" already?
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.