Linear Programming for Trie Data Structure Query Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Predicting click-through rates for advertisements with minimal or no click history is challenging, as existing methods are inefficient and prone to high latency, especially when querying trie data structures, which limits the ability to display relevant ads and set correct prices in online auctions, leading to potential revenue loss and user dissatisfaction.
Innovation Solution
A method and system that construct a pool of linear programming problems for a trie data structure, using a solver to set path variables to 0 or 1, iterate through paths, select one path using a weighted random method, assign values to unknown nodes, and reset variables, thereby optimizing the querying process to reduce latency and eliminate sampling procedures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the system queries the trie data structure for each combination of unknown value type nodes to get associated values, then the accuracy of click-through rate prediction is improved, but the latency and traversal time increase significantly
Solution Approach 1:
The system pre-calculates and stores the associations between paths in the trie data structure and their corresponding values (click-through rates) before actual queries. This preliminary action creates a mapping that allows the system to retrieve pre-computed results instead of traversing and querying the trie structure during real-time ad serving, thereby reducing query latency while maintaining prediction accuracy
Solution Approach 2:
The invention creates a copy or representation of the trie data structure in a more query-efficient format (such as a hash map or lookup table) that stores the path-value associations. This copied structure allows for O(1) retrieval time compared to the O(n) traversal required in the original trie, effectively decoupling query speed from the complexity of the original data structure
2Adaptability or versatility
If the system traverses the trie data structure multiple times for different sampled combinations, then comprehensive coverage of possible paths is achieved, but the same path is processed repeatedly increasing computational overhead
Solution Approach 1:
The system extracts the set of all possible paths from the trie data structure once and stores them in a separate collection. During query processing, instead of traversing the trie multiple times, the system simply iterates through this pre-extracted path list and looks up associated values, eliminating redundant traversals while maintaining complete path coverage
Solution Approach 2:
The invention merges the path enumeration function with the value retrieval function by creating a unified data structure that contains both the path information and its associated click-through rate values. This consolidation allows the system to process paths and retrieve values in a single operation rather than performing separate traversal and lookup operations
3Adaptability or versatility
If the system maintains combinations of unknown value type nodes, then all possible ad variations can be evaluated, but the system complexity and memory requirements increase
Solution Approach 1:
The system segments the problem of evaluating all ad variations by treating each path in the trie as an independent evaluation unit. Instead of maintaining and manipulating complex combinations of unknown value type nodes, the system evaluates each path separately using pre-computed click-through rates, significantly reducing the computational complexity from exponential to linear in the number of paths
Data Source
AI summary
The present invention provides a method and system for querying a trie data structure. The method and system include constructing a pool of linear programming problems for a trie data structure, storing the pool of linear programming problems in a memory, receiving a request, setting variables in one linear programming problem to unity, sending the one linear programming problem to a solver, wherein the solver sets a p variable corresponding to each path to 0 or 1, iterating through p variables corresponding to one or more paths, considering at most n paths, selecting one path from the n paths, assigning same values as that of one or more variables of the unknown value type nodes that are present in the selected one path, and reselling variables in the one linear programming problem to zero that was previously set to unity.


