Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimizing genomes before saving #44

Open
qwertyuu opened this issue Mar 10, 2022 · 1 comment
Open

Optimizing genomes before saving #44

qwertyuu opened this issue Mar 10, 2022 · 1 comment

Comments

@qwertyuu
Copy link

Hello @yaricom , thanks for making such a nice library.

I think it provides lots of very interesting features, as I've used them in my https://github.com/qwertyuu/go-ur project, about trying to teach my computer to play The Royal Game of Ur for fun. I currently have a bot that's been trained using goNEAT in production here https://ur.whnet.ca/ under the name "Neato"

I've been enjoying the Cytoscape export feature, as I think it helps a lot to visualize the phenotype. I also found that some of my very good organisms had "dangling" links, that is, links that pointed to nodes that were not directed towards the output at all.. maybe after mutation, which I expect.

I was thinking, is there a plan to add some kind of tree-shaking to remove those links and nodes that are not in the path to the output?

@yaricom
Copy link
Owner

yaricom commented Mar 14, 2022

Hello @qwertyuu, it is nice to hear that my library was helpful for your project. It gives me further incentives to continue my work on this library.

The NEAT algorithm is genetic algorithm trying to mimic natural evolution process. So, it is natural that genome can have some parts which seems non functional at given epoch of evolution. However, we should take in mind that as in natural evolution, the dormant parts of genome can express some beneficial features at later epochs.

Thus, I think it can be beneficial to introduce some kind of genome pruning for organisms that you don't want to evolve any further. However, while evolution still in progress this can be harmful.

Thank you for nice input. I'll keep it on my to-do list for the future versions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants