Giter VIP home page Giter VIP logo

Comments (3)

leshchenko1979 avatar leshchenko1979 commented on July 17, 2024

Confirmed - two brains are using the same context, which messes up the recurring parts of the network, which are in turn much needed in vision processing.

Need to clone the brain of the splitting fish with network.clone() and add it to neat.population with neat.resize().

from fishbowl.

leshchenko1979 avatar leshchenko1979 commented on July 17, 2024

To dos:

  • introduce an array genus that will group the fish
  • ensure genus is inherited during splitting
  • when a fish dies, don't delete it but remove from objs instead so it stays in genus
  • fitness function should evaluate the total fish size of the whole genus
  • during evaluation take all fish from genus and make their brain score equal to the fitness of the corresponding genus

from fishbowl.

leshchenko1979 avatar leshchenko1979 commented on July 17, 2024

Alternatively we can switch to another paradigm altogether:

  1. The fitness function is how long a certain fish has survived.
  2. One of the fish (or both of them) mutates on split.
  3. When the simulation time elapses for a generation, surviving fish are evaluated on their lifetime.
  4. When the simulation ends because all of the fish have died out, the score is proportional on the recorded lifetime of the corresponding fish.
  • start recording birthFrame in Critter() constructor
  • on split clone brain and add it to neat
  • mutate fish on split
  • reset birthFrame on split?
  • when a fish dies, set its brain's score to the fish lifetime
  • calculate neat.population[i].score based on lifetime (currentFrame - birthFrame)
  • entirely replace neat.population on generation change instead of neat.mutate()

from fishbowl.

Related Issues (20)

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.