Ed Gilbert wrote:Kingsrow does not find a conclusive result. I think the position is a probably a draw. Kingsrow moves the kings around as you described. If I force white to try to break up the black diamond with 40-34 then kingsrow sees a database draw.
-- Ed
What you could do is keep the black pieces on 19,23,24,29 and the white pieces on 35,40,45 fixed and then enumerate all placements of the remaining black king and the two white men and white king. Essentially this is a 4-piece database on a 43-square board (and for simplicity keeping the white king on the double diagonal). However, for each position you generate moves for all pieces so that you test whether moves as 40-34 or 35-30 don't win for white. This way you will find out quickly whether white can force black into a loss.
The chess folks have an algorithm to generate special endgame databases for such positions, called "freezer chess". See an informal description at
http://www.chesscafe.com/text/mueller50.pdf
http://www.freezerchess.com/index.php?topic=examples
Once you have adapted your endgame generation code for such restricted boards, it should be feasible to generate such small (4 to 5 pieces) tables during the search. The difficulty is detecting which pieces are frozen and which pieces one should vary. But with some heuristics that might be doable.