Author: Vincent Diepeveen
Date: 10:49:43 12/21/02
Go up one level in this thread
On December 21, 2002 at 03:22:46, Uri Blass wrote: >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). in more than 1% of the positions with DIEP's eval it happens when using a quick eval to get a quick score. I know it is more because i observed that with a 3 pawn window and the condition that it would be a mispredicted 3 pawns too (vaste majority is of course a positive mispredicted 3 pawns) it is 1%. >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.