Just a couple of quick notes for future investigation:
- Milhouse uses a windowed search with a "soft-fail" alpha-beta search routine. If the value returned is outside a fairly narrow search range, milhouse re-searches the high region or the low region. These re-searches turn out to be incredibly slow. Not sure that I understand why that should be.
- There are still some anomalies in detecting repetitions.
Addendum: Perhaps the first is a failure in move ordering?