Graph Tree Address Autocomplete with Iterative Search

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

VSEngineering 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

Engineering Contradiction:
Improveaddress matching accuracyVSAvoidmemory footprint
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent segments the address database into a graph tree data structure where common address components (street names, city names, state abbreviations) are shared across multiple addresses. This segmentation allows the system to store only unique components rather than duplicating entire address records, dramatically reducing memory footprint while preserving complete address matching capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a nested graph tree structure where address components are organized in hierarchical levels (state → city → street → address number). Each node in the graph tree contains references to child nodes, creating a nested structure that enables efficient traversal and matching. This nesting allows the system to store compact representations of hierarchical address data that fit within personal device memory.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Measurement precision

If large address databases are processed in real-time, then address suggestion quality is improved, but processing latency increases

Engineering Contradiction:
Improveaddress suggestion qualityVSAvoidprocessing latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of the address database into a graph tree structure during system initialization or offline processing. This pre-computation creates an optimized data structure that enables rapid real-time querying. When a user inputs an address, the system can quickly traverse the pre-built graph tree to find matches without performing complex computations during the interactive session, achieving sub-10-millisecond latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces traditional mechanical search methods (linear scanning, brute-force comparison) with a graph-based computational approach. The graph tree structure enables efficient traversal algorithms that can quickly navigate to matching addresses by following predefined paths through the hierarchical structure, dramatically reducing processing time compared to conventional search methods.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If comprehensive address databases are stored on personal devices, then auto-complete functionality is improved, but device storage capacity is exceeded

Engineering Contradiction:
Improveauto-complete functionalityVSAvoidstorage capacity
Core Design Contradiction:
Adaptability or versatilityVSVolume of stationary object

Solution Approach 1:

The patent creates a compressed copy of the address database in the form of a graph tree structure that can be stored on personal devices. Rather than storing complete address records with all their redundancy, the system stores a compact graph representation where shared components are represented once and referenced multiple times. This copying approach preserves full address database functionality while reducing storage requirements to fit within mobile device constraints.

Inventive Principle:
Principle #26Copying

4Reliability

If traditional search algorithms are used on large databases, then complete address matching is achieved, but computing resources are excessively consumed

Engineering Contradiction:
Improveaddress matching completenessVSAvoidcomputing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent replaces computationally intensive traditional search algorithms with a graph-based matching approach. The graph tree structure allows the system to traverse predefined paths to find matching addresses, avoiding the need for exhaustive comparisons of every address record. This substitution of mechanical search with graph-based computation dramatically reduces CPU usage and energy consumption while maintaining complete and accurate address matching.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10810258B1Efficient graph tree based address autocomplete and autocorrection
Publication Date: 2020.10.20 AMAZON TECH INC
  • US10810258B1 patent drawing
  • US10810258B1 patent drawing
  • US10810258B1 patent drawing

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.