Graph Tree Address Autocomplete with Memory Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing auto-complete and auto-correct technologies face challenges in real-time address matching and correction when dealing with large databases, requiring significant computing resources and exceeding memory capacity of personal devices, especially in contexts like national address databases.
Innovation Solution
A memory-efficient graph tree address database representation and iterative depth-based search techniques are used, constructing a cascading transitive-closure sequence-catalog alignment graph that encodes character sequences and their aliases, allowing for efficient auto-complete and auto-correct suggestions by computing sequence alignment and eliminating bogus paths.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional auto-complete and auto-correct technologies are used with large address databases, then matching accuracy is improved, but memory requirements exceed personal device capacity and computing resources increase significantly
Solution Approach 1:
The patent segments the address database into a graph tree data structure where addresses are organized hierarchically with shared prefixes merged into common nodes. This segmentation allows the system to store only unique address components rather than complete duplicate address strings, dramatically reducing memory footprint while preserving full address matching capability.
Solution Approach 2:
The graph tree structure serves multiple functions simultaneously: it acts as both a compression mechanism for reducing memory usage and as an efficient search structure for auto-complete and auto-correct operations. The same data structure enables both exact matching and fuzzy matching without requiring separate storage systems.
2Adaptability or versatility
If traditional auto-complete and auto-correct technologies are used with large address databases, then address suggestion capability is improved, but computing resources and server infrastructure requirements increase
Solution Approach 1:
The patent changes the fundamental parameter of data representation from stored address strings to graph tree nodes with shared prefixes. This parameter change transforms the computational complexity from linear search through complete address strings to efficient traversal of compressed graph structures, enabling personal device execution without complex server infrastructure.
Solution Approach 2:
Instead of copying and storing complete address strings multiple times in the database, the patent creates a single copy of shared prefix sequences in the graph tree that serve multiple addresses. This eliminates redundant data copies while maintaining the ability to generate suggestions for all addresses in the database.
3Speed
If real-time address matching is performed on personal devices, then response speed is improved, but memory capacity of personal devices is exceeded by traditional database representations
Solution Approach 1:
The graph tree segments address data into shared prefix nodes and unique suffix nodes, allowing personal devices to store a compressed representation of national address databases. This segmentation reduces memory requirements from gigabytes to manageable sizes while maintaining fast traversal-based search capability for real-time suggestions.
Data Source
AI summary
Aspects of the disclosure relate to generating a memory efficient, graph-based tree representation of an address database, where each vertex in the tree corresponds to an individual character in an address. Each address in the database is a string of hierarchical components, and the techniques create a separate tree for each component. Tree jumps connect the last vertex of the tree for one component to the root (first) vertex in the tree of the next component. Aspects of the disclosure relate to depth-first search techniques for determining alignment between a user-input address string and the sequences in such an address tree, for example, by searching first for sequences that exactly match the input and iteratively increasing the allowable edit penalty if not enough results are returned.


