All Projects → mishig25 → neuroevolution-robots

mishig25 / neuroevolution-robots

Licence: MIT license
Neuroevolution demo through TensorFlow.js, Neataptic, and Box2D

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to neuroevolution-robots

Evolutionsimulator
Evolution Simulator with Box2D
Stars: ✭ 143 (+361.29%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Circle Evolution
Evolutionary Art Using Circles in Python
Stars: ✭ 237 (+664.52%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Bluepyopt
Blue Brain Python Optimisation Library
Stars: ✭ 143 (+361.29%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Mealpy
A collection of the state-of-the-art MEta-heuristics ALgorithms in PYthon (mealpy)
Stars: ✭ 72 (+132.26%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
triangula
Generate high-quality triangulated and polygonal art from images.
Stars: ✭ 3,775 (+12077.42%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Evolutionary.jl
Evolutionary & genetic algorithms for Julia
Stars: ✭ 142 (+358.06%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Watchmaker
The Watchmaker Framework for Evolutionary Computation
Stars: ✭ 189 (+509.68%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Pagmo2
A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
Stars: ✭ 540 (+1641.94%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
EvOLuTIoN
A simple simulation in Unity, which uses genetic algorithm to optimize forces applied to cubes
Stars: ✭ 44 (+41.94%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
machine-learning-blackjack-solution
Finding an optimal Blackjack strategy using AI
Stars: ✭ 40 (+29.03%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Applying eanns
A 2D Unity simulation in which cars learn to navigate themselves through different courses. The cars are steered by a feedforward neural network. The weights of the network are trained using a modified genetic algorithm.
Stars: ✭ 1,093 (+3425.81%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
biteopt
Derivative-Free Optimization Method for Global Optimization (C++)
Stars: ✭ 91 (+193.55%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Eaopt
🍀 Evolutionary optimization library for Go (genetic algorithm, partical swarm optimization, differential evolution)
Stars: ✭ 718 (+2216.13%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
geneticalgorithm2
Supported highly optimized and flexible genetic algorithm package for python
Stars: ✭ 36 (+16.13%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Jenetics
Jenetics - Genetic Algorithm, Genetic Programming, Evolutionary Algorithm, and Multi-objective Optimization
Stars: ✭ 616 (+1887.1%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Evolutionary Computation Course
Jupyter/IPython notebooks about evolutionary computation.
Stars: ✭ 173 (+458.06%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
NEATEST
NEATEST: Evolving Neural Networks Through Augmenting Topologies with Evolution Strategy Training
Stars: ✭ 13 (-58.06%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
Geneticalgorithmpython
Source code of PyGAD, a Python 3 library for building the genetic algorithm and training machine learning algorithms (Keras & PyTorch).
Stars: ✭ 435 (+1303.23%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
datafsm
Machine Learning Finite State Machine Models from Data with Genetic Algorithms
Stars: ✭ 14 (-54.84%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms
opt4j
Modular Java framework for meta-heuristic optimization
Stars: ✭ 25 (-19.35%)
Mutual labels:  genetic-algorithm, evolutionary-algorithms

Neuroevolution-Bots

Neuroevolution-Bots is a personal project that demonstrates neuroevolution in a browser environment using TensorFlow.js, Neataptic (for neural nets) and HTML5 Canvas (for graphics). I tried to create a scaled down 2D version of the popular Gym's Humanoid-v2 environment using Planck.js, a JavaScript rewrite of Box2D.

screen capture from demo

The bots in the simulation have simple brains (neural nets) that control their movements. Input to the brains: bot's head position in the world space and angles of bot's leg and knee joints; output of the brains: rotation forces to bot's leg and knee joints. After every iteration, a fitness function chooses the most fit bots to the next iteration (fitness score of bot: how much the bot traveled to the right + whether bot fell down or not).

Two variations of neuroevolution are available:

  • NEAT (network architecture and weights are updated) (using Neataptic.js)
  • Vanilla Neuroevolution (only network weights are updated) (using Tensorflow.js)

TRY THE DEMO: here

References and inspirations:

License: MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].