Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Pattern Recognition and Chess

Author: Graham Laight

Date: 06:57:17 10/12/00

Go up one level in this thread


On October 12, 2000 at 01:41:17, Andy Serpa wrote:

>I've have toyed with this problem with some semi-interesting results.  The main
>problem to overcome with the patten recognition approach is that GA's and NN's
>and CS's (Classifier Systems) are made to generalize, when of course chess
>positions are all about exceptions to the rule.  If you start talking about
>"fitness landscapes", you will find chess positions have a HUGE degree of
>"epistasis" (I believe that is the term).  That is, change one tiny little thing

My (paper) solution to this is to use the recognition of patterns to select from
a list of evaluation functions. An evaluation function that is well suited to a
position type should be able to determine whether those vital pieces are
deployed in the winning position for a given pattern.

>about the pattern, and you might have a totally opposite situation.  So I
>believe the patterns being recognized have to be "mini-patterns" within the
>position, with some sort of overseeing algorithm to determine which ones are
>important or are out-weighed by others.

If humans can do it, there MUST be a way for computers to do it as well.

Again - my proposed solution is (roughly) to make a list of the patterns that
exist in a position, possibly with weightings, and use this list to create an
ordered list of evaluation functions. You can then apply (say) all evaluation
functions that score within 25% of the best match, and weight the evaluations
they give with their match scores with the patterns.

This would solve all the knowledge management problems you've put forward!

The drawbacks are that it would take a substantial amount of setting up, and the
process of evaluating a position would be significantly slower than the 1000
processor clock cycles that Fritz needs (based on the observation that it was
doing 900,000 NPS at WMCCC 2000).

>I've never been interested in making a traditional brute-force type program
>simply because it seems boring.  I'm more interested in the problem-solving that
>in solving the problem.  I would like to see more approaches that attempt to
>unlock the secrets of chess.  After all, when you search ahead "manually" 10
>plys or so, aren't you just revealing the future potential of the current
>position?  Are chess positions one-way ratchets like the best encryption
>algorithms, or can they be broken down and decoded through some other way?

I believe that both approaches have merit - it's just that achieving high NPS
has recieved many orders of magnitude more attention than knowledge management.

They often lead to a different style of chess - which is why strong players
often remark that the computer is playing stupidly - but still can't beat it.

High NPS, and deep searching, but with relatively thin knowledge (the reality of
most of today's programs, many of which have only a few hundred distinct pieces
of knowledge) gives rise to very sharp tactical play - but with positional
errors occuring.

High knowledge, but low NPS (e.g. human GM), results in excellent positional
play, but vulnerability to tactical errors. Also, humans often find it difficult
to finally get the win against computers from an advantageous position, because
of the tactical resourcefulness of the computers.

If a (really) knowledgable program were to be built, there's no reason why it
shouldn't be eclectic - enjoying the benefits of both styles!

-g

>Ideally, a chess program shouldn't have to search ahead at all, but simply be
>"able to tell" what it happening, or at least if the position is won for one
>side or the other...
>
>Andy Serpa
>chessmad@chessopolis.com
>http://www.chessopolis.com



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.