Computer Chess Club Archives




Subject: Re: Artificial Intelligence in Computer Chess

Author: David Mitchell

Date: 10:40:03 03/29/04

Go up one level in this thread

On March 28, 2004 at 16:18:41, Artem Pyatakov wrote:

>Hello CCC,
>I have not posted here in about 3 years, but it's nice to be posting again. My
>college years have flown by, and I am now using the amateur program I had
>written during the summer of my Freshman year as a basis for my Senior thesis.
>Where did the time go?!?
>I wanted to get your educated input on the topic I am covering in my thesis,
>before I actually get down to writing the actual text of it (I have spent some
>pretty large number of hours during the year working on the experimental
>results). Disclaimer: The ideas contained below are pretty self-critical of the
>field, but please do not take them personally, since I myself have written a
>chess program that has all the shortcomings I talk about. I am purposefully
>trying to be controversial here, so as to spur debate. Any input at all is very
>much appreciated.
>The thesis is titled "Improving Computer Chess through Machine Learning", and
>its main idea is to attack one aspect of an interesting gap I noticed between
>the field of A.I. and Computer Chess. Specifically, in my opinion, the field of
>computer chess has become obsessed with *tricks* (human-generated ideas that
>happened to work without a good theoretical justification and cannot be easily
>generalized to other games). Because these tricks work really really well, the
>field has strayed from research into A.I. techniques. At the same time, any AI
>work has to compare itself with chess engine filled with excellent
>human-generated tricks, so it seems to perform poorly.
>Some examples:
>*ordering captures first during move ordering
>*check extensions
>*futility pruning
>*evaluation function (trick-filled, but probably has to stay that way for a
>On the other hand, I think a lot of researchers have been overly ambitious and
>have tried to replace Alpha-Beta & tricks with a neural network or some totally
>different approach. I think that with the current state of AI tools, these
>efforts are bound to fail.
>In my thesis, I take the middle-road and keep the alpha-beta and general
>framework while at the same time trying to get rid of as many tricks in my
>original program as I can (while hopefully keeping it competitive). Given the
>very limited time, I have focused my efforts on move ordering tricks - such as
>the history heuristic, killer heuristic, SEE, etc. Most of these heuristics are
>designed to share information found in one part of the tree with the others,
>which I think is a great area to tackle, because it can lead to great
>improvements in search while at the same time not requiring precise answers.
>If there is more interest in this, I can share the details of the research I did
>in the area, but I didn't want this message to get too long.
>CCC, what do you think of this whole approach?
>Do you want more details?
>Any comments, questions, ideas?
>Any related research or work I have missed?
>To clarify, the Senior Thesis is a significant project but is not anywhere close
>to a Ph.D. dissertation, which is why I am not addressing question in
>excruciating detail or with great precision.
>Thanks guys, you are the best!

I believe A/B is a form of artificial intelligence - it may be too "low-level"
and specific to garner the respect of the AI group, but that's too bad.

In CC, as in sports, specificity is vital. You don't need a pole-vaulter with
the endurance of a marathon runner, and if you try to create such an athlete,
you will surely fail. In chess programs, you don't need (and will fail if you
try), to make a CC program using a lot of higher order AI concepts.

If the computer had an excess of time, after doing it's search to a goodly
depth, then some AI concepts could be well used to strengthen a program. After
all, there is a huge time difference between searching 17 ply's deep, and taking
that search to 18 plys, in most positions. Also, the info found is of less value
normally, the deeper you go into the search, simply because the opponent will
probably not follow that exact line of ply throughout the pv.

I believe we're right on the edge of being able to use more high level AI
concepts with the advent of the faster opteron-like 64 bit CPU systems and
larger memories/larger hard drives.

Which of those AI techniques can best be implemented to actually assist in a
strong CC program, is still very unclear.

But strong CC programs will never be the "pure", human like/ HAL type /
"generalist" type of programs as many were hoping for.

Chess is a specific activity, and requires a specific type of programming to
play proficiently. Symbolic by Steve Edwards may be a big success, but if so, it
will be because he has made his version of AI, specific to chess.

Generalists will not succeed.imo


This page took 0.21 seconds to execute

Last modified: Thu, 07 Jul 11 08:48:38 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.