Oct 15, 2011

[Info] Lazy eval failure

I simply can't get it to work. I tried including pawn eval and king safety in it, which would make it much for accurate (in exchange of plenty of speed obviously), but no go again.

Perhaps the more accurate lazy eval makes it have so little speedup that the few times it actually misses something are enough to make it fail in total.

Some people suggest that the futility pruning already does a big part of lazy eval, which of course makes sense. It's also a check on inability of reaching alpha, even if you were given a piece, but with a full eval and then cutting big chunks out of the search tree.

So maybe they're stepping on each other toes, and if I'd have to choose between the two, futility pruning has a lot more potential.

I'm leaving it for now, will revisit when I start my evaluation revamp though.


Thomas said...

Hi Jonatan, I played with LE for a while and also gave up on it. I used to have the value of 2 pawns a s margin thinking this is safe. It is not. The failure I always make is to think positions in the tree are normal chess positions and here a positional weight of more than 2 pawns is unusual. But actually there are positions in the tree that are totally strange. I measured where LE was giving a wrong score and those were positions where one side suddenly had three connected passed pawns and this kind of stuff. So after dropping LE the nps went down but also the searched nodes went down (better pruning). Overall it was not a loss.


Jonatan Pettersson said...

Yeah, funny you mention the three connected passed pawns. It was exactly one of those positions where I decided to put pawn eval into the lazy eval.

But as you say there are plenty of extremely weird positions that get a bad evaluation.

Even when having material, pawn, king attack, king defense and hung pieces in the lazy eval, I got plenty of positions where the positional value was larger than 2-3 pawns.