ryanvarick.com

Location: ryanvarick.com » Capstone » Evolution with jEAC (edit)

NOTE: This page is a work-in-progress.

Integrating JGAP into the jEAC codebase is getting pretty complicated. I need a place to store my thoughts.

Class hierarchy

Superclasses:

  1. abstract class EacEvolver (overseer)
  2. abstract class EacEvolverFitnessFunction extends FitnessFunction

Sub-class examples:

  1. SnakeEvolver
  2. XOREvolver - eventual "hello world" application

Example:

SnakeEvolver extends EacEvolver
  - main()
      - instantiate Evolver, FitnessFunction; configure defaults
      - evolver.init()
      - evolver.run()
      - evolver.cleanup()

SnakeEvolverFitnessFunction extends EacEvolverFitnessFunction
  - evaluate()
     - init()
     - (main loop)
     - cleanup()
  - sentToEac()

Round 2

Let's try this again.

Supertypes (abstract classes):

  1. EacEvolver - unified bridge for jEAC drivers and JGAP
  2. EacEvolverFitnessFunction - fitness functions

Subclass - one class functionality

  1. (Application)Evolver
    • main() - configuration
    • evaluate() - fitness function