Posts

Showing posts with the label UCI

Arasan for Android

Image
Jim Ablett kindly compiled Jon Dart's Arasan engine for ARM-based Android devices so that it can be imported in Chess for Android . The engine supports multithreading, Nalimov endgame tablebases, and clocked at about 100Kns out of the opening on my Nexus S.  

Jim Ablett's Android Chess Engine Bundle Tested

As posted earlier, Jim Ablett posted an Android Chess Engine Bundle , which various UCI and Win/XBoard engines that can be imported in Chess for Android . Because the Win/XBoard protocol feature is still relatively new in Chess for Android and conducted a test tournament between all the XBoard engines (except gfc-08-rev5-ja which often claims a mate without actually making the move; I am not sure if the standard allows this, but it seems weird that the GUI should verify the claim). During this tournament I found a few opportunities for improving the GUI's handling of the protocol, which will be released soon. Also, the next release will add the much requested pondering feature (also called permanent brain ). Games available on request.                           1  olithink-530-ja          34.5/38 2  crafty-234-ja            32.0/38 3  phalanx-xxii-ja          29.5/38 4  chess-one-201-ja         29.0/38 5  gullydeckel-215-pl10-ja  25.5/38 6  sloppy-023-ja            25.5

Android Engines Tournament: Group B

Image
Group B has finished a complete thirty seconds-per-move tournament in Chess for Android , played from both sides of all positions in the Nunn opening suite under the conditions described earlier. Regrettably I found that Crafty was put at a slight disadvantage (not something that would have changed the outcome though) due to a misinterpretation of XBoard's resign plus move command, causing a resign by illegal move in the next game. This issue has been fixed now. Congratulations to IvanHoe for its promotion to Group A. All games can be downloaded from the tournament page . The games of the final group A have started!                        1        2        3         4        5                     1 IvanHoe-Beta 999947c    *     15.0-5.0 17.0-3.0  19.0-1.0 19.0-1.0 70.0/80 2 scorpio              5.0-15.0     *     7.5-12.5 17.5-2.5 14.5-5.5 44.5/80  3 Toga II 1.4.1SE      3.0-17.0 12.5-7.5     *     12.0-8.0 13.0-7.0 40.5/80  4 crafty               1.0-19.0  2.5-17.5 8

Jim Ablett's Android Chess Engine Bundle

Jim Ablett very kindly posted an Android Chess Engine Bundle with various UCI and XBoard engines that can be imported in Chess for Android . UCI: daydreamer-175-ja  greko-82-ja    redqueen-098-ja  stockfish-211-ja diablo-051b-ja     jazz-501-ja    rotor-04-ja      sungorus-14-ja doublecheck-21-ja  komodo-13-ja   simplex-098-ja garbochess-3-ja    pepito-159-ja  sissa-20-ja XBOARD: uzz-os-11-27-08          kmtchess-121-ja   scidlet-361-b2-ja chess-one-201-ja         knightcap-36-ja   sjeng-112-ja crafty-234-ja            mizar-030-ja      sloppy-023-ja exchess-054-beta-ja      mskcp-145-ja      surprise-43-beta13-ja gfc-08-rev5-ja           natwarlal-014-ja  toledo-nanochess-2010-ja gk-090-ja                olithink-530-ja   zzzzzz-351-ja gullydeckel-215-pl10-ja  phalanx-xxii-ja

Android Engines Tournament: Group C

Image
Group C has just finished a complete thirty seconds-per-move tournament in Chess for Android , played from both sides of all positions in the Nunn opening suite under the conditions described earlier. Congratulations to Gary Linscott for GarboChess' promotion to Group B. All games can be downloaded from the tournament page .                            1        2         3         4        5                     1 GarboChess3                 *     10.5-9.5   9.5-10.5 15.0-5.0 16.0-4.0  51.0/80 2 Daydreamer 1.75 JA        9.5-10.5    *     12.0-8.0  14.5-5.5 13.0-7.0  49.0/80 3 GNU Chess 5.07.153.3b-32 10.5-9.5  8.0-12.0     *     11.0-9.0 16.0-4.0  45.5/80 4 Pepito v1.59              5.0-15.0 5.5-14.5  9.0-11.0     *     9.0-11.0 28.5/80 5 Rotor 0.6a                4.0-16.0 7.0-13.0  4.0-16.0 11.0-9.0     *     26.0/80

Android Engines Tournament: Group D

After many more cycles on my Nexus One, Group D has just finished a complete thirty seconds-per-move tournament in Chess for Android , played from both sides of all positions in the Nunn opening suite under the conditions described earlier. Quite a shuffle-up in the results this time compared to the qualification tournament. Congratulations to Aaron Becker for Daydreamer's promotion to Group C. All games can be downloaded from the tournament page .                       1        2         3         4        5 1 Daydreamer 1.75 JA     *     12.0-8.0  11.0-9.0  14.5-5.5 16.0-4.0  53.5/80 2 sloppy              8.0-12.0     *     14.0-6.0  10.5-9.5 16.0-4.0  48.5/80 3 RedQueen 0.9.8 JA   9.0-11.0  6.0-14.0     *     11.5-8.5 14.0-6.0  40.5/80 4 gaviota v0.84       5.5-14.5  9.5-10.5  8.5-11.5     *    15.0-5.0  38.5/80 5 Diablo 0.5.1b JA    4.0-16.0  4.0-16.0  6.0-14.0  5.0-15.0    *     19.0/80

Android Engines Tournament: Group E

After burning cycles on my Nexus One for many days, Group E has just finished a complete thirty seconds-per-move tournament,  played from both sides of all positions in the Nunn opening suite under the conditions described earlier. Congratulations to Ben-Hur Carlos Vieira Langoni Jr for RedQueen's promotion to Group D. All games can be downloaded from the tournament page .                     1         2         3         4         5                     1 RedQueen 0.9.8 JA     *     10.0-10.0 14.5-5.5  17.0-3.0  19.5-0.5  61.0/80 2 greko8.2          10.0-10.0     *     14.5-5.5  16.0-4.0  18.5-1.5  59.0/80 3 Sungorus 1.4 JA    5.5-14.5  5.5-14.5     *     13.0-7.0  16.0-4.0  40.0/80 4 Jazz v5.01 JA      3.0-17.0  4.0-16.0  7.0-13.0      *    14.5-5.5  28.5/80 5 DoubleCheck 1.3    0.5-19.5  1.5-18.5  4.0-16.0  5.5-14.5     *     11.5/80

Android Engines Tournament: Group F

Group F has just finished a complete thirty seconds-per-move tournament, played from both sides of all positions in the Nunn opening suite under the conditions described earlier. Congratulations to Evert Glebbeek for Jazz 's promotion to Group E! All games can be downloaded from the tournament page .                 1        2         3         4         5  1 Jazz v5.01 JA    *     15.5-4.5  18.0-2.0  18.5-1.5  19.5-0.5 71.5/80 2 ZCT-0.3.2500  4.5-15.5     *     13.5-6.5  17.0-3.0  16.0-4.0 51.0/80 3 BikJump v2.1  2.0-18.0  6.5-13.5     *     12.5-7.5  12.0-8.0 33.0/80 4 tscp181       1.5-18.5  3.0-17.0  7.5-12.5     *     12.5-7.5 24.5/80 5 umax48w       0.5-19.5  4.0-16.0  8.0-12.0  7.5-12.5     *    20.0/80

Qualification Tournament Completed

I completed a qualification tournament from both sides of the first Nunn position at one-second per move on a Nexus One (1GHz Snapdragon). Where applicable, UCI engines were given an 8MB hash table and 1MB endgame tablebases cache (the complete 3- and 4-piece Nalimov, Gaviota, Scorpio, and Robbobases endgame tablebases reside on SD card). XBoard engines play at their default settings. Since the Nexus One is a single-core device, "pondering" was disabled The qualification results are used to split the engines into separate groups. Engines in each group will play each other at longer time controls, starting with the lowest group. The number one in each group will promote to the next group. The cross-table and all games can be downloaded from the tournament page .

More Engines

I made various improvements in the WinBoard/XBoard implemention in Chess for Android and are now able to successfully import and play with the following XBoard engines (I also tested the corrected UCI sungorus engine). Crafty 23.4                  Robert Hyatt scorpio 2.7                  Daniel Shawul sloppy 0.22                  Ilari Pihlajisto tscp1.81                     Tom Kerrigan sungoros-14-ja               Pablo Vazquez Below, I posted the cross-table of a quick test tournament from both sides of just the  first  position of the Nunn opening suite .                      1  2  3  4  5  6   1 scorpio            ** 01 11 11 11 11   9.0/10 2 crafty             10 ** ½1 1½ 11 11   8.0/10 3 sloppy             00 ½0 ** ½1 11 11   6.0/10 4 Sungorus 1.4 JA    00 0½ ½0 ** 11 11   5.0/10 5 tscp181            00 00 00 00 ** 11   2.0/10 6 Chess for Android  00 00 00 00 00 **   0.0/10

Tournament preparations

I ran tournaments between different versions of the same engine to determine which one would be their representative. Below I show the results of a fast round-robin tournaments using Chess for Android on a Nexus One, Nexus S, and Galaxy Tab with, where applicable, 8MB hash table and 1MB tablebases cache (Nalimov, Gaviota, Scorpio, and Robbobases reside on SD card). Each version played each other version from both sides of the Nunn opening suite . The number one engine will play in the longer time control tournament ( which is not always the latest  version; engine authors let me know if you prefer otherwise since some results were pretty close ). Also, Pablo Vazquez and Jim Ablett kindly worked together to fix the issue in the sungorus . It now runs correctly and will participate in the tournament. 1   BikJump v2.1P       10.5/20 2   BikJump v1.8         9.5/20 1   Diablo 0.5.1b JA    17.5/20 2   Diablo 0.5.1         2.5/20                   1   DoubleCheck 1.3     13.5/20 2

Android tournament with longer time controls

The list of UCI and XBoard engines for Android is getting longer, and I am pondering about a more serious tournament at longer time controls in Chess for Android . As a first step, I tested all available Android binaries. The list is shown below. An "X" indicates that the engine has trouble running in Chess for Android (if you are the engine author and are interested in fixing this, please contact me for details). Next, I probably do a few quick tournaments to divide the engine in groups by strength, followed by tournaments at longer time control. Please feel free to contact me if you are interested in participating, if you don't know how to compile your engine for Android (ARM), or if you have good ideas about the format of this tournament. I am not really an experienced tournament manager, but merely do this for fun to get an idea of the relative strength of these engines. apilchess-106-ja           X    U. Lorenz, C. Donninger  bikjump1.8                      Aar

Chess for Android 3.0.1: XBoard/WinBoard

Version 3.0.1 of Chess for Android is available at the Android market and as direct download . It introduces the first, albeit simple support for the Chess Engine Communication Protocol (XBoard/WinBoard). Many features that are already supported for UCI (e.g. options setup, infinite analysis) as well as some XBoard specific features (e.g. resign) are still missing for this first version. I hope to add these features soon. Nevertheless, it is already possible to run tournaments between engines.

First inter-protocol tournament on Android!

Chess for Android now contains sufficient functionality to perform the first inter-protocol tournament between the built-in Java engine, the UCI engine BikJump, and the WinBoard / XBoard engine Fairy-Max. Ten random opening book games between these engines at one second per move on a Nexus S ran without problems to completion with the following results.                     1          2          3           1 BikJump v2.1P     ********** 111½111111 1111111101 18.5/20 2 Fairymax 4.8Q     000½000000 ********** 1½10½11½01  7.0/20 3 Chess for Android 0000000010 0½01½00½10 **********  4.5/20

Chess Engine Communication Protocol

Image
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.

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

Chess for Android 3.0

Image
Chess for Android v3.0 is available from the Android market or as direct download . New features include: The possibility to play engine tournaments from both sides of any external book in PGN format, as explained in this blog posting . Layout and formatting improvements in the UCI analysis output window. Light grey board color. Relaxed FEN parsing to accept non-standard, but frequently occurring omissions in the FEN string. Ability to view simple cross-table while tournament is in progress (>> button).

Komodo 3 for Android

Don Dailey and Larry Kaufman's Komodo version 3 is now available for Android (ARMv5TE) at UCI engines for Android . A quick one second per move tournament ended in favor of the previous version 2.03 (possibly because Don fixed the movetime command to honor the given time exactly; previous versions would sometimes use more time, which may have skewed estimates of their strength a bit). 1   Komodo32 2.03 AB  +50/-18/=32 66.00%   66.0/100 2   Komodo32 3 AB     +18/-50/=32 34.00%   34.0/100

DoubleCheck 1.1 Results

Lucas added the  movetime command to DoubleCheck (the stop command is still lacking) which enabled conducting a few quick 1-second per move matches to determine the strength of the engine. DoubleCheck 1.1 - Komodo32 2.03 AB  +0/-10/=0  0.00% - GreKo 8.0         +0/-10/=0  0.00% - gaviota v0.83.0.3 +0/-9/=1   5.00% - RedQueen 0.9.8    +0/-9/=1   5.00% - Jazz v444 JA      +1/-7/=2  20.00% - BikJump v2.1P     +2/-4/=4  40.00% - ZCT-0.3.2500      +4/-5/=1  45.00% - Chess for Android +6/-0/=4  80.00%

DoubleCheck 1.1 for Android

Image
I compiled Lucas Braesch's DoubleCheck 1.1 for Android (ARM) and put it on the UCI Engines for Android website . The engine works reasonably well in Chess for Android. However, because the UCI command movetime is not implemented yet, it plays almost instantaneously, making matches to determine its strength less useful at the moment.