Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Futility Pruning

Author: Vincent Diepeveen

Date: 14:14:27 12/21/02

Go up one level in this thread


On December 20, 2002 at 11:49:59, Uri Blass wrote:

you should not compare with too simple things.

program doesn't search 5 ply or so. programs search like 14 ply
easily. especially capturing lines which go into qsearch
are very long lines always.

but indeed it is true that the material score + guessed PSQ
was wrong just in too many cases.

that's why my quick eval especially evaluates a few big scores first
in order to get the magnitude correct. like pins and such are done there.

yet 1% is not much of the total positions. do not forget that.
if you use a lazy eval which has a big window of 3 pawns then
not every position is 3 pawns off from the window.

only very stupid positions in general are. so the most insane lines
are produced and evaluated there. yet for tactical tricks those
are important to get evaluated usually.

consider a stupid line like


e4 nf6 bc4 nxe4 bxf7 kxf7 and you have 3 pawns difference easily.
a piece is like 3.6 in diep.

but now add a bunch of development moves for white and you still have
more than 3 pawns difference but a completely lost position for black.

>On December 20, 2002 at 10:54:01, Vincent Diepeveen wrote:
>
>>On December 20, 2002 at 08:23:59, Russell Reagan wrote:
>>
>>No futility is 100% different from lazy evaluation.
>>
>>Futility in fact selects less moves (in qsearch)
>>based upon alfa or beta and lazy evaluation gives
>>back a quick score a lot of the times.
>>
>>If you search a ply deeper a futile pruned move should not
>>get pruned, whereas a lazy evaluated position will give problems
>>no matter what depth you search.
>>
>>In contradiction to draughts where everything is seen fullwidth,
>>in computerchess the effect of futility can be very bad too,
>>because last 3 to 4 plies (R=2 versus R=3) the qsearch is returning
>>back a score instead of a full search.
>>
>>If that misses major problems then you are in trouble.
>>
>>The argumentation of Heinz that futility is correct, is using the
>>assumption that an evaluation doesn't get a big score for positional
>>matters. The problem is that todays top programs do give big scores
>>though.
>>
>>With regard to lazy evaluation there is more problems.
>>
>>The importance of those positions with big scores to solve even
>>tactical testsets (by matter of evaluation!!) is very important.
>>
>>A good example is that with months of work i managed to make
>>a quick evaluation function
>>which could predict a score within 3 pawns
>>accurate in 99% of the cases.
>
>I wonder in how often simple only material+piece square table evaluation is
>wrong by more than 3 pawns.
>
>If an evaluation that you worked 3 monthes about is wrong by more than 3 pawns
>in 1% of the cases then it means that only material score should be wrong more
>often.
>
>In more than 99% of the positions with balanced material when you sacrifice
>a piece you simply lose.
>
>Even king safety does not justify sacrificing a piece in most cases
>example
>1.e4 e5 2.Nf3 Nc6 3.Bc4 Bc5 4.Bxf7+??
>
>I think that in most cases you can detect fast that there is no decisive king
>safety score.
>
>I can only think that you may evaluate tactical stuff like
>the following diagram as a possible explanation why only piece square
>table+material evaluation is not enough to be correct in more than 99% of the
>cases
>
>[D]k6r/8/8/8/8/8/PP6/KQ5r w - - 0 1
>
>Here you can see by a slow evaluation that the queen is trapped but it is also
>possible to see it by search and never evaluate this position if you decide not
>to evaluate positions when the queen is pinned by a rook.
>
>The question is if it is impossible for you to be wrong by only 3 pawns in 100%
>of the cases (note that the evaluation does not need to be always faster and if
>you detect in 1% of the cases or even in 10% of the cases that you need to do
>the full evaluation or to extend there is no problem).
>
>a related question is if most of the time of your evaluation is done to
>calculate tactical stuff like forks and pins or to calculate positional stuff?
>
>
>>
>>though completely technically spoken that is not a real lazy
>>evaluation but a quick evaluation that's used to enhance lazy
>>evaluation, the outcome was also a big surprise to me.
>
>I do not see why it is not a lazy evaluation.
>
>I think that every evaluation that is faster than the original evaluation and is
>not correct is lazy evaluation.
>
>lazy evaluation is not an evaluation that you were lazy to write but an estimate
>to the real evaluation that is faster to calculate by my understanding
>
>Uri



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.