Hi Andrew,
Andrew Fan wrote:I guess Quark is a bit lazy with it's "not enough material" draws (KNvKN). Should not consider material draws if the king(s) are in any of the corners.
in the "Programming" subforum there is a recent thread about insufficient material and claiming draw. I'm sure you know that KNKN does not fall into this category, an engine may never claim draw here according to the rules. What you can do for KNKN if the enemy king is not in a corner is for example:
a) to offer a draw,
b) to accept a draw offer,
c) (at depth > 0) to return a zero value instead of searching the subtree,
d) (at depth = 0) to play a random move without any searching.
Besides checking for "enemy king not in corner", one could define more criteria which tell us if a mate-in-1 is possible (position of knights, own king), but this would go too far for such a rare case. One could even omit checking for corner square, just search one ply and return 0 if no mate is found. (A value >= 0 is guaranteed for the side to move in KNKN.)
More details belong into "Programming" indeed; sorry for bringing this up here. I just had the impression that "claiming draw" and "evaluating as draw" are mixed up sometimes.
Sven