Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Speaking of the Thesis by Marcel van Kervinck (hopefully no storms)...

Author: Tony Werten

Date: 16:39:05 09/06/02

Go up one level in this thread


On September 06, 2002 at 18:44:22, Robert Hyatt wrote:

>On September 06, 2002 at 16:26:44, Tony Werten wrote:
>
>>On September 06, 2002 at 16:15:25, Robert Hyatt wrote:
>>
>>>On September 06, 2002 at 16:06:43, Tony Werten wrote:
>>>
>>>>On September 06, 2002 at 16:03:06, Robert Hyatt wrote:
>>>>
>>>>>On September 06, 2002 at 15:46:53, Tony Werten wrote:
>>>>>
>>>>>>On September 06, 2002 at 14:45:11, Dann Corbit wrote:
>>>>>>
>>>>>>>Did anyone notice his cutoff idea in the evaluation function?
>>>>>>>
>>>>>>>It seems to me to be a very good idea, and I don't know if others have tried it
>>>>>>>out.
>>>>>>>
>>>>>>>Basically, it consists of three modes with two early exits...
>>>>>>>
>>>>>>>1. If the material + structure score alone is dominant enough, it exits right
>>>>>>>away.
>>>>>>>2. Otherwise, it processes the piece list.  If that score is dominant, it exits.
>>>>>>>3. Otherwise, it does a full board control scan for all 64 squares.
>>>>>>>
>>>>>>>It is described starting on page 62 under the section "3.3.2 Multi Staged
>>>>>>>Design"
>>>>>>>He gets roughly 71% evals returning in stage #1, 13% in stage #2 and 7% in stage
>>>>>>>#3.
>>>>>>>
>>>>>>>It seems like it might be a big win to do it that way.
>>>>>>
>>>>>>It's called lazy eval and is not a good idea. The times it is wrong happen to be
>>>>>>the important ones.
>>>>>>
>>>>>>Tony
>>>>>
>>>>>
>>>>>Two things...
>>>>>
>>>>>First, you _can_ do a lazy eval with zero error.  I did it in Cray Blitz and
>>>>>I explained the idea here before...
>>>>>
>>>>>You can compute the possible "positional error" (the amount the score will
>>>>>change max and min) for each type of piece.  When you do a lazy eval, you
>>>>>can use this min/max and sum 'em up (or do it incrementally as we did, which
>>>>>can be a headache) so that you know the "independent piece max/min scores".
>>>>>
>>>>>If you lazy eval based on that, you get _zero_ errors because you will _really_
>>>>>know that the individual piece scores can't produce a number larger than X or
>>>>>smaller than Y, so you can make an informed decision.
>>>>>
>>>>>I don't do that today because each time you change the eval, you have to
>>>>>update those min/max values which is something I would continually forget.
>>>>
>>>>Yes, correct. But when you get 71% hitrate your bounds are not very wide.
>>>>
>>>>>
>>>>>2.  You can get good results with remembering the min/max positional scores
>>>>>during a real game.  yes, the scores will continue to "widen" and reduce lazy
>>>>>eval exits, but the error rate is not that bad.  Compared to the cost.
>>>>
>>>>In XiniX the hitrate drops to <5% quite fast this way. IMO not really worth it.
>>>>
>>>>Tony
>>>
>>>
>>>I don't see it drop that far, but I don't watch it carefully unless I am
>>>suspecting trouble either...  I will take a longer look.
>>
>>Might be better for other programs i think. My kingsafety is calculated during
>>the piece evaluations as is my passed pawn score. ( to name 2 big ones )
>>
>>Tony
>
>
>Mine is actually calculated _last_ as I need to know stuff about all the
>pieces first.  But I just factor that into the "error window".  The passed
>pawn scores and stuff like trapped bishops are done early since they are
>big values too.

I do the trapped bishop in piece eval as well. Maybe getting it out would
improve my hitrate. I'll have a look one of these months.

Tony



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.