Meteor Tree Subsequence Matching Linear Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing subsequence matching algorithms have a high time complexity of O(n2), making them computationally expensive, especially for large problems, which is inefficient for applications like DNA sequencing and document similarity analysis.
Innovation Solution
The implementation of a Meteor Tree data structure that uses presence bit maps, sequence bit maps, and address pointers to traverse and search for subsequences in linear time, reducing the number of character comparisons and optimizing memory usage by not reserving space for non-existent child nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional subsequence matching algorithms are used, then subsequence matching can be performed, but the time complexity is O(n2) making it computationally expensive
Solution Approach 1:
The patent segments the subsequence matching problem into three independent components: presence bit maps (tracking which characters exist), sequence bit maps (tracking character positions), and address pointers (tracking node locations in the tree structure). This segmentation allows each component to be processed independently and efficiently, reducing the overall time complexity from O(n2) to linear time O(n).
Solution Approach 2:
The patent introduces an intermediary tree data structure that acts as a mediator between the input sequences and the matching result. This tree structure with bit maps and address pointers serves as an intermediate representation that enables efficient querying and matching operations, avoiding direct O(n2) comparisons between all character pairs.
2Reliability
If traditional algorithms are used for large input strings, then matching can be performed, but computational expense becomes prohibitive
Solution Approach 1:
The patent performs preliminary actions by pre-processing the input sequences into tree structures with pre-computed presence bit maps, sequence bit maps, and address pointers before the actual matching operation. This pre-processing enables the main matching query to execute in linear time, significantly reducing computational energy requirements while maintaining matching accuracy.
3Ease of operation
If space is reserved for all possible child nodes in the tree structure, then memory access is simplified, but memory usage increases significantly
Solution Approach 1:
The patent applies local quality by making the tree structure sparse rather than dense. Instead of reserving memory space for all possible child nodes uniformly, the implementation only allocates memory for actual child nodes that exist in the data. The address pointers provide indirect access, allowing efficient navigation to existing nodes without wasting space on non-existent nodes.
Solution Approach 2:
The patent makes the tree structure dynamic by using address pointers that can adaptively point to the actual location of child nodes in memory. This dynamic approach allows the tree to grow and shrink based on the actual data content, rather than being constrained by a fixed, pre-allocated memory structure, thereby optimizing memory usage while maintaining access efficiency.
Data Source
AI summary
An embodiment of providing a computer-executed method of subsequence matching is provided. The method comprises receiving a search string. A plurality of subsequences for the search string are stored in a tree structure. The tree structure comprise a plurality of nodes. Each of the plurality of nodes comprises a presence bit map, a sequence bit map, and a list of address pointers. The method further includes traversing the tree structure using the search string, the presence bit map, the sequence bit map, and the list of address pointers. Additionally, the method includes identifying, in linear time, the plurality of subsequences based on the search string, the presence bit map, the sequence bit map, and the list of address pointers.


