Milhouse vs. the iPhone

March 21, 2010 | Amateur Radio | By: Mark VandeWettering

I woke up at 5:30 or so this morning, and couldn’t get back to bed, so I thought some more tinkering with Milhouse was warranted. Musing about yesterday’s reading, I realized that I had a bit more work to really try it out: I’d need to write a code to handle regression learning. That seemed like too much, so I thought I’d play a quick game against Optime software’s Checkers Free for the iPhone. The program is little better than random play on its lowest setting: here’s a pdn file for the first game I played against it:

[Comment "Sparring Match Between Milhouse and iPhone"]
[Black "Milhouse"]
[White "iPhone"]
[Date "Sun Mar 21 09:25:13 PDT 2010"]
[Result "1-0"]
1. 11-16 22-18
2. 10-14 24-20
3. 16-19 23x16
4. 12x19 27-23
5. 8-12 23x16
6. 12x19 26-23
7. 19x26 31x22
8. 14x23 32-27
9. 23x32 30-26
10. 4-8 28-24
11. 6-10 26-23
12.  32-28 21-17
13. 28x26 22-18
14. 9-14 18x9
15. 5x30 20-16
16. 7-11 16x7
17. 2x11 29-25
18. 30x21

Milhouse brutalized it. Checkers Free goes off the rails at this rather elementary position at move 7…

White to move, with one move possibly equalizing, the other, to direct disaster.

The iPhone played 31×22, which is hideous: yes, you are exchanging down, but white’s position becomes horribly pinned, and you can’t help but give up material. Milhouse sees this easily in just 5 ply search.

Addendum: Cranking the iPhone’s settings up to maximum yielded a slightly better game, although still with a fairly lop sided outcome. I didn’t bother playing this one out to the end, while White has two kings, it basically can’t prevent red from marching down and getting a truly overwhelming advantage:

[Comment "Sparring Match Between Milhouse and iPhone on Highest Level"]
[Black "Milhouse"]
[White "iPhone"]
[Date "Sun Mar 21 10:30:56 PDT 2010"]
[Result "1-0"]
1. 11-16 23-18 2. 7-11 26-23 3. 16-20 24-19 4. 11-16 22-17 5. 9-14
18x9 6. 5x14 25-22 7. 8-11 29-25 8. 11-15 28-24 9. 3-8 31-26 10. 8-11
17-13 11. 6-9 13x6 12. 2x9 22-17 13. 9-13 25-22 14. 4-8 23-18 15. 14x23
27x18 16. 16x23 26x19 17. 20x27 32x23 18. 15x24 18-14 19. 10-15 14-10
20. 24-27 10-7 21. 27-31 23-18 22. 31-27 7-2 23. 15-19 30-26 24. 27-31
18-14 25. 31-27 14-10 26. 11-16 10-7 27. 27-23 7-3 28. 23x30 17-14
29. 30-25 22-18 30. 25-22 3-7 31. 22x15 14-10 32. 15x6 2x9

A fairly interesting position occurs for white on move 10. With white to play:

White to move: the iPhone played 31-26, but a better move exists...

Milhouse prefers 17-13, but only narrowly until the search depth approaches 20 ply, then it realizes that it might actually be a drawing move. I haven’t worked this out too much with Cake, but checking briefly, it seems that after 31 ply search, it sees the position as essentially drawn. Milhouse would take probably the better part of an hour to reach that search depth.