Help Topics     Concepts     Package     Class

Genetic Search Agent Properties and Use

Properties

The Genetic Search Agent panel provides these options:
Class Name
Enter the name of a class that represents the population members and implements the genetic operators and fitness values. Specify it in package form, such as
com.ibm.package.subpackage.classname
The class should inherit from the AbleGeneticObject. Pressing the Set button will cause the class to be introspected and populate the Genetic Operators and Fitness Values list. The class must be in your CLASSPATH.
Population Size
Enter the size of the population for each generation.
No duplicates
Select this checkbox to insure that only one population member will have a given chromosome configuration.
Population Size
Enter the the number of population members to replace in each generation.
Normalized fitness
Select this checkbox to use linear-normalized fitness values to select individuals for reproduction. If not selected, raw fitness values are used.
Maximum Passes
Enter the maximum number of generations to create during evolution. Evolution will stop when either the Maximum Passes or Fitness Threshold value is reached.
Fitness Threshold
When any population member reaches the fitness value, evolution has progressed sufficiently and will stop. Evolution will stop when either the Maximum Passes or Fitness Threshold value is reached.
Genetic Operators and Fitness Values
This lists the operators available for use from this GeneticObject class as well as the probabilities for their selection.
Crossover Rate
Enter the rate that a crossover operator will actually be applied once the operator is selected. This is a decimal number between 0 and 1.
Mutation Rate
Enter the rate that a bit or gene will be mutated once the mutate operator is selected. This is a decimal number between 0 and 1.

Use

The Genetic Search Agent panel is used to create generations until one member satisfies the desired fitness level, or the number of generations created reaches a predefined limit.

Steps in using the panel include:

  1. Enter the name of the class that extends the AbleGeneticObject. Sample objects are provided in the
    com.ibm.able.examples.genetic
    package. Providing a class name enables the Set button.
  2. Press the Set button to read the Genetic Operators and Fitness Values from the class. If the class is read successfully, the Initialize button should be enabled.
  3. Select any other options to use before initializing the agent by pressing the Initialize button. This will create the necessary beans and connections between the beans.
  4. Edit the Genetic Operators as needed to specify the probability that they will be selected during evolution.
  5. Set the Crossover and Mutation Rates as desired.
  6. Press the Start Evolving button to begin creating generations and evaluating their members for fitness. Once evolution has begun, this button will toggle to Stop Evolving. Evolution will continue until the toggled button is pressed, the number of generations created reaches the Maximum Passes value, or a population member reaches the specified Fitness Threshold.
  7. You may wish to press the Stop Evolving button, change a property or two, and start again. Press the Reset Beans button to re-intialize the population before starting again if you wish.