Next:
Contents
 
Contents
PerlGP - The Manual
Bob MacCallum
Stockholm Bioinformatics Center
Stockholm University
106 91 Stockholm
Sweden
Contents
Installation
Versions and Disclaimer
Prerequisites
Unpacking
Environment Variables
Overview
Aims of the Project
Naming and Font Conventions
Class/Object Hierarchy
How It All Works
Step-by-step: perlgp-run.pl
Step-by-step: Data input
Step-by-step: Tournaments I, Fitness Evaluation
Step-by-step: Tournaments II, Selection and Reproduction
What You Have to Implement
Class: Algorithm
Methods
new()
_init()
loadSet()
*
loadData()
fitnessFunction()
*
saveOutput()
*
refresh()
run()
tournament()
calcFitnessFor()
makeFamilies()
crossoverFamily()
decideBetterFitness()
stopCondition()
extraLogInfo()
parseExtraLogInfo()
Attributes & Variables
TrainingSet
*
TestingSet
*
FitnessDirection
*
WorstPossibleFitness
Population
Tournament
Tournaments
TournamentsSinceBest
BestFitness
TournamentSize
TournamentParents
TournamentKillAge
AlwaysEvalFitness
MateChoiceRandom
TournamentLogFile
LogInterval
FitnessesFile
ComplexityLogFile
ComplexityInterval
RefreshInterval
RecentTrainingOutputFile
RecentTestingOutputFile
RecentCodeFile
BestTrainingOutputFile
BestTestingOutputFile
BestCodeFile
KeepBest
KeepBestDir
KeepMax
PopulationBackupInterval
EmigrateInterval
ImmigrateInterval
AlarmTime
ForkForEval
Class: Individual
Methods
new()
_init()
reInitialise()
evalEvolvedSubs()
evolvedInit()
evaluateOutput()
*
extraLogInfo()
crossover()
_start_crossover()
_crossover()
mutate()
point_mutate_shallow()
point_mutate_deep()
point_mutate()
_random_node()
macro_mutate()
replace_subtree()
insert_internal()
delete_internal()
copy_subtree()
swap_subtrees()
encapsulate_subtree()
simplify()
_xcopy_subtree()
_fix_nodes()
_get_subnodes()
_del_subtree()
_tree_type_size()
_display_tree()
saveCode()
saveTree()
save()
load()
tieGenome()
untieGenome()
retieGenome()
initTree()
_init_tree()
_grow_tree()
_expand_tree()
_tree_id()
initFitness()
eraseMemory()
memory()
getCode()
getSize()
Fitness()
Age()
_random_terminal()
_random_existing_terminal()
_random_function()
Attributes & Variables
NodeMutationProb
FixedMutations
FixedMutationProb
PointMutationFrac
NumericMutationFrac
NumericMutationRegex
NumericIgnoreNTypes
NumericAllowNTypes
NoNeutralMutations
PointMutationDepthBias
MacroMutationDepthBias
MacroMutationTypes
EncapsulateIgnoreNTypes
EncapsulateFracMax
UseEncapsTerminalsFrac
MutationLogFile
MutationLogProb
NodeXoverProb
FixedXovers
FixedXoverProb
XoverDepthBias
XoverSizeBias
XoverHomologyBias
AsexualOnly
XoverLogFile
XoverLogProb
MaxTreeNodes
MinTreeNodes
TreeDepthMax
TerminateTreeProb
TreeDepthMin
NewSubtreeDepthMean
NewSubtreeDepthMax
UseExistingTerminalsFrac
GetSizeIgnoreNTypes
DBFileStem
ExperimentId
Population
Functions
Terminals
Class: Population
Methods
new()
_init()
addIndividual()
findNewDBFileStem()
repopulate()
backup()
emigrate()
export_tar_file()
immigrate()
initFitnesses()
countIndividuals()
randomIndividual()
selectCohort()
Attributes & Variables
Individuals
PopulationSize
MigrationSize
PopulationDir
ExperimentId
Universal Base Class: PerlGPObject
Methods
new()
AUTOLOAD()
(get and set attributes)
optionalParams()
compulsoryParams()
Attributes & Variables
Class
Grammar definition
Tree-as-Hash-Table Genotype Representation
Grammar Specification
Random Initialisation of Programs
Utility Scripts
perlgp-run.pl
plot-tlog.pl
perlgp-wipe-expt.pl
perlgp-rand-prog.pl
perlgp-sample-pop.pl
perlgp-show-prog.pl
perlgp-mrun.pl
perlgp-avg-logs.pl
Demos
Approximation of pi
Problem definition
PerlGP approach
Symbolic regression of sine function
Problem definition
PerlGP approach
Compound interest
Problem definition
PerlGP approach
About this document ...
Bob MacCallum 2003-02-03