# Serialized Form

- ## Package ec

  - ### Class ec.Breeder

    class Breeder extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### sequentialBreeding

            boolean sequentialBreeding

        The flag to let the coevolutionary system know that we're doing sequential breeding. You shouldn't play with this flag unless you're SimpleBreeder -- keep it at false otherwise.

  - ### Class ec.BreedingPipeline

    class BreedingPipeline extends BreedingSource implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### likelihood

            double likelihood

      - ##### mybase

            Parameter mybase

        My parameter base -- I keep it around so I can print some messages that are useful with it (not deep cloned)

      - ##### sources

            BreedingSource[] sources

        Array of sources feeding the pipeline

  - ### Class ec.BreedingSource

    class BreedingSource extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### probability

            double probability

        The probability that this BreedingSource will be chosen to breed over other BreedingSources. This may or may not be used, depending on what the caller to this BreedingSource is. It also might be modified by external sources owning this object, for their own purposes. A BreedingSource should not use it for any purpose of its own, nor modify it except when setting it up.

        The most common modification is to normalize it with some other set of probabilities, then set all of them up in increasing summation; this allows the use of the fast static BreedingSource-picking utility method, BreedingSource.pickRandom(...). In order to use this method, for example, if four breeding source probabilities are {0.3, 0.2, 0.1, 0.4}, then they should get normalized and summed by the outside owners as: {0.3, 0.5, 0.6, 1.0}.

  - ### Class ec.Evaluator

    class Evaluator extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### masterproblem

            MasterProblem masterproblem

      - ##### p_problem

            Problem p_problem

      - ##### runComplete

            String runComplete

  - ### Class ec.EvolutionState

    class EvolutionState extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### breeder

            Breeder breeder

        The population breeder, a singleton object. You should only access this in a read-only fashion.

      - ##### breedthreads

            int breedthreads

        The requested number of threads to be used in breeding, excepting perhaps a "parent" thread which gathers the other threads. If breedthreads = 1, then the system should not be multithreaded during breeding. Don't modify this during a run.

      - ##### checkpoint

            boolean checkpoint

        Should we checkpoint at all?

      - ##### checkpointDirectory

            File checkpointDirectory

        The requested directory where checkpoints should be located. This must be a directory, not a file. You probably shouldn't modify this during a run.

      - ##### checkpointModulo

            int checkpointModulo

        The requested number of generations that should pass before we write out a checkpoint file.

      - ##### checkpointPrefix

            String checkpointPrefix

        The requested prefix to start checkpoint filenames, not including a following period. You probably shouldn't modify this during a run.

      - ##### data

            HashMap[] data

        An array of HashMaps, indexed by the thread number you were given (or, if you're not in a multithreaded area, use 0). This allows you to store per-thread specialized information (typically keyed with a string).

      - ##### evalthreads

            int evalthreads

        The requested number of threads to be used in evaluation, excepting perhaps a "parent" thread which gathers the other threads. If evalthreads = 1, then the system should not be multithreaded during evaluation. Don't modify this during a run.

      - ##### evaluations

            int evaluations

        The current number of evaluations which have transpired so far in the run. This is only updated on a generational boundary.

      - ##### evaluator

            Evaluator evaluator

        The population evaluator, a singleton object. You should only access this in a read-only fashion.

      - ##### exchanger

            Exchanger exchanger

        The population exchanger, a singleton object. You should only access this in a read-only fashion.

      - ##### finisher

            Finisher finisher

        The population finisher, a singleton object. You should only access this in a read-only fashion.

      - ##### generation

            int generation

        The current generation of the population in the run. For non-generational approaches, this probably should represent some kind of incrementing value, perhaps the number of individuals evaluated so far. You probably shouldn't modify this.

      - ##### initializer

            Initializer initializer

        The population initializer, a singleton object. You should only access this in a read-only fashion.

      - ##### innovationNumber

            long innovationNumber

        Global birthday tracker number for genes in representations such as NEAT. Accessed and modified during run time

      - ##### job

            Object[] job

        Current job iteration variables, set by Evolve. The default version simply sets this to a single Object[1] containing the current job iteration number as an Integer (for a single job, it's 0). You probably should not modify this inside an evolutionary run.

      - ##### lock

            Object[] lock

      - ##### numEvaluations

            long numEvaluations

        The number of evaluations the evolutionary computation system will run until it ends (up to the next generation boundary), or UNDEFINED

      - ##### numGenerations

            int numGenerations

        The number of generations the evolutionary computation system will run until it ends, or UNDEFINED

      - ##### output

            Output output

        The output and logging facility (threadsafe). Keep in mind that output in Java is expensive.

      - ##### parameters

            ParameterDatabase parameters

        The parameter database (threadsafe). Parameter objects are also threadsafe. Nonetheless, you should generally try to treat this database as read-only.

      - ##### population

            Population population

        The current population. This is not a singleton object, and may be replaced after every generation in a generational approach. You should only access this in a read-only fashion.

      - ##### quitOnRunComplete

            boolean quitOnRunComplete

        Whether or not the system should prematurely quit when Evaluator returns true for runComplete(...) (that is, when the system found an ideal individual.

      - ##### random

            MersenneTwisterFast[] random

        An array of random number generators, indexed by the thread number you were given (or, if you're not in a multithreaded area, use 0). These generators are not threadsafe in and of themselves, but if you only use the random number generator assigned to your thread, as was intended, then you get random numbers in a threadsafe way. These generators must each have a different seed, of course.

      - ##### randomSeedOffset

            int randomSeedOffset

        An amount to add to each random number generator seed to "offset" it -- often this is simply the job number. If you are using more random number generators internally than the ones initially created for you in the EvolutionState, you might want to create them with the seed value of `seedParameter+randomSeedOffset`. At present the only such class creating additional generators is ec.eval.MasterProblem.

      - ##### runtimeArguments

            String[] runtimeArguments

        The original runtime arguments passed to the Java process. You probably should not modify this inside an evolutionary run.

      - ##### statistics

            Statistics statistics

        The population statistics, a singleton object. You should generally only access this in a read-only fashion.

  - ### Class ec.Exchanger

    class Exchanger extends Object implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.Finisher

    class Finisher extends Object implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.Fitness

    class Fitness extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### context

            Individual[] context

        Auxiliary variable, used by coevolutionary processes, to store the individuals involved in producing this given Fitness value. By default context=null and stays that way. Note that individuals stored here may possibly not themselves have Fitness values to avoid circularity when cloning.

      - ##### trials

            ArrayList trials

        Auxiliary variable, used by coevolutionary processes, to compute the number of trials used to compute this Fitness value. By default trials=null and stays that way. If you set this variable, all of the elements of the ArrayList must be immutable -- once they're set they never change internally.

  - ### Class ec.Individual

    class Individual extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### evaluated

            boolean evaluated

        Has the individual been evaluated and its fitness determined yet?

      - ##### fitness

            Fitness fitness

        The fitness of the Individual.

      - ##### species

            Species species

        The species of the Individual.

  - ### Class ec.Initializer

    class Initializer extends Object implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.Population

    class Population extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### file

            Parameter file

      - ##### loadInds

            boolean loadInds

      - ##### subpops

            ArrayList<Subpopulation> subpops

  - ### Class ec.Problem

    class Problem extends Object implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.SelectionMethod

    class SelectionMethod extends BreedingSource implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.Species

    class Species extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### f_prototype

            Fitness f_prototype

        The prototypical fitness for individuals of this species.

      - ##### i_prototype

            Individual i_prototype

        The prototypical individual for this species.

      - ##### pipe_prototype

            BreedingSource pipe_prototype

        The prototypical breeding pipeline for this species.

  - ### Class ec.Statistics

    class Statistics extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### children

            Statistics[] children

      - ##### silentFile

            boolean silentFile

      - ##### silentPrint

            boolean silentPrint

  - ### Class ec.Subpopulation

    class Subpopulation extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### extraBehavior

            int extraBehavior

        What is our fill behavior beyond files?

      - ##### file

            Parameter file

      - ##### individuals

            ArrayList<Individual> individuals

        The subpopulation's individuals.

      - ##### initialSize

            int initialSize

        initial expected size of the subpopulation

      - ##### loadInds

            boolean loadInds

      - ##### numDuplicateRetries

            int numDuplicateRetries

        Do we allow duplicates?

      - ##### species

            Species species

        The species for individuals in this subpopulation.

      - ##### warned

            boolean warned

        Prints an entire subpopulation in a form readable by humans, with a verbosity of Output.V_NO_GENERAL.

- ## Package ec.breed

  - ### Class ec.breed.BufferedBreedingPipeline

    class BufferedBreedingPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### buffer

            ArrayList<Individual> buffer

      - ##### bufSize

            int bufSize

  - ### Class ec.breed.CheckingPipeline

    class CheckingPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### numTimes

            int numTimes

  - ### Class ec.breed.FirstCopyPipeline

    class FirstCopyPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### firstTime

            boolean firstTime

  - ### Class ec.breed.ForceBreedingPipeline

    class ForceBreedingPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### numInds

            int numInds

  - ### Class ec.breed.GenerationSwitchPipeline

    class GenerationSwitchPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### generateMax

            boolean generateMax

      - ##### generationSwitch

            int generationSwitch

      - ##### maxGeneratable

            int maxGeneratable

  - ### Class ec.breed.InitializationPipeline

    class InitializationPipeline extends BreedingPipeline implements Serializable

  - ### Class ec.breed.MultiBreedingPipeline

    class MultiBreedingPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### generateMax

            boolean generateMax

      - ##### maxGeneratable

            int maxGeneratable

  - ### Class ec.breed.RepeatPipeline

    class RepeatPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### individual

            Individual individual

      - ##### parents

            IntBag parents

  - ### Class ec.breed.ReproductionPipeline

    class ReproductionPipeline extends BreedingPipeline implements Serializable

  - ### Class ec.breed.StubPipeline

    class StubPipeline extends ReproductionPipeline implements Serializable

    - #### Serialized Fields

      - ##### stubPipeline

            BreedingSource stubPipeline

  - ### Class ec.breed.UniquePipeline

    class UniquePipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### generateMax

            boolean generateMax

      - ##### numDuplicateRetries

            int numDuplicateRetries

      - ##### resetEachGeneration

            boolean resetEachGeneration

      - ##### set

            HashSet set

- ## Package ec.coevolve

  - ### Class ec.coevolve.CompetitiveEvaluator

    class CompetitiveEvaluator extends Evaluator implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### allowOverEvaluation

            boolean allowOverEvaluation

      - ##### groupSize

            int groupSize

      - ##### style

            int style

      - ##### whereToPutInformation

            int whereToPutInformation

  - ### Class ec.coevolve.MultiPopCoevolutionaryEvaluator

    class MultiPopCoevolutionaryEvaluator extends Evaluator implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### guruIndividuals

            Individual[][] guruIndividuals

      - ##### inds

            Individual[] inds

      - ##### numCurrent

            int numCurrent

      - ##### numGuru

            int numGuru

      - ##### numPrev

            int numPrev

      - ##### numShuffled

            int numShuffled

      - ##### previousPopulation

            Population previousPopulation

      - ##### selectionMethodCurrent

            SelectionMethod[] selectionMethodCurrent

      - ##### selectionMethodPrev

            SelectionMethod[] selectionMethodPrev

      - ##### updates

            boolean[] updates

- ## Package ec.de

  - ### Class ec.de.Best1BinDEBreeder

    class Best1BinDEBreeder extends DEBreeder implements Serializable

    - #### Serialized Fields

      - ##### F_NOISE

            double F_NOISE

        limits on uniform noise for F

  - ### Class ec.de.DEBreeder

    class DEBreeder extends Breeder implements Serializable

    - #### Serialized Fields

      - ##### bestSoFarIndex

            int[] bestSoFarIndex

        the best individuals in each population (required by some DE breeders). It's not required by DEBreeder's algorithm

      - ##### Cr

            double Cr

        Probability of crossover per gene

      - ##### F

            double F

        Scaling factor for mutation

      - ##### previousPopulation

            Population previousPopulation

        the previous population is stored in order to have parents compete directly with their children

      - ##### retries

            int retries

  - ### Class ec.de.DEEvaluator

    class DEEvaluator extends SimpleEvaluator implements Serializable

  - ### Class ec.de.Rand1EitherOrDEBreeder

    class Rand1EitherOrDEBreeder extends DEBreeder implements Serializable

    - #### Serialized Fields

      - ##### PF

            double PF

- ## Package ec.display

  - ### Class ec.display.Console

    class Console extends JFrame implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### _step

            boolean _step

      - ##### aboutFrame

            JFrame aboutFrame

      - ##### aboutMenuItem

            JMenuItem aboutMenuItem

      - ##### buttonLock

            Object buttonLock

      - ##### clArgs

            String[] clArgs

      - ##### cleanupLock

            Object cleanupLock

      - ##### conPanel

            ControlPanel conPanel

      - ##### currentJob

            int currentJob

      - ##### exitMenuItem

            JMenuItem exitMenuItem

      - ##### fileMenu

            JMenu fileMenu

      - ##### helpMenu

            JMenu helpMenu

      - ##### inspectionPane

            JTabbedPane inspectionPane

      - ##### jContentPane

            JPanel jContentPane

      - ##### jJMenuBar

            JMenuBar jJMenuBar

      - ##### jTabbedPane

            JTabbedPane jTabbedPane

      - ##### jToolBar

            JToolBar jToolBar

      - ##### loadCheckpointMenuItem

            JMenuItem loadCheckpointMenuItem

      - ##### loadParametersMenuItem

            JMenuItem loadParametersMenuItem

      - ##### parameters

            ParameterDatabase parameters

      - ##### paramPanel

            ParametersPanel paramPanel

      - ##### pauseButton

            JButton pauseButton

      - ##### paused

            boolean paused

      - ##### playButton

            JButton playButton

      - ##### playing

            boolean playing

      - ##### playThread

            Thread playThread

      - ##### result

            int result

      - ##### state

            EvolutionState state

      - ##### statisticsPane

            JTabbedPane statisticsPane

      - ##### statusField

            JTextField statusField

      - ##### statusPane

            JPanel statusPane

      - ##### stepButton

            JButton stepButton

      - ##### stopButton

            JButton stopButton

      - ##### threadIsToStop

            boolean threadIsToStop

  - ### Class ec.display.ControlPanel

    class ControlPanel extends JPanel implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### breedThreadsField

            JTextField breedThreadsField

      - ##### checkpointCheckBox

            JCheckBox checkpointCheckBox

      - ##### checkpointModuloField

            JTextField checkpointModuloField

      - ##### checkpointPanel

            JPanel checkpointPanel

      - ##### console

            Console console

      - ##### evalThreadsField

            JTextField evalThreadsField

      - ##### generateSeedsButton

            JButton generateSeedsButton

      - ##### jLabel

            JLabel jLabel

      - ##### jLabel1

            JLabel jLabel1

      - ##### jLabel10

            JLabel jLabel10

      - ##### jLabel2

            JLabel jLabel2

      - ##### jLabel3

            JLabel jLabel3

      - ##### jLabel5

            JLabel jLabel5

      - ##### jLabel6

            JLabel jLabel6

      - ##### jLabel7

            JLabel jLabel7

      - ##### jLabel8

            JLabel jLabel8

      - ##### jobFilePrefixField

            JTextField jobFilePrefixField

      - ##### jPanel

            JPanel jPanel

      - ##### jScrollPane

            JScrollPane jScrollPane

      - ##### numGensField

            JTextField numGensField

      - ##### numJobsField

            JTextField numJobsField

      - ##### prefixField

            JTextField prefixField

      - ##### quitOnRunCompleteCheckbox

            JCheckBox quitOnRunCompleteCheckbox

      - ##### randomSeedsRadioButton

            JRadioButton randomSeedsRadioButton

      - ##### seedButtonGroup

            ButtonGroup seedButtonGroup

      - ##### seedFileButton

            JButton seedFileButton

      - ##### seedFileField

            JTextField seedFileField

      - ##### seedFileRadioButton

            JRadioButton seedFileRadioButton

      - ##### seedsTable

            JTable seedsTable

      - ##### sequentialSeedsRadioButton

            JRadioButton sequentialSeedsRadioButton

  - ### Class ec.display.EvolutionStateEvent

    class EvolutionStateEvent extends EventObject implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.display.ParametersPanel

    class ParametersPanel extends JPanel implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### console

            Console console

      - ##### jSplitPane

            JSplitPane jSplitPane

      - ##### parameterTable

            JTable parameterTable

      - ##### parameterTableScrollPane

            JScrollPane parameterTableScrollPane

      - ##### parameterTree

            JTree parameterTree

      - ##### parameterTreeScrollPane

            JScrollPane parameterTreeScrollPane

  - ### Class ec.display.StatisticsChartPane

    class StatisticsChartPane extends JTabbedPane implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### numCharts

            int numCharts

  - ### Class ec.display.SubpopulationPanel

    class SubpopulationPanel extends JPanel implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### console

            Console console

      - ##### individualDisplayPane

            JSplitPane individualDisplayPane

      - ##### individualListPane

            JScrollPane individualListPane

      - ##### individualsList

            JList<Integer> individualsList

      - ##### inspectionPane

            JScrollPane inspectionPane

      - ##### inspectionTree

            JTree inspectionTree

      - ##### portrayal

            IndividualPortrayal portrayal

      - ##### subPopNum

            int subPopNum

      - ##### subpopPane

            JSplitPane subpopPane

- ## Package ec.display.chart

  - ### Class ec.display.chart.BarChartStatistics

    class BarChartStatistics extends ChartableStatistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### dataset

            org.jfree.data.category.DefaultCategoryDataset dataset

  - ### Class ec.display.chart.ChartableStatistics

    class ChartableStatistics extends Statistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### pdf

            String pdf

      - ##### title

            String title

      - ##### xlabel

            String xlabel

      - ##### ylabel

            String ylabel

  - ### Class ec.display.chart.PieChartStatistics

    class PieChartStatistics extends ChartableStatistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### dataset

            org.jfree.data.general.DefaultPieDataset dataset

  - ### Class ec.display.chart.StatisticsChartPaneTab

    class StatisticsChartPaneTab extends JPanel implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### chartPane

            org.jfree.chart.ChartPanel chartPane

      - ##### closeButton

            JButton closeButton

      - ##### jPanel

            JPanel jPanel

      - ##### printButton

            JButton printButton

  - ### Class ec.display.chart.TimeSeriesStatistics

    class TimeSeriesStatistics extends XYSeriesChartStatistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### timeCollection

            org.jfree.data.time.TimeSeriesCollection timeCollection

  - ### Class ec.display.chart.XYSeriesChartStatistics

    class XYSeriesChartStatistics extends ChartableStatistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### seriesCollection

            org.jfree.data.xy.XYSeriesCollection seriesCollection

- ## Package ec.display.portrayal

  - ### Class ec.display.portrayal.IndividualPortrayal

    class IndividualPortrayal extends JPanel implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.display.portrayal.SimpleIndividualPortrayal

    class SimpleIndividualPortrayal extends IndividualPortrayal implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### printIndividualWriter

            CharArrayWriter printIndividualWriter

      - ##### textPane

            JTextPane textPane

- ## Package ec.eda.amalgam

  - ### Class ec.eda.amalgam.AMALGAMBreeder

    class AMALGAMBreeder extends Breeder implements Serializable

  - ### Class ec.eda.amalgam.AMALGAMSpecies

    class AMALGAMSpecies extends FloatVectorSpecies implements Serializable

    - #### Serialized Fields

      - ##### aggCovarMatrix

            org.ejml.data.DenseMatrix64F aggCovarMatrix

      - ##### alphaAMS

            double alphaAMS

      - ##### choleskyLower

            org.ejml.data.DenseMatrix64F choleskyLower

      - ##### constraintViolations

            IdentityHashMap<Individual,Integer> constraintViolations

      - ##### covarMatrix

            org.ejml.data.DenseMatrix64F covarMatrix

      - ##### deltaAMS

            double deltaAMS

      - ##### distributionMultiplier

            double distributionMultiplier

      - ##### distributionMultiplierDecrease

            double distributionMultiplierDecrease

      - ##### distributionMultiplierIncrease

            double distributionMultiplierIncrease

      - ##### etaP

            double etaP

      - ##### etaS

            double etaS

      - ##### firstGeneration

            boolean firstGeneration

      - ##### fitnessVarianceTolerance

            double fitnessVarianceTolerance

      - ##### genCovarMatrix

            org.ejml.data.DenseMatrix64F genCovarMatrix

      - ##### maximumNoImprovementStretch

            int maximumNoImprovementStretch

      - ##### mean

            org.ejml.data.DenseMatrix64F mean

        The mean of the distribution.

      - ##### meanShift

            org.ejml.data.DenseMatrix64F meanShift

      - ##### noImprovementStretch

            int noImprovementStretch

      - ##### prevMean

            org.ejml.data.DenseMatrix64F prevMean

      - ##### stDevRatioThresh

            double stDevRatioThresh

      - ##### tau

            double tau

      - ##### temp

            org.ejml.data.DenseMatrix64F temp

      - ##### temp2

            org.ejml.data.DenseMatrix64F temp2

      - ##### temp3

            org.ejml.data.DenseMatrix64F temp3

      - ##### tempMatrix

            org.ejml.data.DenseMatrix64F tempMatrix

      - ##### useAltTermination

            boolean useAltTermination

      - ##### userAlphaAMS

            double userAlphaAMS

      - ##### userEtaP

            double userEtaP

      - ##### userEtaS

            double userEtaS

      - ##### xAvgImp

            org.ejml.data.DenseMatrix64F xAvgImp

- ## Package ec.eda.cmaes

  - ### Class ec.eda.cmaes.CMAESBreeder

    class CMAESBreeder extends Breeder implements Serializable

  - ### Class ec.eda.cmaes.CMAESInitializer

    class CMAESInitializer extends SimpleInitializer implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.eda.cmaes.CMAESSpecies

    class CMAESSpecies extends FloatVectorSpecies implements Serializable

    - #### Serialized Fields

      - ##### altGeneratorTries

            int altGeneratorTries

        How many times should we try to generate a valid individual before we give up and use the useAltGenerator approach?

      - ##### b

            org.ejml.simple.SimpleMatrix b

        The "B" matrix, eigendecomposed from the "C" covariance matrix of the distribution.

      - ##### bd

            org.ejml.data.DenseMatrix64F bd

        b x d

      - ##### c

            org.ejml.simple.SimpleMatrix c

        The "C" covariance matrix of the distribution.

      - ##### c1

            double c1

        The c_1 rank-1 update learning rate. If not specified in the parameters, by default c1 = 2 / ((n + 1.3) * (n + 1.3) + mueff) where n is the genome size.

      - ##### cc

            double cc

        The c_c rank-one evolution path cumulation parameter. If not specified in the parameters, by default cc = (4 + mueff / n) / (n + 4 + 2 * mueff/n) where n is the genome size.

      - ##### chiN

            double chiN

        An estimate of the expected size of the standard multivariate gaussian N(0,I). This is chiN = Math.sqrt(n)*(1.0-1.0/(4.0*n)+1.0/(21.0*n*n))

      - ##### cmu

            double cmu

        The c_{\mu} rank-mu update learning rate. If not specified in the parameters, by default cmu = Math.min(1-c1, 2 * (mueff - 2 + 1/mueff) / ((n+2)*(n+2) + mueff)) where n is the genome size.

      - ##### cs

            double cs

        The c_{\sigma} mutation rate evolution path learning rate. If not specified in the parameters, by default cs = (mueff + 2) / (n + mueff + 5) where n is the genome size.

      - ##### d

            org.ejml.simple.SimpleMatrix d

        The "C" matrix, eigendecomposed from the "C" covariance matrix of the distribution.

      - ##### damps

            double damps

        The d_{\sigma} dampening for the mutation rate update. If not specified in the parameters, by default damps = cs + 2 * Math.max(1, Math.sqrt((mueff - 1) / (n + 1))) - 1 otherwise known as damps = 1 + 2 * Math.max(0, Math.sqrt((mueff - 1) / (n + 1)) - 1) + cs where n is the genome size.

      - ##### invsqrtC

            org.ejml.simple.SimpleMatrix invsqrtC

        C^{-1/2}. This is equal to B x D^{-1} x B^T

      - ##### lambda

            int lambda

        The individuals generated from the distribution. If not specified in the parameters, by default lambda = 4+(int)Math.floor(3*Math.log(n));

      - ##### lastEigenDecompositionGeneration

            int lastEigenDecompositionGeneration

        The most recent generation where an eigendecomposition on C was performed into B and D

      - ##### mu

            int mu

        The truncated individuals used to update the distribution. If not specified in the parameters, by default mu = (int)Math.floor(lambda/2.0);

      - ##### mueff

            double mueff

        The "mu_{eff}" constant in CMA-ES. This is set to 1.0 / the sum of the squares of each of the weights[...]

      - ##### pc

            org.ejml.simple.SimpleMatrix pc

        The p_c evolution path vector.

      - ##### ps

            org.ejml.simple.SimpleMatrix ps

        The p_{\sigma} evolution path vector.

      - ##### sbd

            org.ejml.data.DenseMatrix64F sbd

        bd x sigma

      - ##### sigma

            double sigma

        The "sigma" scaling factor for the covariance matrix.

      - ##### useAltGenerator

            boolean useAltGenerator

        If, after trying altGeneratorTries to build an indiviual, we are still building one which violates min/max gene constraints, should we instead fill those violated genes with uniformly-selected values between the min and max?

      - ##### useAltTermination

            boolean useAltTermination

        Should we terminate when the eigenvalues get too small? If we don't, they might go negative and the eigendecomposition will fail.

      - ##### weights

            double[] weights

        The ranked fitness weights for the mu individuals. If not specified in the parameters, by default weights[i] = ln((lambda + 1) / 2i). Then all the weights are normalized so that they sum to 1.

      - ##### xmean

            org.ejml.simple.SimpleMatrix xmean

        The mean of the distribution.

- ## Package ec.eda.dovs

  - ### Class ec.eda.dovs.DOVSBreeder

    class DOVSBreeder extends Breeder implements Serializable

  - ### Class ec.eda.dovs.DOVSEvaluator

    class DOVSEvaluator extends SimpleEvaluator implements Serializable

  - ### Class ec.eda.dovs.DOVSFitness

    class DOVSFitness extends SimpleFitness implements Serializable

    - #### Serialized Fields

      - ##### mean

            double mean

        Mean fitness value of the current individual.

      - ##### numOfObservations

            int numOfObservations

        Number of evaluation have been performed on this individual.

      - ##### sum

            double sum

        Sum of the all the fitness value with all the evaluation.

      - ##### sumSquared

            double sumSquared

        Sum of the all the squared fitness value with all the evaluation.

      - ##### variance

            double variance

        Variance of the fitness value of the current individual.

  - ### Class ec.eda.dovs.DOVSInitializer

    class DOVSInitializer extends SimpleInitializer implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.eda.dovs.DOVSSpecies

    class DOVSSpecies extends IntegerVectorSpecies implements Serializable

    - #### Serialized Fields

      - ##### A

            ArrayList<double[]> A

        Constraint coefficients

      - ##### activeSolutions

            ArrayList<Individual> activeSolutions

        activeSolutions contains all the samples that is on the boundary of the most promising area.

      - ##### b

            double[] b

        Constratin coefficients

      - ##### corners

            ArrayList<CornerMap> corners

        CornerMaps for the all the visisted individuals. This record the key-value pair for each individuals, where key is the coordinates and value is individual itself.

      - ##### Ek

            ArrayList<Individual> Ek

        This is the Ek in original paper, where is the collection all the individuals evaluated in generation k.

      - ##### initialReps

            int initialReps

        Base value of number evaluation for each individual.

      - ##### numOfTotalSamples

            long numOfTotalSamples

        This is for future using.

      - ##### optimalIndex

            int optimalIndex

        This integer indicate the index of optimal individual in the visited array.

      - ##### repetition

            int repetition

        This value will be updated at each generation to determine how many evaluation is needed for one individual. It make use of the initialReps.

      - ##### stochastic

            boolean stochastic

        Is the problem a stochastic problem.

      - ##### visited

            ArrayList<Individual> visited

        This list contains all the sample we have visited during current algorithm run.

      - ##### visitedIndexMap

            HashMap<Individual,Integer> visitedIndexMap

        Given a individual, return the index of this individual in ArrayList visited

      - ##### warmUp

            int warmUp

        warm up period for RMD sampling.

  - ### Class ec.eda.dovs.HyperboxSpecies

    class HyperboxSpecies extends DOVSSpecies implements Serializable

    - #### Serialized Fields

      - ##### boxA

            ArrayList<double[]> boxA

        boxA and boxB contain the current constraint hyperbox.

      - ##### boxB

            ArrayList<Double> boxB

        boxA and boxB contain the current constraint hyperbox.

- ## Package ec.eda.pbil

  - ### Class ec.eda.pbil.PBILBreeder

    class PBILBreeder extends Breeder implements Serializable

  - ### Class ec.eda.pbil.PBILSpecies

    class PBILSpecies extends IntegerVectorSpecies implements Serializable

    - #### Serialized Fields

      - ##### alpha

            double alpha

      - ##### b

            int b

      - ##### distributions

            List<double[]> distributions

- ## Package ec.es

  - ### Class ec.es.ESSelection

    class ESSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.es.MuCommaLambdaBreeder

    class MuCommaLambdaBreeder extends Breeder implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### children

            int[] children

      - ##### comparison

            byte[] comparison

      - ##### count

            int[] count

        Modified by multiple threads, don't fool with this

      - ##### lambda

            int[] lambda

      - ##### mu

            int[] mu

      - ##### newIndividuals

            ArrayList[][] newIndividuals

      - ##### parentPopulation

            Population parentPopulation

      - ##### parents

            int[] parents

  - ### Class ec.es.MuPlusLambdaBreeder

    class MuPlusLambdaBreeder extends MuCommaLambdaBreeder implements Serializable
    serialVersionUID:
      1L

- ## Package ec.eval

  - ### Class ec.eval.MasterProblem

    class MasterProblem extends Problem implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### batchMode

            boolean batchMode

      - ##### jobSize

            int jobSize

      - ##### problem

            Problem problem

      - ##### queue

            ArrayList<QueueIndividual> queue

      - ##### showDebugInfo

            boolean showDebugInfo

  - ### Class ec.eval.MetaProblem

    class MetaProblem extends Problem implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### base

            Parameter base

        The parameter base from which the MetaProblem was loaded.

      - ##### bestUnderlyingIndividual

            Individual[] bestUnderlyingIndividual

        The best underlying individual array, one per subpopulation. We retain the best underlying individual here rather than storing it in (say) the associated fitness because fitnesses are *averaged* over trials, so we wouldn't be able to keep track of the *max* fitness and associated individual that way. So we do it here.

      - ##### currentDatabase

            ParameterDatabase currentDatabase

        This points to the database presently used by the underlying (base-level) evolutionary computation system. It is a cloned and modified version of p_database.

      - ##### domain

            Object[] domain

        A list of domain information, one per parameter in the genome.

      - ##### lock

            Object lock

        Acquire this lock before accessing bestUnderlyingIndividual

      - ##### p_database

            ParameterDatabase p_database

        A prototypical parameter database for the underlying (base-level) evolutionary computation system. This is never directly used, just cloned.

      - ##### reevaluateIndividuals

            boolean reevaluateIndividuals

        Whether to reevaluate individuals if and when they appear for evaluation in the future.

      - ##### runs

            int runs

        The number of base-level evolutionary runs to perform to evaluate an individual.

      - ##### setRandom

            boolean setRandom

- ## Package ec.evolve

  - ### Class ec.evolve.RandomRestarts

    class RandomRestarts extends Statistics implements Serializable

    - #### Serialized Fields

      - ##### countdown

            int countdown

      - ##### restartType

            String restartType

      - ##### start

            int start

      - ##### upperbound

            int upperbound

- ## Package ec.exchange

  - ### Class ec.exchange.InterPopulationExchange

    class InterPopulationExchange extends Exchanger implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### base

            Parameter base

        My parameter base -- I need to keep this in order to help the server reinitialize contacts

      - ##### chatty

            boolean chatty

      - ##### exchangeInformation

            ec.exchange.InterPopulationExchange.IPEInformation[] exchangeInformation

      - ##### immigrants

            Individual[][] immigrants

      - ##### nImmigrants

            int[] nImmigrants

      - ##### nrSources

            int nrSources

  - ### Class ec.exchange.IslandExchange

    class IslandExchange extends Exchanger implements Serializable
    serialVersionUID:
      1L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Custom serialization
        Throws:
          `IOException`
          `ClassNotFoundException`

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Custom serialization
        Throws:
          `IOException`

    - #### Serialized Fields

      - ##### alreadyReadGoodBye

            boolean alreadyReadGoodBye

      - ##### base

            Parameter base

        My parameter base -- I need to keep this in order to help the server reinitialize contacts

      - ##### chatty

            boolean chatty

        Our chattiness

      - ##### clientPort

            int clientPort

        The port of the client mailbox

      - ##### compressedCommunication

            boolean compressedCommunication

        whether the communication is compressed or not

      - ##### fromServer

            DataInputStream fromServer

      - ##### iAmServer

            boolean iAmServer

        whether the server should be running on the current island or not

      - ##### immigrantsSelectionMethod

            SelectionMethod immigrantsSelectionMethod

        the selection method for immigrants

      - ##### indsToDieSelectionMethod

            SelectionMethod indsToDieSelectionMethod

        the selection method for individuals to be replaced by immigrants

      - ##### mailbox

            ec.exchange.IslandExchangeMailbox mailbox

      - ##### mailboxThread

            Thread mailboxThread

      - ##### message

            String message

      - ##### modulo

            int modulo

        how often to send individuals

      - ##### number_of_destination_islands

            int number_of_destination_islands

      - ##### offset

            int offset

        after how many generations to start sending individuals

      - ##### outgoingIds

            String[] outgoingIds

      - ##### outSockets

            Socket[] outSockets

      - ##### outWriters

            DataOutputStream[] outWriters

      - ##### ownId

            String ownId

        the id of the current island

      - ##### running

            boolean[] running

      - ##### serverAddress

            String serverAddress

        The address of the server

      - ##### serverPort

            int serverPort

        The port of the server

      - ##### serverSocket

            Socket serverSocket

      - ##### serverThread

            Thread serverThread

        The thread of the server (is different than null only for the island with the server)

      - ##### size

            int size

        how many individuals to send each time

      - ##### synchronous

            boolean synchronous

        synchronous or asynchronous communication

      - ##### toServer

            DataOutputStream toServer

- ## Package ec.gp

  - ### Class ec.gp.ADF

    class ADF extends GPNode implements Serializable

    - #### Serialized Fields

      - ##### associatedTree

            int associatedTree

        The ADF's associated tree

      - ##### name

            String name

        The "function name" of the ADF, to distinguish it from other GP functions you might provide.

  - ### Class ec.gp.ADFArgument

    class ADFArgument extends GPNode implements Serializable

    - #### Serialized Fields

      - ##### argument

            int argument

      - ##### name

            String name

        The "function name" of the ADFArgument, to distinguish it from other GP functions you might provide.

  - ### Class ec.gp.ADFContext

    class ADFContext extends Object implements Serializable

    - #### Serialized Fields

      - ##### adf

            ADF adf

        The ADF/ADM node proper

      - ##### arguments

            GPData[] arguments

        An array of GPData nodes (none of the null, when it's used) holding an ADF's arguments' return results

  - ### Class ec.gp.ADFStack

    class ADFStack extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### context_proto

            ADFContext context_proto

      - ##### inReserve

            int inReserve

      - ##### onStack

            int onStack

      - ##### onSubstack

            int onSubstack

      - ##### reserve

            ADFContext[] reserve

      - ##### stack

            ADFContext[] stack

      - ##### substack

            ADFContext[] substack

  - ### Class ec.gp.ADM

    class ADM extends ADF implements Serializable

  - ### Class ec.gp.ERC

    class ERC extends GPNode implements Serializable

  - ### Class ec.gp.GPAtomicType

    class GPAtomicType extends GPType implements Serializable

  - ### Class ec.gp.GPBreedingPipeline

    class GPBreedingPipeline extends BreedingPipeline implements Serializable

  - ### Class ec.gp.GPData

    class GPData extends Object implements Serializable

  - ### Class ec.gp.GPFunctionSet

    class GPFunctionSet extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Throws:
          `IOException`
          `ClassNotFoundException`

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Throws:
          `IOException`

    - #### Serialized Fields

      - ##### name

            String name

        Name of the GPFunctionSet

      - ##### nodes

            GPNode[][] nodes

        The nodes that our GPTree can use: nodes[type][thenodes].

      - ##### nodes_h

            Hashtable nodes_h

        The nodes that our GPTree can use: arrays of nodes hashed by type.

      - ##### nodesByArity

            GPNode[][][] nodesByArity

        Nodes == a given arity, that is: nodesByArity[type][arity][thenodes]

      - ##### nodesByName

            Hashtable nodesByName

        The nodes that our GPTree can use, hashed by name().

      - ##### nonterminals

            GPNode[][] nonterminals

        The nonterminals our GPTree can use: nonterminals[type][thenodes].

      - ##### nonterminals_h

            Hashtable nonterminals_h

        The nonterminals our GPTree can use: arrays of nonterminals hashed by type.

      - ##### nonterminalsOverArity

            GPNode[][][] nonterminalsOverArity

        Nonterminals >= a given arity, that is: nonterminalsOverArity[type][arity][thenodes] -- this will be O(n^2). Obviously, the number of nonterminals at arity slot 0 is all the nonterminals of that type.

      - ##### nonterminalsUnderArity

            GPNode[][][] nonterminalsUnderArity

        Nonterminals invalid input: '<'= a given arity, that is: nonterminalsUnderArity[type][arity][thenodes] -- this will be O(n^2). Obviously, the number of nonterminals at arity slot 0 is 0.

      - ##### terminals

            GPNode[][] terminals

        The terminals our GPTree can use: terminals[type][thenodes].

      - ##### terminals_h

            Hashtable terminals_h

        The terminals our GPTree can use: arrays of terminals hashed by type.

  - ### Class ec.gp.GPIndividual

    class GPIndividual extends Individual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### trees

            GPTree[] trees

  - ### Class ec.gp.GPInitializer

    class GPInitializer extends SimpleInitializer implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### functionSetRepository

            Hashtable functionSetRepository

      - ##### nodeConstraintRepository

            Hashtable nodeConstraintRepository

      - ##### nodeConstraints

            GPNodeConstraints[] nodeConstraints

      - ##### numAtomicTypes

            int numAtomicTypes

      - ##### numNodeConstraints

            byte numNodeConstraints

      - ##### numSetTypes

            int numSetTypes

      - ##### numTreeConstraints

            byte numTreeConstraints

      - ##### treeConstraintRepository

            Hashtable treeConstraintRepository

      - ##### treeConstraints

            GPTreeConstraints[] treeConstraints

      - ##### typeRepository

            Hashtable typeRepository

        TODO Comment these members. TODO Make clients of these members more efficient by reducing unnecessary casting.

      - ##### types

            GPType[] types

  - ### Class ec.gp.GPNode

    class GPNode extends Object implements Serializable

    - #### Serialized Fields

      - ##### argposition

            byte argposition

        The argument position of the child in its parent. This is a byte to save space (GPNode is the critical object space-wise) -- besides, how often do you have 256 children? You can change this to a short or int easily if you absolutely need to. It's possible to eliminate even this and have the child find itself in its parent, but that's an O(children[]) operation, and probably not inlinable, so I figure a byte is okay.

      - ##### children

            GPNode[] children

      - ##### constraints

            byte constraints

        The GPNode's constraints. This is a byte to save space -- how often do you have 256 different GPNodeConstraints? Well, I guess it's not infeasible. You can increase this to an int without much trouble. You typically shouldn't access the constraints through this variable -- use the constraints(state) method instead.

      - ##### parent

            GPNodeParent parent

        The GPNode's parent. 4 bytes. :-( But it really helps simplify breeding.

  - ### Class ec.gp.GPNodeBuilder

    class GPNodeBuilder extends Object implements Serializable

    - #### Serialized Fields

      - ##### maxSize

            int maxSize

        the minium possible size -- if unused, it's 0

      - ##### minSize

            int minSize

      - ##### sizeDistribution

            double[] sizeDistribution

        the maximum possible size -- if unused, it's 0

  - ### Class ec.gp.GPNodeConstraints

    class GPNodeConstraints extends Object implements Serializable

    - #### Serialized Fields

      - ##### childtypes

            GPType[] childtypes

        The children types for a GPNode

      - ##### constraintNumber

            byte constraintNumber

        The byte value of the constraints -- we can only have 256 of them

      - ##### name

            String name

        The name of the GPNodeConstraints object -- this is NOT the name of the GPNode

      - ##### probabilityOfSelection

            double probabilityOfSelection

        Probability of selection -- an auxillary measure mostly used by PTC1/PTC2 right now

      - ##### returntype

            GPType returntype

        The return type for a GPNode

      - ##### zeroChildren

            GPNode[] zeroChildren

        A little memory optimization: if GPNodes have no children, they are welcome to use share this zero-sized array as their children array.

  - ### Class ec.gp.GPNodeGatherer

    class GPNodeGatherer extends Object implements Serializable

    - #### Serialized Fields

      - ##### node

            GPNode node

  - ### Class ec.gp.GPProblem

    class GPProblem extends Problem implements Serializable

    - #### Serialized Fields

      - ##### input

            GPData input

        The GPProblem's GPData

      - ##### stack

            ADFStack stack

        The GPProblem's stack

  - ### Class ec.gp.GPSetType

    class GPSetType extends GPType implements Serializable

    - #### Serialized Fields

      - ##### types_h

            Hashtable types_h

        The hashtable of types in the set

      - ##### types_packed

            int[] types_packed

        A packed, sorted array of atomic types in the set

      - ##### types_sparse

            boolean[] types_sparse

        A sparse array of atomic types in the set

  - ### Class ec.gp.GPSpecies

    class GPSpecies extends Species implements Serializable

  - ### Class ec.gp.GPTree

    class GPTree extends Object implements Serializable

    - #### Serialized Fields

      - ##### child

            GPNode child

        the root GPNode in the GPTree

      - ##### constraints

            byte constraints

        constraints on the GPTree -- don't access the constraints through this variable -- use the constraints() method instead, which will give the actual constraints object.

      - ##### owner

            GPIndividual owner

        the owner of the GPTree

      - ##### printStyle

            int printStyle

        The print style of the GPTree.

      - ##### printTerminalsAsVariablesInC

            boolean printTerminalsAsVariablesInC

        When using c to print for humans, do we print terminals as variables? (as opposed to zero-argument functions)?

      - ##### printTwoArgumentNonterminalsAsOperatorsInC

            boolean printTwoArgumentNonterminalsAsOperatorsInC

        When using c to print for humans, do we print two-argument nonterminals in operator form "a op b"? (as opposed to functions "op(a, b)")?

  - ### Class ec.gp.GPTreeConstraints

    class GPTreeConstraints extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### constraintNumber

            byte constraintNumber

        The byte value of the constraints -- we can only have 256 of them

      - ##### functionset

            GPFunctionSet functionset

        The function set for nodes in the tree

      - ##### init

            GPNodeBuilder init

        The builder for the tree

      - ##### name

            String name

      - ##### treetype

            GPType treetype

        The type of the root of the tree

  - ### Class ec.gp.GPType

    class GPType extends Object implements Serializable

    - #### Serialized Fields

      - ##### name

            String name

        The name of the type

      - ##### type

            int type

        The preassigned integer value for the type

- ## Package ec.gp.breed

  - ### Class ec.gp.breed.InternalCrossoverPipeline

    class InternalCrossoverPipeline extends GPBreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### maxDepth

            int maxDepth

        The deepest tree the pipeline is allowed to form. Single terminal trees are depth 1.

      - ##### nodeselect0

            GPNodeSelector nodeselect0

        How the pipeline chooses the first subtree

      - ##### nodeselect1

            GPNodeSelector nodeselect1

        How the pipeline chooses the second subtree

      - ##### numTries

            int numTries

        How many times the pipeline attempts to pick nodes until it gives up.

      - ##### tree1

            int tree1

        Is the first tree fixed? If not, this is -1

      - ##### tree2

            int tree2

        Is the second tree fixed? If not, this is -1

  - ### Class ec.gp.breed.MutateAllNodesPipeline

    class MutateAllNodesPipeline extends GPBreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### nodeselect

            GPNodeSelector nodeselect

        How the pipeline chooses a subtree to mutate

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

  - ### Class ec.gp.breed.MutateDemotePipeline

    class MutateDemotePipeline extends GPBreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### demotableNode

            GPNode demotableNode

      - ##### maxDepth

            int maxDepth

        The maximum depth of a mutated tree

      - ##### numTries

            int numTries

        The number of times the pipeline tries to build a valid mutated tree before it gives up and just passes on the original

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

  - ### Class ec.gp.breed.MutateERCPipeline

    class MutateERCPipeline extends GPBreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### nodeselect

            GPNodeSelector nodeselect

        How the pipeline chooses a subtree to mutate

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

  - ### Class ec.gp.breed.MutateOneNodePipeline

    class MutateOneNodePipeline extends GPBreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### nodeselect

            GPNodeSelector nodeselect

        How the pipeline chooses a subtree to mutate

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

  - ### Class ec.gp.breed.MutatePromotePipeline

    class MutatePromotePipeline extends GPBreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### numTries

            int numTries

        The number of times the pipeline tries to build a valid mutated tree before it gives up and just passes on the original

      - ##### promotableNode

            GPNode promotableNode

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

  - ### Class ec.gp.breed.MutateSwapPipeline

    class MutateSwapPipeline extends GPBreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### numTries

            int numTries

        The number of times the pipeline tries to build a valid mutated tree before it gives up and just passes on the original

      - ##### swappableNode

            GPNode swappableNode

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

  - ### Class ec.gp.breed.RehangPipeline

    class RehangPipeline extends GPBreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### numTries

            int numTries

        The number of times the pipeline tries to find a tree with a nonterminal before giving up and just copying the individual.

      - ##### rehangableNode

            GPNode rehangableNode

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

  - ### Class ec.gp.breed.SizeFairCrossoverPipeline

    class SizeFairCrossoverPipeline extends GPBreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### homologous

            boolean homologous

      - ##### maxDepth

            int maxDepth

        The deepest tree the pipeline is allowed to form. Single terminal trees are depth 1.

      - ##### nodeselect1

            GPNodeSelector nodeselect1

        How the pipeline selects a node from individual 1

      - ##### nodeselect2

            GPNodeSelector nodeselect2

        How the pipeline selects a node from individual 2

      - ##### numTries

            int numTries

        How many times the pipeline attempts to pick nodes until it gives up.

      - ##### parents

            ArrayList<Individual> parents

        Temporary holding place for parents

      - ##### tossSecondParent

            boolean tossSecondParent

        Should the pipeline discard the second parent after crossing over?

      - ##### tree1

            int tree1

        Is the first tree fixed? If not, this is -1

      - ##### tree2

            int tree2

        Is the second tree fixed? If not, this is -1

- ## Package ec.gp.build

  - ### Class ec.gp.build.PTC1

    class PTC1 extends GPNodeBuilder implements Serializable

    - #### Serialized Fields

      - ##### expectedSize

            int expectedSize

        The default expected tree size for PTC1

      - ##### maxDepth

            int maxDepth

        The largest maximum tree depth PTC1 can specify -- should be big.

  - ### Class ec.gp.build.PTC2

    class PTC2 extends GPNodeBuilder implements Serializable

    - #### Serialized Fields

      - ##### dequeue_argpos

            int dequeue_argpos

      - ##### dequeue_depth

            int dequeue_depth

      - ##### dequeue_node

            GPNode dequeue_node

      - ##### maxDepth

            int maxDepth

        The largest maximum tree depth GROW can specify -- should be big.

      - ##### s_argpos

            int[] s_argpos

      - ##### s_depth

            int[] s_depth

      - ##### s_node

            GPNode[] s_node

      - ##### s_size

            int s_size

  - ### Class ec.gp.build.PTCFunctionSet

    class PTCFunctionSet extends GPFunctionSet implements Serializable

    - #### Serialized Fields

      - ##### p_y

            double[][] p_y

        cache of nonterminal selection probabilities -- dense array [size-1][type]. If any items are null, they're not in the dense cache.

      - ##### q_ny

            double[][] q_ny

        nonterminal probabilities[type][thenodes], in organized form

      - ##### q_ty

            double[][] q_ty

        terminal probabilities[type][thenodes], in organized form

  - ### Class ec.gp.build.RandomBranch

    class RandomBranch extends GPNodeBuilder implements Serializable

  - ### Class ec.gp.build.RandTree

    class RandTree extends GPNodeBuilder implements Serializable

    - #### Serialized Fields

      - ##### arities

            int[] arities

      - ##### aritySetupDone

            boolean aritySetupDone

      - ##### permutations

            LinkedList permutations

  - ### Class ec.gp.build.Uniform

    class Uniform extends GPNodeBuilder implements Serializable

    - #### Serialized Fields

      - ##### _functionsets

            Hashtable _functionsets

      - ##### _truesizes

            BigInteger[][][] _truesizes

      - ##### CHILD_D

            double[][][][][] CHILD_D

      - ##### funcnodes

            Hashtable funcnodes

      - ##### functionsets

            GPFunctionSet[] functionsets

      - ##### maxarity

            int maxarity

      - ##### maxtreesize

            int maxtreesize

      - ##### NUMCHILDPERMUTATIONS

            BigInteger[][][][][] NUMCHILDPERMUTATIONS

      - ##### numfuncnodes

            int numfuncnodes

      - ##### NUMTREESOFTYPE

            BigInteger[][][] NUMTREESOFTYPE

      - ##### NUMTREESROOTEDBYNODE

            BigInteger[][][] NUMTREESROOTEDBYNODE

      - ##### ROOT_D

            ec.gp.build.UniformGPNodeStorage[][][][] ROOT_D

      - ##### ROOT_D_ZERO

            boolean[][][] ROOT_D_ZERO

      - ##### truesizes

            double[][][] truesizes

      - ##### useTrueDistribution

            boolean useTrueDistribution

- ## Package ec.gp.ge

  - ### Class ec.gp.ge.GEIndividual

    class GEIndividual extends IntegerVectorIndividual implements Serializable

  - ### Class ec.gp.ge.GEProblem

    class GEProblem extends Problem implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### problem

            GPProblem problem

  - ### Class ec.gp.ge.GESpecies

    class GESpecies extends IntegerVectorSpecies implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### ERCBank

            HashMap ERCBank

        All the ERCs created so far, the ERCs are mapped as, "key --> list of ERC nodes", where the key = (genome[i] - minGene[i]); The ERCBank is "static", beacause we need one identical copy for all the individuals; Moreover, this copy may be sent to other sub-populations as well.

      - ##### gpspecies

            GPSpecies gpspecies

        The GPSpecies subsidiary to GESpecies.

      - ##### grammar

            GrammarRuleNode[] grammar

        The parsed grammars.

      - ##### grammarParser

            GrammarParser[] grammarParser

        Parser for each grammar -- khaled

      - ##### initScheme

            String initScheme

      - ##### parser_prototype

            GrammarParser parser_prototype

        The prototypical parser used to parse the grammars.

      - ##### passes

            int passes

        The number of passes permitted through the genome if we're wrapping. Must be >= 1.

  - ### Class ec.gp.ge.GrammarFunctionNode

    class GrammarFunctionNode extends GrammarNode implements Serializable

    - #### Serialized Fields

      - ##### prototype

            GPNode prototype

  - ### Class ec.gp.ge.GrammarNode

    class GrammarNode extends Object implements Serializable

    - #### Serialized Fields

      - ##### children

            ArrayList<GrammarNode> children

      - ##### head

            String head

  - ### Class ec.gp.ge.GrammarParser

    class GrammarParser extends Object implements Serializable

    - #### Serialized Fields

      - ##### absIndexToRelIndex

            HashMap absIndexToRelIndex

      - ##### functionHeadToIndex

            HashMap functionHeadToIndex

      - ##### indexToRule

            HashMap indexToRule

      - ##### predictiveParseTable

            int[][] predictiveParseTable

        The predictive parse table to parse the lisp tree, this is what we are looking for.

      - ##### productionRuleList

            ArrayList productionRuleList

        Lots of stuffs to enumerate/analyze the grammar tree, these are needed to generate the predictive parse table.

      - ##### root

            GrammarRuleNode root

      - ##### ruleHeadToIndex

            HashMap ruleHeadToIndex

      - ##### rules

            HashMap rules

      - ##### ruleToFirstSet

            HashMap ruleToFirstSet

        The hash-map for the so called FIRST-SET, FOLLOW-SET and PREDICT-SET for each of the production rules.

      - ##### ruleToFollowSet

            HashMap ruleToFollowSet

      - ##### ruleToIndex

            HashMap ruleToIndex

      - ##### ruleToPredictSet

            HashMap ruleToPredictSet

  - ### Class ec.gp.ge.GrammarRuleNode

    class GrammarRuleNode extends GrammarNode implements Serializable

- ## Package ec.gp.koza

  - ### Class ec.gp.koza.CrossoverPipeline

    class CrossoverPipeline extends GPBreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### maxDepth

            int maxDepth

        The deepest tree the pipeline is allowed to form. Single terminal trees are depth 1.

      - ##### maxSize

            int maxSize

        The largest tree (measured as a nodecount) the pipeline is allowed to form.

      - ##### nodeselect1

            GPNodeSelector nodeselect1

        How the pipeline selects a node from individual 1

      - ##### nodeselect2

            GPNodeSelector nodeselect2

        How the pipeline selects a node from individual 2

      - ##### numTries

            int numTries

        How many times the pipeline attempts to pick nodes until it gives up.

      - ##### parents

            ArrayList<Individual> parents

        Temporary holding place for parents

      - ##### tossSecondParent

            boolean tossSecondParent

        Should the pipeline discard the second parent after crossing over?

      - ##### tree1

            int tree1

        Is the first tree fixed? If not, this is -1

      - ##### tree2

            int tree2

        Is the second tree fixed? If not, this is -1

  - ### Class ec.gp.koza.FullBuilder

    class FullBuilder extends KozaBuilder implements Serializable

  - ### Class ec.gp.koza.GrowBuilder

    class GrowBuilder extends KozaBuilder implements Serializable

  - ### Class ec.gp.koza.HalfBuilder

    class HalfBuilder extends KozaBuilder implements Serializable

    - #### Serialized Fields

      - ##### pickGrowProbability

            double pickGrowProbability

        The likelihood of using GROW over FULL.

  - ### Class ec.gp.koza.KozaBuilder

    class KozaBuilder extends GPNodeBuilder implements Serializable

    - #### Serialized Fields

      - ##### maxDepth

            int maxDepth

        The largest maximum tree depth RAMPED HALF-AND-HALF can specify.

      - ##### minDepth

            int minDepth

        The smallest maximum tree depth RAMPED HALF-AND-HALF can specify.

  - ### Class ec.gp.koza.KozaFitness

    class KozaFitness extends Fitness implements Serializable

    - #### Serialized Fields

      - ##### hits

            int hits

        This auxillary measure is used in some problems for additional information. It's a traditional feature of Koza-style GP, and so although I think it's not very useful, I'll leave it in anyway.

      - ##### standardizedFitness

            double standardizedFitness

        This ranges from 0 (best) to infinity (worst). I define it here as equivalent to the standardized fitness.

  - ### Class ec.gp.koza.KozaNodeSelector

    class KozaNodeSelector extends Object implements Serializable

    - #### Serialized Fields

      - ##### nodes

            int nodes

        The number of nodes in the tree, -1 if unknown.

      - ##### nonterminalProbability

            double nonterminalProbability

        The probability a nonterminal must be chosen.

      - ##### nonterminals

            int nonterminals

        The number of nonterminals in the tree, -1 if unknown.

      - ##### rootProbability

            double rootProbability

        The probability the root must be chosen

      - ##### terminalProbability

            double terminalProbability

        The probability a terminal must be chosen

      - ##### terminals

            int terminals

        The number of terminals in the tree, -1 if unknown.

  - ### Class ec.gp.koza.KozaShortStatistics

    class KozaShortStatistics extends SimpleShortStatistics implements Serializable

    - #### Serialized Fields

      - ##### doDepth

            boolean doDepth

      - ##### totalDepthSoFarTree

            long[][] totalDepthSoFarTree

      - ##### totalDepthThisGenTree

            long[][] totalDepthThisGenTree

      - ##### totalSizeSoFarTree

            long[][] totalSizeSoFarTree

      - ##### totalSizeThisGenTree

            long[][] totalSizeThisGenTree

  - ### Class ec.gp.koza.MutationPipeline

    class MutationPipeline extends GPBreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### builder

            GPNodeBuilder builder

        How the pipeline builds a new subtree

      - ##### equalSize

            boolean equalSize

        Do we try to replace the subtree with another of the same size?

      - ##### maxDepth

            int maxDepth

        The maximum depth of a mutated tree

      - ##### maxSize

            int maxSize

        The largest tree (measured as a nodecount) the pipeline is allowed to form.

      - ##### nodeselect

            GPNodeSelector nodeselect

        How the pipeline chooses a subtree to mutate

      - ##### numTries

            int numTries

        The number of times the pipeline tries to build a valid mutated tree before it gives up and just passes on the original

      - ##### tree

            int tree

        Is our tree fixed? If not, this is -1

- ## Package ec.gp.push

  - ### Class ec.gp.push.Nonterminal

    class Nonterminal extends GPNode implements Serializable

  - ### Class ec.gp.push.PushBuilder

    class PushBuilder extends GPNodeBuilder implements Serializable

    - #### Serialized Fields

      - ##### dummy

            GPNode[] dummy

  - ### Class ec.gp.push.PushInstruction

    class PushInstruction extends org.spiderland.Psh.Instruction implements Serializable

  - ### Class ec.gp.push.PushProblem

    class PushProblem extends GPProblem implements Serializable

    - #### Serialized Fields

      - ##### buffer

            StringBuilder buffer

  - ### Class ec.gp.push.Terminal

    class Terminal extends ERC implements Serializable

    - #### Serialized Fields

      - ##### customInstructions

            PushInstruction[] customInstructions

        A list of custom PushInstructions I can be set to.

      - ##### indices

            int[] indices

        For each PushInstruction, a pointer into instructions which gives the name of that instruction. Note that some instructions in instructions are built-in Push instructions and will have nothing pointing to them.

      - ##### instructions

            String[] instructions

        Names of all the Push instructions I can be set to. This includes names for custom PushInstructions.

      - ##### value

            String value

        The current name of the Push Terminal I am set to.

- ## Package ec.multiobjective

  - ### Class ec.multiobjective.HypervolumeStatistics

    class HypervolumeStatistics extends SimpleStatistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### referencePoint

            double[] referencePoint

  - ### Class ec.multiobjective.MultiObjectiveFitness

    class MultiObjectiveFitness extends Fitness implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### maximize

            boolean[] maximize

        Maximization. Shared.

      - ##### maxObjective

            double[] maxObjective

        Desired maximum fitness values. By default these are 1.0. Shared.

      - ##### minObjective

            double[] minObjective

        Desired minimum fitness values. By default these are 0.0. Shared.

      - ##### objectives

            double[] objectives

        The various fitnesses.

  - ### Class ec.multiobjective.MultiObjectiveStatistics

    class MultiObjectiveStatistics extends SimpleStatistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### doHypervolume

            boolean doHypervolume

      - ##### frontLog

            int frontLog

        The pareto front log

      - ##### referencePoint

            double[] referencePoint

      - ##### silentFront

            boolean silentFront

      - ##### warned

            boolean warned

        Logs the best individual of the generation.

- ## Package ec.multiobjective.nsga2

  - ### Class ec.multiobjective.nsga2.NSGA2Breeder

    class NSGA2Breeder extends SimpleBreeder implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### breedingState

            NSGA2Breeder.BreedingState breedingState

      - ##### numElites

            int[] numElites

      - ##### oldPopulation

            Population oldPopulation

  - ### Class ec.multiobjective.nsga2.NSGA2MultiObjectiveFitness

    class NSGA2MultiObjectiveFitness extends MultiObjectiveFitness implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### rank

            int rank

        Pareto front rank measure (lower ranks are better)

      - ##### sparsity

            double sparsity

        Sparsity along front rank measure (higher sparsity is better)

- ## Package ec.multiobjective.spea2

  - ### Class ec.multiobjective.spea2.SPEA2Breeder

    class SPEA2Breeder extends SimpleBreeder implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### breedingState

            SPEA2Breeder.BreedingState breedingState

      - ##### k

            int k

      - ##### normalize

            boolean normalize

        Indicates whether distance calculations first normalize the objectives to range between zero and one.

      - ##### oldPopulation

            Population oldPopulation

  - ### Class ec.multiobjective.spea2.SPEA2MultiObjectiveFitness

    class SPEA2MultiObjectiveFitness extends MultiObjectiveFitness implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### fitness

            double fitness

        Final SPEA2 fitness. Equals the raw fitness R(i) plus the kthNNDistance D(i).

      - ##### kthNNDistance

            double kthNNDistance

        SPEA2 NN distance

      - ##### strength

            double strength

        SPEA2 strength (# of nodes it dominates)

- ## Package ec.neat

  - ### Class ec.neat.NEATBreeder

    class NEATBreeder extends Breeder implements Serializable

  - ### Class ec.neat.NEATGene

    class NEATGene extends Gene implements Serializable

    - #### Serialized Fields

      - ##### enable

            boolean enable

        Is the link this gene represent is enable in network activation.

      - ##### frozen

            boolean frozen

        Is this gene frozen, a frozen gene's weight cannot get mutated in breeding procedure.

      - ##### inNode

            NEATNode inNode

        The actual in node this gene connect to.

      - ##### inNodeId

            int inNodeId

        The id of the in node, this is useful in reading a gene from file, we will use this id to find the actual node after we finish reading the genome file.

      - ##### innovationNumber

            int innovationNumber

        The innovation number of this link.

      - ##### isRecurrent

            boolean isRecurrent

        Is the link this gene represent a recurrent link.

      - ##### mutationNumber

            double mutationNumber

        The mutation number of this gene, Used to see how much mutation has changed.

      - ##### outNode

            NEATNode outNode

        The actual out node this gene connect to.

      - ##### outNodeId

            int outNodeId

        The id of the in node, this is useful in reading a gene from file, we will use this id to find the actual node after we finish reading the genome file.

      - ##### timeDelay

            boolean timeDelay

        Time delay of the link, used in network activation.

      - ##### weight

            double weight

        The weight of link this gene is represent.

  - ### Class ec.neat.NEATIndividual

    class NEATIndividual extends GeneVectorIndividual implements Serializable

    - #### Serialized Fields

      - ##### adjustedFitness

            double adjustedFitness

        Fitness after the adjustment.

      - ##### champion

            boolean champion

        Marks the subspecies champion, which is the individual who has the highest fitness with the subspecies.

      - ##### eliminate

            boolean eliminate

        Marker for destruction of inferior individual.

      - ##### expectedOffspring

            double expectedOffspring

        Number of children this individual may have for next generation.

      - ##### generation

            int generation

        Tells which generation this individual is from.

      - ##### highFit

            double highFit

        debug variable, highest fitness of champion

      - ##### nodes

            ArrayList<NEATNode> nodes

        All the node of this individual. Nodes are arranged so that the first part of the nodes are SENSOR nodes.

      - ##### popChampion

            boolean popChampion

        Marks the best individual in current generation of the population.

      - ##### popChampionChild

            boolean popChampionChild

        Marks the duplicate child of a champion (for tracking purposes).

      - ##### subspecies

            NEATSubspecies subspecies

        The individual's subpecies

      - ##### superChampionOffspring

            int superChampionOffspring

        Number of reserved offspring for a population leader. This is used for delta coding.

      - ##### timeAlive

            int timeAlive

        When playing in real-time allows knowing the maturity of an individual

  - ### Class ec.neat.NEATInitializer

    class NEATInitializer extends SimpleInitializer implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.neat.NEATInnovation

    class NEATInnovation extends Object implements Serializable

    - #### Serialized Fields

      - ##### inNodeId

            int inNodeId

        Two nodes specify where the link innovation took place : this is the input node.

      - ##### innovationNum1

            int innovationNum1

        The number assigned to the innovation.

      - ##### innovationNum2

            int innovationNum2

        If this is a new node innovation,then there are 2 innovations (links) added for the new node.

      - ##### innovationType

            int innovationType

        Either NEWNODE (0) or NEWLINK (1).

      - ##### newNodeId

            int newNodeId

        If a new node was created, this is its node id.

      - ##### newWeight

            double newWeight

        If a link is added, this is its weight.

      - ##### oldInnovationNum

            int oldInnovationNum

        If a new node was created, this is the innovation number of the gene's link it is being stuck inside.

      - ##### outNodeId

            int outNodeId

        Two nodes specify where the link innovation took place : this is the output node.

      - ##### recurFlag

            boolean recurFlag

        Is the link innovation a recurrent link.

  - ### Class ec.neat.NEATNetwork

    class NEATNetwork extends Object implements Serializable

    - #### Serialized Fields

      - ##### individual

            NEATIndividual individual

        The neat individual we belong to

      - ##### inputs

            ArrayList<NEATNode> inputs

        A list of input nodes for this network.

      - ##### nodes

            ArrayList<NEATNode> nodes

        A list of all nodes for this network.

      - ##### outputs

            ArrayList<NEATNode> outputs

        A list of output nodes for this network.

  - ### Class ec.neat.NEATNode

    class NEATNode extends Object implements Serializable

    - #### Serialized Fields

      - ##### activation

            double activation

        The total activation entering the node.

      - ##### activationCount

            int activationCount

        Keeps track of which activation the node is currently in.

      - ##### activeFlag

            boolean activeFlag

        To make sure outputs are active.

      - ##### activeSum

            double activeSum

        The incoming activity before being processed.

      - ##### frozen

            boolean frozen

        When it's true, the node cannot be mutated.

      - ##### functionType

            NEATNode.FunctionType functionType

        The activation function, use sigmoid for default, but can use some other choice, like ReLU.

      - ##### geneticNodeLabel

            NEATNode.NodePlace geneticNodeLabel

        Distinguish the input node, hidden or output node.

      - ##### incomingGenes

            ArrayList<NEATGene> incomingGenes

        A list of incoming links, it is used to get activation status of the nodes on the other ends.

      - ##### innerLevel

            int innerLevel

        The depth of current node in current network, this field is used in counting max depth in a network.

      - ##### isTraversed

            boolean isTraversed

        Indicate if this node has been traversed in max depth counting.

      - ##### lastActivation

            double lastActivation

        Holds the previous step's activation for recurrence.

      - ##### nodeId

            int nodeId

        Node id for this node.

      - ##### override

            boolean override

        Indicates if the value of current node has been override by method other than network's activation.

      - ##### overrideValue

            double overrideValue

        Contains the activation value that will override this node's activation.

      - ##### previousLastActivation

            double previousLastActivation

        Holds the activation BEFORE the previous step's This is necessary for a special recurrent case when the inNode of a recurrent link is one time step ahead of the outNode. The innode then needs to send from TWO time steps ago.

      - ##### type

            NEATNode.NodeType type

        Distinguish the Sensor node or other neuron node.

  - ### Class ec.neat.NEATSpecies

    class NEATSpecies extends GeneVectorSpecies implements Serializable

    - #### Serialized Fields

      - ##### addNodeMaxGenomeLength

            int addNodeMaxGenomeLength

        Beyond this genome length, mutateAddNode does a pure random split rather than a bias.

      - ##### ageSignificance

            double ageSignificance

        How much does age matter?

      - ##### babiesStolen

            int babiesStolen

        The number of babies to siphen off to the champions.

      - ##### base

            Parameter base

      - ##### compatThreshold

            double compatThreshold

        Compatible threshold to determine if two individual are compatible.

      - ##### currInnovNum

            int currInnovNum

        Current innovation number that is available.

      - ##### currNodeId

            int currNodeId

        Current node id that is available.

      - ##### disjointCoeff

            double disjointCoeff

        Coefficient for disjoint gene in compatibility computation.

      - ##### dropoffAge

            int dropoffAge

        Age where Species starts to be penalized.

      - ##### excessCoeff

            double excessCoeff

        Coefficient for excess genes in compatibility computation.

      - ##### highestFitness

            double highestFitness

        Used for delta coding, stagnation detector.

      - ##### highestLastChanged

            int highestLastChanged

        Used for delta coding, If too high, leads to delta coding.

      - ##### innoLock

            Object innoLock

      - ##### innovationPrototype

            NEATInnovation innovationPrototype

        The prototypical innovation for individuals in this species.

      - ##### innovations

            HashMap<NEATInnovation,NEATInnovation> innovations

        A Hashmap for easy tracking the innovation within species.

      - ##### interspeciesMateRate

            double interspeciesMateRate

        Probability of doing interspecies crossover.

      - ##### mateMultipointAvgProb

            double mateMultipointAvgProb

        Probability of doing multipoint crossover with averaging two genes.

      - ##### mateMultipointProb

            double mateMultipointProb

        Probability of doing multipoint crossover.

      - ##### mateOnlyProb

            double mateOnlyProb

        Probability of mating without mutation.

      - ##### mateSinglepointProb

            double mateSinglepointProb

        Probability of doing single point crossover (not in used in this implementation, always set to 0).

      - ##### maxNetworkDepth

            int maxNetworkDepth

        how deep a node can be in the network, measured by number of parents

      - ##### mutateAddLinkProb

            double mutateAddLinkProb

        Probability of doing add-link mutation.

      - ##### mutateAddNodeProb

            double mutateAddNodeProb

        Probability of doing add-node mutation.

      - ##### mutateGeneReenableProb

            double mutateGeneReenableProb

        Probability of reenable a disabled gene.

      - ##### mutateLinkWeightsProb

            double mutateLinkWeightsProb

        Probability of doing link weight mutate.

      - ##### mutateOnlyProb

            double mutateOnlyProb

        Probility of a non-mating reproduction.

      - ##### mutateToggleEnableProb

            double mutateToggleEnableProb

        Probability of changing the enable status of gene.

      - ##### mutDiffCoeff

            double mutDiffCoeff

        Coefficient for mutational difference genes in compatibility computation.

      - ##### networkPrototype

            NEATNetwork networkPrototype

        The prototypical network.

      - ##### newLinkTries

            int newLinkTries

        Number of tries mutateAddLink will attempt to find an open link.

      - ##### newNodeTries

            int newNodeTries

        Number of tries mutateAddNode will attempt to build a new node.

      - ##### nodePrototype

            NEATNode nodePrototype

        The prototypical node for individuals in this species.

      - ##### recurOnlyProb

            double recurOnlyProb

        Probability of forcing selection of ONLY links that are naturally recurrent.

      - ##### subspecies

            ArrayList<NEATSubspecies> subspecies

        A list of the all the subspecies.

      - ##### subspeciesPrototype

            NEATSubspecies subspeciesPrototype

        The prototypical subspecies for individuals in this species.

      - ##### survivalThreshold

            double survivalThreshold

        Percent of ave fitness for survival.

      - ##### weightMutationPower

            double weightMutationPower

        The Mutation power of the link's weights.

  - ### Class ec.neat.NEATSubspecies

    class NEATSubspecies extends Object implements Serializable

    - #### Serialized Fields

      - ##### age

            int age

        Age of the current subspecies.

      - ##### ageOfLastImprovement

            int ageOfLastImprovement

        Record the last time the best fitness improved within the individuals of this subspecies If this is too long ago, the subspecies will goes extinct

      - ##### expectedOffspring

            int expectedOffspring

        Expected Offspring for next generation for this subspecies

      - ##### individuals

            ArrayList<Individual> individuals

        The individuals within this species

      - ##### maxFitnessEver

            double maxFitnessEver

        The max fitness the an individual in this subspecies ever achieved.

      - ##### newGenIndividuals

            ArrayList<Individual> newGenIndividuals

        The next generation individuals within this species

- ## Package ec.parsimony

  - ### Class ec.parsimony.BucketTournamentSelection

    class BucketTournamentSelection extends SelectionMethod implements Serializable

    - #### Serialized Fields

      - ##### bucketValues

            int[] bucketValues

      - ##### nBuckets

            int nBuckets

      - ##### pickWorst

            boolean pickWorst

        Do we pick the worst instead of the best?

      - ##### size

            int size

        Size of the tournament

  - ### Class ec.parsimony.DoubleTournamentSelection

    class DoubleTournamentSelection extends SelectionMethod implements Serializable

    - #### Serialized Fields

      - ##### doLengthFirst

            boolean doLengthFirst

      - ##### pickWorst

            boolean pickWorst

        Do we pick the worst instead of the best?

      - ##### pickWorst2

            boolean pickWorst2

      - ##### probabilityOfSelection

            double probabilityOfSelection

        What's our probability of selection? If 1.0, we always pick the "good" individual.

      - ##### probabilityOfSelection2

            double probabilityOfSelection2

      - ##### size

            int size

        Size of the tournament

      - ##### size2

            int size2

  - ### Class ec.parsimony.LexicographicTournamentSelection

    class LexicographicTournamentSelection extends TournamentSelection implements Serializable

  - ### Class ec.parsimony.ProportionalTournamentSelection

    class ProportionalTournamentSelection extends TournamentSelection implements Serializable

    - #### Serialized Fields

      - ##### fitnessPressureProb

            double fitnessPressureProb

        The probability of having the tournament based on fitness

  - ### Class ec.parsimony.RatioBucketTournamentSelection

    class RatioBucketTournamentSelection extends SelectionMethod implements Serializable

    - #### Serialized Fields

      - ##### bucketValues

            int[] bucketValues

      - ##### pickWorst

            boolean pickWorst

        Do we pick the worst instead of the best?

      - ##### ratio

            double ratio

        The value of RATIO

      - ##### size

            int size

        Size of the tournament

  - ### Class ec.parsimony.TarpeianStatistics

    class TarpeianStatistics extends Statistics implements Serializable

    - #### Serialized Fields

      - ##### killProportion

            double killProportion

- ## Package ec.pso

  - ### Class ec.pso.Particle

    class Particle extends DoubleVectorIndividual implements Serializable

    - #### Serialized Fields

      - ##### neighborhood

            int[] neighborhood

      - ##### neighborhoodBestFitness

            Fitness neighborhoodBestFitness

      - ##### neighborhoodBestGenome

            double[] neighborhoodBestGenome

      - ##### personalBestFitness

            Fitness personalBestFitness

      - ##### personalBestGenome

            double[] personalBestGenome

      - ##### velocity

            double[] velocity

  - ### Class ec.pso.PSOBreeder

    class PSOBreeder extends Breeder implements Serializable

    - #### Serialized Fields

      - ##### globalBest

            double[][] globalBest

      - ##### globalBestFitness

            Fitness[] globalBestFitness

      - ##### globalCoeff

            double globalCoeff

      - ##### includeSelf

            boolean includeSelf

      - ##### informantCoeff

            double informantCoeff

      - ##### neighborhood

            int neighborhood

      - ##### neighborhoodSize

            int neighborhoodSize

      - ##### personalCoeff

            double personalCoeff

      - ##### velCoeff

            double velCoeff

- ## Package ec.rule

  - ### Class ec.rule.Rule

    class Rule extends Object implements Serializable

    - #### Serialized Fields

      - ##### constraints

            byte constraints

        An index to a RuleConstraints

  - ### Class ec.rule.RuleConstraints

    class RuleConstraints extends Object implements Serializable

    - #### Serialized Fields

      - ##### constraintNumber

            byte constraintNumber

        The byte value of the constraints -- we can only have 256 of them

      - ##### name

            String name

        The name of the RuleConstraints object

  - ### Class ec.rule.RuleIndividual

    class RuleIndividual extends Individual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### rulesets

            RuleSet[] rulesets

        The individual's rulesets.

  - ### Class ec.rule.RuleInitializer

    class RuleInitializer extends SimpleInitializer implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### numRuleConstraints

            byte numRuleConstraints

      - ##### numRuleSetConstraints

            byte numRuleSetConstraints

      - ##### ruleConstraintRepository

            Hashtable ruleConstraintRepository

      - ##### ruleConstraints

            RuleConstraints[] ruleConstraints

      - ##### ruleSetConstraintRepository

            Hashtable ruleSetConstraintRepository

      - ##### ruleSetConstraints

            RuleSetConstraints[] ruleSetConstraints

  - ### Class ec.rule.RuleSet

    class RuleSet extends Object implements Serializable

    - #### Serialized Fields

      - ##### constraints

            byte constraints

        An index to a RuleSetConstraints

      - ##### numRules

            int numRules

        How many rules are there used in the rules array

      - ##### rules

            Rule[] rules

        The rules in the rule set

  - ### Class ec.rule.RuleSetConstraints

    class RuleSetConstraints extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### constraintNumber

            byte constraintNumber

        The byte value of the constraints -- we can only have 256 of them

      - ##### maxSize

            int maxSize

      - ##### minSize

            int minSize

      - ##### name

            String name

        The name of the RuleSetConstraints object

      - ##### p_add

            double p_add

      - ##### p_del

            double p_del

      - ##### p_randorder

            double p_randorder

      - ##### resetMaxSize

            int resetMaxSize

      - ##### resetMinSize

            int resetMinSize

      - ##### rulePrototype

            Rule rulePrototype

        The prototype of the Rule that will be used in the RuleSet (the RuleSet contains only rules with the specified prototype).

      - ##### sizeDistribution

            double[] sizeDistribution

  - ### Class ec.rule.RuleSpecies

    class RuleSpecies extends Species implements Serializable

- ## Package ec.rule.breed

  - ### Class ec.rule.breed.RuleCrossoverPipeline

    class RuleCrossoverPipeline extends BreedingPipeline implements Serializable

    - #### Serialized Fields

      - ##### parents

            ArrayList<Individual> parents

        Temporary holding place for parents

      - ##### ruleCrossProbability

            double ruleCrossProbability

        What is the probability of a rule migrating?

      - ##### tossSecondParent

            boolean tossSecondParent

        Should the pipeline discard the second parent after crossing over?

  - ### Class ec.rule.breed.RuleMutationPipeline

    class RuleMutationPipeline extends BreedingPipeline implements Serializable

- ## Package ec.select

  - ### Class ec.select.AnnealedSelection

    class AnnealedSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### best

            int best

      - ##### cache

            boolean cache

      - ##### cutdown

            double cutdown

      - ##### t

            double t

      - ##### temperature

            double temperature

  - ### Class ec.select.BestSelection

    class BestSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### bestn

            int bestn

      - ##### bestnFrac

            double bestnFrac

      - ##### pickWorst

            boolean pickWorst

        Do we pick the worst instead of the best?

      - ##### probabilityOfPickingSizePlusOne

            double probabilityOfPickingSizePlusOne

        Probablity of picking the size plus one.

      - ##### size

            int size

        Base size of the tournament; this may change.

      - ##### sortedPop

            int[] sortedPop

        Sorted, normalized, totalized fitnesses for the population

  - ### Class ec.select.BoltzmannSelection

    class BoltzmannSelection extends FitProportionateSelection implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### coolingRate

            double coolingRate

        Cooling rate

      - ##### startingTemperature

            double startingTemperature

        Starting temperature

  - ### Class ec.select.FirstSelection

    class FirstSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.select.FitProportionateSelection

    class FitProportionateSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### fitnesses

            double[] fitnesses

        Normalized, totalized fitnesses for the population

  - ### Class ec.select.GreedyOverselection

    class GreedyOverselection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### gets_n_percent

            double gets_n_percent

      - ##### sortedFitOver

            double[] sortedFitOver

      - ##### sortedFitUnder

            double[] sortedFitUnder

      - ##### sortedPop

            int[] sortedPop

        Sorted population -- since I *have* to use an int-sized individual (short gives me only 16K), I might as well just have pointers to the population itself. :-(

      - ##### top_n_percent

            double top_n_percent

  - ### Class ec.select.LexicaseSelection

    class LexicaseSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.select.MultiSelection

    class MultiSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### selects

            SelectionMethod[] selects

        The MultiSelection's individuals

  - ### Class ec.select.RandomSelection

    class RandomSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.select.SigmaScalingSelection

    class SigmaScalingSelection extends FitProportionateSelection implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### fitnessFloor

            double fitnessFloor

        Floor for sigma scaled fitnesses

  - ### Class ec.select.SUSSelection

    class SUSSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### fitnesses

            double[] fitnesses

        The distribution of fitnesses.

      - ##### indices

            int[] indices

        An array of pointers to individuals in the population, shuffled along with the fitnesses array.

      - ##### lastIndex

            int lastIndex

        The index in the array of the last individual selected.

      - ##### offset

            double offset

        The floating point value to consider for the next selected individual.

      - ##### shuffle

            boolean shuffle

        Should we shuffle first?

      - ##### steps

            int steps

        How many samples have been done?

  - ### Class ec.select.TopSelection

    class TopSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### best

            int best

      - ##### cache

            boolean cache

  - ### Class ec.select.TournamentSelection

    class TournamentSelection extends SelectionMethod implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### pickWorst

            boolean pickWorst

        Do we pick the worst instead of the best?

      - ##### probabilityOfPickingSizePlusOne

            double probabilityOfPickingSizePlusOne

        Probablity of picking the size plus one

      - ##### size

            int size

        Base size of the tournament; this may change.

- ## Package ec.simple

  - ### Class ec.simple.SimpleBreeder

    class SimpleBreeder extends Breeder implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### backupPopulation

            Population backupPopulation

      - ##### clonePipelineAndPopulation

            boolean clonePipelineAndPopulation

      - ##### elite

            int[] elite

        An array[subpop] of the number of elites to keep for that subpopulation

      - ##### eliteFrac

            double[] eliteFrac

        An array[subpop] of the *fraction* of elites to keep for that subpopulation

      - ##### newIndividuals

            ArrayList<Individual>[][] newIndividuals

      - ##### pool

            ThreadPool pool

      - ##### reevaluateElites

            boolean[] reevaluateElites

  - ### Class ec.simple.SimpleEvaluator

    class SimpleEvaluator extends Evaluator implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### chunkSize

            int chunkSize

      - ##### cloneProblem

            boolean cloneProblem

      - ##### individualCounter

            int individualCounter

      - ##### lock

            Object[] lock

      - ##### mergeForm

            int mergeForm

      - ##### numTests

            int numTests

      - ##### oldpop

            Population oldpop

      - ##### pool

            ThreadPool pool

      - ##### subPopCounter

            int subPopCounter

  - ### Class ec.simple.SimpleEvolutionState

    class SimpleEvolutionState extends EvolutionState implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.simple.SimpleExchanger

    class SimpleExchanger extends Exchanger implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.simple.SimpleFinisher

    class SimpleFinisher extends Finisher implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.simple.SimpleFitness

    class SimpleFitness extends Fitness implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### fitness

            double fitness

      - ##### isIdeal

            boolean isIdeal

  - ### Class ec.simple.SimpleGroupedEvaluator

    class SimpleGroupedEvaluator extends SimpleEvaluator implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.simple.SimpleInitializer

    class SimpleInitializer extends Initializer implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.simple.SimpleShortStatistics

    class SimpleShortStatistics extends Statistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### bestOfGeneration

            Individual[] bestOfGeneration

      - ##### bestSoFar

            Individual[] bestSoFar

      - ##### delimiter

            String delimiter

      - ##### doHeader

            boolean doHeader

      - ##### doSize

            boolean doSize

      - ##### doSubpops

            boolean doSubpops

      - ##### doTime

            boolean doTime

      - ##### lastTime

            long lastTime

      - ##### modulus

            int modulus

      - ##### statisticslog

            int statisticslog

      - ##### totalFitnessThisGen

            double[] totalFitnessThisGen

      - ##### totalIndsSoFar

            long[] totalIndsSoFar

      - ##### totalIndsThisGen

            long[] totalIndsThisGen

      - ##### totalSizeSoFar

            long[] totalSizeSoFar

      - ##### totalSizeThisGen

            long[] totalSizeThisGen

  - ### Class ec.simple.SimpleStatistics

    class SimpleStatistics extends Statistics implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### best_of_run

            Individual[] best_of_run

        The best individual we've found so far

      - ##### compress

            boolean compress

        Should we compress the file?

      - ##### doDescription

            boolean doDescription

      - ##### doFinal

            boolean doFinal

      - ##### doGeneration

            boolean doGeneration

      - ##### doMessage

            boolean doMessage

      - ##### doPerGenerationDescription

            boolean doPerGenerationDescription

      - ##### statisticslog

            int statisticslog

        The Statistics' log

      - ##### warned

            boolean warned

        Logs the best individual of the generation.

- ## Package ec.spatial

  - ### Class ec.spatial.Spatial1DSubpopulation

    class Spatial1DSubpopulation extends Subpopulation implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### indexes

            int[] indexes

      - ##### toroidal

            boolean toroidal

  - ### Class ec.spatial.SpatialBreeder

    class SpatialBreeder extends SimpleBreeder implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.spatial.SpatialMultiPopCoevolutionaryEvaluator

    class SpatialMultiPopCoevolutionaryEvaluator extends MultiPopCoevolutionaryEvaluator implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.spatial.SpatialTournamentSelection

    class SpatialTournamentSelection extends TournamentSelection implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### indCompetes

            boolean indCompetes

      - ##### neighborhoodSize

            int neighborhoodSize

      - ##### type

            int type

- ## Package ec.steadystate

  - ### Class ec.steadystate.QueueIndividual

    class QueueIndividual extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### ind

            Individual ind

      - ##### subpop

            int subpop

  - ### Class ec.steadystate.SteadyStateBreeder

    class SteadyStateBreeder extends SimpleBreeder implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### bp

            BreedingSource[] bp

        If st.firstTimeAround, this acts exactly like SimpleBreeder. Else, it only breeds one new individual per subpopulation, to place in position 0 of the subpopulation.

      - ##### deselectors

            SelectionMethod[] deselectors

        Loaded during the first iteration of breedPopulation

  - ### Class ec.steadystate.SteadyStateEvaluator

    class SteadyStateEvaluator extends SimpleEvaluator implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### problem

            SimpleProblemForm problem

        Our problem.

      - ##### queue

            LinkedList<QueueIndividual> queue

      - ##### subpopulationBeingEvaluated

            int subpopulationBeingEvaluated

        Holds the subpopulation currently being evaluated.

  - ### Class ec.steadystate.SteadyStateEvolutionState

    class SteadyStateEvolutionState extends EvolutionState implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### emptyAtGenerationBoundary

            boolean emptyAtGenerationBoundary

        If true, the population will be emptied after each "generation," so no replacement or breeding occurrs. This is used, for example, by Ant Colony algorithms, which have no notion of breeding.

      - ##### firstTime

            boolean firstTime

        First time calling evolve

      - ##### generationBoundary

            boolean generationBoundary

        Did we just start a new generation?

      - ##### generationSize

            int generationSize

        how big is a generation? Set to the size of subpopulation 0 of the initial population.

      - ##### individualHash

            HashMap[] individualHash

        Hash table to check for duplicate individuals

      - ##### replacementProbability

            double replacementProbability

        When a new individual arrives, with what probability should it directly replace the existing "marked for death" individual, as opposed to only replacing it if it's superior?

      - ##### whichSubpop

            int whichSubpop

        Holds which subpopulation we are currently operating on

- ## Package ec.util

  - ### Exception Class ec.util.BadParameterException

    class BadParameterException extends RuntimeException implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.util.IntBag

    class IntBag extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### numObjs

            int numObjs

      - ##### objs

            int[] objs

  - ### Class ec.util.Log

    class Log extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### appendOnRestart

            boolean appendOnRestart

        If the log writes to a file, should it append to the file on restart, or should it overwrite the file?

      - ##### filename

            File filename

        A filename, if the writer writes to a file

      - ##### isLoggingToSystemOut

            boolean isLoggingToSystemOut

      - ##### postAnnouncements

            boolean postAnnouncements

        Should the log post announcements?

      - ##### repostAnnouncementsOnRestart

            boolean repostAnnouncementsOnRestart

        Should the log repost all announcements on restart

      - ##### restarter

            LogRestarter restarter

        The log's restarter

      - ##### silent

            boolean silent

        Should we write to this log at all?

  - ### Class ec.util.LogRestarter

    class LogRestarter extends Object implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.util.MersenneTwister

    class MersenneTwister extends Random implements Serializable
    serialVersionUID:
      -4035832775130174188L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
        Throws:
          `IOException`
          `ClassNotFoundException`

      - ##### writeObject

        private void writeObject(ObjectOutputStream out) throws IOException
        Throws:
          `IOException`

    - #### Serialized Fields

      - ##### __haveNextNextGaussian

            boolean __haveNextNextGaussian

      - ##### __nextNextGaussian

            double __nextNextGaussian

      - ##### mag01

            int[] mag01

      - ##### mt

            int[] mt

      - ##### mti

            int mti

  - ### Class ec.util.MersenneTwisterFast

    class MersenneTwisterFast extends Object implements Serializable
    serialVersionUID:
      -8219700664442619525L

    - #### Serialized Fields

      - ##### __haveNextNextGaussian

            boolean __haveNextNextGaussian

      - ##### __nextNextGaussian

            double __nextNextGaussian

      - ##### mag01

            int[] mag01

      - ##### mt

            int[] mt

      - ##### mti

            int mti

  - ### Class ec.util.Output

    class Output extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### announcements

            Vector announcements

      - ##### error

            StringBuilder error

      - ##### errors

            boolean errors

      - ##### filePrefix

            String filePrefix

      - ##### logs

            Vector logs

      - ##### oneTimeWarnings

            HashSet oneTimeWarnings

      - ##### store

            boolean store

      - ##### throwsErrors

            boolean throwsErrors

  - ### Exception Class ec.util.Output.OutputExitException

    class OutputExitException extends RuntimeException implements Serializable

  - ### Exception Class ec.util.OutputException

    class OutputException extends RuntimeException implements Serializable

  - ### Exception Class ec.util.ParamClassLoadException

    class ParamClassLoadException extends RuntimeException implements Serializable

  - ### Class ec.util.Parameter

    class Parameter extends Object implements Serializable

    - #### Serialized Fields

      - ##### param

            String param

  - ### Class ec.util.ParameterDatabase

    class ParameterDatabase extends Object implements Serializable

    - #### Serialized Fields

      - ##### accessed

            Hashtable accessed

      - ##### checked

            boolean checked

      - ##### directory

            File directory

      - ##### gotten

            Hashtable gotten

      - ##### label

            String label

      - ##### parents

            Vector parents

      - ##### printState

            int printState

      - ##### properties

            Properties properties

      - ##### relativeClass

            Class relativeClass

      - ##### relativePath

            String relativePath

  - ### Class ec.util.ParameterDatabaseEvent

    class ParameterDatabaseEvent extends EventObject implements Serializable

    - #### Serialized Fields

      - ##### parameter

            Parameter parameter

      - ##### type

            int type

      - ##### value

            String value

  - ### Class ec.util.ParameterDatabaseTreeModel

    class ParameterDatabaseTreeModel extends DefaultTreeModel implements Serializable

    - #### Serialized Fields

      - ##### visibleLeaves

            boolean visibleLeaves

  - ### Class ec.util.ThreadPool

    class ThreadPool extends Object implements Serializable
    serialVersionUID:
      1L

    - #### Serialization Methods

      - ##### readObject

        private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
        Throws:
          `IOException`
          `ClassNotFoundException`

      - ##### writeObject

        private void writeObject(ObjectOutputStream stream) throws IOException
        Throws:
          `IOException`

    - #### Serialized Fields

      - ##### totalWorkers

            int totalWorkers

      - ##### workers

            LinkedList workers

      - ##### workersLock

            Object workersLock

- ## Package ec.vector

  - ### Class ec.vector.BitVectorIndividual

    class BitVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            boolean[] genome

  - ### Class ec.vector.BitVectorSpecies

    class BitVectorSpecies extends VectorSpecies implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### mutationType

            int[] mutationType

        Mutation type, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

  - ### Class ec.vector.ByteVectorIndividual

    class ByteVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            byte[] genome

  - ### Class ec.vector.DoubleVectorIndividual

    class DoubleVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            double[] genome

  - ### Class ec.vector.FloatVectorIndividual

    class FloatVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            float[] genome

  - ### Class ec.vector.FloatVectorSpecies

    class FloatVectorSpecies extends VectorSpecies implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### gaussMutationStdev

            double[] gaussMutationStdev

        Standard deviation for Gaussian Mutation, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### maxGene

            double[] maxGene

        Max-gene value, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### minGene

            double[] minGene

        Min-gene value, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### mutationDistributionIndex

            int[] mutationDistributionIndex

        The distribution index for Polynomial Mutation, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### mutationIsBounded

            boolean[] mutationIsBounded

        Whether mutation is bounded to the min- and max-gene values, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### mutationIsBoundedDefined

            boolean mutationIsBoundedDefined

        Whether the mutationIsBounded value was defined, per gene. Used internally only. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### mutationType

            int[] mutationType

        Mutation type, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### outOfBoundsRetries

            int outOfBoundsRetries

        The number of times Polynomial Mutation or Gaussian Mutation retry for valid numbers until they get one.

      - ##### polynomialIsAlternative

            boolean[] polynomialIsAlternative

        Whether the Polynomial Mutation method is the "alternative" method, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### polynomialIsAlternativeDefined

            boolean polynomialIsAlternativeDefined

        Whether the polymialIsAlternative value was defined, per gene. Used internally only. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### randomWalkProbability

            double[] randomWalkProbability

        The continuation probability for Integer Random Walk Mutation, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

  - ### Class ec.vector.Gene

    class Gene extends Object implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.vector.GeneVectorIndividual

    class GeneVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            Gene[] genome

  - ### Class ec.vector.GeneVectorSpecies

    class GeneVectorSpecies extends VectorSpecies implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genePrototype

            Gene genePrototype

  - ### Class ec.vector.IntegerVectorIndividual

    class IntegerVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            int[] genome

  - ### Class ec.vector.IntegerVectorSpecies

    class IntegerVectorSpecies extends VectorSpecies implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### maxGene

            long[] maxGene

        Max-gene value, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### minGene

            long[] minGene

        Min-gene value, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### mutationIsBounded

            boolean[] mutationIsBounded

        Whether mutation is bounded to the min- and max-gene values, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### mutationIsBoundedDefined

            boolean mutationIsBoundedDefined

        Whether the mutationIsBounded value was defined, per gene. Used internally only. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### mutationType

            int[] mutationType

        Mutation type, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

      - ##### randomWalkProbability

            double[] randomWalkProbability

        The continuation probability for Integer Random Walk Mutation, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

  - ### Class ec.vector.LongVectorIndividual

    class LongVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            long[] genome

  - ### Class ec.vector.ShortVectorIndividual

    class ShortVectorIndividual extends VectorIndividual implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### genome

            short[] genome

  - ### Class ec.vector.VectorIndividual

    class VectorIndividual extends Individual implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.vector.VectorSpecies

    class VectorSpecies extends Species implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### chunksize

            int chunksize

        How big of chunks should we define for crossover?

      - ##### crossoverDistributionIndex

            int crossoverDistributionIndex

        What should the SBX distribution index be?

      - ##### crossoverProbability

            double crossoverProbability

        Probability that a gene will cross over -- ONLY used in V_ANY_POINT crossover

      - ##### crossoverType

            int crossoverType

        What kind of crossover do we have?

      - ##### duplicateRetries

            int[] duplicateRetries

        How often do we retry until we get a non-duplicate gene?

      - ##### dynamicInitialSize

            boolean dynamicInitialSize

        Was the initial size determined dynamically?

      - ##### genomeIncreaseProbability

            double genomeIncreaseProbability

        With what probability would our genome be at least 1 larger than it is now during initialization?

      - ##### genomeResizeAlgorithm

            int genomeResizeAlgorithm

        How should we reset the genome?

      - ##### genomeSize

            int genomeSize

        How big of a genome should we create on initialization?

      - ##### lineDistance

            double lineDistance

        How far along the long a child can be located for line or intermediate recombination

      - ##### maxInitialSize

            int maxInitialSize

        What's the largest legal genome?

      - ##### minInitialSize

            int minInitialSize

        What's the smallest legal genome?

      - ##### mutationProbability

            double[] mutationProbability

        Probability that a gene will mutate, per gene. This array is one longer than the standard genome length. The top element in the array represents the parameters for genes in genomes which have extended beyond the genome length.

- ## Package ec.vector.breed

  - ### Class ec.vector.breed.GeneDuplicationPipeline

    class GeneDuplicationPipeline extends BreedingPipeline implements Serializable
    serialVersionUID:
      1L

  - ### Class ec.vector.breed.ListCrossoverPipeline

    class ListCrossoverPipeline extends BreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### crossoverType

            int crossoverType

      - ##### maxCrossoverPercentage

            double maxCrossoverPercentage

      - ##### minChildSize

            int minChildSize

      - ##### minCrossoverPercentage

            double minCrossoverPercentage

      - ##### numTries

            int numTries

      - ##### parents

            ArrayList<Individual> parents

      - ##### tossSecondParent

            boolean tossSecondParent

  - ### Class ec.vector.breed.MultipleVectorCrossoverPipeline

    class MultipleVectorCrossoverPipeline extends BreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### parents

            ArrayList<Individual> parents

        Temporary holding place for parents

  - ### Class ec.vector.breed.VectorCrossoverPipeline

    class VectorCrossoverPipeline extends BreedingPipeline implements Serializable
    serialVersionUID:
      1L

    - #### Serialized Fields

      - ##### parents

            ArrayList<Individual> parents

        Temporary holding place for parents

      - ##### tossSecondParent

            boolean tossSecondParent

        Should the pipeline discard the second parent after crossing over?

  - ### Class ec.vector.breed.VectorMutationPipeline

    class VectorMutationPipeline extends BreedingPipeline implements Serializable
    serialVersionUID:
      1L