Posts

Showing posts with the label chess

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

More Komodo2 for Android

Another tournament between the top engines on a Nexus One, 32MB hash, one-second per move.                      1           2           3                                    1 Stockfish 2.0      ***         48.5 - 51.5 59.0 - 41.0 107.5/200 2 RobboLito 0.085e4l 51.5 - 48.5 **          50.0 - 50.0 101.5/200 3 Komodo32 2.01 AB   41.0 - 59.0 50.0 - 50.0 **           91.0/200

Top Android UCI Engine Tournament

After this previous tournament , I conducted a tournament between various versions of the top engines under the same settings with more games. The results are shown below. Congrats to the stockfish team for winning this tournament!                            1 Stockfish 2.0           323.5/500 2 Stockfish 2.1           316.5/500 3 RobboLito 0.085e4l      250.5/500 4 RobboLito 0.085g3l      240.0/500 5 IvanHoe-Beta v999947c   196.5/500 6 Komodo32 1.3 JA         173.0/500

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

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

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%