Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Artificial Intelligence in Computer Chess

Author: Vasik Rajlich

Date: 03:05:20 03/29/04

Go up one level in this thread


On March 28, 2004 at 22:44:27, Artem Pyatakov wrote:

>
>>I think you and Steven both enjoy thumbing your noses at the "conventional,
>>hat-trick, alpha-beta seachers".  I am not quite sure why, but whatever floats
>>your boat . . .
>>
>>anthony
>
>Well, I've explained my objections to it. Don't get me wrong, I am one of those
>people - I have written a program that uses all of the tricks I criticize. But
>my objection to it is that a lot of these tricks are not beneficial for research
>in related fields - even close ones like playing other games, and thus it would
>be nice to change philosophies. It would also be much more elegant to be able to
>have computers learn the tricks themselves, don't you think?
>
>Artem

Hi Artem,

it's great that you have lots of ideas. Lots of people here have lots of ideas.
The questions eventually are, what do you hope to accomplish, and how can you
fit your ideas into a framework to help you accomplish it.

This is a constant process for example at the level of evaluation. I constantly
find positions I'd like my engine to evaluate differently. Usually, it's not
hard to find some way to try to capture it. However, I expect my evaluation to
have a certain level of speed and simplicity, and changing this would mean
changing the whole framework. (Ie slower evaluation means you should do things
differently in search, etc.) I won't, for example, look for exact patterns
inside my evaluation - that's outside its bounds. So, often, the conclusion is
that the idea has no sensible implementation.

Re. alpha-beta, I have lots of ideas for how to expand it into something more
human-like. For example, yesterday I played a chess game for my club in which I
sacrificed a piece for an attack, and in a number of positions the move Ke1-d2
deserved serious consideration, to avoid later checks on the e-file.
Furthermore, Ke1-d2 was better than castling queenside (which was still
allowed), because the king should support a later Re1. After the game, I started
thinking: how can you avoid reducing a move like Ke1-d2? This is exactly the
sort of move which makes selective searching so hard. In most positions, of
course, it's about the last move to consider when you are trying to justify a
sacrificial attack - especially when the safer queenside castling is possible.

A human considers this move because later in the tree, checks along the e-file
play a role. How would this look inside the alpha-beta framework? Maybe
something like: if one side fails high in some "pv-like" (ok already MTD (f) has
some issues ...) variation by giving a check, then "pay special attention to"
all king moves earlier in the search. Unfortunately, this simply doesn't fit
inside alpha-beta. In MTD (f) you may research based on the score, but I don't
know of any alpha-beta framework inside which you research based on any type of
new information other than the score.

So, as so often, you ask: do I expand/scrap the framework (in this case,
alpha-beta), or does this idea go into the scrap pile (or revisit later list)?
If your goal is something which works, you'll probably unfortunately find that a
lot of your more interesting ideas fall into the second category ;-)

Anyway, good luck with the project.

Cheers,
Vas



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