The JavaSANE package contains the source code for the Hierarchical SANE system, based on SANE-C, but rewritten extensively in Java. The JavaSANE version is designed especially to make it possible to apply SANE to new tasks with minimal effort. It is also intended to be platform-independent and reasonably efficient implementation of SANE. Other revisions (from SANE-C) include more documentation and more parsimonious code, so that JavaSANE can serve as a starting point for further research in neuroevolution algorithms as well. Some experimental features from SANE-C have been removed, including local learning and some functions designed to output networks to visualization tools, in an attempt to make the code more streamlined and simpler to apply. SANE is designed as an efficient method for forming neuro-control networks in reinforcement learning tasks. For more details on SANE and some of its applications, see a paper on SANE (and others under Neuroevolution Methods and Applications), or the Neuroevolution Methods and Applications research descriptions. This package is designed to be an easy starting point for applying JavaSANE to a new domain. First, change the values in NUM_INPUTS and NUM_OUTPUTS in Config.java to the appropriate number of inputs and outputs for your network. Rewrite the function Evaluate_net in Domain.java, which takes a neural net as a parameter and returns its "fitness value," where fitness is defined as ability to perform a task in the domain being implemented. Finally, run JavaSANE: It will try to evolve networks that optimize the value returned by your function. The software will take care of creating and evolving the network entirely.
Comments to email@example.com or firstname.lastname@example.org.
v1.0 12/15/98 cyndy
v1.1 1/15/99 cyndy
- Implementation of Domain.java
- Expansion and rearrangement of Config.java
- Vastly improved ease-of-use for new domain implementation
v1.2 8/22/00 Alex Lubberts
- Fixed a bug in SANE_EA.java that caused some neurons to receive too high
- A few other minor bug fixes.