Author: Dave Gomboc
Date: 01:12:17 09/07/02
Go up one level in this thread
On September 06, 2002 at 21:27:36, Robert Hyatt wrote: >On September 06, 2002 at 20:43:55, Dave Gomboc wrote: > >>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. >> >>Not big enough, judging from that bishop on a8 in the other thread. <grin> >> >>Dave > > >Wrong bishop idea. :) > >I am talking about white playing Bxa7 and black playing b6 which traps the >bishop. :) What's the difference? You're down a piece either way. One just stays on the board a while longer! Dave
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.