110 likes | 119 Views
Develop a sophisticated map path-finding program in Python, incorporating complex heuristics for realistic results like traffic lights and different road types. Create a visual representation with Java for efficient large-scale data processing.
E N D
Efficient Map Path Finding with Realistic Conditions Olex Ponomarenko
Goals for the Project • Create a fairly abstract map path-finding program • Add more complex heuristics to account for things such as traffic lights, stop signs, and different amounts of roads • Create a random graph generator • Create a visual representation, perhaps using Java, to display the map
Goals (but in one sentence) • Basically the idea is to create a method of searching for a path on an abstract map that would lead to simpler, more realistic results, and avoid passing through generally slow turns and intersections. (stop sign left turns onto a big street like Fairfax County Parkway)
Specifics • The language used will be Python for the speed of coding that it provides • Java will be used to create the visual, as Java graphics are easy to work with. • The maps and searches will be realistic, and the program overall will be efficient, allowing large-scale data sets
First Quarter • A very basic version of the program was developed • Built upon the path finding program in the AI course • Text-only, basic coordinates, only one type of roads, and most importantly, no intersections.
First Quarter To give you an idea of what the program did (since input / output are all just text) Only one type of road (no difference whether it’s a small driveway or I-95) represented One type of location Doesn’t account for delay at intersections
Second Quarter • The RGG at this point is somewhat random – the following being a good example of the type of map it produces: Different road sizes No overlapping locations (none within 10 units of space between each other), all locations connected. BUT – Still no intersections Mostly random roads (note the only path to get to the purple one and the random 5-foot long interstate highway)
Third Quarter and BEYOND! • Fixing a lot of the bugs currently in the program, adding more functionality to the Random Graph Generator. • Later in 3rd Quarter – Graphical representation using Java. • 4th Quarter – cleaning up the program, improving the heuristic, and finishing the research paper.
Random Graph Generator • This is what I’m planning to accomplish by mid February: Realistic road structure – coherent highways, very little randomness involved past the generation of locations Intersections – A is a bridge with no exits, drivers on the small road (black) cannot get onto the interstate highway (red) ; at point B, drivers on the green (sort-of like Braddock) pass freely, but drivers on the small road have to go through a stop sign B A
The Rest • I am focusing my research on average wait times on street lights and stop signs – actual data from a valid source on how long we spend at different types of intersections will be perfect. • If I have spare time left over after I finish my current goals, there are plenty of features I can add.
The Big Picture • My project will be expandable. Probably the best next step would be to add a learning algorithm, which will alter the heuristic based on results, in order to find the shortest path in the quickest way possible and make the search more efficient.