Brandon Corfman
unread,Apr 20, 2011, 12:47:23 PM4/20/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Raven Checkers
I've begun working on the next version of Raven, which will
significantly improve the computer AI during its opening play. I've
written a similarity function whose purpose is to steer toward useful
early-midgame formations like the long dyke, the mill or the echelon.
As a useful side effect, eliminating board patterns that don't conform
with these formations should avoid a lot of pointless search in the
opening to early-midgame phase. By selecting an opening strategy, the
AI should start looking a lot more human in its play and avoid relying
on a database of openings that stifle the creativity that you normally
see in a good checkers game.
My first version of the similarity function is done and unfortunately
has a O(n^3) running time. However, there are lots of ways to optimize
the geometric pattern matching that it does, most importantly by
discarding up front those checkerboard patterns that can't possibly
result in the chosen formation. I'm writing unit tests for the new
function and will begin my optimizations after that. Then I have to
introduce some new Goal classes that contain the formations I'll be
searching for. A realistic time frame for this task is probably a few
months' work, especially since the spring is turning out to be very
busy with family visits and volunteering at church. I'll start
checking in the new code over this time period.