Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: a different take on this.

Author: KarinsDad

Date: 07:48:04 03/24/00

Go up one level in this thread


On March 24, 2000 at 00:23:38, Tom Kerrigan wrote:

[snip]
>
>If you're talking about a situation that is not mate, i.e., positional
>advantage, then I think problems like this are virtually unsolvable.

Not so. This is a limitation of using one PV.

>
>My program will sometimes play e.g. Bd3 blocking its own pawn on d2. No matter
>what kind of penalty I have for this situation, my program will invariably play
>this stupid move. The reason is that it thinks it will move the bishop off of d3
>later in the PV, so the penalty is never enacted. Very frustrating.
>
>-Tom

Of course there is a solution, but it involves hanging onto older PVs.

If a PV changes due to a different PV getting a better score, save off the old
PV.

If a PV changes due to it's own score dropping, do not save it.

If a current line comes within a certain delta of the current best score, save
it off.

When you are about to make a move, instead of just taking the current best score
PV first move, look through your list of old PVs as well. Carefully examine your
main PV and any of the old PVs that have a score close to the main one (e.g.
within -0.2). Since you may be searching say 24 positions per PV and have maybe
5 or so PVs to search, this takes very little time. Have a list of "types of
situations" which you consider "bad". Count the number of bad situations that
show up in any of the positions within each PV and pick the PV that has the
fewest bad situations with the highest score (i.e. if you main PV has the bad
bishop and none of the other old PVs have any bad moves, pick a PV from the save
list with the highest score, etc.).

Theoretically, a -0.2 pawn is not going to cause any tactical problems, but
examining your "main lines" after searching could enable you to avoid lines with
tactically look ok, but play some stupid move that could hurt you way beyond the
event horizion.

The issue is not one of resolving these types of problems within the evaluation.
If you do it that way, you either have to stop searching once you get to one of
these situations or you have to live with it. The alternative is to search for
this type of thing once your search engine is finished. I prefer the latter
method.

KarinsDad :)



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.