Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An Objective C implementation of the NEAT algorithm

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 ONUnitTests
Octocat-spinner-32 ObjectiveNEAT.xcodeproj
Octocat-spinner-32 ObjectiveNEAT
Octocat-spinner-32 README
README
ObjectiveNEAT 0.1.0 by Ben Trewhella

An implementation of Ken Stanley & Risto Miikkulainen's NEAT algorithm.

Feel free to use or adapt this implementation in your own Mac or iOS apps.

At this stage the only solution presented is for the reference XOR network.
 
Known bugs:
1) Memory management.  
This is a first attempt to use Automatic Reference Counting, and it contains leaks (developer fault no doubt).  
Next version to use good old memory management.

2) Algorithm should be finding XOR faster.  
I feel this is because nodes do not have an activation threshold (which helps XOR greatly).  It looks like the reference implementation does not use thresholds either, and my understanding is that NEAT should optimise using link weights and activations, however I will play with this to find the best results.

Roadmap
- Include the pole balancing experiments.
- Add rtNEAT and HyperNEAT functionality.
- Provide visualisations of networks and solutions for Mac / iOS devices.
- Provide more visual and interactive experiments.
- As an offshoot with Opposable Games develop into simple games demonstrating the technique.
- Use as a methodology for curated world generation (much later).
Something went wrong with that request. Please try again.