schmorb

nameschmorb
languagec++
OSwindows
availabilitybinary
statusstable
licence?
categoryIA

Abstract

This program, developped with a student from the french enginer school ENST is a simple demonstration of basic neural network and genetic algorithm techniques.

Documentation

Creatues are evolving in a 2D virtual world. Each one has 5 different captors (food detection over 3*60 degres, food available for eating, and current life status (hit point)), and 4 effectors ( move forward, rotate left and right, eat). Food randomly appear on the ground. Each creature loose life over time, and regain life by eating. When all the creatures are "dead", a genetic algorithm is applied to the best 20% of the population to create new creatures. The neural network used to connect captors and effectors is a MLP (multi-layer perceptron) with one hidden layer. The 3 layers have respectively 5, 5 and 4 neurons. The genes are the neural network weights of each layer. The genetic algorithm selects randomly each gene from one of the parents, and randomly apply mutations and crossing-over.

Keys:
s: save current state (in file dump.schmorbs)
l: load saved state
o: add more food
p: remove food
a: stop dislay, makes the simulation run a lot faster.
b: resume display
mouse: click and drag mouse to move the camera

Download

schmorb.exebinary executable142.79 kilobytes
glut32.dll OpenGL utility DLL (required if you don't already have it)151 kilobytes

Screenshots


contact:
Valid HTML 4.01! Valid CSS!