"We know what a person thinks not when he tells us what he
thinks, but by
Isaac Bashevis Singer (1904-1991)
This section on computer chess is designed to be of interest to chess players who want to know what the weaknesses are of the chess playing metal monsters by getting a basic understanding of how they work and then playing on their weaknesses.
Lets face it - computers did not used to be very good at chess. Nowadays however, there are programs such as Fritz, Chess Genius and Rebel 8 which can destroy strong human chess players especially at blitz and especially in tactical positions where their brute force approach is most effective. And now even Kasparov has lost in a match against the IBM metal monster Deep Blue! The time is now ripe to start getting our own back on them by understanding their weak spots and playing appropriately. This section hopes to provide valuable resources in this respect.
One of the fundamental methods used in all commercial chess playing programs is "Minimax".
Assuming there is a position assessor that converts all judgements about a chess position into a single overall quality number. [Yes this is a total insult to chess]. Assume now, that positive numbers reflect advantage to one player and negative numbers reflect advantage to the other. Also assume that the amount of advantage is indicated by the absolute value of the number. The player hoping for positive numbers is called the maximising player or the maximizer. The other player is called the minimizing player or minimiser hence the term "Minimax".
A very valuable extension to Minimax is "Alpha-Beta Pruning".
Alpha-Beta Pruning Overview
This improvement takes out a lot of the hassle of the computer to have to analyse every move on its game tree. It uses two parameters called "Alpha" and "Beta" to keep track of expectations. The principle behind it, is to basically to assume that if an idea is bad, not to invest further valuable computer resources investigating it more deeply. [No deep thought for the sake of it].
The computer is examining two materialistic moves to play against its human opponent, call them Move X and Move Y. Move X it seems is favourable. It wins loads of material.
The computer sees that its opponent can play a really good move against Move Y however. It therefore doesnt bother looking at other things, its human opponent can do against Move Y. It chooses Move X, which it knows its poor human opponent cant do anything about.
There is no element of bluff using this method. The computer will reject a seemingly really good move, if there is only one move available at the opponents disposal out of a possible 50 say, which refutes that move. Humans by contrast might take a risk and hope that the poor opponent falls for his trappy move. Then after the game rub it in, by pointing out the cunning defence or refutation which was available!
Progressive Deepening Overview
In order to search game trees under normal tournament conditions, i.e. under strict time limits, it is necessary to not have the amount of thought fixed to say 10 moves deep, for every single move. Only If the computer has time, should it have the luxury of looking very deeply. Progressive Deepening essentially gets round this problem by analysing each situation to depth 1, then to depth 2, then to depth 3, etc until the amount of time allocated for that move is used.
Heuristic continuation Overview
In order to fight the horizon effect (which in chess players terms is when you have missed the sting in the tail of a forcing sequence of moves which you previously thought were okay), there are various techniques which have been developed such as the singular-extension heuristic, and the search-until-quiescent heuristic.
This page belongs to: