Thursday, September 29, 2011

Chess Engine Communication Protocol

I am exploring extending Chess for Android with some rudimentary support for the Chess Engine Communication Protocol (often simply called the XBoard or WinBoard protocol), which will enable importing not just UCI but also XBoard/WinBoard engines.

A very first prototype is functioning. I made an Android binary of the engine FairyMax (written by H.G. Muller, who was also very helpful providing more background), and imported this in Chess for Android. Some screenshots are shown below.

I still have to deal with a lot of details, but it will be fun to support both protocols, and even run tournaments between UCI and XBoard/WinBoard engines.

Tuesday, September 27, 2011

Gaviota v0.84

Miguel A. Ballicora released Gaviota v0.84. I tested the Android version against an earlier release with a quick one-second-per-move tournament on a Nexus S, setting the hash size to 32MB and using the Silver Opening Suite and some Gaviota tablebases on SD (the latest release fixes an issue with tablebase setup on Android). Below are the results. The new version seems much stronger!

1   gaviota v0.84  +66/-17/=17 74.50%   74.5/100
2   gaviota v0.83  +17/-66/=17 25.50%   25.5/100

Wednesday, September 21, 2011

GNU Chess

Michel van den Bergh posted a new release of GNU Chess (5 branch). To test the Android binary, I ran a one-second-per-move, 32MB hash tournament on a Nexus S, using the Silver Opening Suite, with Gaviota tablebases on SD. Below are the results. Although the latest release was mainly for FRC support, it also seems slightly stronger.

GNU Chess               1         2         3 
1 5.07.173b-libgtb-32       *     52.5-47.5 57.0-43.0  109.5/200
2 47.5-52.5     *     55.5-44.5  103.0/200
3        43.0-57.0 44.5-55.5     *       87.5/200

Sunday, September 11, 2011

Remembering 9/11

We just came back from a visit to New York, where we visited ground zero. So tragic to remember what happened there ten years ago, but encouraging to see that America is rebuilding.

Saturday, September 3, 2011

Rebel ELO Test Corrections and Results

Running tournaments on diverse test suites gave me more confidence in the correctness of my FEN and PGN parser. This time Chess for Android found bugs in the "Rebel ELO Test". Positions ELO 30, 121, 170 do not set the castling rights for either black or white properly, even though castling is the first given move (that is, the move the engine is supposed to find when used as a tactical test suite; when used as an opening suite, this move is obviously played right away).

The results of (mis)using the corrected test suite as an opening suite in a fast match between the built-in Java engine and Stockfish 2.1 on a Nexus One is shown below.                   

1 Stockfish 2.1    +421/  -4/=27 96.13%  434.5/452
2 Chess for Android  +4/-421/=27  3.87%   17.5/452

Here is one of the sparse victories of Chess for Android playing white from a very advantageous position. Nevertheless, I am happy that it found the right continuation as 1. Qc8+ (given in the suite) Kg7 2. Qf8+ Kg6 3. Qf7+ Kh6 4. Rf6+ Qxf6 5. Qxf6+ yielding a position that even the much weaker engine could win.

Thursday, September 1, 2011

Max Euwe Suite Corrections

I ran various tournaments using the "Max Euwe suite", from the hand of the famous grandmaster who inspired many Dutch aspirant chess players, including myself. During the first tournament, Chess for Android detected bugs in positions 146 and 148, where the castling rights are not set properly for white, even though white actually castles in the first given move (that is, the move the engine is supposed to find when used as a tactical test suite).

For example, in position 146, the embedded FEN string in the PGN file:

r1b1kb1r/p3q1pp/2pp1p2/4n3/3N4/8/PPP1BPPP/R1BQK2R w kq - 0 1

should really be:

r1b1kb1r/p3q1pp/2pp1p2/4n3/3N4/8/PPP1BPPP/R1BQK2R w KQkq - 0 1