DANN:Keys

From Syncleus Wiki

Jump to: navigation, search
dANN Information
DescriptionAn Artificial Intelligence Library written in Java.
Last ActivityToday
LicenseOSCL Type C
IRC Room#dANN on irc.freenode.org
HomepagedANN
DistributionsBinary ZIP w/JavaDoc
Binary Tarball w/JavaDoc
Source ZIP
Source Tarball
DocumentationJavadoc repository
Javadoc for GIT master
Javadoc for stable release
Developmentgit://git.syncleus.com/dANN.git
TRAC Bug Tracking
Hudson Continuous Integration
Mailing ListsdANN Announcements
dANN Development
Syncleus Announcements


Genetic Wavelets uses keys, which use schemata to encode their values. A key is a variable length string that is evolved during the genetic wavelet algorithm using x as a wild card character. A key, specifically a signal type key, might look like this:

Genetic Wavelets Signal Key Example: 01x01x10

A key is a schema[1], but it is not used for chromosome representation, instead it is used to model communications between cells in the Genetic Wavelets. Keys are used to represent two important components of the Genetic Wavelets - receptors and signals. The interaction is loosely modeled after hormones binding to cells. There are restrictions for signals binding to receptors. A signal can bind to a receptor if and only if the receptor matches the signal on all non-x points. For example, the signal key "101x11" can bind to the receptor "10xx11," but "101x11" cannot bind to the same receptor.

Genetic Wavelets Key Bind Example.
Signal 01101x10 successfully binds to receptor 110xx10.
Genetic Wavelets Key Mismatch Example.
Signal 0101xx1 fails to bind with receptor 110xx10.

Keys do not have to be equal in length in order to bind to one another; a smaller length receptor would bind with more signals, because it would bind to more sites on a signal. These signal and receptors are an integral part of the Genetic Wavelets. Keys can mutate along with the system, however they are not changed on crossover. A key is initialized with one or more values depending on the mutation factor of the gene that is initializing it. All of the genes in the Genetic Wavelets use keys in some way.

Design

Both Receptor and Signal type Keys have essentially the same functionality. Aside from the fact that Signals only bind to Receptors they are virtually identical. Because of this the majority of the functionality of all keys reside in the AbstractKey class and both ReceptorKey and SignalKey inherit from this. A SignalKey has no significant functionality of its own separate from its parent however the ReceptorKey implements bind. The bind method is used to determine if a particular SignalKey can bind to the ReceptorKey.