Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Never Say "Impossible"

Author: Graham Laight

Date: 03:53:26 05/03/01

Go up one level in this thread


On May 02, 2001 at 14:38:52, Robert Hyatt wrote:

>On May 02, 2001 at 13:49:28, Graham Laight wrote:
>
>>On May 02, 2001 at 11:33:40, Robert Hyatt wrote:
>>
>>>On May 01, 2001 at 18:21:08, Graham Laight wrote:
>>>
>>>>
>>>>
>>>>This represents a major flaw in modern chess programs with their relatively
>>>>simple eval functions.
>>>>
>>>>They have to accurately evaluate up to a million NPS (single processor). This
>>>>represents a node every 1000 clock cycles - and this can ONLY be done in a
>>>>relatively simple way. In many positions, the quick eval is enough - but in many
>>>>other positions - it just isn't. Sometimes, you'll get lucky and get the right
>>>>eval for the wrong reasons. Other times, you'll have the reasons roughly correct
>>>>- and still deliver the wrong eval.
>>>
>>>
>>>This is not quite accurate.  In the case of Crafty, it will do about 1/2
>>>million nodes per second on a 1ghz processor.  That 1ghz processor executes
>>>2 or 3 instructions per clock cycle.  In Crafty's case, the instructions per
>>>node turns into more like 4000-6000, rather than 1000.  When you factor in the
>>>unique way bitboards can answer evaluation questions (ie is this pawn passed
>>>takes 1 operation) this turns into closer to 10,000 instructions per node...
>>
>>This is true in Crafty's case, but at WMCCC last year, some programs were
>>getting over 900,000 NPS on processors which were little more than 1 Ghz.
>
>That is true.  My point is that not _all_ programs fit your "have a very simple
>evaluation to keep the speed up" description...
>
>
>
>
>>
>>>Also, I don't think today's evaluations are "simple".  I'm a pretty decent
>>>chess player and there is very little that I know that Crafty doesn't, in terms
>>>of general chess knowledge about evaluating positions.  There are some things I
>>>know based on experience that are hard to code of course...  but general
>>>positional skills are not bad.
>>
>>This is relative. If computer evaluations were as good as human ones, the humans
>>would necessarily lose, since they don't evaluate as quickly as computers.
>>
>
>There are two aspects...  components and weights.  A program can have as many
>(or more) evaluation components than a human, and still play badly if the
>weights of those components are not soundly chosen...


There are 2 glaringly obvious points to be made in reply here:

1. If the weights of the evaluation components are wrong (or if, as seems more
likely, the program doesn't modify the values of the weightings according to the
type of position as well as a human), this still represents a knowledge deficit

2. The research discussed in "Chess Skills In Man And Machine" indicated that a
human GM has expert knowledge on about 50,000 positional patterns. Crafty (and,
I'm sure, any other program) has nothing like that number of evaluation
components (clearly 1 evaluation component <> 1 positional pattern, but there's
probably a correlation)


>>>>As for getting "every positional factor in the position", as you've said above -
>>>>I think we're talking new technology. Something better than a top human, I
>>>>think.
>>>>
>>>>I believe it would be possible, with today's technology, to set up a system that
>>>>could, somehow, automatically tease out the major positional factors from every
>>>>position in the Chessbase database. This would make for a superb chess position
>>>>evaluator.
>>>>
>>>>-g
>>>
>>>
>>>I don't think this is possible, until a human can do it himself...
>>
>>I think it would be possible. Maybe by using some combination of data mining,
>>generating mathematical representations of patterns, using neural networks, and
>>using genetic algorthms to evolve patterns and weightings, it could be done.
>>
>>Once trained, I'm sure the computer could then get through the database faster
>>(and more accurately) than humans.
>>
>>-g
>
>Note your contradiction.  Until someone develops the patterns and formulas and
>so forth, this isn't going to happen.  Data mining doesn't seem to fit the model
>of chess games very well.  You would have to figure out what "features" were
>going to be recognized, or else get millions of features, most of which are
>meaningless...
>
>This is not an uncommon problem in mining already...  until the human takes
>part in the mining operation to guide things down reasonable pathways.

I would reconcile the contradiction by reminding you that I'm not suggesting the
use of a single technique, but rather a combination of techniques.

In my own work with AI problems (not chess related unfortunately), I've found
that some problems cannot be solved easily by using a single technique, but that
by combining a combination of techniques, they can be resolved surprisingly
well.

For example - maybe an NN could be trained to guide the search for significant
patterns in chess positions (and self improve on the job when it starts the real
work).

It is an unfortunate aspect of chess that other techniques have worked
sufficiently well to have prevented interest in the real intelligence - the
evaluation of positions - from becoming the major focus.

-g



This page took 0.06 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.