Author: Thorsten Czub
Date: 06:43:05 12/30/05
Go up one level in this thread
When should we expect a major breakthrough in science ? When will a lone developer 'step through the looking-glass' ? Who will this developer be ? The answer to the above two questions is of course whenever the old, classical programmers say 'we've reached perfection, there is no way to improve'; when the old paradigm says 'there is only one way'; when all the developers produce roughly equal results. I call this type of search Artificial Stupidity (AS). Since all the current programs operate in this way, ELO grading lists and inter-program tournaments are no more than a reflection of the partially-sighted playing the blind, whose AS algorithm is most efficient, but it is not chess. To play chess without knowledge of chess is not to play chess, strong players will always beat such programs with superior knowledge. The classical program play chess as if it were the First World War in the trenches, no concept of mobility, no concept of cooperation of forces, no concept of knocking the enemy off balance with well timed blows; just material and pawn structure - if it plays boring chess, that's why - if it blunders against club players, that's why. It understands nothing of consequence. The philosophers of classical search claim that search finds everything and knows everything - The 'looking-glass' program can calculate the attack strength FROM ITS EVALUATION FUNCTION. So, without actually finding mate or material win, the looking-glass program has the dynamic knowledge of the attack. The looking-glass program has dynamic knowledge from its evaluation function. The looking-glass program is a planner, the classical program is a finder. The looking-glass program is pro-active, it makes plans to exploit the position; the classical program is re-active, it waits for a mistake by its opponent and then exploits it. Who will be the developer ? =========================== To answer our third question - 'who will be the developer ?', it is necessary to look at the personality of the classical programmers and their hangers-on. These programmers are characterised by a failure to show their emotions (do they ever smile), fear (just watch them operating at tournaments), refusal to discuss how their programs work (just try talking to them) , aversion to taking risks. It has always surprised me that the 'top' programmers are not good chess players. The hangers-on only make a little money, they jealously support their chosen proteges, and viciously attack their opponents. The hangers-on know little, pretend to know much and are governed by fear and greed. Overall the impression is of a static, non-risk taking, hostile, World War I environment. The new paradigm will come from an unexpected quarter. From a developer with extrovert personality, accustomed to taking risks, a developer with chess knowledge, probably someone unpopular with the classical paradigm supporters, certainly unpopular with the hangers-on and computer chess entourage. This developer will have been and certainly will be furiously attacked by the classicists. The new paradigm differs from the classical by one simple conceptual switch. The classical paradigm makes fast and simple evaluation at each node and generates intelligence from the search tree. The classical programmer looks for ways to make his search more efficient and his evaluation function simpler and faster. The 'looking-glass' paradigm makes slow and complex evaluations at each node and prefers to prune the search tree by use of this evaluation function. In this model search is to be avoided unless absolutely necessary. Thus the search tree is not central to the new paradigm, rather the search tree is used to find details overlooked, or mistakes made, by the evaluation function. The 'looking-glass' paradigm has the components of human thought - detailed, intuitive evaluation, with search carried out to ensure that the program is not falling into any traps. I estimate that the difference in nodes per second between and extreme classical program and a 'looking-glass' program will be of the order of 20-30 times, sufficient to give the classical program an extra two plies of search (albeit with reduced knowledge at the nodes). Thus the increased knowledge of the 'looking-glass' program has to compensate for this apparently reduced search depth. The looking-glass strategy necessitates much programming effort, and requires the programmer to have an exceptionally good knowledge of chess strategy and tactics. When such a program is first being developed it will constantly be outplayed by classical programs, for classical programs see everything within their horizon and the newly developing 'looking-glass' program cannot yet hope to know sufficient tactical and positional themes to compete, but our experience shows that once breakthrough (a knowledge o f sufficient chess themes to compensate for reduced search depth) occurs the looking-glass program begins to consistently outplay the classical programs. Further advantages emerge from the high level of chess knowledge in the evaluation function - better move selection and move sorting, resulting in more efficient search - more possibilities of accurate forward pruning, resulting in smaller search trees. With increases in tree size (from faster hardware), these advantages are geometric. The classicists maintain the computer chess dichotomy of B-search (which I understand means pruning occurs at all levels of the tree) or A-B Search (which apparently means that part of the search is full width). The looking-glass programmer condemns this dichotomy as meaningless. The new paradigm makes the issue clear: chess programs either have simple evaluation and generate intelligence through search, or have complex evaluations and use limited search as a backup to cover oversights and mistakes. All chess programs prune in one way or another, but looking-glass programs, with complex evaluation, are able to prune more. Of course, the issue is not so black and white. There is a grey scale between the extreme looking-glass (human play style) and extreme classical style. At the classical end of the scale the B or A-B dichotomy tries to position the program on the scale, but basically classicists believe in search. At the looking-glass end of the scale the issue is how much does the evaluation function allow us to prune or extend - how many risks can we take based on our evaluation function ? Basically looking-glass programmers believe in evaluation. Von Manstein ============ If, as is said, chess is war, then there must be lessons to be learnt from military history. I have already alluded to the static, boring First World War style of the classical programs (and their programmers !). The opposite style can be found in several histories, Rommel in North Africa, Alexander the Great against Darius, Von Manstein in Russia. Alexander, despite being outnumbered many times, concentrated the powerful mobile part of his army, attacked the stronger Persians, cut through and went straight for Darius himself. The bulk of Darius's army was not engaged, but the battle was decisively won - a classic king attack. Von Manstein (and Rommel) both understood that the power of the outnumbered German army lay in superior staff work, concentration of forces, striking blows to knock the enemy off balance. The looking-glass chess program must contain knowledge of these dynamic elements; and it is only the looking-glass program that has the knowledge and evaluation time available to calculate such ephemerals. Tal function ============ To find a chess player who understood the king attack, the concentration of forces, the striking of blows to unbalance the opponent, one need look no further than Michael Tal, Russian grandmaster, and player of such romantic and swashbuckling style that his games continue to thrill all lovers of chess. http://www.thorstenczub.de/complcss2.html
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.