Archive for category: Checkers

Milhouse defeats Chinook (on amateur level anyway)

April 27, 2009 | Checkers | By: Mark VandeWettering

Oddly Chinook seemed to know the end was coming before Milhouse recognized it. But sure enough, Milhouse managed to navigate itself to a victory. [Event “Sparring Match”] [Date “2009-04-27”] [Black “Milhouse”] [White “Chinook (Amateur)”] [Site “Internet”] [Result “1-0”] 1. 12-16 22-17 2. 16-19 24×15 3. 11×18 23×14 4. 9×18 28-24 5. 8-11 26-23 6. 6-9 […]

Sparring Milhouse versus Chinook

April 27, 2009 | Checkers | By: Mark VandeWettering

Well, I’ve mucked around a bit, and begun to add PDN (Portable Draughts Notation) logging to Milhouse. Here is a sparring match between the novice version of Chinook that you can play online versus Milhouse, running at around 15 ply search with a six piece endgame database. It seemed clear that the position was a […]

Goofing around with Unicode…

April 26, 2009 | Checkers | By: Mark VandeWettering

I’m kind of old school. I tend to write a lot of programs with character, line oriented interfaces. Part of it is sort of an organized laziness: I’d rather spend my time working on “the real” part of the program. But sometimes, you realize that your program could be enhanced by a little nicer look. […]

Milhouse beginning to show signs of promise…

April 24, 2009 | Checkers | By: Mark VandeWettering

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: Red is to move and draw. Only […]

Milhouse still hides some mysteries…

April 22, 2009 | Checkers | By: Mark VandeWettering

So, I was doing some more testing this morning, and noticed an anomaly in my checkers program, Milhouse. Consider the following position: LOADED puzzle 177: Testing move ordering.. Color is set to red. White +——–+ | R – – R| |- – – – | | – – – -| |- – – – | […]

Some advances on Milhouse…

April 22, 2009 | Checkers, My Projects | By: Mark VandeWettering

I finally got around to totally ripping out the old implementation of transposition tables, and installing a new one based upon hints I read about on various web pages, mostly originating with some of the ideas for cache management that Ken Thompson implemented for his chess program Belle. The idea is to implement two caches, […]

Alpha-Beta Search is Hard To Debug

April 20, 2009 | Checkers, Computer Science | By: Mark VandeWettering

So, I’ve spent a few hours over the last couple weeks to try to debug milhouse, my computer checkers program that I tinkered together over the last few years. It’s kind of maddening, because in so many ways it seems to work, but it has a number of rather maddening behaviors which can only be […]

Bob Hyatt’s Online Publications

April 18, 2009 | Checkers | By: Mark VandeWettering

I’ve been poking half-heartedly at Milhouse, my checkers program this morning. I found that a particular puzzle (puzzle 34) that I got from a puzzle book seems to behave so oddly that I must believe that there is some underlying bug in my program. But rather than dwell on that, I found a link to […]

Dusting off Dusting off Milhouse…

April 13, 2009 | Checkers | By: Mark VandeWettering

A year ago, I blogged that I had dusted off my old checkers program, named Milhouse, and had uncovered a bug in my transposition tables. Today, a year later, I still haven’t debugged it entirely. I tried adding routines to access the Chinook endgame database files to it, but it’s not quite there yet: it […]

Chinook Endgame Database working (pretty much)…

May 13, 2008 | Checkers | By: Mark VandeWettering

Well, in a fit of productivity (or what passes for productivity when you are working on useless pet projects), I decided to get the Chinook 6 piece endgame database working in my checkers program. How hard could it be? They give you code to access it after all. A few simple adaptations, and…. Well, it’s […]

On the futility of expert checkers play through deep searches alone…

May 11, 2008 | Checkers | By: Mark VandeWettering

I really can’t put off creating an endgame database for my checkers program for much longer. I’ve been studying the so-called “First Position” for a while, and it’s basically hopeless to find the way through to the win for white from this position: White +——–+ | – – – -| |- – – R | […]

More on checkers…

May 9, 2008 | Checkers | By: Mark VandeWettering

I’ve been thinking about improving the evaluation function that milhouse uses, and have been particularly interested in automatic tuning of these functions. The two obvious contenders as far as methods go are the TDLeaf algorithm and some kind of evolutionary approach. So, as I was reading Chellapilla and Fogel’s paper “Evolving an Expert Checkers Playing […]

Milhouse v. Chinook

May 4, 2008 | Checkers | By: Mark VandeWettering

Well, this morning as I woke up, I decided to try to play milhouse against Chinook. Deluded by feelings of competency, I felt like it might be able to compete (at least at the novice level settings) against Chinook. Well, it didn’t go as badly as it might. With 15 ply search, milhouse decisively dispatched […]

Loy’s Checkers Problems

May 3, 2008 | Checkers | By: Mark VandeWettering

I was looking for some more difficult checkers positions to test my checker program milhouse against. Jim Loy’s excellent page has a list of difficult ones. Unlike the typical puzzles I have in my Encylopedia of Checkers Puzzles by Pike, these aren’t the kind of puzzles you typically find in 10 ply. In particular, his […]

Total number of checkers positions…

April 25, 2008 | Checkers | By: Mark VandeWettering

I might actually get to constructing an endgame database for checkers sometime soon. To start, I decided to try to write code to reproduce the table that appears in Schaeffer’s paper on solving checkers. It basically is just a five nested loop that computes a big sum of some fairly obvious combinatorial terms. So, I […]