Bidirectional Search Precomputation for Navigation Path Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing navigation systems face challenges in efficiently determining optimal paths between arbitrary starting and destination points, particularly in minimizing travel time and processing resources, while accurately accounting for time-varying costs such as traffic.
Innovation Solution
The system employs a combination of bi-directional and reverse searches to precompute a filtered set of nodes based on priority, which are then used to perform forward searches from the starting point, optimizing path determination and reducing computational resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional navigation systems compute paths in real-time without precomputation, then routing flexibility is maintained, but processing time and computational resources increase significantly
Solution Approach 1:
The system performs bidirectional searches and precomputes filtered node sets before query time. This preliminary action creates a reduced graph structure that enables fast forward searches during actual navigation queries, directly resolving the contradiction between maintaining routing flexibility and reducing query processing time
Solution Approach 2:
The navigation problem is segmented into two phases: an offline precomputation phase that creates filtered node sets through bidirectional searches, and an online query phase that performs efficient forward searches. This segmentation allows complex computations to be done beforehand, making real-time queries much faster
2Productivity
If bidirectional search precomputation is performed, then query processing efficiency improves, but memory resources increase due to storing filtered node sets
Solution Approach 1:
The system extracts only the necessary nodes and edges that form valid paths from the complete graph during bidirectional search precomputation. By storing only these filtered node sets rather than the entire graph, the system reduces memory requirements while maintaining the ability to answer navigation queries efficiently
Solution Approach 2:
The precomputation performs bidirectional searches to identify and store only the subset of nodes that are relevant for future queries. This partial action approach stores less data than a complete graph representation but provides sufficient information for efficient navigation, balancing memory usage with query performance
3Use of energy by moving object
If forward search uses precomputed filtered node sets, then processing resources are reduced, but implementation complexity increases
Solution Approach 1:
The complex bidirectional search and filtered node set creation is performed as a preliminary offline action. This shifts the computational complexity from the online query phase to the offline precomputation phase, reducing real-time resource consumption while accepting the one-time setup complexity
Solution Approach 2:
The precomputed filtered node sets act as an intermediary structure between the complete navigation graph and the query processing system. This intermediary enables efficient forward searches by providing a pre-processed, optimized representation that reduces computational resources needed during actual navigation queries
Data Source
AI summary
A system described herein may provide a technique for a determination of a path through a node map using one or more searches. The nodes may be associated with respective priorities. A first search may be performed from a first node in ascending order of priority. A second search may be performed from a second node in ascending order of priority, until a third node, traversed during the first search is reached. A third search may be performed from the third node, in descending order of priority, until the first node is reached. The third search may be restricted only to nodes traversed during the first search. A path that is based on the second and third searches may be provided in response to a navigation request from a starting point associated with the second node to a destination associated with the first node.


