History heuristics should be much better. I don’t know how you have implemented the PST move ordering but if you just take the toSquare into account you will run into trouble. The reason is that good piece square tables for evaluation should be evaluated so that squares close to each other in shortest path metric should have values close to each other. When using the PST in move ordering it will very likely put pieces with great PST values first in the ordering since they will have neighbouring PST values of similar value. The result will be that you try to move the best placed pieces first, when in fact you should do the opposite. What you have to do to fix this problem is that you will have to order the moves according to the difference between the PST for the toSquare and the PST for the fromSqure.maksimKorzh wrote: ↑Fri Jan 08, 2021 8:08 pmHi Harald, good to see you joining!Harald wrote: ↑Fri Jan 08, 2021 7:31 pm I have another question or thought in this discussion.
Some people use piece square tables in the evaluation and for move ordering in the search.
May be the piece square tables for evaluation - especially if auto tuned - are not the best tables
to be used for move ordering. What do you think?
Most likely so.
In most tuned PSTs I've researched e4 and d4 usually have miserable bonuses which looks like strange but the moves e4 and d4 are likely
to be played just like if you have +20 bonuses for those squares. The reason for that is that search finds e4 and d4 moves not due to PST
directly but more likely due to PV. For move ordering on the other hand bonuses like +20 for moves e4, d4, Nf3, Nc3 would be beneficial
to order them first but with tuned knight PST values we have a similar story like with e4 and d4.
I tried using PST for move ordering but it didn't give any significant advantage - in some positions it may strip 2k nodes, but in other
it can slow down the search. I know Rebel was using PST for move ordering, but I guess the way it did is more sophisticated than just a lookup.
History heuristic seems more beneficial because moves that has raised alpha within previous iteration are more likely to produce beta cutoffs than
relative PST values. IMO this is so because score > alpha is more likely to become score >= beta (because it's already within the alpha-beta bounds)
it's more likely to produce a cutoff than PST move ordering because PST move ordering does not even guarantee to improve alpha, not even talking
about exceeding beta.
But without tests all this doesn't mean much.
Hope this helps.
Gods luck with your engine!
PS how did it go by minimising the absolute error in your Texel tuning compared to minimising the squared error?

