PATTERN RECOGNITION AND PATTERN-DIRECTED INFERENCE IN A PROGRAM FOR PLAYING GO1

Skilled human Go play presumes the ability to recognize and make inferences from many different kinds of complex patterns. The Go playing program described here deals with these various pattern recognition activities in terms of a small set of basic scanning and recognition mechanisms. All of the program's inference processes are defined with respect to these mechanisms. The treatment of pattern similarity is conservative. Novel configurations are broken down into subpatterns, and subsequent inferences regarding such configurations are based upon the properties of the subpatterns and the relations among them. The basic functions carried out by the recognition and inference system include establishing appropriate multilevel pattern organizations; maintaining and updating pattern interrelations as the board situation changes; recognizing configurational identities and similarities; monitoring and filtering situational changes with respect to their implications for higher-level planning and problem solving functions; and providing predictively useful pattern information for planning. Although still very weak by human standards, the program is demonstrably stronger than previous Go programs. In particular, tests of its performance resulted in the first reported win by a program against a nonnovice human player.