Author: Robert Henry Durrett
Date: 14:16:47 05/17/02
The general topic, not limited to chess, of "pattern recognition" is of great interest to the global technical community, and this interest is surely not limited to software developers. It seems likely that many papers have been written about this topic in many different technical journals [most of which would be "way over my head"]. Incidentally, the papers may be written by "those found in Universities, like Bob Hyatt, for example, or funded by governments or non-for-profit foundations" but chess programmers are not excluded. Pattern recognition is also a very important topic for serious chess players, especially chess grandmasters and chess psychologists. The ability of GMs to recognize the similiarity of the position at hand to a similar position encountered previously is said by some to be the primary factor that distinguishes a GM from a chess amateur. [Personally, I suspect that the ability to think fast, i.e. high IQ is equally important.] Chess books intended for learners often spend a lot of time in teaching the learner how to recognize important patterns, such as positions leading to White sacrificing a bishop on h7. The basic idea seems to be that the GM, recognizing the similarity of the given position to a remembered position, also recalls information as to how to proceed. It makes possible the recognition of the possibility of formulating a plan, based on past experience, and finding a way to implement, or "realize" that plan. The logical application of these ideas to chess engine programming seems obvious, even though creation of appropriate algorithms and coding surely is FAR from obvious. Nowadays, you hear about modern engines being "knowledge based." Presumably, this means that the evaluation of "leaf nodes" is more sophisticated than in the past. But coming up with a numerical evaluation for a leaf node is not the only thing that could be done with the information gained about a leaf node. Intuitively, it seems to me that it is precisely at the time a leaf node is being "evaluated," using "chess knowledge," when the opportunity presents itself for pattern recognition, as performed mentally by GMs, and the "recall" of information as to which approach or "plan" worked from the similar position in the past. Recognition of the similarity of the position to a stored position could prompt recall of planning information. This information could then be used in a way the programmer choses to focus or narrow down furthur computation. This idea is not limited to the use of leaf node information. The pattern recognition might begin, or be ongoing, even from the beginning. Sophisticated multiprocessor chess computers are "right around the corner" and parallel processing within a multiprocessor is already here. Why not let one or more of the processors be dedicated to pattern recognition of the kind suggested above? Let these processors influence the search for the "best move." Of course, this may seem futuristic. It may never happen, due to marketing considerations. But if it does happen, it will be because dedicated chess engine programmers desire to make stronger and stronger chess computers, even if not profitable. Sometimes "fortune" without "fame" is not enough!
This page took 0.01 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.