Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What is "learning"?

Author: Sven Reichard

Date: 07:43:34 06/24/02

Go up one level in this thread


On June 24, 2002 at 09:22:41, Vladimir Medvedev wrote:

>Many chess programs, both commertial and amateur, are announced as "learning"
>ones. Of course, their learning ability is something different than human's one.
>AFAIK, there are two main cases of learning:
>
>1. Opening learning, when program gets some opening statistics and then avoid
>unfortunate opening lines (as Fritz does).
>2. Evaluation function learning - but not in it's main structure, only by tuning
>some parameters and weights. Using some sophisticated techniques like temporal
>difference etc.
>
>Now the questions:
>
>Does anybody know, are there any other methods of learning?
>Does learning really improve playing strength?
>Are learning abilities really useful and fruitful feature for chess program, or
>mostly marketing bells and whistles?

Vladimir,

I don't know what other chess programs are doing, but learning can be taken
further.
1) In the opening, a program can learn from its experience (which is more than
what I understand from your remark about Fritz). It can remember lines that were
winning in the past, both its own and its opponent's, and play them as often as
possible. If every winning line has been refuted, i.e., each move played before
in the current position leads to a game that has been lost in the past, then
novelties can be systematically tested. In this way, the program doesn't make
the same mistake twice, and it learns from the opponent's knowledge. I'm not
sure which chess program uses that approach, but it has been used in the program
Logistello (M. Buro, Toward Opening Book Learning).

2) Of course the main structure of the evaluation function can't be changed
(unless the program modifies its own source code and recompiles itself), but if
the evaluation function is flexible enough it can discover new features and use
them. To my knowledge, the most radical approach in this direction has been done
in Checkers (Fogel et.al.). They used a neural network as evaluation function, a
fixed 6-ply search with quiescence extension, and didn't write anything in the
program except for the rules of the game, and a basic material evaluation (just
counting pieces). Then they let the program play itself for about a year, and
then let it lose in the GameZone. There it achieved a 2000 rating (comparable to
chess ratings). However, it cannot compete with top checkers programs with
hand-tuned evaluation functions.

Now that I think of it, there was a chess program a while back that started on a
server with a ~1700 rating, and brought that to a ~2200 rating using temporal
differences. (was it KnightCap?)

So as far as your question about current chess programs go, I don't know. What's
nice for the average user is the following: When I got my first chess computer
(some sort of small portable Mephisto), I realized that it screwed up some line
of the Berlin Ruy-Lopez. Hence I found a way to gain substantial material in
about 8 moves. It was fun to beat the computer, but only the first 4 or 5 times.
If opening book learning is done properly, then after a while the computer would
start playing something else, and give me something new to think about. That
would be fun. (Incidently, a cousin of mine, still has some handheld computer,
and still hopes that at some point it will learn to avoid such lines...) So I
think this is really a plus. Moreover, it makes it more difficult for computer
opponents to prepare something tailored against a given book.

So, in conclusion, I think that learning is possible, and that it makes the
programs more interesting.

Sven.



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.