Providing Solutions to Common Technical Problems
Clustering Similar Patterns in High Dimensional Noisy Raw Data
Any particular pattern could have a large number of descriptive attributes (i.e. dimensions). In the PMT Demo example, each of the 100 digits in the pattern could represent the status of a specific attribute that could define 10 to the 100th possible patterns . Using conventional methods, the computation time to cluster similar patterns grows rapidly (exponentially) with the number of the dimensions. This is a common clustering or pattern search problem and named more than 50 years ago as "The curse of dimensionality".   PMT solves this problem. PMT clusters similar patterns simply by sampling them. It does not directly compare any one pattern to another and does not store them. Given a larger dimension pattern PMT simply samples more points. As a result PMT performance is largely independent of pattern dimensionality.
Real Time Tracking of Movement in Video Images
The common problem is to find a set of points in one image frame that can be identified as the same points in another frame, even though the two images are somewhat different between different camera views or between sequential frames from the same camera. This problem has existed since video has existed and as a result has been given the name; "The Correspondence Problem".

PMT  Solution:
Distribute an overlapping grid of 10X10 pixel sub images over a given region of a video frame. PMT is processes each sub image and the coordinates of its current grid location is stored at the memory locations generated. The sub images in this frame are the training set. With movement in the image, subsequent frames will have some of the same 10X10 sub images (with some distortion) displaced to a different grid position. The grid is again processed with PMT and any of the same displaced sub images will be recognized and provide the grid coordinates of where it was in the previous frame. New unrecognized sub images are assigned their current grid coordinates. Sub images recognized with the same grid position as its current position have not moved.  The process continues at speeds of more than 250,000 sub images per second to track objects or background movement. PMT's simplicity and performance opens the potential to build optical flow cameras that are critical to motion visual guidance solutions.
Real Time Signal Processing Using Vector Quantization
Vector Quantization is commonly used in Signal Processing for compression and recognition. The problem is building the codebook which identifies a single pattern that represents each similar cluster. This process is slow and restricted by the technical problems above. PMT can build the codebook in real time simply by sampling the patterns. It can also update the codebook with any new clusters as they occur.
Hierarchical Machine Learning
Pattern Integration in Time
Continuous speech recognition is an example of using PMT for hierarchical machine learning in time. First, speech sounds are preprocessed and represented as a spatial frequency map similar to the cochlear of our ear. PMT monitors the continuous speech patterns  in real time as clusters are identified that represent the basic sounds of the language (e.g. phones). The clusters emerge because the phones occur more frequently and because they present more stable patterns in time separated by plosives. The process generates a continuous stream of IDs which is also a pattern consisting of a stream of numbers. A second level PMT process the ID stream and identifies clusters of sounds at a higher level (e.g. phonemes) and produces another ID stream. Ultimately, in a supervised learning mode, higher level clusters (phrases) are assigned meaning. This process occurs automatically in real time simply by monitoring continuous speech and its success relies only on the existence of similar clusters. No patterns are stored, no patterns are directly compared, and no complex mathematical representations of speech are needed. Cluster IDs become the common processing language.

Spatial Pattern Integration
The above example relates to building higher level clusters in time (temporal integration).  Cluster ID,s can also be integrated simultaneously from multiple real time sensors of different types (e.g. visual and audio). Or, equivalently from different regions of a single very high dimensional pattern (an entire image). Again, cluster IDs become the common processing language throughout the hierarchy and independent from the pattern source.
Lwerth@PatternMemory.com
Pattern Memory, Inc.  | 4490 Oak Chase Way  |  Eagan, MN 55123  |  USA