HAL9000

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

November 25, 2014

Stockfish smashed by Junior reveals an exciting case study

250+ ELO difference may come irrelevant in a specific position where a wrong calculation quickly tears you down. No more tears please...

This applies to all human chess players... and chess engines too hopefully. Even the strongest ones still don't play perfect chess and can be trapped like in the game below which resulted to an unexpected loss by latest development version of Stockfish facing Junior 13.3. This one has been played in TCEC Season 7, round 20.

Stockfish is currently the strongest engine worldwide, slightly ahead of Komodo 8 in all rankings. Though, nobody can yet be sure whether TCEC superfinal will confirm the same, given that TCEC competition is played at tournament time controls using 2 x 8 cores Xeon CPU's, under conditions that Komodo is known to benefit better. Anyway, we'll soon see about this but i can't guess how many more surprises are waiting ahead.

According to game logs, Stockfish has analyzed about 1.2 billion positions before playing 59.Rg6 and not 59.Qe5. It was simply not a good one and lost the game quickly after Junior's rook sacrifice on h4.
After 59.Rg6, white loses quickly with Rxh4

Consequently, 60.Rxh4 followed as a punishment from ICGA's 2013 World Chess Champion. For those who don't remember, IGCA is an outdated organization which used to be something like FIDE of the computer chess. Junior had won their last world championship tourney in 2013, in Yokohama, Japan.

Although move 59 is clearly losing, one wonders whether the game was already lost, way before that.

Some friends have already focused on 56.Re1 which looked weak. Qc8+ is the suggested one by other engines but can't bring too much hope. Move 56 may not even be the beginning of the trouble. Further analysis is necessary to reveal where's the real breakpoint of this interesting game. It's probably starting earlier.
56.Re1
The bishop sacrifice on 15.Bxg6 is a serious decision in the game and remains to investigate in details, for sceptical binary diggers like us, to eventually expose a mistakenly over-evaluated confidence.
 Junior's 14...g6
...and Stockfish's courageous 15.Bxg6

Watch TCEC competition at: http://tcec.chessdom.com/live.php

November 16, 2014

Man vs Machine: Cooperation takes over competition

Where have gone the good times when humans could quickly (b)eat machines on chessboards?

Who could foresee the day when no GM would be interested (dare?) to challenge a synthetic monster?

(Un)fortunately, human power is severely outplayed by human-made binaries since long ago. Today, chess engines are considered to play stronger than humans. Anyone disagrees?

Then what is the next step? A cooperation? Sound logical the same way you'd better drive a car instead of failing to overtake it. 

But of course, the taste of a nice walk is something different to preserve. It's emotional, healtier, natural, more socializing, less thrilling, authentic. Similarly, we may expect human chess will survive forever no matter how stronger machines will play.

On another track, i can't keep myself from dreaming about Formula-1 type of chess competitions where GMs, wearing pilot helmets, will drive their custom tailored engines to outperform their rivals.
 Levon Aronian searching for the bad move just after losing an important game 


Andoid UCI engine update: Komodo 8 v1.6

Now we've got the reptile running much faster. The new v1.6 brings apparently a kind of fat-apk which is supposed to install the suitable version to each device. Good news is that a wider range of Android devices (basically all!) are covered.

Previous versions used to install a 32-bit Arm7 compile only, while the updated one, beyond compatibility with all available devices, promises to deliver its full performance.

Note that Intel cpu's could run older compiles of Komodo 8 but compatiblity was paid off with severely suffered chess performance, due to on-the-run translations to i686 instructions.

From now on, it's OK for all and the reasonably priced engine can be purchased at: GOOGLE PLAY STORE

In case my words are not enough to describe how impressive is the boost, i have two screenshots to tell the truth with numbers:
 ARM7 version running on Intel Z3745: 166 knps

i686 version running on Intel Z3745: 518 knps

November 8, 2014

Hawk Chess 1.1.2: A chess GUI both for the casual player and the pro

A real 3D chess GUI full of serious features

One of last month's nice surprises for me was Hawk Chess, a chess app very well balanced between nice looking and complex It targets not only the casual online players who prefer to play quick games with people on internet and have fun, but also the elo-maniacs interested in strongest engines for analysis, self-torture or engine games.

This app looks like satisfying both parties. If you know enough about GooglePlay community, you will understand how difficult is to achieve this. You respond to one part of users and others give you 1 star, unfairly.

Hawk Chess provides us with:
- Online & Offline play
- A great 3D layout which is usually a sign of a weak chess ai with toy levels. Not this time...
- Own chess engine, Hawk.
- UCI engine importing (Wow!)
- Time controls (2nd wow!)
- Opening book! Even polyglot! (Louder 3rd wow!)
- Tablebases! (4th shock!)
- Engine-to-Engine games (Loudest wow!)

This last feature is really amazing. After running the app for the first time and seeing how good the graphics are, i was not expecting this to work that flawlessly. I can't believe even the engine settings are available.

To be sure, i quickly ran some bullets between Fire, Stockfish and Komodo3 engines. They all worked fine, battled fine. Thumbs up for the engine implementation.

The PV and the scores are not shown the way we're used to see. No digital values, no algebraic moves either. But that doesn't matter at this stage for me.

Regarding the tournament play, i know it's too premature to expect it from such beautiful app. It's really an extreme feature targeting few users, but it should not be very difficult to include a code for batching engine games and stack the results into a specific PGN file. I've already written to the author about this and maybe he will be implementing things in time.

I didn't experiment any online game but user feedbacks are positive about it. Hawk is managing games via a chess server as usual and users are logging in to start play.

It's a paid app with a very reasonable price at GOOGLE PLAY. A piece worth buying.

How many more ELO's for double time?

This is not a new question indeed. One would google it and easily find countless topics.

Well, the question being numeric, the answers are countless too. If you would force me to give a unique answer, i could only say "More..."

Frankly, the ELO gain by doubling the thinking time of a chess engine seems to depend on various factors. The most decisive one, according to programmers, is the search depth which itself increases with more thinking time. Due to continously widening search tree, the increase however, is not linear, rather reversely exponential. This means the increase is significant in lower depths but tends to diminish beyond a treshold which is different from an engine to another.

Simply speaking with fictive numbers for a typical average engine may be:
1 min/game: 2500 ELO
2 min/game: 2600 ELO
4 min/game: 2650 ELO
8 min/game: 2675 ELO
16 min/game: 2688 ELO
32 min/game: 2694 ELO
64 min/game: 2697 ELO
128 min/game: 2699 ELO
256 min/game: 2700 ELO

It was just an example to visualize things. Without any doubt, steps and gains vary in real cases but always in similar trendline, quickly up, slowly closer to the maximum and bump!

Many results from the huge chess history suggest that doubling the thinking time would deliver as high as +200 ELO at lower depths and after "diminishing returns" along deeper plies, falls as low as +50 ELO starting from 20 ply depth. I've just taken a very rough average of hundreds of results i've been reading during years. If you may find different results out of range, no problem. They are already part of the database as rare cases.

Recently i had to conduct my own modest experiment, not because i wanted to add another silly test to the internet database but to my own purpose, i've had to make sure whether one of my Android engines is really using 1 second extra per move or not. A great opportunity to save the world, isn't it?

Discocheck is an abandoned engine after v5.2 and it had no updated compile for Android, only v4.3 available. I didn't use it in my previous 1 sec/move bullet tournaments because it's PV's were always reporting 2 sec/move time usage, for no reason. And when i raised to TC to 5 secs, it used 6 sec, 11 secs vs 10 secs, 16 vs 15 and so on. Always 1 second more than the setting. Weird stuff... Was it a safety overhead or real time usage for searching moves?

I've just had the idea to make this compile play with the other compile of the same version made by Jim Ablett. The latter used to fully respect the time usage but intermittently disconnected from the GUI which makes it impossible to include in tournaments. But in a head-to-head duel, this might be manageable.

I was succesfull in installing two different compiles of the same version under Chess for Android by renaming each under different suffixes and they were able to run simultaneously in a match.
They should tie but double time usage mattered.

At the end, a test of 100 games resulted in 66-34 score in favor of the 2 seconds version vs 1 second version. Once again, the world is saved thanks to my valuable effort and two fantastic findings can now be shared publicly with the humanity:

1) Doubling the time from 1 sec/move to 2 sec/move increases the ELO by 115 when experimented with Discocheck 4.3 engine under Android. Elo difference formula is 400*log(66/34).

2) Discocheck 4.3 compile by Aart Bik is still not eligible for time controlled tournaments under 15 seconds/move.

Beyond all above blah blah from the center of an insane dedication, more importantly, it feels good to see the pratice meets the theory. Kind of a statistical enjoyment...

November 7, 2014

Chess for Android 4.5.1

I feel happy to start using the new version of my favorite GUI Chess for Android, developed by Aart J. Bik. It's good to see him not giving up a wonderful project.

Be it not cosmetic enough to convince casual chess beginners unable to recognize en-passant capture is not a bug, i usually care about functions before the look. This app is 10 stars for me, even though i can fill pages with a list of missing options. For sure, additional feature requests never end but what counts here is the options that no other app, even in paid version, is providing.

CfA is THE ONLY CHESS GUI FOR ANDROID if you want to:
- Import and use Xboard engines,
- Conduct engine to engine tournaments.

The new 4.5.1 version doesn't introduce major changes. In the menu there are voice localizations (i never use the option) and minor UCI engine management improvements like log files cleaning tool.

Anyways, i didn't hesistate to look for trouble and i've installed it. So far, so good for my neverending engine tournaments.

The standard version is available at GOOGLE PLAYSTORE

For the version with remote PC connection you should go to AART'S OWN PAGE. This version is even more interesting for its ability to drive a UCI engine installed on your PC exactly the same way as it resides in your Android device, with the help of an interfacing tool (details in Aart's blog). This is like importing a engine from your PC into your tablet. Therefore, it's a great opportunity to have Android engines playing with their PC rivals.