yaricom / goNEAT

The GOLang implementation of NeuroEvolution of Augmented Topologies (NEAT) method to evolve and train Artificial Neural Networks without error back propagation
MIT License
75 stars 19 forks source link

More details on traits #46

Open qwertyuu opened 2 years ago

qwertyuu commented 2 years ago

Hello @yaricom

I like that you innovated in this version of NEAT by adding traits. Though, I think I would like a bit more explanation, as this seem not to be transferrable to other neat implementations.

How are they used in the phenotype?

How are they interpreted by someone exterior to the library for, say, graph visualization of the phenotype?

How are they initialized in the original starting structure for your organisms (the yml file)?

What are the parameters for?

This would be a nice addition to the NEAT world, but I think needs more details for us NEAT-neophytes

Thanks for taking time to make and maintain such a nice piece of lib!

yaricom commented 2 years ago

Hello @qwertyuu

The traits allows you to incorporate some meta-data within genomes. Currently it is not heavily used, but introduced as a mean of functionality extension with further versions of the library.

The traits can be introduced into seed genome as in following example https://github.com/yaricom/goNEAT/blob/86ceebfa81544876b98b651e9eeac9f9c705b050/data/test_seed_genome.yml#L5