Friday, January 22, 2010

Nakshatra crosses 2200 briefly

Yesterday, v0.2 crossed 2200 briefly. It achieved a best of 2216 before it started plummeting down, thanks to many humans who managed to drag it into end games where it is known to perform poorly. At the moment, it is at 2120.

Wednesday, January 20, 2010

Nakshatra rating on FICS

www.ficsgames.com tracks the games played on FICS. Currently Nakshatra is doing quite well. The below image depicts rating variation over the last 1000 games played by Nakshatra. More stats can be seen here.



The latest rise above 2100 level is a milestone achieved by my latest v0.2 which contained a lot of performance improvements over previous versions. There are a lot more improvements to be done. Some very popular methods such as end game table bases, a big opening book, etc can easily push the rating above 2300 I believe.

How it began

I play Chess as well as a variant game called Antichess on the Free Internet Chess Server (FICS) quite frequently. Along with humans, there are quite a few engines which play on FICS. Ever since I started playing there in 2006, I was amused by these engines and sometimes fantasized of pitching my own against these other engines as well as human players. But I never got around to working on one for a very long time...

In May 2009, things changed. I do not know what exactly initiated me but it could have just been a way to kill boredom. I started reading some stuff on the web and one fine day decided to begin coding my own Antichess engine from scratch. In particular, I chose Antichess because I loved this variant and also it seemed there were too many normal Chess playing engines out there. The initial development took quite some time as I worked on it during weekends very sparsely over the next few months. Finally in September/October, the last remaining nuts and bolts were fixed into place and a very basic program that could barely play by the rules of the game emerged.

For the next month or so, I had to push myself harder to get it to play some decent antichess, something that could beat me often enough. This required addition of many optimization techniques, refinement of existing algos and of course, tonnes of bug fixes. Subsequently, I named my engine Nakshatra (meaning Star in Sanskrit). Around same time, I started working on extending the engine to play even Chess. But more importantly, I hooked Nakshatra v0.0 to FICS and got it playing against other engines and humans! Though I expected the engine's rating to go up to 1900, to my surprise it even surpassed 2000 after few days of play and drifted in the range of 1900-2050.

Now, after two major improvements, Nakshatra v0.2 has attained a top rating of 2140 and playing much stronger than ever before. In this blog, I will be posting about Nakshatra's progress as well as things I have learned over the past few months in relation to Chess, Chess engines, Chess programming and much more. Keep watching this space for some fun stuff.