Now I want to implement some form of YBW. Knowing little of the theory, I head for CPW and quickly find some fascinating pseudocode for the Jamboree algorithm:
http://chessprogramming.wikispaces.com/Jamboree
I understand the pseudocode in part, but am puzzled by the return values in two places (these are inside the parallel section):
Code: Select all
s = -jamboree(c[i], -α - 1, -α);
if (s >= β) abort_and_return b;
...
s = -jamboree(c[i], -β, -α);
if (s >= β) abort_and_return b;
Is there a subtle issue with multithreading that makes b the correct return value, or is there a bug in the pseudocode?
Robert P.