Patent GB-1260756-A (GB)
Title: Adaptive pattern recognition system
IPC: G06V30/194
Filed: 1969-02-28
Abstract: 1,260,756. Pattern recognition. INTERNATIONAL BUSINESS MACHINES CORP. 28 Feb., 1969 [28 March 1968], No. 10806/69. Heading G4R. An adaptive pattern recognition system comprises means for calculating-probabilities that a given combination of characteristics is indicative of a certain pattern of characteristics based on previously analysed samples, for preparing data consisting of representations of-tree dependence relationships between points representative of the chacteristics of the -previously analysed samples based upon the probabilities, the representations specifying which points are linked together in the tree, for storing data consisting of the representations of tree dependence relationships, and for processing characteristics of patterns in accordance with the store representations of tree dependence for pattern identification. Learning.-For each pattern to be recognized, in turn, 1000 samples are presented to a feature extraction device 10 which provides a pulse on line 17 for each sample and a pulse on a respective feature line 11-16 for each occurrence of each of six features. Fifteen analogue computers 20 each calculate the "mutual information" (see below) of a respective pair of features, the pairs being (1,2), (1,3), (1,4), (1,5), (1,6), (2,3), (2, 4), (2, 5), (2, 6), (3, 4), (3, 5), (3, 6), (4, 5), (4, 6), (5, 6), and after 1000 samples, a sample counter 19 energizes a relay to pass the values of mutual information to capacitor memories 24. The values are compared with a sawtooth voltage at 26, the highest setting a respective flip-flop 29 and resetting itself so that a further application of the sawtooth will select the next highest, and so on. In this way, the 6 features are linked together in pairs in order of decreasing mutual information, except that a "closed loop avoidance module" 38 (see below) vetoes any link which would result in a closed loop of links. The sawtooth is repeated until 5 non-vetoed links have been selected. Each set flipflop 29 representing a non-vetoed link sets a respective one of a plurality of socalled "tree flip-flops" at 51, 52 ... or 53 according to the identity of the pattern being trained, via selection gates 41, 42 ... or 43. Weighting analogue computers 66, fed with analogue voltages from the computers 20 (see below), set weighting resistors (see below) in a summing network 59, 60 . . . or 61 respective to the pattern being trained. Mutual information for two features X l  and X j  is where N 01  means number of samples where X j  = 0 and X j  = 1, the first subscript representing the value of X i  and the second the value of X j  and similarly for N 00 , N 11 , N 10  where both subscripts are numbers but N io  means the number of samples where X i =0 since i is the first subscript and the value 0 is the second, and similarly for N i1 , N j0 , N j1 . N is the total number of samples. Note that N i0 =N 00 +N 01 , etc. Weighting.-The weights calculated by computers 66 are: (a) a "second order weight" log (N 11 N 00 /N 01 N 10 ), for each pair of features separately, (b) two "tree dependent first order weights", for each pair of features separately, viz. log(N 10 N i0 /N 00 N i1 ) and log (N 01 N i0 /N 00 N j1 ), the two weights relating to the two features of the pair respectively; (c) an "independent first order weight", log (N i1 /N i0 ), for each of the five values of the first feature identifying-number in the pairs above, separately, (d) an "independent first order weight", log (N i1 ,/N/ j0 ) for value 6 of the second feature identifying-number. Computers 20, 66.-Each mutual information computer 20 receives its respective two of the pulse-carrying feature lines 11-16 and ANDs them together in true and inverted forms to feed integrators via monostables to produce analogue voltages representing N 00 , N 11 , N 01 , N 10 . A further monostable and integrator produce an analogue voltage representing N from the pulses on the sample line 17. Otherwise the computers 20, 66 use analogue summers, multipliers, dividers, subtractors and logarithmic amplifiers in a straightforward way, including use of the formula log A/B= log A - log B. Closed loop avoidance module, 38.-When a flipflop 29 is set, and assuming it represents the features X i  and X j , say, the ith and jth of 6 correlation registers (which at the beginning of the training of the pattern held i and j respectively) are gated to a "write" and a "mark" register respectively. Each correlation register having the same contents as the "mark" register now has them replaced by the contents of the "write" register. If the "write" and "mark" register contents are equal, the pair of features is vetoed (see above). If the pair is not vetoed a counter in the sawtooth control 32 is incremented, the sawtooth repetitions stopping at a count of 5. Setting of weighting resistors.-In each summing network 59-61, each of 6 "feature" resistors is set according to the sum of the "tree dependent first order weights" (see above) relating to the respective feature in all pairs containing the feature and for which the respective tree flip-flop is set, plus a respective one of the 6 "independent first order weights" (see above). In addition, each of the "second order weights" (see above) sets a respective "feature-pair" resistor, in each summing network 59-61. Recognition.-The feature lines 11-16 are ANDed in pairs by "combination of two" AND gates 30 and those outputs corresponding to set tree flip-flops (the tree flip-flops specifying which pairs of features are to be used in the recognition) are passed by recognition gates 56, 57 ... 58 to the summing networks 59, 60 ... 61 respective to the respective possible patterns, each energizing a respective one of the "featurepair" resistors. In addition, each of the feature lines 11-16 energizes a respective one of the "feature" resistors in each summing network. All the resistor currents are summed in each summing network 59, 60 ... 61 and the largest sum, detected at 67, identifies the pattern.