First, I imagine they are doing this only for tuning eval parameters, or even for evaluating positions with totally identical opponents. And in micro-Max it was not difficult at all to make sure there were two different search routines each using its own hash table and recursively calling itself, the main program calling one for the white moves, and the other for the black.bob wrote:I doubt that would work. Suppose you change the search. How would "self-play" be used to play the old against the new? Would be far harder than to just use a simple referee program as I do. Otherwise you introduce new bugs by trying to use two different searches, or two different evaluations in the same program/process...
Your referee program might be simpler, where it not that you admit yourself that it does not work reliably fos sub-second games. I am sure that if we drop the requirement that it should work, infinitely more simple solutions are possible...