Obviously from a purely technical point, if moves A & B are truly equal then it doesn't matter which one we play. What your code (currently) does is choose a random move. Well, you can do that by assigning a very small random element to the evaluation and some engines do that - in fact, the Winboard protocol includes "random" as a line just for that!! I wouldn't recommend it though - you want to return the same thing each time if you can so you can find bugs and tweak things.Fguy64 wrote:It is starting to sound like a bit of a tradeoff. If you want the speed benefits of full alphabeta, then you have to give something up, and that is the ability to consider two moves at the same level as equal.
Of course it's often the fact that we really don't think they are equal but that just means we have to change the evaluation so they aren't.
Andy.