I have a simple alpha-beta pruning algorithm. I will fan out to examining about 10*4^s positions where s is the skill level I'm playing at (so s=8 means 655360 evaluations.) At skill level 6, that's about 4 plies deep at the start, increasing to 6-7 towards the late middle game. I then evaluate the board state with a simple, flawed, heuristic that tries to balance mobility with pile height, with more emphasis on the former at the start. I can evaluate about 350000 positions per second on a P3/700. For an easier (or harder) game ask for '
skill level X'where X is the desired skill level. (last modified 2007-11-18, skill level=8)