azimonti / path-finder-neural-networks

finding the shortest path using neural networks and genetic algorithms

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Path Finding Neural Networks

Application finding the shortest path using neural networks and genetic algorithms.

Built together with @dpasca who developed Model 1.

Required Tools

  • Git
  • CMake
  • clang
  • Fortran
  • HDF5
  • OpenGL
  • GLEW
  • GLFW
  • Dear ImGui
  • implot

Getting Started

To get started with the path finding:

  1. Clone the repository:
    git clone https://github.com/azimonti/path-finding-nn
    
  2. Navigate to the repository directory:
    cd path-finding-nn
    
  3. Initialize and update the submodules:
git submodule update --init --recursive

Further update of the submodule can be done with the command:

git submodule update --remote
  1. Compile the libraries in ma-libs
cd externals/ma-libs
# optional steps if dependencies are not installed globally
# ./manage_dependency_libraries.sh -d
# ./manage_dependency_libraries.sh -b
./cbuild.sh --build-type Debug --cmake-params "-DCPP_LIBNN=ON -DCPP_LIBGRAPHIC_ENGINE=ON"
./cbuild.sh --build-type Release --cmake-params "-DCPP_LIBNN=ON -DCPP_LIBGRAPHIC_ENGINE=ON"
cd ../..

If any error or missing dependencies please look at the instructions here

  1. Compile the binaries
./cbuild.sh -t Release (or -t Debug)
  1. Run the program
./build/Release/path-finding

Screnshots

Starting position

Starting position

Start training

Start training

Goal reached

Goal Reached

Goal Reached

About

finding the shortest path using neural networks and genetic algorithms

License:MIT License


Languages

Language:C++ 98.6%Language:Shell 0.7%Language:CMake 0.5%Language:C 0.2%