Thursday, 27 February 2014

Magnus has been a busy boy

World Champion Magnus Carlsen has been quite busy over the past few days. First off, a new G-Star Raw featuring Carlsen has been launched, even making it as far as my home city of Canberra. Walking past the G-Star Raw store in the Canberra to other day, I pointed his poster out to some work colleagues. "Is he the guy having his hair pulled? He doesn't look very happy about it" was the response of one of my workmates.
He has also launched a chess app called "Play Magnus". It is a chess playing app with a couple of extra bells and whistles. The basic app allows you to play against Magnus ate various ages in his chess development (starting at 5 years). Of course you don't actually play Magnus, but a chess engine that has its levels based on the estimated strength of Carlsen at that age.
While in general I think that graduated strength chess engines are a good idea, I fear this implements the idea in a flawed way. Based on the few games I have played against it, I suspect the programmers use the move_score = eval + random_number method. While the engine evaluates the position normally, I adds a random value to the final assessment of each move. At the lower levels this value is usually quite big, meaning the program essentially plays randomly. As the program gets 'older', the random value range becomes smaller, meaning that better moves are more likely to be chosen. The problem I have with this kind of idea, is that to beat the program, you simply wait for a big mistake. A better implementation, from a learning point of view, would instead to have a shallow search to start with, and deepen it as Magnus gets older. This way you improve by thinking deeper than your opponent, which is how we normally improve at human chess.
Apart from the quibble I still like the program and the ideas behind it. The basic program is free from the Apple App Store, while you can pay to have the adds removed and enable extra features.

No comments: