Posts

Android UCI Engine Test Tournament

I am generalizing the engine match feature in Chess for Android  into an engine tournament feature, where several engines can be invited at once, after which the GUI plays matches between all engine pairs. To test this new feature, I ran a tournament between a few of the Android UCI engines recently released on Jim Ablett's Chess Projects Website , as well as the built-in Java engine (using the fast-move setting, 32MB hash, and Nalimov, Gaviota, Scorpio, Robbobases endgame tablebases on SD card). Below the results are given in cross-table format.                   1          2          3          4          5          6  1 Stockfish 2.1.1 ********** 11110½11½1 111½111111 1111111111 1111111111 1111111111   47.5/50 2 Komodo32 1.3    00001½00½0 ********** 1111111111 1111111111 1111111111 1111111111   42.0/50 3 Rotor 0.4       000½000000 0000000000 ********** 1111011111 1111111111 1111111111   29.5/50 4 Diablo 0.5.1    0000000000 0000000000 0000100000 ********** 1111111111 1

Android Releases at Google

Image
Google celebrates each new Android release with another statue on our campus. Below some pictures I took today. Can you spot cupcake, donut, eclair, froyo, gingerbread, and honeycomb (and a Nexus One)?

Komodo for Android

Image
Don Dailey and Larry Kaufman released their chess engine  Komodo 1.3  for Android, kindly compiled by Jim Ablett and made available at his excellent Jim Ablett's Chess Projects Website (where you can find many more engines). Below you see some screenshots importing the UCI engine into Chess for Android . The engine is strong. The following cross-table shows the results of a few one-second-per-move matches with other engines on a Nexus S (1GHz Hummingbird) with 32MB hash and Nalimov/Gaviota/Scorpio/Robbobases endgame tablebases on SD card. Komodo 1.3 - RobboLito 0.085e4l     2.5 - 7.5  +2/-7/=1  25.00%            - IvanHoe-Beta v999947c  3.0 - 7.0  +2/-6/=2  30.00%            - Stockfish 2.0          4.0 - 6.0  +2/-4/=4  40.00%            - RobboLito 0.085g3l     5.0 - 5.0  +4/-4/=2  50.00%            - Toga II 1.4.1SE        7.0 - 3.0  +6/-2/=2  70.00%            - Rotor 0.6a             9.5 - 0.5  +9/-0/=1  95.00%            - BikJump v2.1P         10.0 - 0.0 +10/-0/=0 100.0

RobboBases in Chess for Android

Image
Chess of Android supports setting up Nalimov, Gaviota, and Scorpio endgame tablebases on the SD card, but Robbobases were missing. Therefore, I added support for RobboTotalBases as well. I tested the setup with the UCI engine IvanHoe 999947c (modified slightly to relax file permissions when reading) and the /3 and /4 piece directories on the SD card. The engine reports info string 66 RobboTotalBases registered with 2499 indici 0mb and plays simple endgames flawlessly afterwards. The setup will be in the next release of Chess for Android.

GreKo Chess Engine

Image
I compiled Vladimir Medvedev's UCI engine GreKo for Android (ARM) for use in  Chess for Android  and put the binary on UCI engines for Android (with kind permission of Vladimir). Below a screenshot and the results of a few quick matches with other engines on a Nexus S (1GHz Hummingbird) with 32MB hash and Nalimov/Gaviota/Scorpio endgame tablebases on SD card. Greko 8.0 - RobboLito 0.085e4l     0.0 - 10.0  +0/-10/=0   0.00% Greko 8.0 - IvanHoe-Beta v999947c  0.5 - 9.5   +0/-9/=1    5.00% Greko 8.0 - Stockfish 2.0          1.0 - 9.0   +1/-9/=0   10.00% Greko 8.0 - Rotor 0.6a             3.0 - 7.0   +2/-6/=2   30.00% Greko 8.0 - Gaviota v0.80.0.107    5.5 - 4.5   +4/-3/=3   55.00% Greko 8.0 - GNU Chess 5.07.153.3b  6.0 - 4.0   +6/-4/=0   60.00% Greko 8.0 - RedQueen 0.9.5         6.5 - 3.5   +5/-2/=3   65.00% Greko 8.0 - BikJump v2.1P         10.0 - 0.0   +10/-0/=0 100.00% Greko 8.0 - ZCT-0.3.2500          10.0 - 0.0   +10/-0/=0 100.00%

Android UCI Engines with Parallel Search

Image
Multi-core Android devices are becoming more widespread. Therefore, v2.8.2. of Chess for Android, available from the Android Market or as direct download , adds support for setting up UCI engines with parallel search. Unfortunately, the UCI protocol did not standardize the option name for parallel search (despite some efforts ) so the GUI simply looks in the UCI engine output for commonly used option names like "Cores", "Processors", "Threads", and "CPUs". The GUI then presents this choice in the option setup window (always labeled as CPUs), and eventually sends any selected value back to the engine using the recognized option name. Please let me know if you would like to see alternative option names for other UCI engines on Android with parallel search. As for all other options, only option values supported by the engine can be selected in the setup window. Below a screenshot of the new UCI option setup window.

6502 Microcomputer

Image
It is nice to hear that others sometimes find my toy projects useful. As I reported in an earlier blog entry , a while back I implemented a 6510 cross-assembler to relive the good old times of programming a Commodore 64. Today I got an email from Antonino Brisindi who is using this assembler to burn an EPROM for his home-made 6502-based microcomputer. Below you see a picture of his impressive project in progress.

Nook Color

Image
Marc F. Ferguson is writing about experiences with rooting the Nook Color on his blog FergyTech and he kindly emailed me the following pictures of Chess for Android running on the Nook Color. It is cool to see so many new devices running Android. Thanks Marc!

RedQueen Chess Engine

Image
I compiled Ben-Hur Carlos Langoni's UCI engine RedQueen for Android (ARM), and put the binary on UCI engines for Android . Below screenshots and results of a few quick matches against other engines on a Nexus One (1GHz Snapdragon) with 32MB hash and Nalimov/Gaviota/Scorpio endgame tablebases on SD card. RedQueen 0.9.5 - Stockfish 2.0          0.0 - 10.0 +0/-10/=0    0.00% RedQueen 0.9.5 - Toga II 1.4.1SE        0.0 - 10.0 +0/-10/=0    0.00% RedQueen 0.9.5 - IvanHoe-Beta v999947c  0.0 - 10.0 +0/-10/=0    0.00% RedQueen 0.9.5 - Rotor 0.6a             3.0 - 7.0  +3/-7/=0    30.00% RedQueen 0.9.5 - GNU Chess 5.07.170.7b  3.0 - 7.0  +1/-5/=4    30.00% RedQueen 0.9.5 - gaviota v0.80.0.107    3.5 - 6.5  +3/-6/=1    35.00% RedQueen 0.9.5 - BikJump v2.1P          8.0 - 2.0  +8/-2/=0    80.00% RedQueen 0.9.5 - ZCT-0.3.2500           8.5 - 1.5  +8/-1/=1    85.00%

Chess for Android 2.8

Image
I just released version 2.8 of Chess for Android, available from the Android Market or as direct download . New features include: full PGN support (clipboard import/export, file load/save) improved layout for xlarge screen sizes (api 9 and up) bug fix in draw detection after FEN import To load a game from a file in PGN format, long press the notation window, select "Load Game from SD", and navigate to the file. This opens another window with the actual games in that file. Then select the desired game. Very large PGN files may take a while to download (or even run out of memory), but the idea is that future versions will be able to navigate quickly between successive games. I have tried to make the PGN parser reasonably robust (it accepts sloppy SAN for instance), but certain non-standard constructs are rejected. Please let me know if you encounter bugs though.