Posts

Chess for Android 2.9

I just released version 2.9 of Chess for Android, available from the Android market or as direct download . New features include: + built-in engine improvements (thanks to Attila for reporting) + various UCI improvements        engine tournament feature (with resume option)        option settings saved per engine        more flexible uninstall or clear options window        added robbobases support

Android UCI Engine Tournament

I conducted a full tournament between 17 currently available UCI engines for Android as well as the simple built-in Java engine. The tournament consisted of pair-wise matches between all engines for 10 games with random book opening play, one second-per-move, 32MB hash, and 8MB tablebases cache with the 3- and 4-piece Nalimov, Gaviota, Scorpio, Robbobases endgames on SD card. The 1530 games lasted about two days running full time on a Nexus One phone (without a single crash!). The results are shown below. 1  Stockfish 2.0                   157.5/170 2  RobboLito 0.085g3l              152.5/170 3  IvanHoe-Beta version 999947c    145.0/170 4  Komodo32 1.3 JA                 137.0/170 5  Toga II 1.4.1SE                 130.5/170 6  Pepito v1.59                    104.0/170 7  Daydreamer 1.75 JA              100.5/170 8  Rotor 0.6a                       98.0/170 9  gaviota v0.80.0.107              87.5/170 4647.75 10 GNU Chess 5.07.170.7b            87.5/170 4455.25 11 RedQuee

More Android Test Tournaments

A test tournament between different versions of Miguel Ballicora's Gaviota and Michel Van den Bergh's GNU chess.                          1          2          3          4          5           1 GNU Chess 5.07.170.7b ********** 000½10011½ 11½1110110 1100½01001 0111101111 24.0/40 2 gaviota v0.80.0.107   111½01100½ ********** ½010110100 0100½11110 ½101000011 20.5/40 3 GNU Chess 5.07.153.3b 00½0001001 ½101001011 ********** 0101010½01 0111111½10 20.0/40 4 gaviota v0.82-beta2   0011½10110 1011½00001 1010101½10 ********** 00110001½0 19.0/40 5 gaviota v0.83         1000010000 ½010111100 1000000½01 11001110½1 ********** 16.5/40 And another test tournament between different versions of Jan Brouwer's Rotor and Ben-Hur Carlos Vieira Langoni Jr.'s RedQueen.                     1          2          3          4          5           1 Rotor 0.6a        ********** ½111111011 1011111101 111½111111 11½1111111 35.5/40 2 RedQueen 0.9.8    ½000000100 ********** 1½01½½010½ 11½

Android StockFish Tournament

Another test tournament between different Android Stockfish versions and compilations (from Jim Ablett and myself ).            1          2          3          4          5          6           1 2.0      ********** 01½11½01½0 0½1½0100½½ 010½½½½½½1 ½1011½½½½1 ½11001½½11 27.5/50 2 2.1 JA   10½00½10½1 ********** 1½½1½1½100 ½½11½00111 1½011½½010 1½00001½1½ 27.0/50 3 2.1.1 JA 1½0½1011½½ 0½½0½0½011 ********** ½½½1½10½½½ 0½0010½½½½ ½½1½101½½1 25.5/50 4 1.9      101½½½½½½0 ½½00½11000 ½½½0½01½½½ ********** 100½1½0½1½ 1½10½0111½ 24.5/50 5 2.1      ½0100½½½½0 0½100½½101 1½1101½½½½ 011½0½1½0½ ********** ½½010½0101 24.0/50 6 1.8      ½00110½½00 0½11110½0½ ½½0½010½½0 0½01½1000½ ½½101½1010 ********** 21.5/50

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.