HAL9000

HAL9000
"It just isn't conceivable that you can design a program strong enough to beat players like me."

October 31, 2016

Android UCI engine update: Texel 1.07a6

Texel has finished playing in TCEC-9 two weeks ago, at the end of the rapid stage. The same development version is now available for our Android devices.

Two different sets have been ported so far: One by the author Peter Ă–sterlund and antoher one by Aprijal Pasaribu. I can confirm that Aprijal's builds are running faster. PGO may be the reason for arm7 but this time arm8 build appears to be faster too, as seen below. The tests were conducted using Chess for Android, 256MB hash, 1 minute fixed time analysis.
PO arm7: 561 Knps on Exynos 4412 4 x 1.6Ghz

AP arm7: 664 Knps on Exynos 4412 4 x 1.6Ghz

AP arm7: 1395 Knps on MTK 6752

PO arm8: 1909 Knps on MTK 6752 8 x 1.6Ghz

AP arm8: 2014 Knps on MTK 6752 8 x 1.6Ghz

GET Texel 1.07a6.PO 32-bit for arm7 nopie
GET Texel 1.07a6.AP 32-bit for arm7 pie
GET Texel 1.07a6.PO 64-bit for arm8
GET Texel 1.07a6.AP 64-bit for arm8

Android UCI engine update: K2 0.87

This update is part of the package released by the author Sergey Meus. It works fine with Chess for Android. So, i will update K2 in Rapidroid as soon as possible.

By the way, i wish an arm7 build rather than arm5. According to several previous tests, the speed boost from arm5 32-bit to arm7 32-bit is much more significant than arm7 32-bit to arm8 64-bit, though one would normally expect the opposite.

Weird but true:
Arm7 is generally faster by 40-70% than arm5.
Arm8 is generally faster by 30% than arm7.

GET K2 0.87 32-bit for arm5 pie

October 23, 2016

Android UCI engine update: Stockfish dev't 2016.10.21.AP

The most recent Android builds of Stockfish comes from Aprijal. Thanks again.

GET Stockfish 2016.10.21.AP for 32-bit arm7 pie
GET Stockfish 2016.10.21.AP for 64-bit arm8

Hash Baby Hash!

A popular frequently asked question by most chess engine users is: "How many memory should i set for hash tables?".

It's totally natural that the dilemma persists because there is not crystal clear answer to it. There are many parameters in the unknown equation:
* Computing speed
* Available RAM
* RAM access speed
* Time control used
* Time management style of the engine
If there are others that i'm not aware of, i'd say it's possible. You tell me.

And before i share what i've got in hand, a few notices:
* I just tell what i know and how i proceed for myself. I can't suggest i'm always correct.
* Most engines use hash size as power of 2. Even if you calculate let's say 395MB for the optimum size, you'll have to choose between 256 and 512MB.
* The optimum size is different from one engine to another.

After reading a lot here and there since years, i think various methods may come handy. Use them and decide for your case:

1) GIVE ALL YOU'VE GOT:

Check the available free RAM in your system, be it Windows or Android and allocate the nearest half of it for engine-to-engine games or the nearest lower size for a single engine. This is the simplest method which doesn't care about the engine. It may cause slowdowns in extreme cases like bullet games on a device with plenty of RAM.

Example: My Galaxy Note 2 has 2GB RAM with approx 900MB free on average. In this case, 900/2=450MB rounded down to the nearest 256MB is an acceptable choice for an engine tourney or i can set 512MB when i play vs Komodo (I wouldn't do that btw...)

2) USE THE UTILTY:

The old utility i've shared HERE in my repository at box.com is designed to help calculate the hash size. It uses two different selectable formulas: Direct correlation with CPU frequency or Houdini 1.5 formula. I think both methods are insufficient with today's software/hardware combinations and they don't match well with Android but they can give an overall idea anyway.

Example with Std.Formula: Galaxy Note 2 has 4 cores running at 1600Mhz. For the default 900+1 TC of Rapidroid and 60 moves/game on average, the utility calculates 204.8MB and suggests 128MB.

Example using Houdini formula: There's no Fritz Benchmark for Android, so an interpolation is necessary. My PC is getting 5000 with Fritz Benchmark and runs SF7 at 2800 knps. As Galaxy Note 2 runs SF7 at 750 knps, it should get (5000/2800)*750 = 1340 knps with Fritz. I enter this to the utility. With all other parameters unchanged, it calculates 214.4MB and suggests 128MB once again.

3) USE KOMODO METHOD:

For this, you absolutely need to monitor the hash usage during a test run. On a PC, Arena does the job. On an Android device, there was nothing until the latest build of Droidfish by Aprijal Pasaribu but now you can do the same on your cell phone too.

Komodo method is based on the assumption that the engine may need to use up to 3 times the average time per move of a typical game of 60 moves played with Fisher clocks. They suggest that the hash size must be high enough to ensure such 3x time usage does not fill more than 40% of the hash.

Above description is not easy to understand at once but it sounds reasonable, though i still find 40% is way too safe.

Komodo team says: Take the minutes as second and add the increment. Since Rapidroid uses 900+1 TC, for me that makes a test of (15+1) x 3 = 48 seconds. Therefore i run Komodo 10 on Galaxy Note 2 with hash display version of Droidfish. With 256MB hash, the usage trend goes like the following:
12" 16%
18" 24%
24" 32%
31" 41% => LIMIT EXCEEDED HERE
33" 44%
35" 46%
39" 54%
42" 55%
52" 65%
61" 73%
70" 80%
84" 86%
104" 93%

According to Komodo practice, my 256MB setting is low and i need something like 48 / ( 31 / 41 * 40 ) * 256 = 406 MB for 900+1 TC. However, i will continue to use 256MB no matter what. The 3x should correspond to 60% which still seems safe for me.

4) COMPARE KNPS:

This method is simple too but can mislead when used for shortest time control targets. You may simply conduct a series of fixed time analysis from the starting position, using a different hash setting for each run, from the smallest to the biggest, one by one. You will notice a quick increase in smallest settings but it will diminish somewhere. You must then stop and take the setting where the knps don't increase anymore. The test duration of each run must match the TC you want to use. Don't forget to use 3x for Fischer TC. For fixed time per move, 1x should be enough for the beginning and middlegame but i didn't verify 1x for endgame phase.

Conclusion: There is no high precision value to calculate. You'd better practice all above methods and choose the most common suggestion. Remember that your games or engine tests will not be non sense just because you have choosen 128MB instead of a better 256MB or vice versa. You only have to beware the extremely bad settings.

RAPIDROID RELOADED: October-2016

Here's another list including only one engine update but much more games than the previous release. After 21781 games Rapidroid is finally seeing error margins of +/-30 ELO, a level quite acceptable for a non-cumulative testing process which trashes a lot of games with each engine update.

This release is delayed just because of my professional duties leaving too little time to deal with the huge (for me) database. I hope the next one will not be late and will be much more interesting thanks to new builds compiled by Aprijal Pasaribu.

Regarding the ranking, there's nothing special in through the stable phase: Komodo and Stockfish are so dominant and so close to each other that we can't speak about any superiority. They are both high above all others and will remain the same until something like a Houdini 5 for Android comes to kick the reigning toppers.

The highlights of this release:
* UPDATED Ethereal 7.70 to 7.78 (2339 ELO!)

Targets for next release:
* ADD Nemorino 1.02
* UPDATE Arasan 18.3 to 19.1.AP
* UPDATE Laser 0.2 beta to 1.3beta.AP
* UPDATE Sayuri 2016.04.09 to 2016.07.10.AP
* UPDATE Sting 4.8.4.JA to 7.3.AP
* UPDATE Stockfish 2016.07.16 to 2016.10.03.AP
* REVERT Texel 1.06 to 1.06a48.AP (showed way stronger in self played match)
* Remove the "bad boys" aka problem engines above tolerated % of abnormal terminations
* Remove all that remains from the engines incompatible with Fischer clocks


BAYES RATINGS AFTER 21781 GAMES PLAYED BY 143 PROGRAMS
Rnk Name                        O/S T TC  Elo   +   - Gam Sco Oppo Dra
001 Komodo 10                   A32 4 bf 3335  38  36 326 82% 3089 28%
002 Stockfish 2016-07-16        A32 4 bf 3334  37  36 326 83% 3089 31%
003 Critter 1.6a                A32 4 bf 3121  30  30 348 55% 3097 45%
004 Firenzina 2.4.1 xTreme      A32 4 bf 3091  30  30 342 48% 3113 44%
005 Rybka 2.3.2a mp             W64 4 bf 3076 118 115  22 57% 3032 41%
006 Chiron 3                    A32 4 bf 3075  32  32 328 50% 3079 41%
007 Sting SF 4.8.4 JA           A32 4 bf 3073  31  31 344 51% 3070 39%
008 BlackMamba 2.0              A32 4 bf 3068  30  30 346 47% 3093 47%
009 Gull 3 x64 (syzygy)         A32 4 bf 3063  31  31 344 51% 3057 44%
010 Fritz 14                    A32 4 bf 3049  30  30 348 53% 3028 46%
011 Texel 1.06                  A32 4 bf 3041  31  31 334 46% 3072 44%
012 DeepSaros ver.2.3f          A32 4 bf 3014  30  30 356 50% 3019 42%
013 Hiarcs 13.71                IOS 2 bf 2995 129 118  24 71% 2846 25%
014 Senpai 1.0                  A32 4 bf 2993  30  30 360 52% 2984 39%
015 RobboLito 0.085e4l          A32 1 bf 2987  29  29 368 53% 2969 43%
016 IvanHoe 9.47c beta          A32 1 bf 2970  30  30 366 55% 2934 40%
017 Cheng 4.39                  A32 4 bf 2950  30  30 372 55% 2915 37%
018 Shredder 1.7.0              IOS 2  b 2906 118 116  22 55% 2882 45%
019 ExChess_7.88b.JA_xb.arm7    A32 4  b 2892  29  29 368 48% 2905 38%
020 Gaviota v1.0-d              A32 4 bf 2889  30  30 376 47% 2914 35%
021 Hakkapeliitta 3.0           A32 1 bf 2881  30  30 372 51% 2878 32%
022 Arasan 18.3                 A32 4 bf 2875  29  29 372 48% 2889 40%
023 Scorpio_2.7.7.JA_xb.arm7    A32 4 Bf 2869  30  30 372 50% 2867 31%
024 Grapefruit 1.0              A32 4 bf 2854  29  29 390 49% 2857 38%
025 Toga II 3.0                 A32 1 bf 2822  30  30 374 48% 2833 36%
026 DiscoCheck 5.2.1            A32 1 bf 2807  29  29 390 47% 2827 34%
027 Deep Saros 0.9              A32 4 bf 2799  29  29 386 50% 2802 38%
028 Bobcat 6.4b                 A32 1 bf 2773  29  29 390 52% 2759 34%
029 Doch32 1.3.4 JA             A32 1  b 2769  29  29 390 49% 2773 36%
030 Murka 3                     A32 1 bf 2749  29  29 400 50% 2751 37%
031 Crafty_25.0.JA_xb.arm7      A32 1 bf 2747  29  29 378 48% 2763 38%
032 Fruit Reloaded 2.1          A32 1  b 2742  29  29 392 51% 2729 36%
033 Chess Pro 2016.02           IOS 2 bf 2738 112 114  22 45% 2768 55%
034 Deuterium v14.3.34.130      A32 1 bf 2714  29  29 396 51% 2706 30%
035 The King 3.50 x64           W64 1  b 2711  53  54 114 42% 2766 34%
036 GNU Chess 5.60              A32 1 bf 2701  30  30 382 48% 2710 27%
037 Strelka 5                   A32 1 bf 2688  29  29 380 51% 2677 36%
038 Rodent II 0.8.7             A32 1  b 2670  30  30 376 54% 2644 32%
039 Tucano_6.00.JA_xb.arm5      A32 1 Bf 2662  30  30 376 52% 2651 34%
040 RedQueen 1.1.98             A32 4 bf 2638  30  31 376 49% 2648 27%
041 CNVCS 1.2.0                 IOS 2  f 2621 111 114  24 44% 2657 46%
042 Rhetoric 1.4.1              A32 1 bf 2616  31  31 360 50% 2617 28%
043 Pawny 1.2                   A32 1 Bf 2611  30  30 360 53% 2589 32%
044 Bison 15.1                  A32 1 bf 2601  30  30 380 54% 2572 29%
045 Alfil 12.10                 A32 1 bf 2591  31  31 378 46% 2623 24%
046 Daydreamer 1.75 JA          A32 1 bf 2579  30  30 378 49% 2583 35%
047 Rodin v8.00                 A32 1 bf 2576  31  31 360 46% 2606 26%
048 Chess Genius 4.0.00         IOS 2 bf 2557 197 256   8 13% 2815 25%
049 Zurichess Graubuenden       A32 1  b 2548  31  31 360 53% 2525 30%
050 Cheese 1.8                  A32 1 bf 2541  30  31 376 46% 2572 25%
051 Chess Genius 2.6.4          A32 1 bf 2538 224 239   4 38% 2585 75%
052 Glaurung Mainz              A32 1  b 2528  31  31 376 50% 2529 27%
053 Fridolin 2.00               A32 4 bf 2521  30  30 374 54% 2496 31%
054 Rotor 0.8                   A32 1 bf 2511  30  30 376 42% 2568 28%
055 Sloppy_0.23.JA_xb           A32 1 Bf 2509  30  30 374 50% 2513 27%
056 Maverick 1.5 arm            A32 1 bf 2509  31  31 374 57% 2454 24%
057 Phalanx_XXIV.JA_xb.arm7     A32 1 Bf 2500  30  30 374 51% 2488 29%
058 DanaSah 6.1                 A32 1 bf 2495  30  30 360 48% 2506 33%
059 Dirty_030411.JA_xb          A32 1 bf 2489  30  30 374 52% 2468 29%
060 GarboChess 3                A32 1 bf 2480  30  30 376 47% 2496 31%
061 GreKo_2015.JA_xb            A32 1 bf 2475  31  31 360 47% 2494 27%
062 BBChess 1.3b JA             A32 4 bf 2464  31  30 376 53% 2433 28%
063 K2 v.083                    A32 1  b 2450  31  31 360 45% 2484 30%
064 Pepito v1.59                A32 1 bf 2447  30  30 374 53% 2428 33%
065 Ethereal 7.78               A32 1  b 2415  32  32 360 56% 2368 22%
066 Bruja_1.9.1.JA_xb           A32 1  b 2404  32  32 360 45% 2445 20%
067 MangoPaola_1.1.JA_xb        A32 1 Bf 2402 166 164  14 54% 2363  7%
068 BetsabeII_1.47.JA_xb        A32 1 Bf 2393  31  31 378 51% 2383 24%
069 Typhoon_1.0.r358.JA_xb      A32 1  f 2388 163 159  14 54% 2365  7%
070 Laser_0.2beta.JA_uci2xb     A32 1  b 2385  31  31 360 48% 2400 29%
071 Ifrit_m1.8.JA_uci2xb        A32 1 Bf 2383  30  31 374 49% 2387 26%
072 Diablo 0.5.1b JA            A32 1 bf 2339  31  31 378 50% 2340 27%
073 Olithink_5.3.2.JA_xb        A32 1 Bf 2336  31  31 374 50% 2329 24%
074 Amy_0.8.JA_xb               A32 1 bf 2331  32  32 378 51% 2323 19%
075 Myrddin_0.86.JA_xb          A32 1 Bf 2290  32  32 378 54% 2255 20%
076 TJchess 1.1U                A32 1 bf 2279  32  32 374 52% 2261 20%
077 DanChess_1.04.JA_xb         A32 1  f 2223 167 147  18 67% 2092  0%
078 Natwarlal_0.14.JA_xb        A32 1 Bf 2218  32  32 378 51% 2211 18%
079 Bitfoot 150922.JA           A32 1 bf 2207  32  32 378 48% 2224 16%
080 Sungorus 1.4 JA             A32 1 Bf 2201 138 140  18 47% 2223 17%
081 Floyd 0.7 JA                A32 1 bf 2191  32  32 376 51% 2182 16%
082 Beowulf_2.4a.JA_xb          A32 1  b 2189  32  32 360 47% 2217 23%
083 Rattate_Nosferatu.JA_xb     A32 1 Bf 2187  31  31 378 48% 2202 21%
084 Scidlet_2.61b2.JA_xb        A32 1 Bf 2183  31  31 378 50% 2183 21%
085 KmtChess_1.21.JA_xb         A32 1 Bf 2166  31  31 374 49% 2171 22%
086 Resp_0.19.JA_xb             A32 1 bf 2162  31  31 378 44% 2205 23%
087 Gk_0.90.JA_xb               A32 1  b 2147  33  32 358 56% 2099 19%
088 Kurt 0.9.2.2 JA             A32 1 bf 2131  31  31 376 50% 2132 20%
089 AnkanChess 0.0              A32 1  b 2096  32  32 358 52% 2083 21%
090 Robocide 28.12.14.JA        A32 1 bf 2096  31  31 406 56% 2049 19%
091 Cinnamon 2.0                A32 4 bf 2087  32  32 358 49% 2094 23%
092 Sunsetter_C10.JA_xb         A32 1  b 2077  32  32 360 52% 2062 22%
093 Knightcap_3.7F.JA_xb        A32 1  f 2076 158 147  16 63% 1982 13%
094 Samchess_JA_xb              A32 1  f 2072 155 143  16 63% 1983 13%
095 Gunborg_1.39.JA_uci2xb      A32 1 Bf 2052  31  31 376 49% 2058 21%
096 Faile_1.44.JA_xb            A32 1  f 2045 136 130  16 59% 1986 44%
097 NGplay_9.86.JA_xb           A32 1 Bf 2035  31  31 378 45% 2070 20%
098 Romichess_p3k.JA_xb         A32 1  b 2033  35  35 354 47% 2047 15%
099 AdroitChess0.4 JA           A32 1 bf 2025  32  32 376 54% 1990 15%
100 Woodpecker_2.11.JA_xb       A32 1  f 2020 141 151  18 39% 2115 11%
101 Sjeng_1.12.JA_xb            A32 1 Bf 2004  32  32 374 47% 2023 16%
102 Witz_Alpha21.JA_xb          A32 1  f 2003 145 158  18 36% 2117  6%
103 Gullydeckel_2.15.pl10.JA_xb A32 1  b 1982  33  33 358 47% 2009 15%
104 Cilian_4.14.JA_xb           A32 1 bf 1980  31  31 376 56% 1936 23%
105 ZCT-0.3.2500                A32 1 bf 1978  33  33 374 53% 1950 13%
106 Fairymax_4.8V.JA_xb         A32 1  b 1974  31  31 358 47% 1998 26%
107 BikJump v1.8                A32 1 bf 1972  30  30 404 49% 1983 24%
108 Soldat-III_0.178.JA_xb      A32 1  b 1959  33  33 356 51% 1952 15%
109 Micromax_4.8W.JA_xb         A32 1  b 1958  31  31 358 49% 1971 28%
110 Leonidas_r83.JA_xb          A32 1 Bf 1951  32  32 372 49% 1959 16%
111 Colchess_8.0.JA_xb          A32 1 Bf 1934  31  31 370 51% 1930 22%
112 Mephisto Roma Turbo         W64 1  b 1931  80  84  56 37% 2034 16%
113 Smash 1.03 JA               A32 1 bf 1905  31  31 384 51% 1895 19%
114 Ecce rev. 508               A32 1 bf 1892  32  32 368 51% 1878 19%
115 Surprise_4.3.b13.JA_xb      A32 1  b 1866  32  33 360 46% 1896 18%
116 MorphyChess_1.05.JA_xb      A32 1  b 1863  33  33 346 51% 1849 25%
117 Claudia v. 0.5              A32 1  b 1851  34  33 350 53% 1828 17%
118 Sayuri 2016.04.09           A32 4 bf 1843  33  33 350 51% 1828 20%
119 Hoichess_0.12.1.JA_xb       A32 1 bf 1827  33  33 366 48% 1847 16%
120 Tscp_1.8.1.AB_xb            A32 1 Bf 1756  34  34 348 56% 1677 21%
121 Minimardi_1.3.AB_xb         A32 1  b 1755  34  34 336 51% 1726 23%
122 Zzzzzz_3.5.1.JA_xb          A32 1 Bf 1734  33  33 342 52% 1696 27%
123 Jester_0.84.JA_xb           A32 1 Bf 1723 152 152  14 50% 1743 29%
124 Rocinante 2.0 JA            A32 1 bf 1708  34  34 350 48% 1713 14%
125 Kitteneitor_060513.JA_xb    A32 1 Bf 1702 135 138  16 44% 1740 38%
126 Colossus 4.0 100X           C64 1 bf 1701 233 210  10 80% 1326 20%
127 Chenard_2015.08.15.JA_xb    A32 1 Bf 1675  36  37 344 51% 1616 13%
128 Mephisto Roma 68020 UCI     W64 1  b 1655 128 137  20 35% 1764 30%
129 Darky_0.5d.JA_xb            A32 1  b 1637  38  38 332 52% 1545 15%
130 Pulse 1.5-cpp               A32 1 bf 1624  34  34 358 48% 1587 30%
131 VIRUTOR CHESS 1.1.1         A32 1 bf 1573  40  40 350 59% 1402 16%
132 Chess for Android           A32 1 bf 1495  42  42 345 58% 1340 14%
133 Mizar_3.0.JA_xb             A32 1  b 1481  44  44 324 63% 1274 13%
134 Chess Titans                W64 1  f 1371 218 209   7 57% 1341 29%
135 Superpawn b108 JA           A32 1  b 1370  42  41 336 60% 1217 15%
136 Toledo_Nano_2010.JA_xb      A32 1  b 1202  40  40 324 50% 1162 27%
137 Trappy_Beowulf_2.0.JA_xb    A32 1 bf 1188  41  41 344 49% 1169 12%
138 Colossus 4.0                C64 1 bf 1184 176 193  14 36% 1283 14%
139 Xadreco_5.7.JA_xb           A32 1  b 1053  44  45 334 36% 1183 11%
140 Byak 8.10.14.JA             A32 1  b 1033  43  44 340 35% 1187 20%
141 Novag Secondo               TTC 1 bf  932 261  33   6 42%  974 17%
142 OliveChess 0.2.7            A32 1 Bf  700 209-193 338 13% 1226  3%
143 DanaSah 6.0 RND             A32 1 bf  393 511-501 324  1% 1252  3%

Rapidroid test platform:
* GT-N7100 1.6 * 4 + 256MB hash: All Android progs
* GT-N5105 1.6 * 4 + 256MB hash: All Android progs
* Codegen Novatab 1.4 * 4 + 256MB: Single thread Android progs,
* Polypad 1010IPS tablet 1.61 * 2 + 128MB: Single thread Android progs
* HTC Diam 528Mhz, 16MB hash: Windows Mobile
* i7 M620 2.67 Ghz dual + Arena 3.5 + 2GB hash: Windows 64
* iPhone5S A7 1.3 Ghz * 2: iOS progs
* DosBox 1.74: DOS progs
* WinVICE 2.24: Commodore-64 progs
* Messtiny UCI adapters or CB-Emu2014: Mephisto progs
* Openings: 20 ply Adam Hair or 16 ply TCEC, no Q exchange, +0.15 to +0.40
eval by Stockfish and Komodo, depth 20 minimum, played twice both sides
* Repeating openings and twin games not allowed between two programs
* Tablebases off and pondering off
* Time control: 600+0 to 1800+5 (optional 1/10 to 1/30 for manual games)

Calibration:
* Based on 40 engines rated in CCRL 40/4
* 32 bit engines: Exynos 4412 = (Athlon X2 4600+) - 65 ELO
* 64 bit engines: Exynos 4412 = (Athlon X2 4600+) - 110 ELO
* Bayeselo offset = 2283 (Mean of ELO error vs target: 43.2)

Termination stats:
* W:39.9% D:26.4% B:33.7% (53.1% vs 46.9%)

Legend:
* T = threads
* tc= f (fixed time only), b (Fischer clock only), bf (both)
* O/S: A32=Android 32bit, W64=Windows 64bit, C64=Commodore 64, TTC=Tabletop, IOS=iPhone

October 17, 2016

Droidfish 1.62 dev: Two builds tweaked by Aprijal Pasaribu

Droidfish is an open source GUI. Therefore, Aprijal has compiled two versions of it with following tweaks. Besides, latest Stockfish development version 2016.10.11 is bundled with it.

GET the first apk with:
* Hash usage display
* UCI option start with UCI_

GET the second apk with the above and:
* ECO code display
* Hardcode hash limit increased to 512MB
I think increasing the hash limit was not mandatory given that official Droidfish allows higher hash sizes when the user creates a blank file named .unsafehash under UCI folder. So, if your device is freezing after you set 512MB or 1GB hash, reboot and try to decrease.

If you are the unlucky one, Droidfish will load the previous engine and hash settings agian. That means the freeze will repeat forever. In such chaotic case, uninstall and install Droidfish and start over.

One last important notice is that you MUST UNINSTALL your current Droidfish before installing above builds. Otherwise, you may get installation errors like me.

Android UCI engine update: Stockfish dev't 2016.10.11.AP

Aprijal's Stockfish development builds for Android belong to the following day compared to CEPA builds. They are the most recent and the storngest ones at present.

GET Stockfish 2016.10.11 for 32-bit arm7 pie
GET Stockfish 2016.10.11 for 64-bit arm8

Android UCI engine update: Stockfish dev't 2016.10.10.CEPA

New Stockfish builds compiled by Javier, the developer of the CEPA app. They are all taken from the latest 0.4.6 update of this app. Enjoy...

GET Stockfish 2016.10.10.CEPA 32-bit for arm5 no pie
GET Stockfish 2016.10.10.CEPA 32-bit for arm5 pie
GET Stockfish 2016.10.10.CEPA 32-bit for arm7 no pie
GET Stockfish 2016.10.10.CEPA 32-bit for arm7 pie
GET Stockfish 2016.10.10.CEPA 64-bit for arm8
GET Stockfish 2016.10.10.CEPA 32-bit for x86 no pie
GET Stockfish 2016.10.10.CEPA 32-bit for x86 pie
GET Stockfish 2016.10.10.CEPA 64-bit for x86

October 15, 2016

CEPA 0.4.6 for Stockfishers!

Chess Engines Play Analysis (shortly CEPA) recently got an update featuring Stockfish development version dated 10th of October, including 64-bit builds too.

WHAT'S NEW:
v0.4.6 SF20161010
* Sound on engine move
* 64-bit engines
* free engines levels revised
* fixed bugs reported by users
* revised price

Get it from Google Play: HERE.

Chess Free 2.45 by AI Factory Ltd

The new version of Chess Free AI doesn't offer a major update this time.

WHAT'S NEW:
* Fixes issue with "Replace Hint with Analyse" option,
* Other minor fixes.

You can download the latest version of Chess Free from GOOGLE PLAY.

Rival Chess 2.0.2

Rival Chess is an ancient app developed for other platforms before Android. The developer of the Android version is NetAdapt. After a long lasting hiatus, they recently updated it with many new features. I guess the new Rival deserves now to become a serious rival.

WHAT'S NEW
Version 2 : *** Major update ***
* 24 Engine levels now (including easier starter levels),
* Save games, and share PGNs,
* UI modernisation,
* Improved sound effects,
* Swipe games to delete them.

Rival Chess can be downloaded from GOOGLE PLAY.

New Android UCI engine: Nayeem 10.0.AP

Another Stockfish derivative maintained by Mohammed Nayeem is now ported to Android thanks to Aprijal.

GET Nayeem 10.0 for 32-bit arm7 pie
GET Nayeem 10.0 for 64-bit arm8

New Android UCI engine: Brainfish 2016.10.06.AP

Brainfish is a Stockfish derivative including an embedded book of 4+ millions of positions. It plays opening moves from its internal book regardless of the GUI setting.

It's expected that Brainfish reaches higher ELO's than the original. I didn't and won't try to verify this but many test topics are available in forums.

Yu can read more about Brainfish in Chessprogramming Wiki

Below binaries are compiled by Aprijal Pasaribu like all recent engine updates of the last month. Bear in mind that the file sizes are big: 22MB compressed and 34MB uncompressed because of the book.

GET Brainfish for 32-bit arm7 pie
GET Brainfish for 64-bit arm8

Android UCI engine update: Sayuri 2016.10.07.AP

Finally, a working Sayuri by Aprijal. Beyond good functionality, there are arm7 and arm8 binaries. I hope this engine will get some more ELOs in Rapidroid soon.

GET Sayuri 2016.10.07.AP 32-bit for arm7 pie
GET Sayuri 2016.10.07.AP 64-bit for arm8

October 8, 2016

New Android UCI engine: Nemorino 1.02.AP

Yet another new engine in the Android battlefields: Nemorino is written by Christian GĂ¼nther. It's not a weak engine and 2800 ELO in Rapidroid can be expected.

Nemorino features under Windows are:
UCI and XBoard support (experimental - all testing is done using UCI)
Syzygy Tablebase support
Pondering
Standard Chess and Chess960
Multi Core support (Very Lazy SMP)
Multi PV analysis mode
64-bit Windows only
About 2900 ELO on CCRL 40/4 scale

...and a description taken from Chessprogramming Wiki says:
"A UCI compliant, free open source chess engine by Christian GĂ¼nther, also supporting the Chess Engine Communication Protocol, written in C++ and first released in September 2016 under the GPLv3 license. Nemorino's board representation and move structure are taken from Stockfish. Nemorino supports Syzygy Bases based on Basil Falcinelli's Fathom API, applies a very lazy parallel search and is able to play Chess960."

I don't know whether Syzygy is working in Android. Testers who use tablebases will probably try it.

GET Nemorino 1.02.AP for arm7 pie
GET Nemorino 1.02.AP for arm8

Android UCI engine update: Stockfish dev't 2016.10.03

The latest development fish available for Android at present. Thanks go to Aprijal once again.

GET Stockfish 2016.10.03 for arm7 pie
GET Stockfish 2016.10.03 for arm8

Android UCI engine update: Stockfish Matefinder 2016.09.14.AP

Matefinder is a Stockfish derivative maintained by Joseph Ellis with the objective to solve chess problems and find moves that lead to checkmate rather than playing complete games.

I hope i'm not wrong about the source code commit date. I had to collect it from the maintainer's page because the Android build doesn't show any version information.

Below builds are compiled by Aprijal Pasaribu:
GET Stockfish Matefinder 2016.09.14.AP for arm7 pie
GET Stockfish Matefinder 2016.09.14.AP for arm8


Android UCI engine update: Sayuri 2016.10.07

I can't get Sayuri running with Chess for Android after 2016.04.09 version but i won't stop sharing the updates hoping that a GUI fix may arise somewhere, sometime.

If this build works okay on your device, tell me about it with your software/hardware details.

GET Sayuri 2016.10.07 for arm5 

Android UCI engine update: Sting 7.3.AP

Another gift from Aprijal Pasaribu is the new Sting for Android. Sting is a Stockfish derivative forked from v2.3.1 a long time ago and maintained by Marek Kwiatkowski.

Sting is simply not a clone of the latest versions. That's why it resides in Rapidroid ranking and deserves attention for being in Top-10 with 3000+ ELO.

GET Sting 7.3.AP for arm7 pie
GET Sting 7.3.AP for arm8

New Android UCI engine: CroChess 1.03b2

CroChess is nothing but a Stockfish derivative tweaked for longer time controls. Thanks to Aprijal for preparing the Android version.

The description taken from the maintainer Ivan Ivec's page says:

"CroChess is a clone of Stockfish maintained for better performance on long time controls.

It is simply my effort to test patches for Stockfish on longer time controls. Beta versions are actually final versions, but I'm still trying to tune some constants.

To optimize performance of Crochess each variant will be tested with only one time control: 300s (5min) + 3s (1 thread, 256MB hash, at least 1000 games).

However, I expect that volunteers will test them against Stockfish with longer time controls: I recommend 20min+10s (2-3 threads, 1GB hash).
It is important to download both files at the same time, because CroChess will be updated with Stockfish patches too.

Please contact me at ivan.ivec at gmail dot com even if you tried only few games and send pgn files if possible.

I'll also run regression tests with this latest time control from time to time and present results here.

I also recommend to use the following opening positions:
Test1 (100 positions for 200 games)
Test2 (500 positions for 1000 games)

Changes in CroChess 1.03 (compared to Stockfish):
1) it uses lower reductions on higher depths;
2) it resolves less fails low/high if position is winning/losing.

Motto: statistical errors must cancel themselves on a long run."

GET CroChess 1.03b2 for arm7 pie
GET CroChess 1.03b2 for arm8


Android UCI engine update: Sugar SE

Sugar is one of the strongest Stockfish clones, maintained by Marco Zerbinati from Italy. The most recent SE (SE for Special Edition released on May,30th of 2016) version is compiled by Aprijal Pasaribu for Android users.

GET Sugar SE for arm7 pie
GET Sugar SE for arm8

Android UCI engine update: Laser 1.3 Beta

Laser 0.2beta, currently floating around 2400 ELO in Rapidroid was a little problematic build and it needed to run as an XB engine via a specific polyglot adapter.

With the new version 1.3beta compiled by Aprijal, the problem seems totaly gone and the engine works fine with Chess for Android, except for some endings which require post adjudications.

What's exciting is that it can now use multi threads, something impossible with the polyglot solution.

I expect a big boost from single threaded 0.2beta to quad threaded 1.3beta. To follow up...

GET Laser 1.3beta.AP for arm7 pie
GET Laser 1.3beta.AP for arm8

And just for the collectors, the initial 1.3beta build working with polyglot solution is HERE.

Android UCI engine update: Stockfish dev't 2016.09.29

When two compilers concentrate on the same daily source, no doubt that countless builds come in. That was exactly the case on 29th of September and below is the outcome of the hard work. Thanks to Aprijal and Javier!

GET Stockfish 2016.09.29.AP for arm7 pie
GET Stockfish 2016.09.29.AP for arm8
GET Stockfish 2016.09.29.AP for x86 pie
GET Stockfish 2016.09.29.CEPA045 for arm5 nopie
GET Stockfish 2016.09.29.CEPA045 for arm5 pie
GET Stockfish 2016.09.29.CEPA045 for arm7 nopie
GET Stockfish 2016.09.29.CEPA045 for arm7 pie
GET Stockfish 2016.09.29.JV for arm8
GET Stockfish 2016.09.29.CEPA for x86 nopie
GET Stockfish 2016.09.29.CEPA for x86 pie
GET Stockfish 2016.09.29.JV for x86_64

Android UCI engine update: Texel 1.06a48.AP

In fact, that one looked retro to me at first sight because Texel 1.06 was already released some time ago. I assume Aprijal skipped or couldn't find the latest source to compile.

No matter what, his journey in time didn't fail at all according to the performance of the build. The alpha has no problems to beat the Google Play version of Texel 1.06. The conclusion is: Compiling process and environment matters!

TC:180+2 on MTK6752 4 threads on 8 cores

Now it seems Aprijal's build deserves a gauntlet shot to replace Peter's in Rapidroid.

GET Texel 1.06a48.AP for arm7 

CEPA 0.4.5 featuring Stockfish 2016.09.29

The new version of CEPA comes with more recent Stockfish builds. Thanks Javier!

WHAT'S NEW:
- Stockfish builds of 2016-09-29
- Stockfish armv5 pie fixed
- Option Purchase App
- Own eco codes
- Fixes adjudication bug

Download the latest CEPA update HERE at Google Play.

Android UCI engine update: Arasan 19.1

A good news from September is that Aprijal Pasaribu came in to follow Jim Ablett's path and take over his legacy. Thanks to him, various engine updates will probably to rain on our devices.

After a lot of blitz tests, i'm confident that his builds are healthy and fast, especially on arm7 architecture. Regarding arm8 64-bit, even though he's able to compile without testing, these builds can't run as fast as expected. The reason is that the optimization operations he regularly does imply that the builds run on the target architecture. Unfortunately he doesn't yet own an arm8 device.

I've calculated about 5% less kNps for arm8. That's the same ratio he claimed for arm7, between a "PGO" optimized build and a non-optimized build.

But wait, who cares 5% less nodes as long as he compiles that frequently. Go Aprijal Go!
Below is the link to his first build of Arasan 19.1 dated 2016.09.27. A few blitz tests at 180+2 time control on MTK6752 show that it's stronger than 18.3 which plays in Rapidroid.

GET Arasan 19.1 2016.09.27 for arm7