60 likes | 150 Views
Efficient Graph Traversal with Realistic Conditions. by Olex Ponomarenko ----1 st Quarter Draft----. Introduction / Background.
E N D
Efficient Graph Traversal with Realistic Conditions by Olex Ponomarenko ----1st Quarter Draft----
Introduction / Background • The purpose of this project is primarily to develop a heuristic, possibly a learning one, to incorporate realistic aspects of transportation (speed limits, intersections, etc) into graph traversals. • Sites such as Google Maps and Map Quest do such searching using simple mechanics which often end up producing very complex paths that aren't the fastest when considering traffic lights and similar obstacles.
My primary goal in this project is to develop a search algorithm that would avoid very complex paths and deliver a more realistic optimal path than programs such as Google Maps by incorporating traffic signs and lights into the heuristic. Goal
Procedure / Algorithm • I will be using a randomly generated graph of locations, paths, and intersections between paths. • Roads will have different sizes, and corresponding stop signs, traffic lights, or bridges depending on size difference. • A type of A* search will be used to find the fastest path between different locations.
Implementation and Testing • The program will be implemented in Python for easy porting into other languages and simplicity. Java graphics will be used to display the graph. • Each graph will be tested for connections using a breadth-first algorithm to check if all points connect. • Earlier solutions will be tested using less efficient methods to ensure that the heuristic is an underestimation.
Preliminary Analysis • My program is aiming for speed and efficiency. I will end up using more memory than the minimum to increase runtimes, although not to the point of an adjacency matrix. • Uniform cost search, possibly bi-directional, will be the best way to check my answers. It is simple, and ensures correctness. • Python is not great for graphics.