POS - An experimental chess program
What is it?It's an experimental chess program (written in Java): not experimental because of the bugs (if any), but because of the algorithms used. Not one based on the shannon-algorithm, but several others. And, the most important one; it is not brute force.
Pos currently (version 1.18) consists of 65 algorithms. Which one is used, is determined via a genetic (evolutionary) algorithm.
'Pos'?Pos is more or less short for Poseidon, the Greek god of horses (and a few other things).
How to run it?
In your webbrowserFollow this link.
In a terminalWhen using the SUN Java 6.0 runtime environment, start it with "java -Xmx384M -jar pos.jar --io-mode console".
Xboard/WinBoardThe program should now fully support xboard/winboard. Start it with commandline "java -Xmx384M -jar pos.jar --io-mode xboard".
UCI compatible boardPos as been verified to run with Arena 1.1 (windows), ChessPartner 5.4 (windows), Shredder classic 3 and Knights 0.6 (UNIX). I had troubles getting it to work with Fritz 10 and Jose 1.4.4.
Start it with: "java -Xmx384M -jar pos.jar --io-mode uci".
Play against it at www.FreeChess.orgPos is playing on freechess.org with accountname 'fjjvh'. Please play lots (rated) games against it!
One can find here a graph with the Elo-rating of POS. Click here for blitz games, click here for standard games.
2007-10-16: Pos played its 50000th match on freechess.org! It started playing Fri Sep 22, 06:32 PDT 2006 so it reached this in 389 days which gives on average 129 games played per day!
2008-02-25: 57616 matches by 1858 different players (on average 31 matches per player) in 522 days (110.4 per day). One specific player played 15141 of them, that is 26.28% (playing on average at 16:27)! Most busiest moments: 2006-11-21 (1184 matches), tuesday (9974 - 17.3%), August (9177 - 15.9%), 21th of the month (2751 - 4.8%), 21:00-21:59 (3808 - 6.6%).
StrengthThe version of 2007-10-21 hoovers around an elo-rating of 450. When it plays against a "random move mover chess engine" it loses 8% of the 525 games (compare this to GNUChess 5.07 loosing none in 580 games). Version 1.18 loses 3% of 100 games played against a random mover.
Since version 0.17, Pos started to win occasionally! In the examples section you'll find a match played against Pulchess v0.2i.
2008-03-25: version 1.18 occasionally wins from GNUChess! (sadly later on I found out that gnuchess was running in dumbed down mode)
DownloadPlease report all bugs/traps/etc. to email@example.com. If possible, include a screendump and/or the logfile (start with '--logfile filename.log').
Mailinglist:An announcement- and discussion mailinglist has been started on which new versions of POS and other things related to chess will be written.
Send an e-mail to firstname.lastname@example.org with in the subject 'subscribe chess' to subscribe.
ExampleAutoplay was used to let the two engines play autonomous against each other (without the need of an X11 (X-windows) environment which is required when using xboard).
All games before 1.16 were played on a Pentium 3 with 896MB of RAM, since 1.16 an Intel Core2Duo E6600 (2.4GHz) with 2GB ram was used. The opponent engine was always started without the bare minimum commandline parameters (e.g. only what is needed to select X-board mode). Pondering was enabled (if available in opponent) as well as random. POS always played with white (to give it that 33% bigger chance of winning).
MiscellaneousI think it was around 1986 when I got intrigued by the game of chess and in particular chess on a computer. One of my best friends in that time (who unfortunately passed away) showed me a chess program on his MSX home-computer. I was amazed. I had such a computer too and one day I brought it with me and we let the two computers play against each other. It took hours (3.5MHz!) and, if memory serves me well, black won. I'm not entirely sure (my memory of that time is a little fuzzy) but I think it was Ultra chess by Aackosoft which got it all started.
Update: the brother of my chess-friend confirmed that it was indeed Ultra chess!
Tournaments in which POS hopefully will participate one day CSVN Open Dutch (old site), I'm planning to participate in their 2009 match
Le Système du Suiss
Tools/documentation used while developing POS: I used this book to learn Java while developing this application.
VIM its syntax highlighting makes quickly navigating through the sources so much easier
lint4j a static Java source and byte code analyzer that detects locking and threading issues, performance and scalability problems, and checks complex contracts such as Java serialization by performing type, data flow, and lock graph analysis
jlint checks Java code and find bugs, inconsistencies and synchronization problems by doing data flow analysis and building the lock graph
ProGuard is a free Java class file shrinker, optimizer, and obfuscator
Autoplay - with autoplay, one can let Pos play automatically without user intervention with an other chess engine which speaks the XBoard/WinBoard protocol
Other Dutch chess engines:
Dutch engines for which I did not find the website
Two other engines I wrote (also very much experimental and not bug-free): bullucks
Other interesting chess programs
Misc. I wrote an article on datamining on the game of chess. You can find it here (mining on games played by famous chess players: Hans Bohm, Gary Kasparov).
The logo was designed by Swampwood.
Wikipedia article on Pos
People playing chess on roller coasters