GithubHelp home page GithubHelp logo

sem_robonav_ec's Introduction

Seminar Roboternavigation - Evolutionary Computing :)

Demonstrator for an Evolutionary Algorithm with small rocktes trying to evolve towards reaching a marked target

Requirements

Use pip install -r requirements.txt to install requirements

Or manually install:

- pygame 1.9.4
- numpy 1.15.1
- matplotlib 2.2.3

Usage

Run python main.py. The evolutionary algorithm runs with a default parameter set. For changing the parameters and modes please refere to the corresponding section below. The live plot shows the average fitness of the current generation, average fitness of children and current maximal fitness in the population. The algorithm runs for 50 generations. At the end the plot is saved as a pdf file in the program directory.

Key bindings

Key Function
R run algorithm
S simulation only (no drawing)
D activate drawing
ESC exit

Parameters and modes

Parameters and modes are set by the modes list in main.py that is handed over to the RocketWorld.
The modes list needs the following format:

modes = [pstr, xbool, xstr, mfloat, sstr]

All possible values are listed below.

Table of modes and parameters

pstr Parent Selection Mode sstr Survivor Selection Mode
'lin' Ranking Linear 'rpl' replace worst (GENITOR)
'exp' Ranking Exponential '1gen' age-based one Generation
'fps' Fitness Proportional Selection
xbool Crossover xstr Crossover Mode
True apply crossover '1pt' 1-point crossover
False no crossover 'npt' n-point crossover
'full' full crossover
'arith' simple arithmetic crossover
mfloat Mutationrate
float set mutation rate

sem_robonav_ec's People

Contributors

rbnltz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.