Friday, October 28, 2011

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

Wednesday, October 26, 2011

Soft6502 and H6X file format

Charles Bond wrote a nifty 6502 simulator, called Soft6502, which I find useful for testing small programs written for the 65xx microprocessor family. The simulator supports the full 6502 instruction set and two 8-bit ports for input and output.

 

Programs can be entered one byte at the time through the keyboard or, more conveniently, loaded from file. The simulator uses the H6X file format, which is a simple, but surprisingly versatile way of representing 6502 code (essentially an ASCII representation of addresses followed by bytes).

I have extended my 65xx cross-assembler (available for Windows, Linux, and MacOS) to support this H6X file format, so that its output can be directly fed into Soft6502.

Monday, October 24, 2011

Chess for Android 3.0.2

I just released version 3.0.2 of Chess for Android, available at the Android market and as direct download. This release enhances XBoard/WinBoard support (infinite analysis, resign feature, older idioms used by various engines).

Saturday, October 22, 2011

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.

Thursday, October 20, 2011

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

Sunday, October 16, 2011

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   DoubleCheck 1.2      6.5/20


1   gaviota v0.84       47.5/80
2   gaviota v0.83.0.3   45.0/80
3   gaviota v0.83       41.0/80
4   gaviota v0.80.0.107 37.5/80
5   gaviota v0.82-beta2 29.0/80


1   GNU Chess 5.07.153.3b 20.5/40
2   GNU Chess 5.07.170.7b 20.0/40
3   GNU Chess 5.07.173b   19.5/40
                                 
1   IvanHoe-Beta v999947c-rob 10.0/20
2   IvanHoe-Beta v999947c     10.0/20
                           
1   Jazz v5.01 JA       14.0/20
2   Jazz v444 JA         6.0/20


1   Komodo32 2AB       60.0/100
2   Komodo32 2.03 AB   59.0/100
3   Komodo32 2.01 AB   58.5/100
4   Komodo32 2.03 JA   58.0/100
5   Komodo32 3 AB      34.5/100
6   Komodo32 1.3 JA    30.0/100
                 
1   RedQueen 0.9.8 JA  24.5/40
2   RedQueen 0.9.8     19.0/40
3   RedQueen 0.9.5     16.5/40
                         
1   RobboLito 0.085g3l 10.5/20
2   RobboLito 0.085e4l  9.5/20
             
1   Rotor 0.6a         16.0/20
2   Rotor 0.4           4.0/20


1   Stockfish 2.1.1 JA 77.0/120
2   Stockfish 2.1      68.5/120
3   Stockfish 2.1 JA   65.5/120
4   Stockfish 1.8      62.0/120
5   Stockfish 2.0      60.0/120
6   Stockfish 1.9      59.0/120
7   Crab 1.0 beta      28.0/120

Saturday, October 15, 2011

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                      Aart J.C. Bik 
bikjump2.1                      Aart J.C. Bik 
cassandre-026-ja           X    Jean-Francois Romang, et al. 
chess for android               Aart J.C. Bik 
critter-12-arm                  Richard Vida 
cyrano-061-b17-ja          X    Harald Johnsen 
daydreamer-075-ja               Aaron Becker 
diablo-051b-ja                  Marcus Prewarski 
diablo-501-ja                   Marcus Prewarski 
dirty-android              X    Andres Valverde 
doublecheck1.1                  Lucas Braesch 
doublecheck1.2                  Lucas Braesch    
doublecheck1.3.1                Lucas Braesch 
fairymax48q                     H.G. Muller 
garbochess3                     Gary Linscott 
garbochess-3-ja                 Gary Linscott 
gaviota0.80                     Miguel A. Ballicora 
gaviota0.82beta                 Miguel A. Ballicora 
gaviota0.83.0.3                 Miguel A. Ballicora 
gaviota-android-v0.83           Miguel A. Ballicora 
gaviota-android-v0.84           Miguel A. Ballicora 
gnuchess-5.07.153.3b            Michel van den Bergh, et al. 
gnuchess-5.07.170b.5b           Michel van den Bergh, et al. 
gnuchess-5.07.173b-android      Michel van den Bergh, et al. 
greko8.0                        Vladimir Medvedev 
IvanHoe-999947c                 Yakov Petrovich Golyadkin, et al. 
IvanHoe-999947c-robbo           Yakov Petrovich Golyadkin, et al. 
jazz-444-ja                     Evert Glebbeek 
jazz-uci-501-ja                 Evert Glebbeek 
komodo-13-ja                    Don Dailey, Larry Kaufman 
komodo201-ab                    Don Dailey, Larry Kaufman 
komodo203-ab                    Don Dailey, Larry Kaufman 
komodo-203-ja                   Don Dailey, Larry Kaufman 
komodo2-ab                      Don Dailey, Larry Kaufman 
komodo3-ab                      Don Dailey, Larry Kaufman 
pepito-159-ja                   Carlos del Cacho 
redqueen095                     Ben-Hur Carlos Vieira Langoni Jr. 
redqueen098                     Ben-Hur Carlos Vieira Langoni Jr. 
redqueen-098-ja                 Ben-Hur Carlos Vieira Langoni Jr. 
robbolito0085e4l                Yakov Petrovich Golyadkin, et al 
robbolito0085g3l                Yakov Petrovich Golyadkin, et al 
rocinante-101-ja           X    Antonio Torrecillas 
rotor0.6a                       Jan Brouwer 
rotor-04-ja                     Jan Brouwer 
simplex-097-ja                  Antonio Torrecillas 
sissa-20-ja                     Christophe J. Mandin 
stockfish_crab1                 modified by Adam Kleng 
stockfish1.8                    Tord Romstad, Marco Costalba, Joona Kiiski 
stockfish1.9                    Tord Romstad, Marco Costalba, Joona Kiiski 
stockfish2.0                    Tord Romstad, Marco Costalba, Joona Kiiski 
stockfish2.1                    Tord Romstad, Marco Costalba, Joona Kiiski 
stockfish-21-android-ja         Tord Romstad, Marco Costalba, Joona Kiiski 
stockfish-211-android-ja        Tord Romstad, Marco Costalba, Joona Kiiski 
suff-03a-ja                X    Clemens Pruell 
sungorous-14-ja            X    Pablo Vazquez 
toga2                           Thomas Gaksch, Fabien Letouzey 
umax48w                         H.G. Muller 
zct032500                       Zach Wegner 
zeta-dva-0202-ja           X    Srdja Matovic 

Wednesday, October 12, 2011

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.

Sunday, October 2, 2011

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