Chan Rasjid wrote:Hello,
I forgot to say what the bug was. It was about setting the aspiration bound alpha.
Whenever a new root iteration is to be started and if it is to call mate_search() instead of the normal pvs_search(), the aspiration bound is set thus:
alpha = best = winning-mate-score;
beta = INFI;
and there is a move associated with the mate.
The bound alpha caused problem; it has to be set to -INFI and the program will mate KRK. But it still may occasionally fail to mate unlike my older version that never failed.
The fix is not right as I can't see why it cannot be set to the mate score. Maybe the answer is obvious but I don't know. The setting worked if TT is disabled. So it has to do with the way I store mate scores. But I cannot trace where I went wrong.
Best Regards,
Rasjid.
Hi Chan,
i really do not have much time at the moment, so here i try to give
another little hint.
To open the window and everything seems to work, but the aspiration
window fails indicates an error of the following type:
within the search you have an artificial window [alpha,beta].
If your search now is only updating on conditions like value > alpha,
and this condition is not met at a certain node, the search will
return a random score below alpha if there is no value better than alpha.
This would be a typical bug already seen in this context.
So you might check if there will always be returned a bestvalue if you use
a failsoft framework.
Hope it helps, must work on now

...
Michael