Posts

Showing posts with the label chess

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

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

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

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 5.07.170.7b-libgtb-32 47.5-52.5     *     55.5-44.5  103.0/200 3 5.07.153.3b-32        43.0-57.0 44.5-55.5     *       87.5/200

Rebel ELO Test Corrections and Results

Image
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

Max Euwe Suite Corrections

Image
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

Beat the Masters

Image
As a fun way to test the new opening suite feature , I conducted a fast match between the very strong Komodo 3.0 chess engine and the built-in Java engine of Chess for Android using the " beat the masters suite " (a version with 251 test positions). Komodo is clearly much too strong for my own humble engine and the suite was meant to test the quality of moves found by chess engines, not as an opening suite. Nevertheless, since some positions give one side a very strong advantage, it seemed like a fun way to test the new opening suite feature. The outcome was as expected: Komodo won most games and only a few draws occurred. However, Chess for Android had one victory. 1 Komodo32 3 AB    +491/  -1/=10 98.80%  496.0/502 2 Chess for Android  +1/-491/=10  1.20%    6.0/502 In the position below, with black to move and only half a second thinking time per move, Komodo played 1... Rxe2, which yields a lost position (black should have played 1...hxg6). Chess for Android did not

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

Chess for Android 2.9.4

Image
I just released version 2.9.4 for Chess for Android, available from the Android market or as direct download . This version introduces the much requested "infinite analysis" mode for an imported UCI engine, in which the engine reports its analysis of positions without actually making moves. To enable this mode, change the level to free play, as shown in the following screenshots. If an UCI engine is imported, its analysis of the current position will appear below the board. The user can freely play through previous games or make new moves. When at the end of a game still in progress, pressing the ">" button will play the best move found by the UCI engine. Changing the level, or unloading the UCI engine will exit the "infinite analysis" mode. Although the feature may seem simple, it was actually far from straightforward to implement, also because not all UCI engines behave the same for the "go infinite" command. Please let me know if yo

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.

GarboChess 3 for Andoid

Image
Jim Ablett kindly ported Gary Linscott's engine GarboChess 3 to various platforms, including Android. I also made a dynamically linked binary available at the UCI engines for Android website . As can be seen in the screenshot below, the UCI engines does not provide many options, but it plays strong. Below the results of several quick matches on a Nexus S using 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. GarboChess3  - Stockfish 2.1         +0/-10/=0    0.00%  - Komodo32 2.03 AB      +0/-10/=0    0.00%  - IvanHoe-Beta v999947c +0/-10/=0    0.00%  - Pepito v1.59          +3/-4/=3    45.00%  - GarboChess3 JA        +2/-3/=5    45.00%  - GNU Chess 5.07.170.7b +7/-3/=0    70.00%  - Gaviota v0.83.0.3     +7/-3/=0    70.00%  - Rotor 0.6a            +6/-2/=2    70.00%  - RedQueen 0.9.8        +9/-1/=0    90.00%  - BikJump v2.1P         +9/-0/=1    95.00%

New Top Android Engine Tournament

To test recently released versions of Android engines, I conducted a new tournament between the top UCI engines on a Nexus One using a random book opening play, one second-per-move, 32MB hash, and 8MB tablebases cache with the 3- and 4-piece Robbobases endgames on SD card. Congrats again to the Stockfish team!                        1         2         3         4         5 1 Stockfish 2.1            *     54.0-46.0 60.5-39.5 64.5-35.5 65.5-34.5 244.5/400 2 Komodo32 2.03 AB     46.0-54.0     *     46.5-53.5 52.5-47.5 66.0-34.0 211.0/400 3 Critter 1.2 32-bit   39.5-60.5 53.5-46.5     *     51.5-48.5 58.0-42.0 202.5/400 4 RobboLito 0.085e4l   35.5-64.5 47.5-52.5 48.5-51.5     *     62.0-38.0 193.5/400 5 IvanHoe-Beta 999947c 34.5-65.5 34.0-66.0 42.0-58.0 38.0-62.0     *     148.5/400

Critter 1.2 for Android

Image
Richard Vida released Critter 1.2 for various platforms, including ARM-based Android devices. Below you can see some screenshots of this UCI engine running in Chess for Android . To get a rough idea of the strength of this new engine, I conducted a few quick matches with other engines on a Nexus One using a 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. More games upcoming. Critter 1.2  - RobboLito 0.085e4l     3.5 - 6.5  +2/-5/=3   35.00%  - Komodo32 2.03 AB       5.0 - 5.0  +4/-4/=2   50.00%  - Stockfish 2.1          6.0 - 4.0  +4/-2/=4   60.00%  - GNU Chess 5.07.170.7b  7.0 - 3.0  +7/-3/=0   70.00%  - Gaviota v0.83          8.0 - 2.0  +7/-1/=2   80.00%  - Rotor 0.6a             9.5 - 0.5  +9/-0/=1   95.00%  - Toga II 1.4.1SE        9.5 - 0.5  +9/-0/=1   95.00%  - RedQueen 0.9.8        10.0 - 0.0 +10/-0/=0  100.00%  - BikJump v2.1P         10.0 - 0.0 +10/-0/

Komodo 2.03 available

Image
The new Komodo has been heavily tested by many chess fans, and Larry and Don had to make a few bug fixes. You can find an Android binary of the latest version 2.03 at the usual place . Quick tournament on a Nexus S: 1   Komodo32 2.03 AB  +34/-23/=43 55.50%   55.5/100 2   Komodo32 2.01 AB  +23/-34/=43 44.50%   44.5/100