Print

Print


>I have also been developing on a seperate branch for a while now - what
> you're doing sounds interesting - is it available publically anywhere?

No, it is not public yet, propably sources are published in this year.  As
it has been own branch so long time it differs from ecj. As I am in full
time developers vacation doing completely different software, this is not
gonna published very soon if I don't get fired. I also hope some comments
from Luke before that is published because it differs many details from ecj
even it roots are from ecj.

Goal package what I descriped, it logic needs to understand result files or
for that purpose my solution has resultinfo object that contains only
intresting values about simulation results. So GoalManager basicly operates
using resultinfos which in minimum has best found fitness. Goals have
importance property, and used GoalStrategy defines what variables are varied
and how. If there is only little time only some random combinations of
variables are used. If there is more time full "all combinations matrix" can
be run. I have only implemented very simple goal manager yet(handles basic
logic aborting, starting again checking what problems defined in goals where
allready solved ).

There is some management model over ecj model having   ResultInfo,
Simulation, Simulationdef, Goal, Solution, Problem(kind of problem
instance), ProblemDef(kind of problem type). Goal, Solution, Problem
instances, SimulationDef and resultfile are defined using XML files.
Prevlayer is used persistent storage. Cocoon/forrest is used to generate web
pages from whole xml content.

there is example of simdef origin from ecj example(dtd defines many default
things not defined in xml file):
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>

<!DOCTYPE simulation SYSTEM "simulation.dtd">

<simulation status="ok" >

<types>

<property name="atomicTypeNumber" value="1" />

<property name="setTypeNumber" value="0" />

<property name="type.0" value="nil" />

</types>

<nodeConstraints file="treeNodeConstraints" />

<functionSets file="multiplexerFunctionSet3" />

<treeConstraints>

<tree>

<property name="name" value="tc0" />

<property name="fset" value="f0" />

<property name="returns" value="nil" />

<init class="ec.build.TreeHalfBuilder" >

<property name="min-depth" value="2" />

<property name="max-depth" value="6" />

<property name="gpkozahalf.growp" value="0.5" />

</init>

</tree>

</treeConstraints>

<pop>

<subpop size="1024" >

<property name="elite" value="10" />

<genome class="ec.genome.TypeTreeGenome" >

<tree class="ec.gp.GPTree" >

<property name="tc" value="tc0" />

</tree>

</genome>

</subpop>

</pop>

<pipe class="ec.pipeline.MultiBreedingPipeline">

<property name="prob.0" value="0.9" />

<property name="prob.1" value="0.1" />


<source class="ec.pipeline.CrossoverPipeline" >

<source />

<source />

<crossover class="ec.crossover.SubTreeCrossover" >

<ns class="ec.gp.KozaTreeNodeSelector" >

<property name="terminals" value="0.1" />

<property name="nonterminals" value="0.9" />

<property name="root" value="0.0" />

</ns>

<ns class="same" >

</ns>

<property name="tries" value="1" />

<property name="max-depth" value="17" />

</crossover>

</source>


<source class="ec.pipeline.ReproductionPipeline" >

<source />

</source>

</pipe>

<eval />

<fitness />

<problemdef folder="multiplexer" class="ec.problem.MultiplexerProblem" />

<stat />

<stopper >

<property name="generations" value="50" />

</stopper>

</simulation>

t. Harri