Bit unlucky with the pairing and got Tornado here. Mediocre had the bishop pair and felt quite comfortable but underestimated the insanely strong white knight that ultimately lead to an unstoppable pair of passed pawns. Not much to say about this loss, Tornado was just better.
4 comments:
Maybe the problem was that mediocre does not understand that less pawn is better for bishops.
It seems to be that the position should be opened up as fast as possible instead of playing with the rooks without making any progress.
Googyi (author of Tigran)
Seems quite reasonable, Mediocre lacks a few quite basic evaluations that should help.
Your engine is my primary benchmark engine to develop mine. Soon I will have another release of Tigran in hope it can take over mediocre 0.5 on the ccrl list.:)
Just a few notes:
1,
Mediocre seems to overestimates pawns, especially in endgame.
(This sometimes lead to a loss for my engine(2.3), because it underestimates them. :))
from your code:
evalDetail.material.we += PAWN_VALUE_ENDING; // Pawns are worth a bit extra in the ending
This is not true, because this will correlate with the number of pawns.
However quality of pawns are more important than the number of them.
Especially non-blocked passers are valuable, others don't matter too much.
2, How to eval passers?
This is again from your code:
// Protected passer
if((WB[index] & PAWN_BIT) != 0)
{
whiteEvalMiddle += rankBonusMiddle/2;
whiteEvalEnding += rankBonusEnding/2;
}
I struggled a lot with this part of my code, current 2.3 version is rather weak here. I had a very similar approach trying to give bonus for connected/defended passers somehow.
But my next release is doing the following:
The most important thing with a passer is that if it can move without slaughtered. If it can then it is a serious strong pawn.
Your code can lead to situations where two connected passers defending each other but both are blocked. No possible progress of passers means no danger. It seem to work rather well, maybe give it try.
Googyi
Thank you, interesting points.
It's easy to get a bit blind of such things when you've lived with the code for some while. :) Should have another look. :)
Post a Comment