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

August 28, 2014

Blitzoid chess engine ratings for Android: Calibration time

If i've posted nothing after round 15 doesn't mean the gears were not turning. The overall trend appears to be less elo fluctuations, better score percentages between 45% and 55% and what's more catchy is that the list does not shrink or inflate since round 17.

This means obviously that the experiment is almost at the end and there's nothing more but smallest fine tunings which will only narrow the error margins of the elo calculation.

Maybe it's clever to stop blitzing soon and concentrate to longer time controls and more programs from various platforms using all this testing experience. Yes, that's shifting to RAPIDROID project, based on 30 minutes games or similar.

Meanwhile, soon before the Blitzoid round 20 is finished, i've thought it's time to give an overall update to the only blitz rating list of Android engines available worldwide!

I'd written about my doubt about the possibility that the list is completely underevaluated and might possibly need an uplift.

I've been looking around at SSDF and CCRL lists to extact the engine versions i could compare between Android and Windows.

It appears that there is less power gap between the reference cpu's they are using to test Windows engines and my humble Exynos 4412 running at 1.6ghz x 4 cores.

The power ratio seems to be roughly 3 to 4 times. So, even after adding 250 elo points to Blitzoid, there's still 100 to 200 elo gap remaining.

Some other games played against oldies and tabletop chess computer have also supported this adjustment.

Therefore, i will very soon publish a new list based on around 16K games with a/m +250 points and will probably stop at 20th position on 50 Silver Suite Openings.

I think RAPIDROID will be much more apoealing because it will cover not only Android uci engines but many other programs and machines, from various operating systems and various times. I won't give up remembering the fossiles of computer chess history.

New UCI engine for Android: Firenzina xtreme 2.4.1

After a short (!) and desperate wait for Fire 3.X Android, we have nothing but a fork of it, called Firenzina, compiled for our Android devices, at last.

It always makes me feel good to see stronger engines coming to the stage one by one. I didn't fully tested yet Firenzina but i can tell it works with Chess for Android, although the loading phase may a little bit slow at the first time, followed by "fire.cfg not found" error. But it works without this file if you wait patiently.

In case you want it to challenge other engines, no problem. I have already set up some games vs the weak internal engine of CfA and everything went fluently in tournament mode as well.

You may download v2.4.1 of Firenzina at http://firenzina.wikispaces.com/

Additional info Aug,28th:
* It's possible to generate a fire.cfg file using "default" command in the console mode of Firenzina 2.4.2 under Windows and transfer the generated file to Android. Chess for Android installs it in the same folder as the engine. I didn't check yet if the parameters are used by the engine but will do that too.
* Firenzina looks very strong after a quick set of bullet games vs Critter 1.6a (lost 4-6 but competes well) and Black Mamba 2.0 (wins 6-4!). It seems the level of Firenzina is between Critter and Mamba.

Additional info Aug,29th:
* Fire.cfg works under Android. So, the engine parameters can be altered by editing the file before installing. I confirm that the hash size setting of the GUI overrides the setting in the config file.

August 25, 2014

How to detect a clone engine 25 years ago?

I felt very happy when i find out 3D Scacchi Emulator, a new C64 program was available for download and i thought that adding another candidate to the ongoing retro tournament would be good. But it seemed to be a clone of MyChess II.

3D board, a luxorious option in 80's

Today, many techniques to analyze and verify if a chess engine is the exact copy of another exist and they are scientifically reliable. Although this reminds me of the false (false for me after tons of articles i've read about it) accusations to Rybka followed by bans and title withdraws some years ago, i keep thinking this kind of precise comparisons can be accurately done if fairly adopted with good will.

But what you would do with something coming from the "stone age" of computer chess?

At first sight, 3D Scacchi looked nice and strong to me within the conditions of that era but it was said the engine is a copy of MyChess II. Ooops, disappointment!

The program was released in 1989, that's way after MyChess of 1984. Why those Italians would be willing to repack and probably pay a fee to Dave Kittinger for his engine of 5 years ago? Or was 3D Schacchi an illegal clone?

To check this out, i could find no other way than forcing both programs to play at the same time vs a third program (3 VICE emulator windows running at once...), at the same move timings, so that they can not go into different variations using their thought-ahead analysis made on my thinking time. Different moves should be only based on their evaluation differences, in case they are not the same engine.

The result, shown in attached screenshot, was convincing enough for me. They both played the same moves after same thinking times, move by move. Therefore, there was no added value of injecting 3D Scacchi into C64 Revisited experiment.

They think the same, they move the same

But if i was to make a more serious decision to ban or not this program or cancel its previous world championships (if any), i don't think i would easily do that, unless i am 100.00% sure of it.

As a dramatic case, some people did that to Rybka, number 1 chess engine of late 2000's. Rybka is abandoned and no more maintained since the verdict. That's why today, a highly potential engine is still missing from computer chess competition again the lonely topper Stockfish.

I think an updated and improved Rybka would be another color in the whole picture for sure, meaning more fun, for us, chess freaks.

C64 Revisited: Chessmaster 2100 and Colossus 4 lead after round 5

In pursuit on my childhood memories with C64, i'm back in time to 80's via software emulation. It feels crazy but still fun to find ways (uh!) to make these fossiles play chess the way we want. Most of them don't have any time control but just levels. It's just hard to establish equal time controls between these oldies.

One may pass a week with these old chess programs to understand better how it's comfortable to call dozens of engines into Arena on a PC and just watch the games automatically played with all moves recorded into PGNs or just the standings once a day!

Now, my insanity counter shows 220 games manually played by 23 programs.

After my last post, i've found and introduced two additional programs i was not aware of before: Coffee House Chess Monster and Schach64. The latter is probably the weakest chess program ever released. It's a kamikaze built to make you feel like Magnus Carlsen.

While adding two new programs, i disqualified Cesar which crashed all the time and redid the pairings to restart from scrath using already played games when necessary.

Thanks to time saving smart swiss system, there's almost no useless game played and even after 5 rounds, results are speaking: Colossus 4 and Chessmaster 2100 rule and will be fighting for the C64 crown. Their predecessors Colossus 2 and Chessmaster 2000 perform well too and cause serious harm to other candidates like MyChess II, Cyrus II, Sargon III and Chess 7.5. 

You better click on below chart to see the standings and sorry for the optical trouble caused.
As expected, the ranking is different here, due to various factors like different active chess (30 sec/move) levels i selected for some programs, disabling deep thinking option and the fact that i try to increase games between programs of closer strength.

ELO performances are given without calibration for the moment. I've just fixed the leader Chessmaster 2100 to 1600, though i feel it's too much. I think it plays around 1400. But the ranking matters more than  calibration in closed tournaments. One can add or remove as much elo as he wants to list anyways.

The experiment is not over yet due to still wide elo error margins. Maybe it will be better to start 3 divisions after round-7, given that the swiss pairing matrix will probably reach its limit soon.

The results by rounds can be found below and a PGN collection of the games will be soon uploaded to box.com.

Colossus 4.0 - MyChess II: 2½-1½ (=110)
Chessmaster 2100 - Sargon III: 4-0 (1111)
Chessmaster 2000 - Cyrus II: 2-2 (0011)
Chess 7.5 - Chess 7.0: 4-0 (1111)
Falken Schach - Colossus 2.0: 1-3 (0010)
Grand Master - Coffee House CM: 1-3 (==00)
Hypra Chess - Caissa 5.2: 2½-1½ (=110)
Master Chess - Schach64: 3-1 (=1=1)
Battle Chess - Sargon II: ½-3½ (0=00)
Kempelen 2.0 - Petchess 4000: 4-0 (1111)
Super Schack - Grobi 1.0: 2-2 (0110)
Microchess 3: unpaired

Colossus 4.0 - Chessmaster 2100: 2½-1½ (01=1)
Chess 7.5 - Colossus 2.0: ½-3½ (000=)
Chessmaster 2000 - Coffee House CM: 3-1 (0111)
MyChess II - Cyrus II: 3½-½ (11=1)
Sargon III - Chess 7.0: 1½-2½ (10=0)
Falken Schach - Grand Master: 2½-1½ (011=)
Hypra Chess - Sargon II: 2-2 (01==)
Kempelen 2.0 - Master Chess: 3-1 (1==1)
Super Schack - Microchess 3: 4-0 (1111)
Caissa 5.2 - Grobi 1.0: 3-1 (0111)
Battle Chess - Petchess 4000: 2½-1½ (10=1)
Schach64: unpaired

Colossus 4.0 - Colossus 2.0: 2½-1½ (=011)
Chessmaster 2100 - Chessmaster 2000: 2-2 (0101)
MyChess II - Chess 7.5: 3½-½ (1=11)
Chess 7.0 - Coffee House CM: ½-3½ (000=)
Falken Schach - Kempelen 2.0: 2-2 (0=1=)
Cyrus II - Sargon II: 4-0 (1111)
Hypra Chess - Super Schack: 2-2 (=01=)
Sargon III - Grand Master: 4-0 (1111)
Caissa 5.2 - Battle Chess: 2-2 (==01)
Grobi 1.0 - Master Chess: 4-0 (1111)
Microchess 3 - Schach64: 4-0 (1111)
Petchess 4000: unpaired

Colossus 4.0 - Chessmaster 2000: 2½-1½ (1=10)
MyChess II - Chessmaster 2100: ½-3½ (=000)
Cyrus II - Colossus 2.0: 1-3 (0001)
Chess 7.5 - Coffee House CM: 2-2 (0101)
Sargon III - Falken Schach: 3½-½ (111=)
Sargon II - Superschack: 2-2 (1100)
Chess 7.0 - Hypra Chess: 3-1 (0111)
Caissa 5.2 - Kempelen 2.0: 2-2 (1=0=)
Grandmaster - Grobi 1.0: 3½-½ (1=11)
Battle Chess - Microchess 3: 4-0 (1111)
Petchess 4000 - Schach64: 3½-½ (1=11)
Master Chess: unpaired

Chessmaster 2100 - Colossus 2.0: 3-1 (1==1)
Colossus 4.0 - Cyrus II: 3½-½ (11=1)
MyChess II - Chessmaster 2000: 1-3 (1000)
Sargon III - Chess 7.5: 3-1 (0111)
Falken Schach - Coffee House CM: 3½-½ (11=1)
Chess 7.0 - Grand Master: 3½-½ (1=11)
Caissa 5.2 - Sargon II: 1-3 (0=0=)
Hypra Chess - Kempelen 2.0: 2½-1½ (1=01)
Super Schak-Petchess 4000: 3-1 (11==)
Microchess 3 - Master Chess: 3-1 (1101)
Battle Chess - Schach54: 4-0 (1111)

Grobi 1.0: unpaired

Pairings shown above, on standings chart, marked red.

Tournament conditions:
* Performance elo based Swiss pairing & ranking
* 4 games per pairing
* 30 seconds/move or closest level setting
* Ponder disabled or prevented by pausing the emulator.

August 22, 2014

Looking for more knps with Intel Baytrail 3745: Mission accomplished!

In a previous post i'd written about my disappointment as per a quick test conducted on Snapdragon cpu.

A couple of days ago, i've got a similar oppotunity to repeat the same test on a 7" Asus 176X tablet which uses an Intel Baytrail CPU running at 1.33GHz and boosting up to 1.86GHz, under Andoid.

This time, the result turned to be more convincing.

It's a quad-core SoC (System on A Chip) cpu named Atom 3745 as well. These series of cpu's were introduced for Windows first but now some versions manage Android too and wery well.

Regarding the test i've done, at the end of 1 minute analysis at the starting chess position, the average NPS level reached 747K using latest Droidfish 1.54 with Stockfish 5.0 engine. Of course, i'd set 4 cores and 64 MB hash before starting the test.

This is approx 7% higher than my Exynos 4412 which turns around 700K.

I really don't care how good or bad that Intel cpu performs with 3D games. But if we speak chess, it may be a good idea to invest for that tiny tablet because the price i've seen was very competititive, less than 200 USD.

At that attractive price, the only lag of this device seems to be its 1 GB of RAM which is limited for our memory hungry hash tables.

All Android chess engines available here

As many Androiders have often difficulties to obtain the binary files (sites down, access forbidden, links broken etc), i've uploaded all the engines i have collected so far to box file server. So, people can download any engine mentioned in my Blitzoid rating list.

I didn't prefer to put everything in a huge pack to prevent users from wasting download size, like it occurred to me often! It's useless to download many files when you only need a few of them.

Therefore all engines are compressed separately using 7zip for smallest archive sizes. 7zip for Windows performs better than WinZip or WinRAR. It can be downloaded from: HERE.

I'm not an uploader by nature and i'm not very familiar with these free sites. If any kind of problem occurs, leave a comment here and i take care.

Link for the folder: Android Engines Collection