Pente

Pente and the PickleMatrix Engine

You can play a Java applet version of Pente here against PickleMatrix, using the formidable Dill rule set. (Warning: The applet page will pop up two new windows, since I'm way, way too lazy to figure out how to get it all to render properly inside the main browser window.)

Background

Back in about 1998 or 1999, a company sponsored a competition at UIUC to see who could program the best Pente algorithm. My friend and I decided to enter. I already was familiar with the game and at least a decent player. We came up with a good AI, but the programming environment for the competition was so ridiculously poor that we never managed to get it implemented for the competition. We were very happy with the strength of our player, though, and decided to continue working on it for some time.

Current Status

It's now the better part of a decade later. I have resurrected the code, been beaten soundly every time so far, and taken some screenshots. The first is the typical board. The second shows the priority map used by PickleMatrix with its best ruleset, dill.pkl.

Human Loses

Here you can see quite a lot going on. The puny human, playing as white, has somehow managed to capture eight of PickleMatrix's stones! The red dot indicates that PickleMatrix knows if it moves there, it will lose immediately, as white will win by capturing the stones there. The orange dot is only a slightly less poor move, as it still leads to an immediate loss. However, it also attacks two pairs of white stones, which would be great without the whole losing thing. The dark- to bright-blue dots are moves that are favorable. The cyan and green dots indicate moves that must be made to avoid a loss in two turns.

Priority Map

Tags: