Git Product home page Git Product logo

shorelark-ancestor's Introduction

Shorelark

(old abandoned project, source code localization in polish)

Simulation of life and evolution using neural networks.

What is this project?

This game/application is a simple simulation of life evolution using feed forward neural networks.

In my game there are 'animals' and 'food'. Animals can see food (they have 360 degrees eyes) and are meant to eat it and their brain is the neural network: it 'can see' and decides where (angle, speed) the animal should go in the next turn. Each animal has its own brain.

After a few thousand turns, the best animals (the fitting factor is how much food each own ate) are chosen to be parents and next-turn animals are generated basing on their genome (their brain, that is: the neural network scheme).

After a few generations, most of the animals learn to find the food, but I've failed on teaching them to avoid some 'poisonous' ones. It seems that something more complicated that FFNN is required and that is beyond my current knowledge, that's why I've abandoned this project (also: lack of time).

What is required to compile it?

Lazarus (x86 or x64, both should work) with Andorra 2D libraries (http://andorra.sourceforge.net).

No screenshots?

Here ya go, pal:

Screenshot

Description of texts

Czas renderowania - Rendering time

Czas aktualizacji - Updating time (animals' processing time)

Tura - Turn number

Generacja - Generation number

Szansa na mutację - Mutation chance (when creating new generation)

Szansa na crossover - Crossover chance (when creating new generation)

Współczynnik perturbacji - Perturbation factor

Indeksy dopasowania - Fitting indexes (max, average, min); fitting index = number of food eaten during the generation

Pozycja myszki - Cursor position

What's this chart?

The chart below shows the fitting indexes of each generation.

What are the numbers on the screen?

The green lines describe angle where given animal is going, the white arcs show what it can see and that number in the center says how much (many) food it has eaten during this generation (effectively: how much food it has eaten since it has been born).

Some description of what's going on?

As you can see, the chart raises to some level and then stays on this average. That means that the animals, on average, learn that eating food is their destiny, but I was unable to teach them eg. to avoid poisonous food (you can see some examples in the code).

shorelark-ancestor's People

Watchers

James Cloos avatar Patryk Wychowaniec avatar  avatar

Forkers

5l1v3r1

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.