Meteor Tree Subsequence Matching Linear Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesubsequence matching speedVSAvoidcomputational time
Core Design Contradiction:
ProductivityVSLoss of time

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).

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional algorithms are used for large input strings, then matching can be performed, but computational expense becomes prohibitive

Engineering Contradiction:
Improvematching accuracyVSAvoidcomputational energy
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvememory access efficiencyVSAvoidmemory space
Core Design Contradiction:
Ease of operationVSQuantity of substance

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8204887B2System and method for subsequence matching
Publication Date: 2012.06.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8204887B2 patent drawing
  • US8204887B2 patent drawing
  • US8204887B2 patent drawing

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.