GM Joel on Even Stronger Computers Print E-mail
By GM Joel Benjamin   
April 3, 2008
Dear Mr. Benjamin,
Having followed your career since your smiling, boyish face first appeared in Chess Life and Review back in 1975--when you played in the U.S. Open in Lincoln, NE--I was glad to look at your newest book American Grandmaster.   It certainly contained a lot of interesting chess trivia, which is what I like to read.
I would like to pose a question about GM's playing against top-rated computer programs such as Fritz 11 and Rybka...
In order for computer programs to increase their winning chances against the world's elite, why couldn't a computer be programmed to make moves that purposely "randomize" certain chess positions in a game, thus making human errors virtually inevitable?  In other words, players like Kasparov, Tal, and Alekhine were known to create complicated positions and they thrived on them partially because their (human) opponents often lost their way, blundered, and lost.  Couldn't a computer be programmed to purposely steer for such positions?
In fact, the computer could bring about such positions where perhaps the machine would be, arguably, at a slight disadvantage but in a complicated-enough situation, the human would almost certainly go astray relatively soon and the computer would gain the upper-hand.
Somehow, one would think that in such scenarios a computer could win almost every time.  Perhaps a Fischer-like 6-0 score could be achieved against the likes of Kramnik or Anand...or Kasparov.
Howard S. Sample

Dear Howard,

Let’s start by acknowledging that computers don’t need to increase their winning chances against the world’s elite—they are already much stronger and can crush any grandmaster in a match without a handicap.  But your question is still relevant in the case of a draw-odds match like the one I contested against Rybka in January.

If a human can score the point by drawing the game, the computer would definitely want to avoid quiet, simplified positions.  Programmers currently have a few tools at their disposal.  They can discourage trades, and install a “contempt factor” that will make the computer accept a disadvantageous position rather than allow a draw.  They would love to steer the computer into “randomized” positions, but defining that for computers is extremely complicated.

Now I understand what you mean; you want positions with a lot of tactics that are difficult to calculate.  But this has to be precisely defined for the computer.  How do you measure the tactical nature of a position?  Computers are also comfortable calculating any position, so they can’t anticipate where the human mistakes are going to come.

Also, the search process for chess engines is based on assuming the best moves for both sides.  Computers do very well striving to play the best move at all times.  Asking them to play inferior moves to coax mistakes is opening up a can of worms.

Remember that chess computers have virtually no contextual knowledge beyond the position on the board.  They don’t know anything about the strengths or weaknesses of their opponents.  When I suggested to Larry Kaufman, co-programmer of Rybka, that he could encourage the program to bring about changes in the position when the opponent is in time pressure, he told me that Rybka doesn’t even know how much clock time its opponent has left.

I don’t mean to say your idea cannot be implemented.  But it requires a painstaking articulation of the conditions necessary for the computer to reject a higher valued move.  Then the programmer has to test to see if the change actually benefits the machine.  As I said, computers are already dominating humans and much of the programming effort goes towards surpassing other computer engines.  So the incentive to solve your problem is not very high at this point in time.