Trie Search Using Length Difference Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database search methods, such as those using trie data structures, require a large number of calculations to find the closest symbol string to an input, leading to long processing times due to the extensive number of symbol strings in databases.
Innovation Solution
Calculating the shortest possible length difference and a reference value at each calculation point in the trie data structure, allowing for early termination of branches that cannot provide a better distance, thereby reducing the number of necessary calculations and speeding up the search process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If all calculation points in the trie data structure are calculated to find the best symbol string, then the accuracy of finding the closest symbol string is improved, but the calculation time and computational complexity increase significantly
Solution Approach 1:
The patent applies preliminary action by calculating the length difference between the input symbol string and each branch's symbol string before performing full distance calculations. This preliminary calculation allows the system to identify and eliminate branches that cannot possibly yield the optimal result, thereby reducing the number of full calculations needed while maintaining accuracy.
Solution Approach 2:
The patent implements partial action by performing only necessary calculations on selected branches rather than all branches. By using the length difference as a filtering criterion, the system performs partial distance calculations only on branches that have the potential to contain the closest symbol string, avoiding excessive calculations on branches that cannot improve the result.
2Quantity of substance
If the number of symbol strings in the database increases, then the comprehensiveness of the search is improved, but the number of required calculations increases leading to longer processing time
Solution Approach 1:
The patent applies segmentation by dividing the database search into independent branches of the trie data structure. Each branch can be evaluated separately using the length difference criterion, allowing the system to process large databases by breaking them into manageable segments that can be filtered and processed independently.
Solution Approach 2:
The patent uses preliminary action by calculating length differences for all branches before performing full distance calculations. This preliminary filtering step allows the system to handle large databases efficiently by eliminating irrelevant branches in advance, thereby maintaining search speed even as database size increases.
3Reliability
If distance calculations are performed for all branches, then the reliability of finding the best symbol string is improved, but the computational complexity and resource consumption increase
Solution Approach 1:
The patent implements partial action by performing distance calculations only on branches that pass the length difference filter. Instead of calculating distances for all branches, the system performs partial calculations only where necessary, maintaining reliability for finding the best symbol string while reducing computational complexity and resource consumption.
Data Source
AI summary
A method for searching for an input symbol string, includes receiving (B) an input symbol string, proceeding (C) in a trie data structure to a calculation point indicated by the next symbol, calculating (D) distances at the calculation point, selecting (E) repeatedly the next branch to follow (C) to the next calculation point to repeat the calculation (D). After the calculation (G), selecting the symbol string having the shortest distance to the input symbol string on the basis of the performed calculations. To minimize the number of calculations, not only the distances are calculated (D) at the calculation points, but also the smallest possible length difference corresponding to each distance, and on the basis of each distance and corresponding length difference a reference value is calculated, and the branch is selected (E) in such a manner that next the routine proceeds from the calculation point producing the lowest reference value.


