Approximate Matching With Ternary States to Reduce Memory Use
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing matching techniques, such as exact matching, suffer from exponential growth of potential matches and resource inefficiencies as data sizes increase, particularly in applications where not all features or subconditions are known, leading to challenges in processing and memory usage.
Innovation Solution
Approximate matching techniques using ternary and quaternary representations, along with hardware instructions like ANDN, are employed to handle partial matches and reduce the number of bits required per entry, allowing for efficient handling of unknown or irrelevant data points.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If exact matching is used to match values of a row against a table, then processing efficiency is maintained at smaller data sizes, but the number of potential matches grows exponentially as data size increases, slowing down processing and consuming excessive memory and networking resources
Solution Approach 1:
The patent changes the matching parameter from exact equality to approximate similarity by introducing a distance threshold. Instead of requiring exact matches, the system calculates the distance between query vector and stored vectors, retaining only those within a threshold distance. This parameter change transforms the matching problem from exact matching (exponential growth of matches) to approximate matching (controlled number of matches), directly resolving the contradiction between processing efficiency and the quantity of potential matches.
Solution Approach 2:
The patent replaces the mechanical exact-matching system with an approximate-matching system using vector distance calculations. By substituting exact equality checks with distance-based filtering, the system achieves more scalable performance. This substitution allows the system to handle larger datasets without the exponential match growth that plagues exact matching approaches.
2Measurement precision
If exact matching is used, then matching accuracy is maintained, but memory usage and networking resources are consumed excessively as data size increases
Solution Approach 1:
The patent changes the matching parameter from exact equality to approximate similarity by introducing a distance threshold. Instead of requiring exact matches, the system calculates the distance between query vector and stored vectors, retaining only those within a threshold distance. This parameter change transforms the matching problem from exact matching (exponential growth of matches) to approximate matching (controlled number of matches), directly resolving the contradiction between processing efficiency and the quantity of potential matches.
Solution Approach 2:
The patent uses vector representations as compressed copies of data that capture essential characteristics without requiring the full original data to be stored and transmitted. By working with compact vector embeddings rather than complete data records, the system reduces memory and networking requirements while maintaining meaningful matching accuracy.
Data Source
AI summary
A first set of subconditions is obtained. Approximate matching of the first set of subconditions against a plurality of sets of subconditions is performed. A second set of subconditions among the plurality of sets of subconditions is accessed, wherein a representation of a subcondition in the first set and/or the second set of subconditions comprises a value having one of a plurality of states, and wherein the plurality of states comprises a state of “don't care”. The first set of subconditions is approximately matched against the second set of subconditions. The first set of subconditions is compared against the second set of subconditions. A matching criterion is determined to be met based on a result of the matching. Information indicating that the second set of subconditions is at least an approximate match for the first set of subconditions is output.


