Milhouse beginning to show signs of promise…

Well, I got move ordering implemented, and the performance on my two previous test cases seem much more comparable. And with this addition, milhouse is able to solve some fairly subtle problems, not just the toy one’s from Pike’s book of Checkers puzzles. For instance, consider this position:

board4

Red is to move and draw. Only one move leads to a draw.

Give up? Me too. I wrote a checkers program so I wouldn’t have to think. 🙂 I made some changes so it could do some rudimentary analysis of positions. Here’s the output:

         -7602 :  1-6  10x1  18-15  1-6  15-11  5-1  11-8   1-5   8-12  5-9   4-8   9-14  8-11  6-2 
         -7421 :  4-8  20-16  8-12 16-11 18-22 10-14 22-25 14-9  25-21  9-14 21-25 14-9  25-21  9-14
         -7600 : 18-14 10x17  1-6   5-1   6-10  1-5  10-15  5-1   4-8   1-5   8-11  5-9  15-18 20-24
         -7600 : 18-15 10x19  1-6   5-1   6-9   1-5   9-13  5-1  13-17 20-16 17-21  1-5  21-25  5-1 
         -7421 : 18-22 10-14  4-8  20-16  8-12 16-11 22-25 14-9  25-21  9-14 21-25 14-9  25-21  9-14
            +0 : 18-23 10-7  23-18  7-2  18-14  2-7  14-9   7-2   9-14  2-7  14-9   7-2   9-14  2-7 

Yep, 18-23 leads to a draw (by repetition). All others, doomed.