Associative Memory Implementation for Object Recognition

Our approach is based on an efficient associative memory, The basic operation we need is partial match association over heterogeneous keys. More specifically, we want a structure into which we can store and access (key, association) pairs where the key and association objects may be any of a number of disparate types. Associated with each object type employed as a key is a distance metric. The ideal query operation takes a reference key and returns all stored (key, association) pairs where the key is of the correct type and within a specified distance of the reference key in the appropriate metric. In practice, this ideal may have to be modified somewhat for efficiency reasons. In the current implementation, the memory is just a large array of buckets each of which can hold a variable number of (key, association) pairs. This allows a number of different access schemes to coexist. In particular, hashing, array indexing and tree search can all be implemented efficiently. Associated with each key type are functions defining a distance metric and a search procedure for locating keys in the memory. This allows a large amount of flexibility in the system, and permits new key types to be added in a modular fashion.

Back to recognition page

Back to Randal Nelson's home page