Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Newbie CC question

Author: Russell Reagan

Date: 21:22:02 11/21/03

Go up one level in this thread


On November 21, 2003 at 16:21:35, Dustin Moore wrote:

>Is there anything that can be gained by breaking this assumption?
>Let's say an engine is on a search extension or a quiescence search
>out to some deep ply can it skip calculating some of deepest plys for
>the opposing machine if it knows that the other machine doesn't
>search as deep normally?

A great deal can be gained in some situations, IMO. I have done tests playing
guests on ICC where I do a little analysis of my own using the chess engine
(usually in multi-pv mode). Usually I stick with whatever the computer thinks is
best. Occasionally, a position arises where the computer thinks a certain line
is best, but I choose another move. The positions where I do this are usually
ones where I play an inferior move that leads to a position where the opponent
really only has one move to avoid a big drop in his score (according to the
computer). I can make an educated guess on whether or not the opponent will play
that move, based upon how he has played so far, and more often than not, I can
guess whether or not he will play that move.

It depends on a number of things. Has the opponent played weak moves so far?
Does the opponent seem to be making "standard" moves (like standard openings)
without really having any idea about the plan coming out of that opening? Is the
move that the opponent has to find one that is obvious? The answers to those
questions will usually tell whether the opponent will play that move or not. If
he misses it, he has a non-trivial minus score against the computer, and he's
toast.

In general, when I gamble that the opponent won't play that one "right" move
(according to the computer), the opponent doesn't find the right move and the
computer crushes the opponent very quickly. When I just let the computer play,
it still wins almost all of the time, but it takes quite a few more moves. So
there are definite gains there.

The problem is that I am an human capable of making these educated guesses on
the fly, while that would be a bit more difficult for the computer to do
accurately.

The computer can't use an all encompassing rule. IE you can't program it to
always assume the opponent will miss something, because a lot of best moves are
forced or very obvious, even for weak players. All the computer would do is
weaken its position (possibly significantly). So the issue is, how do you decide
when to play an inferior move and hope the opponent won't catch you taking a
risk? There are a lot of factors. You wouldn't want to take any risks if you
were playing a strong player, or a computer. Where do you draw the line of
"strong player"? How do you teach the computer to have a hunch and act upon it?
How do you find the second best move using an alpha-beta approach without doing
two searches (which is much less efficient) without wasting time? Remember, this
gambling would probably only pay off on a handful of moves each game. If you
take twice as long to search during the rest of the game, the engine won't play
as strong.

There are a lot of things to think about.



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.