Author: Uri Blass
Date: 00:22:46 12/21/02
Go up one level in this thread
On December 21, 2002 at 02:31:32, Tony Werten wrote: >On December 20, 2002 at 17:40:10, Vincent Diepeveen wrote: > >>On December 20, 2002 at 17:36:20, Tony Werten wrote: >> >>>On December 20, 2002 at 17:20:26, Uri Blass wrote: >>> >>>>On December 20, 2002 at 16:30:32, Vincent Diepeveen wrote: >>>> >>>>>On December 20, 2002 at 12:02:23, Uri Blass wrote: >>>>> >>>>>>On December 20, 2002 at 11:26:28, Richard Pijl wrote: >>>>>> >>>>>>>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. >>>>>>> >>>>>>>They are still related in a sense that both 'cut-off' the work to be done by >>>>>>>saying that it can't get good enough to improve alpha, so better stop working on >>>>>>>it. >>>>>>>> >>>>>>>>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. >>>>>>> >>>>>>>Although Baron is not a top program yet I'm starting to feel this. >>>>>>>To be sure that the wrong nodes aren't getting pruned I wrote a little piece of >>>>>>>test code. It returned the highest difference it found between the lazyeval >>>>>>>score and the full eval score (but not with passers on the board, and not in the >>>>>>>endgame). I added 20% to this and that was the threshold used for both lazyeval >>>>>>>and futility pruning. It turned out that with every release of the Baron this >>>>>>>value increased. >>>>>>>Now I'm working on 0.99.4 and the margin was getting very large, more than 5 >>>>>>>pawns. >>>>>> >>>>>>I think that it may be interesting to see the position that you talk about >>>>>> >>>>>>When do you see a difference of more than 4 pawns between the static evaluation >>>>>>and the lazy evaluation? >>>>> >>>>>define lazy evaluation in this case. Just material component or >>>>>a function that quickly estimates lazy eval? >>>> >>>>I think that the definition of lazy evaluation may be a function that quickly >>>>estimates the real evaluation(not just material) >>>> >>>>The estimate can also say that the big evaluation need to be done in small part >>>>of the cases (for example you can decide that if there are no pawns near the >>>>king then king safety can get big scores so you cannot trust fast evaluation). >>>> >>>>> >>>>>Note that just a diff of > 4 pawns is not interesting, only when it >>>>>would modify alfa or beta it is; >>>>> >>>>>if lazy eval is 2 pawns white up and actual score is 3 pawns white up >>>>>and beta is 1.5, then obviously it is not interesting. A cutoff is >>>>>a cutoff, isn't it? >>>>> >>>>>Idem for <= alfa. >>>>> >>>>>The interesting thing is when your quick eval with a margin is >>>>>at the other side of the bound (alfa or beta) than the real eval. >>>>> >>>>>In diep i produced a big graph and found out that 1% was wrong. >>>> >>>>If I understand correctly in 99% of the cases when lazy without margin was in >>>>the wrong side of the bound lazy with margin was right. >>>> >>>>I am still surprised to read it >>>>My question is if you evaluate tactical stuff like pins or forks because my >>>>opinion is that positions when positional stuff worth more than 3 pawns are >>>>rare. >>> >>>Don't forget that one side only has to be 1,5 pawn up and the other 1,5 pawn >>>down. >> >>3 pawns up or 3 pawns down. A window of 3 pawns above beta and a window >>of 3 pawns down alfa. >> > >Yes, what I meant was that if material is equal and one side gets 1,5 pawn >bonusses and one side gets 1,5 penalties then 3 pawns window is already reached. > >1,5 pawns bonus or penalty is easily reached, but people think 3 pawns sounds so >big. I do not think that 1.5 pawn+1.5 pawn panelty is easily reached(maybe it can be reached relative to only material but I think that in these cases other factors like pawn structure or simple king safety may give significant bonus in the lazy evaluation). There are other reasons against lazy evaluation but I do not think that the risk of being wrong by more than 3 pawns is one of them. 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.