An open API service indexing awesome lists of open source software.

https://github.com/jawadddd/route-planner

It includes concole app which uses AI algorithms to generate shortest path for user between starting and ending point. It also handle obstacles in the map so it don't give user, suggestion to go to the path which have obstacle and advises to go to the path which is also shorter for user.
https://github.com/jawadddd/route-planner

a-star-algorithm artificial-intelligence evolutionary-algorithms genetic-algorithm

Last synced: about 1 month ago
JSON representation

It includes concole app which uses AI algorithms to generate shortest path for user between starting and ending point. It also handle obstacles in the map so it don't give user, suggestion to go to the path which have obstacle and advises to go to the path which is also shorter for user.

Awesome Lists containing this project

README

          

# Route-Planner
It includes a java concole app which uses Evolutionary Search Algorithm (A-star) and then also do it using Genetic Algorithm.

Firstly, Evolutionary search is used for getting euclideance distance between two coordinates given by user and its generated path length is recorded.
Then Genetic Algorithm is used to generate shortest path.
In Genetic Algorithm, Population of size 10 is made and is initialized with totolly random coordinates between 0-39 except first and last coordinate of each chromosome as I have used map of 40 by 40 coordinates.
Each chromosome have 6 coordinates. Fitness value of each chromosome is generated by making path, connecting and taking sum of the length of complete joined path.
If fitness is good or near a-star algorithm generated value, then we stop our iterations and choose this chromosome as our final path.
If any perfect fitnesses or near a-star algorithm generated value is not found,then we are doing mutation with proper randomness, choose random chromosome and replace its random index with random value, using mutation rate of 1/6 or 0.16.
Then crossover 2 random chromosomes and we get 12 chromosomes, Since our population size is 10, then we will sort our chromosomes based on their fitness value and then removing last two chromosomes. And check if perfect fitness is found then stop iterations otherwise do same procedure.


In this process, if we found any good chromosome, then we will declare it elite which means that it will and must always be present in our chromosomes because its presence can give us better fitness valued chromosome/solution.