Computer Chess Club Archives


Search

Terms

Messages

Subject: Computer Learning in the Opening

Author: Bob Durrett

Date: 08:15:34 11/20/03

Go up one level in this thread


One could consider starting without an opening book and then let the
chess-playing program develop it's own opening book based on what it learned in
it's past and ongoing games.  [Essentially, the program would develop it's own
opening repertoire.]  This could be done with or without human assistance.
Also, actual learning might occur during play of the games or occur later in
special post-mortem learning sessions.  Human involvement in the process would
be relatively easy if the "post-mortem learning" option were chosen.

How does a human improve his/her opening repertoire?  Essentially, there are two
ways:  (1) by individual creative innovation and (2) by relying on outside
sources &/or assistance.  The same could be done by a chess-playing program.

The following assumes that the "post-mortem learning" option is chosen and that
one wishes to have the chess-playing program rely solely on it's own individual
creative innovation for finding new opening moves.

After a game, a wise human does a post-mortem analysis and tries to figure out
where he/she "went wrong."  In our present-day "dumb" [: )] engines this might
have to be a matter of identifying the moves which caused the position
evaluation scores to go bad.  [Hopefully, future engines will be able to
recognize and process long-term considerations as well.]

Suppose, as an example, that the program playing white tentatively "decided"
that it's first weak move was its fifth move.  In the post-mortem learning
session it would then do a "deep think" first to verify it's tentative
conclusion and then to find the very best alternative fifth move.  It would then
store the original white fifth move(s) with performance history for the move(s),
and also store the new alternative fifth move in it's own "private" opening book
and play the new move on it's next opportunity.

During the next post-mortem learning session, the chess-playing program would
compare how well it did after the initial and new fifth moves.  It would then do
more "thinking" to decide whether or not (a) A new fifth move was needed, (b)
the problem was before the fifth move, (c) improvements were needed in moves
following the fifth move.

The interested programmer must now be thinking about the underlying logic and
candidate algorithms needed to implement this idea.  As the book grew, stored
history information and it's processing might become somewhat complex.
Admittedly, the programming task would be challenging but there seems no
fundamental impediment to implementing this idea into software.

It would be most interesting to see the openings the software came up with.
Naturally, learning would be best/faster if the opponents played very strong
chess, at least in the opening phase.  ["Garbage in, garbage out"] A top GM
might be better able to "teach" the silicon "student," although there is no
reason why the "teacher" could not be "silicon" too.  [Maybe the human
programmers could be replaced with "silicon" programmers too.  : ) ]

Bob D.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


On November 20, 2003 at 09:54:12, Bob Durrett wrote:

>On November 20, 2003 at 09:27:12, Mathieu Pagé wrote:
>
>>On November 20, 2003 at 03:34:54, swaminathan natarajan wrote:
>>
>>>Hi
>>>
>>>the main problem is that engine-engine matches without opening book plays same
>>>moves for infinite games when given same time control
>>>
>>>i have kept 6 games series
>>>all the games played shows the same result
>>>match ends in a 3-3 tie........same moves till endings and insuffiecient
>>>material in the position
>>>
>>>i hope if the book is selected for the engine,the games will not be the same and
>>>the result may change?
>>
>>Yes, you are right, except if both engines take the same opening line again and
>>again.
>>
>>Some sort of opening learning will totaly avoid this behavior since the engines
>>will try to find a line that will give them something better than a draw.
>>
>>Mathieu
>
>The idea of using "some sort of opening learning" to cause chess-playing
>programs to explore new openings in engine-engine matches "without an opening
>book" is intriguing because it would be very interesting to see what the
>"engine" might come up with.  One reservation, however, is that the choices may
>not be truly without human influence.  It would depend on how the idea is
>implemented in software.  If human programmers were, in effect, making the
>decisions then the findings would be tainted by the scourge of "the human
>tendency to err."
>
>Perhaps it would be enlightening to review how opening learning is accomplished
>[implemented in software] in current-day chess programs.  My impression was that
>opening learning is accomplished by adjusting the probability settings in an
>opening book.  It doesn't have to be that way.  A programmer could find another
>way.
>
>Hopefully the "real" chess-playing program programmers will comment on how they
>might implement Mathieu's idea.
>
>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.