First one thing about implementing ideas. Having decrement if current positional gain is smaller than maximal has only sense if starting values are not zero, but some other statistically determined (or defined as real maximum). And even then decrement should be piece dependent and not always 1.
Now the idea. Why not use online statistics during the game. Instead of keeping track of maximum positional gain, why not keep track of average positional gain and standard deviation, and then use in move ordering value of average+2(or 3)*sigma for example.
Initial values should be something that is statistically predetermined on large sample of positions.
More on positional gain
Re: More on positional gain
And more to it. The way I see it, positional gain is a pretty random category. Or recent values don't tell absolutely anything about the current value. For example once you move the rook from e1 to e3 can be one value, just couple of moments later on completely different part of the tree the same rook move can have completely different value. Practically speaking time is irrelevant.
So why not then use fully static positional gain tables with some statistically averaged values (plus margins). Different tables can be statistically precalculated for different game phases or different state of material on board.
Edit: In case we assume there is still some time dependence (this correlation can be actually measured), we can have a correction of static component by using some sort of moving averages of last couple of posevals (like in stock market estimation ).
So why not then use fully static positional gain tables with some statistically averaged values (plus margins). Different tables can be statistically precalculated for different game phases or different state of material on board.
Edit: In case we assume there is still some time dependence (this correlation can be actually measured), we can have a correction of static component by using some sort of moving averages of last couple of posevals (like in stock market estimation ).
Re: More on positional gain
Wny not go the other way, and just eliminate posgain? How much ELO does this lose (if any)? If it's only 5 ELO or something, all this fine detail is for nought.
Re: More on positional gain
Basically it has 2 potential applications. One is to get more precise condition for lazy eval. There its impact is pretty negligible.BB+ wrote:Wny not go the other way, and just eliminate posgain? How much ELO does this lose (if any)? If it's only 5 ELO or something, all this fine detail is for nought.
Another one is in move ordering. There it is much more important. There you use positional gain as sort of estimator that tells what will be the score before eval and deeper searches are performed so that moves are better ordered.
Here I haven't tried to remove it to see the strength impact but my feeling is that it would be more than just couple of elo.
Re: More on positional gain
At start time you get a new maximum so you don't decrement anything.Sentinel wrote:First one thing about implementing ideas. Having decrement if current positional gain is smaller than maximal has only sense if starting values are not zero, but some other statistically determined (or defined as real maximum). And even then decrement should be piece dependent and not always 1.
Now the idea. Why not use online statistics during the game. Instead of keeping track of maximum positional gain, why not keep track of average positional gain and standard deviation, and then use in move ordering value of average+2(or 3)*sigma for example.
Initial values should be something that is statistically predetermined on large sample of positions.
Regarding this idea, well, it is one out of 1000.
This is the typical formula where you get more tweak ideas then hairs. The problem is to find the good one out of many "potentially" good. For instance some of the ones you post I have already tried and failed.
So, as usual, but in this case I would say, more then usual, testing is the only way to go.