Computer Chess Club Archives


Search

Terms

Messages

Subject: Software to Facilitate Development of One's Personal Opening Repertoires

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.