Pattern Memory Technology (PMT) - Description
Conventional Hashing Algorithms:

Hashing algorithms are used in nearly every computer operating system and database management system in the world. Their value is high speed matching of patterns to  data associated with that pattern. For example; finding the data associated with a 64 byte alpha-numeric  security code. By generating a random memory location  unique to the security code, hashing algorithms access the data directly  in one step rather than searching millions of codes for a match. Even the slightest change in the code will generate a randomly different memory location. Given the random nature of the process, two randomly different patterns can generate the same memory location (called a collision). Collisions are resolved by storing and comparing colliding patterns to assure an exact match. Conventional hashing algorithms work well when finding an exact match.  Obviously, an approximate security code match would be unacceptable.

PMT's Similarities to Conventional Hashing Include:
* Each pattern generates random memory locations (where pattern ID information is stored)
* Collisions occur (different patterns generating same memory locations)
* Pattern data (e.g. Pattern ID) is accessed in one step (i.e. O(1) time); no searching is required

Important Differences from Conventional Hashing:

The most important difference is that PMT can also match similar patterns while maintaining the speed benefits of conventional exact hashing. This is a sought after feature for a broad range of pattern recognition applications. Raw pattern data, whether from a video image or biomedical sensor, is rarely exact which makes conventional exact hashing an unacceptable solution. When processing similar patterns, PMT will generate memory locations that are localized in a cluster of nearby memory locations. When collisions occur, they are from similar patterns. This clustering of similar patterns occurs automatically as the patterns are sampled and is unique to PMT.

Probably the biggest difference compared to conventional hashing is the concept that originated PMT. PMT originated from models of sensory information processing in biological systems. Specifically, that patterns of information are represented  by means of neural oscillations. PMT is the first practical implementation of neural oscillatory models. Properties of this model account for its incomparable performance features as listed below.

PMT Features:

* The process works simply by sampling the pattern
* The most complex computation is integer addition which sequences the sampling
* Patterns never need to be directly compared for a match
* As a result, the actual patterns need not be stored
* Pattern parameter magnitudes do not require quantization (eliminating quantization errors)
* Similar patterns are automatically mapped to a localized cluster of nearby memory locations
* It dynamically learns new clusters in a continuous real time environment
* Query times are 2 to 10 microseconds for training and/or just recognizing (Windows 7, 2.60
   GHz processor)
* It is implemented by 4 simple function calls that are easily scalable to a broad range of applications
* Its simplicity and speed make it ideal for embedded real time applications
 How PMT Works:

Individual points within a pattern are sampled in a random sequence determined by the value of each sample. This process automatically converges to a repeating cycle of sample points determined by the entire pattern. The cycle identifies memory locations where the pattern’s identity is stored. Each unique pattern generates a single unique cycle that identifies unique memory locations. Similar patterns will converge to similar cycles that identify the same memory locations or a nearby memory locations. As a result, similar patterns are automatically clustered in a small area of nearby memory locations. By storing the identity of any one pattern in its memory locations and its nearby memory locations, similar patterns will automatically generate the same identity. As a result, clustering of similar patterns is inherent to the sampling process without the computational complexities of other methods (e.g. Locality Sensitive Hashing).
Lwerth@PatternMemory.com
Pattern Memory, Inc.  | 4490 Oak Chase Way  |  Eagan, MN 55123  |  USA