Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
anthonyawuley committed Feb 29, 2016
1 parent b30571c commit 9e20600
Showing 1 changed file with 130 additions and 0 deletions.
130 changes: 130 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@

Welcome ALPS Evolutionary Computation in Java!
================

The system provides an ALPS extension to the open so ECJ System

Copyright 2015 by Anthony Awuley
Brock University Computer Science Department
Licensed under the Academic Free License version 3.0
Expand All @@ -19,3 +25,127 @@ premature convergence. In Mike Cattolico, editor, GECCO, pages 815–822. ACM, 2
[ECJ,V22] S. Luke, G. Balan S. Paus Z. Skolicki E. Popovici J. Harrison J. Bassett R. Hubley, L. Panait and
A. Chhircop. Ecj: A java-based evolutionary computation research system, version 22, 06 2000-2015.
http://www.cs.gmu.edu/~eclab/projects/ecj/ [Online; Accessed: 2 April 2014].

____

## Start here for GA
The parameter files are located in the directory io/params/ and the main class is in ec.main.Run.
Three tutorials have been set up and can be found in the directories

1. ec/app/alps/tutorial2/
2. ec/app/alps/tutorial1/
3. ec/app/alps/tutorial3/

A brief introduction is given to setting up **1** and **2**.

### Setting up ALPS GP (see ec/app/alps/tutorial2/params/tutorial2.params).

only alps related changes are discussed. For full descrption of all related parameters, see tutorial4 of the [ECJ system](https://cs.gmu.edu/~eclab/projects/ecj/)

* parent.0 = ../../../../gp/koza/koza.params
* #ALPS configuration
* parent.1 = ../../../../alps/alps.params
* quit-on-run-complete = false
* #jobs specifies the number of runs you would wish to perform
* state = ec.alps.GenEvolutionState
* exch = ec.simple.SimpleExchanger
* breed = ec.alps.ALPSBreeder
* eval = ec.alps.ALPSEvaluator
* stat = ec.alps.statistics.ALPSStatistics


### FUNCTION SETS
* #We have one function set, of class GPFunctionSet
* gp.fs.size = 1
* gp.fs.0 = ec.gp.GPFunctionSet
* #We'll call the function set "f0".
* gp.fs.0.name = f0
* #We have five functions in the function set. They are:
* gp.fs.0.size = 5
* gp.fs.0.func.0 = ec.app.alps.tutorial2.ts.X
* gp.fs.0.func.0.nc = nc0
* gp.fs.0.func.1 = ec.app.alps.tutorial2.ts.Y
* gp.fs.0.func.1.nc = nc0
* gp.fs.0.func.2 = ec.app.alps.tutorial2.fs.Add
* gp.fs.0.func.2.nc = nc2
* gp.fs.0.func.3 = ec.app.alps.tutorial2.fs.Sub
* gp.fs.0.func.3.nc = nc2
* gp.fs.0.func.4 = ec.app.alps.tutorial2.fs.Mul
* gp.fs.0.func.4.nc = nc2
* eval.problem = ec.app.alps.tutorial2.MultiValuedRegression
* eval.problem.data = ec.app.alps.tutorial2.DoubleData
* stat.num-children = 4
* stat.child.0 = ec.alps.statistics.ShortStatistics
* stat.child.0.gather-full = true
* stat.child.0.file = ../output/cmtrx.stats
* stat.child.1 = ec.alps.statistics.ALPSStatistics
* stat.child.1.silent.print = true
* stat.child.1.file = ../output/ss.stats
* #stat.child.2 = ec.alps.statistics.NodeStatistics
* #stat.child.2.silent.print = true
* #stat.child.2.file = ../output/node.stats
* stat.child.3 = ec.alps.statistics.ALPSShortStatistics
* stat.child.3.gather-full = true
* stat.child.3.silent.print = true
* stat.child.3.file = ../output/total.stats

================
Content of directory = ../../../../alps/alps.params
================

### jobs specifies the number of runs you would wish to perform
* state = ec.alps.GenEvolutionState
* breed = ec.alps.ALPSBreeder
* eval = ec.alps.ALPSEvaluator
* stat = ec.alps.statistics.ALPSStatistics
* #Begin ALPS configuration ==============================================================
* alps.age-gap = 5
* alps.number-of-layers = 5
* alps.number-of-evaluations = 2000
* alps.selection-pressure = 0.8
* alps.tournament-size = 4
* alps.aging-scheme = ec.alps.layers.agingscheme.Polynomial
* alps.layer-replacement = ec.alps.layers.replacement.ReverseTournamentWorst
* alps.assign-max-parent-age = true

when using selection pressure, individual aging isnt uniform especially when parents are selected from lower layer. When some individuals are aged faster than others, a population will contain less than expected required number ECJ by default breeds a maximum of the number of populations contained in a population.
* alps.always-breed-maximum-population = true

when true, only individuals selected from breeding from current layer have their age increased
else both both individuals coming from current and lower layer used as parents will have their age increased
* alps.age-only-current-layer = true

when moving old individuals from bottom layer to next higher layer, use this flag to determine
replacement strategy in higher layer. if false lower layer individual only replace higher layer tournament individual
if its fitness is better that of the higher layer tournament individual. if true, selected tournament individual from higher
layer is always replaced
* alps.layer-replacement.replace-weakest = true
* #END=================================================================================
* #Begin GP parameters ================================================================
* pop.subpop.0.species.pipe = ec.alps.gp.ALPSMultiBreedingPipeline
* pop.subpop.0.species.pipe.num-sources = 2
* pop.subpop.0.species.pipe.source.0 = ec.alps.gp.breed.Crossover
* pop.subpop.0.species.pipe.source.0.source.0 = ec.select.TournamentSelection
* pop.subpop.0.species.pipe.source.0.source.1 = same
* pop.subpop.0.species.pipe.source.0.ns.0 = ec.gp.koza.KozaNodeSelector
* pop.subpop.0.species.pipe.source.0.ns.1 = same
* pop.subpop.0.species.pipe.source.0.maxdepth = 17
* pop.subpop.0.species.pipe.source.0.tries = 1
* pop.subpop.0.species.pipe.source.0.source.0.size = 4
* pop.subpop.0.species.pipe.source.0.source.1.size = 4
* pop.subpop.0.species.pipe.source.0.prob = 0.90
* pop.subpop.0.species.pipe.source.1 = ec.alps.gp.breed.Mutation
* pop.subpop.0.species.pipe.source.0.source.0 = ec.select.TournamentSelection
* pop.subpop.0.species.pipe.source.0.source.0.size = 4
* pop.subpop.0.species.pipe.source.1.prob = 0.10
* #END=================================================================================



## SAMPLE OUTPUT






0 comments on commit 9e20600

Please sign in to comment.