Saturday, January 19, 2019

reading review - the seven deadly chess sins (chess computers)

A couple of decades ago, the expert status of chess grandmasters came under a significant challenge from a long-simmering force: computers. For a few years, the battle raged as humankind’s best representatives went toe-to-toe with (what I assume will eventually be) our future pawn-promoting overlords.

Perhaps the best-known battle from this war was the first game of Gary Kasparov’s 1996 match with IBM’s Deep Blue. Kasaparov employed what I consider a brilliant strategy – he played unusual moves to create strange positions designed to take the computer out of its comfort zone. His idea came after he studied the way the computer analyzed the game and realized it was prone to miscalculations when it was asked to look at unfamiliar positions. (In a way, I suppose this isn’t all that dissimilar to good strategy against a human – study the opponent and try to take advantage of its flaws.) Kasparov lost the game but his approach underscored a deep understanding of the computer's limitations that surely played a decisive role in his comeback to win the match (and, at least for one more year, hold back the unstoppable tide of machine chess).

Rowson does not delve too deep into the world of chess computers in his book, The Seven Deadly Chess Sins. As I mentioned in the previous post, his book is about how humans make uncharacteristic yet systematic errors to lose matches. He did, however, make a throwaway comment that got me thinking a little bit. Here is the general gist of his thought:
“Chess computers stop investigating whenever they conclude that sufficient compensation for an anticipated loss is unlikely. Most sequences that lose a queen, for example, are rejected out of hand simply because it is very unusual to make up for a loss of a queen.”
This ran counter to my expectation for how a computer played chess. My assumption was that a chess computer thought of everything before doing The Best Thing. The method is undoubtedly costly from a computer processing perspective but I figured a machine plugged into the endless wealth of our electrical grid could afford it. However, the way Rowson portrays the chess program paints a very different picture than what I once had in mind.

Let's imagine for a minute that the program’s decision making process looks a lot like a tree. Each time a decision was required, the computer would start at the roots and work its way through the process until it reached a leaf - in this analogy, each of these leaves represents a specific decision. The way I thought a computer arrived at a leaf was that it simply considered each leaf and chose the best possible leaf. What Rowson's thought suggests is that the computer never analyzes all the leaves - instead, it works its way through the various forks and tries to choose the handful of branches that are the most likely to lead to the best leaf. In other words, the program doesn't pick out the best move out of all possible moves, it picks the best first few steps that are the most likely to eventually lead to the best move.

What’s the point of this little aside from the usual urgent business of True On Average? Well, reader, I think it’s a good opportunity to point out that computers think more like we do than is commonly portrayed. This might not be too surprising if you consider that humans made computers – how else could we program them to ‘think’ except in our own image? But even if we understand this, I still think the result is a little counter-intuitive because we assume the computer's vastly superior calculation ability exempts it from needing to think. This might be true in certain cases but as long as a computer's ability to calculate is restrained by our ability to define the formulas and provide the numbers, it will eventually run into the same problem we have and end up doing the most likely thing to be right instead of the absolutely right thing.

Those who understand how computers think create opportunities for themselves. Kasparov’s strategy against Deep Blue is a good example. Some observers might have protested – why not wait until later on in the game to play those strange positions? But by then, the computer would have fewer options – fewer ‘branches’ – to consider, and its likelihood of finding the best move – the best ‘leaf’ – would be much higher than in the early stages of the game.

Kasparov didn’t win in the end. Despite my enthusiastic approval of the tactic, it Kasparov wasn't enough to keep Kasparov from going down to the computer a year later in a famous defeat. Chess is really a results business and a strategy that does not win should only be lauded in the darkest corners of the internet (TOA: where you need a flashlight). A major factor in the defeat was how computers continued to evolve in the year between matches and the kind of processing that was too costly in computing terms just a year ago became feasible with advanced technology. Alas, in the end even Goliath can become powerful enough to calculate the exact trajectories of the stones flying from David's sling in time to step aside and crush all opposition.

However, I think the matches demonstrated an important truth about our future with computers and, in a larger sense, a truth about competition - as long as we are willing to adapt given a particular opponent's strengths and weaknesses, we'll always have a fighting chance. It would be all too easy to look at the result against Deep Blue and say that in today’s world, we are all Gary Kasparovs, fighting valiantly right up to the bitter, inevitable end. This could indeed turn out to be the case. But let’s not forget that Kasparov showed us a universal truth - a computer does certain things well because it does other things poorly. Anyone who remembers this will find that even the longest odds are no guarantee of defeat.