Clear Filters
Clear Filters

Implementing NEAT algorithm in Simulink

12 views (last 30 days)
ALLEGRA
ALLEGRA on 13 Mar 2024
Answered: Tushar Sharma on 19 Mar 2024
I am trying to modify the walking robot example to use the NEAT algorithm, but I don't see any way of building an evolving neural network using the reinforcement learning toolbox. I was thinking that maybe somehow I could incorporate Python-NEAT? I am new so I'm not really sure what's possible.

Answers (1)

Tushar Sharma
Tushar Sharma on 19 Mar 2024
Hi Allegra,
I assume that you are referring to 'msra-walking-robot' - https://github.com/mathworks/msra-walking-robot.
The algorithm used in this case is Deep Deterministic Policy Gradient (DDPG), chosen for the following reasons:
  • It learns with environments with continuous action spaces
  • Deterministic policies are faster to learn
If you want to write your own environment and training algorithm, the documents listed below servers as a good starting point:
Also, If you want to incorporate NEAT-Python, then you may leverage MATLAB's ability to call Python functions to directly interact with the NEAT-Python implementation. This means you'll be running the simulation in MATLAB, and each time you need to evaluate a genome's fitness, you'll call the simulation from your Python code through MATLAB.
Here are the steps to follow:
  1. Ensure Python is installed.
  2. Next, install NEAT-Python by running `pip install neat-python`.
  3. Finally, set up MATLAB to utilize Python by configuring the correct Python environment with the `pyenv` function.
The following resources would help-

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!