When I begin to introduce a new genotype, I find the programming task is not
easy at all. I have rewrite all the following classes:
a new genotype class
A new CrossoverOp
A new MutationOp
A new initializationOp class
A new EvaluationOp
A new Individual class
A new Deme class
A new Vivarium class
A new Evolver class
I suppose I only need to write the first 5 -:) seems not easier than
lilgp -:)
so essentially, for each new genotype, we'd better introduce a new namespace
to avoid confusion.
Jianjun Hu
MSU
Hi Mauro,
On Thursday 15 November 2001 08:04, you wrote:
> Christian,
>
> here are a couple of suggestions I believe would make OpenBeagle stand out:
> - support for multiobjective fitness functions. There are several papers
> out there discussing this and for several problems that is a very nice
> feature.
This feature is planned to be included to the next release following the
forthcoming 1.0.1. This release, probably numbered 1.1.0, will include major
improvements, such multi-objective selection / fitness.
> - support for symbolic simplification. In symbolic studies it is
> often a pain to study the resulting expression and look for obvious
> simplifications. This should not be too difficult to do for the simple
> expressions, such as /*+-CosSinExpLog. The simplest and probably most
> valuable way to do it is, for the best expression at the last generation,
> go over the expression and compute the terms involving numbers only and
> replace the original
> sub-expressions by the numerical equivalent.
This can be interesting. Probably allowing the writing of program expression
using prefix notation instead of infix will simply a lot the human analysis
of the result. I will see what can I do, as this is easy to add. But, it is
much harder to implement the replacement of sub-expressions, and I don't
think that I should try to do so. It is something quite problem-specific,
that Open BEAGLE users should implement themselves for their problems.
> - support of parallel processing using MPI (message passing interface).
> GA/GP is naturally parallel and it is just natural that people with a few
> computers in a network would prefer to solve the problem in parallel.
We are working on a module to distribute evolution with Open BEAGLE on several
computers. Four undergraduate students did a project to implement a such
software. One of these students started a master this fall to made the
prototype a fully usable open source software to distribute evolution with
Open BEAGLE. He will release a first version of the prototype probably before
next summer.
> - Better documentation.
This is really important point for a EC framework such Open BEAGLE. I know the
Open BEAGLE is not an easy piece of software (even if it is favorably
comparable to other existing EC framework). We worked hard to maintain
essential documentation and we are not satisfied with the actual state of it.
We will improve the documentation over time. In a year or two, I assure you
that the documentation will a lot better.
An other problem with the documentation is that I am too much into the
framework and their is probably essential things that I found obvious, but
that are not for the newcomer. Marc Parizeau, my PhD supervisor and co-author
of the framework, got a more detached point of view and is frequently
spotting me place in documentations that are not well elaborated or badly
structured. But, it will take half of the time to document the framework, and
I quite overloaded actually. Maybe I should not write all the documentation
(with Marc P.) and let other people, who have a more user point of view,
write some piece of documentation. But I don't know anyone who is enough
familiar with the framework and willing to write such documentation.
christian
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
On Thursday 14 November 2002 12:15, mjatalla wrote:
> I downloaded the current version from the web site and tried to
> compile it under cygwin and gcc3.0. The libraries are easily
> compiled, however I am getting errors in the link phase of symbreg,
> for example.
>
> The first error reads:
> ./.obj/SymbRegEvalOp.o(.text+0x37):SymbRegEvalOp.cpp: undefined
> reference to `std::ios_base::Init::~Init()'
>
> and hundreds of similar messages follow.
>
> Is this a known limitation? Will it be solved in the next release?
I didn't tried to compile Open BEAGLE under cygwin. You are the first user to
report me this error. It seems to me that libstdc++ is not installed on your
distribution of cygwin. Check if the corresponding package is installed.
I think I will try to compile the forthcoming version of the framework under
cygwin before releasing it. It must compile without problem.
christian
> Regards,
>
> Mauro
>
>
>
>
> To unsubscribe from this group, send an email to:
> openbeagle-unsubscribe@yahoogroups.com
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
I downloaded the current version from the web site and tried to
compile it under cygwin and gcc3.0. The libraries are easily
compiled, however I am getting errors in the link phase of symbreg,
for example.
The first error reads:
./.obj/SymbRegEvalOp.o(.text+0x37):SymbRegEvalOp.cpp: undefined
reference to `std::ios_base::Init::~Init()'
and hundreds of similar messages follow.
Is this a known limitation? Will it be solved in the next release?
Regards,
Mauro
Congratulations!
Actually, many university lab computers don't have Borlandc++, while
Visual.net is alway over there.
It's a really good news for windower developers.
Transfering to .net should be ok.
Jianjun
-----Original Message-----
From: Christian Gagne [mailto:cgagne@...]
Sent: 2002?11?12? 1:14
To: openbeagle@yahoogroups.com
Subject: [openbeagle] MS Visual .NET vs Borland C++ Builder
Hi everyone,
I was able to successfully compile the forthcoming version 1.0.1 of Open
BEAGLE on MS Visual .NET. That is a good news for most Windows developers
interested by the framework. As I always intent to "officially" support only
one compiler per platform, I am seriously thinking about replacing Borland
C++ Builder project files of the distribution by the MS Visual .NET ones.
This also mean that I will not test new releases with this Borland C++
Builder. Anyway, nothing will stops users to define their own project files
to compile the framework.
I have a little survey for you, dedicated Open BEAGLE users on Windows.
1. Are you using Borland C++ Builder to compile Open BEAGLE?
2. If yes, do you mind about switching to MS Visual .NET?
Thank you in advance for your answers.
christian
P.S.: I am still open to "unofficially" to technically and morally support
the
compilation of the framework on compilers other than gcc or MS Visual .NET.
Let me know if you tried to build Open BEAGLE on other compilers.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
To unsubscribe from this group, send an email to:
openbeagle-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Hi everyone,
I was able to successfully compile the forthcoming version 1.0.1 of Open
BEAGLE on MS Visual .NET. That is a good news for most Windows developers
interested by the framework. As I always intent to "officially" support only
one compiler per platform, I am seriously thinking about replacing Borland
C++ Builder project files of the distribution by the MS Visual .NET ones.
This also mean that I will not test new releases with this Borland C++
Builder. Anyway, nothing will stops users to define their own project files
to compile the framework.
I have a little survey for you, dedicated Open BEAGLE users on Windows.
1. Are you using Borland C++ Builder to compile Open BEAGLE?
2. If yes, do you mind about switching to MS Visual .NET?
Thank you in advance for your answers.
christian
P.S.: I am still open to "unofficially" to technically and morally support the
compilation of the framework on compilers other than gcc or MS Visual .NET.
Let me know if you tried to build Open BEAGLE on other compilers.
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
Hi,
You're right, that's a bug. I correct the code in my local CVS. It will be
with the forthcoming version of the framework (scheduled next week).
Thanks.
christian
On Sunday 10 November 2002 16:35, HAN, Fang wrote:
> A possible bug in bealge: beagle:steadystateop.cpp
>
> if(lReplacedIndiv2 >= lReplacedIndiv1) lReplacedIndiv2++;
> ioDeme.getTypeAlloc()->copyData(*ioDeme[lReplacedIndiv1],
> *ioDeme[lMatedIndividual1]);
> ioDeme.getTypeAlloc()->copyData(*ioDeme[lReplacedIndiv1],
> *ioDeme[lMatedIndividual2]);////////I think should be lReplacedIndiv2!
>
>
> Jianjun
>
>
>
>
>
> To unsubscribe from this group, send an email to:
> openbeagle-unsubscribe@yahoogroups.com
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
A possible bug in bealge: beagle:steadystateop.cpp
if(lReplacedIndiv2 >= lReplacedIndiv1) lReplacedIndiv2++;
ioDeme.getTypeAlloc()->copyData(*ioDeme[lReplacedIndiv1],
*ioDeme[lMatedIndividual1]);
ioDeme.getTypeAlloc()->copyData(*ioDeme[lReplacedIndiv1],
*ioDeme[lMatedIndividual2]);////////I think should be lReplacedIndiv2!
Jianjun
Using Powerful Batch experimenting tool drone to do your experiments!
-christian:
I am suggesting to add a parameter RunNum to specify the current running
number and add this information to all the output file of current running.
for example: we can specify the commandline as:
parity -ECrunNum=9
and then we can get all the output files named as
E8_HFCAdTop80_9.egn
E8_HFCAdTop80_9.bst
...
===========================================
What is Drone?
Drone is a tool for automatically running batch jobs of a simulation
program. It allows sweeps over arbitrary sets of parameters, as well as
multiple runs for each parameter set, with a separate random seed for each
run. The runs may be executed either on a single computer or over the
Internet on a set of remote hosts.
Where to get it?
http://pscs.physics.lsa.umich.edu/Software/Drone/
-----Original Message-----
From: Christian Gagne [mailto:cgagne@...]
Sent: 2002?10?28? 11:11
To: Hu, Jianjun; openbeagle@yahoogroups.com
Subject: Re: [openbeagle] input file (configuration file) needed
I Jianjun,
You will find included to the message a register file, named def-lilgp.conf,
with parameters set to values the more comparable possible to yours with
lil-gp.
I first use the following command-line to generate a default configuration
file. (I use the debug version of symbolic regression (symbreg-debug), but
it
works for all Open BEAGLE applications.)
/symbreg-debug -ECregister.dump=def-lilgp.conf
Then I edit the generated file def-lilgp.conf to set the parameters to value
as much possible similar to your configuration of lil-gp.
Finally, if you want to launch an evolution with the parameters of the file,
you must use the following command-line.
./symbreg-debug -ECregister.filename=def-lilgp.conf
Even more, if you named your configuration file the same name of your
application plus the suffix .conf (in my case, symbreg-debug.conf), you
don't
even have to set the register filename.
christian
On October 27, 2002 09:41 pm, Hu, Jianjun wrote:
> Dear Christian:
>
> I am wondering if you can provide us with a full featured configuration
> file for multi-population for GP. Including:
>
> setting the milestone filename, interval, subpop size
> crossover prob
> mutation rate
> and all other related parameters
>
> should be similar to this input of my lilgp program:
>
>
> your distribution doesn't include such an important file as it should be.
> ==========================================================
>
> max_generations =150000
> #if subpops is not specified size, then use this default one
> pop_size = 25
>
>
> # how to generate the initial population
> init.method = half_and_half
> init.depth = 4-7
> # limits on treesize.
> max_nodes = 300
> max_depth = 10
>
>
>
> ## breeding parameters (emulates Koza Ch. 7)
>
> breed_phases = 3
>
> #breed[1].operator = crossover, select = random
> #breed[1].operator = crossover, select=fitness
> #breed[1].operator = crossover, select=best
> #breed[1].operator = crossover, select=tournament
> #breed[1].operator = crossover, select=fitness_overselect
>
> breed[1].operator = crossover, select=(tournament, size=7)
> breed[1].rate = 0.95
> breed[2].operator = reproduction, select = best
> breed[2].rate = 0.05
>
> #breed[2].operator = reproduction, select = random
> breed[3].operator = mutation, select = fitness, method = grow, depth = 4
> breed[3].rate = 0.00001
>
> #breed[2].operator = mutation, select=fitness_overselect
>
> #breed[2].operator = mutation, select=(tournament, size=7)
> #breed[2].operator = mutation, select=fitness_overselect
> #breed[2].rate = 0.01
>
> #breed[3].operator = mutate_erc, select = fitness
> #breed[3].rate = 0.1
> #breed[3].varpercent=0.2, breed[4].ercpercent = 0.4
>
> #breed[4].operator = reproduction, select = fitness
> #breed[4].rate = 0.01
>
> multiple.subpops = 10;
> multiple.exch_gen = 5; # exchange every 10 generations
> subpop[1].pop_size = 10
> subpop[2].pop_size = 10
> subpop[3].pop_size = 10
> subpop[4].pop_size = 10
> subpop[5].pop_size = 10
> subpop[6].pop_size = 10
> subpop[7].pop_size = 10
> subpop[8].pop_size = 10
> subpop[9].pop_size = 10
> subpop[10].pop_size =60
>
> Thanks
>
> Jianjun
> MSU
>
>
>
>
>
> To unsubscribe from this group, send an email to:
> openbeagle-unsubscribe@yahoogroups.com
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
----------
<Register size="29">
<Entry key="evol.maxgeneration"> 15000 </Entry>
<Entry key="gp.swapmut.treeproba"> 1 </Entry>
<Entry key="milestone.restart"/>
<Entry key="gp.constrained"> 0 </Entry>
<Entry key="gp.stdmut.proba"> 0.00001 </Entry>
<Entry key="register.filename"/>
<Entry key="hallsoffame.size"> 1 </Entry>
<Entry key="evol.maxhits"> 20 </Entry>
<Entry key="migration.interval"> 5 </Entry>
<Entry key="gp.init.maxtreedepth"> 7 </Entry>
<Entry key="pop.size"> 10/10/10/10/10/10/10/10/10/60 </Entry>
<Entry key="gp.swapmut.distribproba"> 0.5 </Entry>
<Entry key="gp.crossover.proba"> 0.95 </Entry>
<Entry key="milestone.prefix"> symbreg-ms </Entry>
<Entry key="milestone.overwrite"> 1 </Entry>
<Entry key="register.readinterval"> 0 </Entry>
<Entry key="gp.shrinkmut.treeproba"> 1 </Entry>
<Entry key="migration.size"> 1 </Entry>
<Entry key="randomizer.seed"> 0 </Entry>
<Entry key="gp.stdmut.maxdepthreg"> 5 </Entry>
<Entry key="milestone.interval"> 0 </Entry>
<Entry key="gp.attempts"> 50 </Entry>
<Entry key="gp.maxtreedepth"> 10 </Entry>
<Entry key="milestone.perdeme"> 0 </Entry>
<Entry key="gp.shrinkmut.proba"> 0 </Entry>
<Entry key="tournaments.size"> 7 </Entry>
<Entry key="gp.init.mintreedepth"> 4 </Entry>
<Entry key="gp.swapmut.proba"> 0 </Entry>
<Entry key="gp.crossover.distribproba"> 0.9 </Entry>
</Register>
[Non-text portions of this message have been removed]
To unsubscribe from this group, send an email to:
openbeagle-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
[Non-text portions of this message have been removed]
I Jianjun,
You will find included to the message a register file, named def-lilgp.conf,
with parameters set to values the more comparable possible to yours with
lil-gp.
I first use the following command-line to generate a default configuration
file. (I use the debug version of symbolic regression (symbreg-debug), but it
works for all Open BEAGLE applications.)
/symbreg-debug -ECregister.dump=def-lilgp.conf
Then I edit the generated file def-lilgp.conf to set the parameters to value
as much possible similar to your configuration of lil-gp.
Finally, if you want to launch an evolution with the parameters of the file,
you must use the following command-line.
./symbreg-debug -ECregister.filename=def-lilgp.conf
Even more, if you named your configuration file the same name of your
application plus the suffix .conf (in my case, symbreg-debug.conf), you don't
even have to set the register filename.
christian
On October 27, 2002 09:41 pm, Hu, Jianjun wrote:
> Dear Christian:
>
> I am wondering if you can provide us with a full featured configuration
> file for multi-population for GP. Including:
>
> setting the milestone filename, interval, subpop size
> crossover prob
> mutation rate
> and all other related parameters
>
> should be similar to this input of my lilgp program:
>
>
> your distribution doesn't include such an important file as it should be.
> ==========================================================
>
> max_generations =150000
> #if subpops is not specified size, then use this default one
> pop_size = 25
>
>
> # how to generate the initial population
> init.method = half_and_half
> init.depth = 4-7
> # limits on treesize.
> max_nodes = 300
> max_depth = 10
>
>
>
> ## breeding parameters (emulates Koza Ch. 7)
>
> breed_phases = 3
>
> #breed[1].operator = crossover, select = random
> #breed[1].operator = crossover, select=fitness
> #breed[1].operator = crossover, select=best
> #breed[1].operator = crossover, select=tournament
> #breed[1].operator = crossover, select=fitness_overselect
>
> breed[1].operator = crossover, select=(tournament, size=7)
> breed[1].rate = 0.95
> breed[2].operator = reproduction, select = best
> breed[2].rate = 0.05
>
> #breed[2].operator = reproduction, select = random
> breed[3].operator = mutation, select = fitness, method = grow, depth = 4
> breed[3].rate = 0.00001
>
> #breed[2].operator = mutation, select=fitness_overselect
>
> #breed[2].operator = mutation, select=(tournament, size=7)
> #breed[2].operator = mutation, select=fitness_overselect
> #breed[2].rate = 0.01
>
> #breed[3].operator = mutate_erc, select = fitness
> #breed[3].rate = 0.1
> #breed[3].varpercent=0.2, breed[4].ercpercent = 0.4
>
> #breed[4].operator = reproduction, select = fitness
> #breed[4].rate = 0.01
>
> multiple.subpops = 10;
> multiple.exch_gen = 5; # exchange every 10 generations
> subpop[1].pop_size = 10
> subpop[2].pop_size = 10
> subpop[3].pop_size = 10
> subpop[4].pop_size = 10
> subpop[5].pop_size = 10
> subpop[6].pop_size = 10
> subpop[7].pop_size = 10
> subpop[8].pop_size = 10
> subpop[9].pop_size = 10
> subpop[10].pop_size =60
>
> Thanks
>
> Jianjun
> MSU
>
>
>
>
>
> To unsubscribe from this group, send an email to:
> openbeagle-unsubscribe@yahoogroups.com
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
----------
<Register size="29">
<Entry key="evol.maxgeneration"> 15000 </Entry>
<Entry key="gp.swapmut.treeproba"> 1 </Entry>
<Entry key="milestone.restart"/>
<Entry key="gp.constrained"> 0 </Entry>
<Entry key="gp.stdmut.proba"> 0.00001 </Entry>
<Entry key="register.filename"/>
<Entry key="hallsoffame.size"> 1 </Entry>
<Entry key="evol.maxhits"> 20 </Entry>
<Entry key="migration.interval"> 5 </Entry>
<Entry key="gp.init.maxtreedepth"> 7 </Entry>
<Entry key="pop.size"> 10/10/10/10/10/10/10/10/10/60 </Entry>
<Entry key="gp.swapmut.distribproba"> 0.5 </Entry>
<Entry key="gp.crossover.proba"> 0.95 </Entry>
<Entry key="milestone.prefix"> symbreg-ms </Entry>
<Entry key="milestone.overwrite"> 1 </Entry>
<Entry key="register.readinterval"> 0 </Entry>
<Entry key="gp.shrinkmut.treeproba"> 1 </Entry>
<Entry key="migration.size"> 1 </Entry>
<Entry key="randomizer.seed"> 0 </Entry>
<Entry key="gp.stdmut.maxdepthreg"> 5 </Entry>
<Entry key="milestone.interval"> 0 </Entry>
<Entry key="gp.attempts"> 50 </Entry>
<Entry key="gp.maxtreedepth"> 10 </Entry>
<Entry key="milestone.perdeme"> 0 </Entry>
<Entry key="gp.shrinkmut.proba"> 0 </Entry>
<Entry key="tournaments.size"> 7 </Entry>
<Entry key="gp.init.mintreedepth"> 4 </Entry>
<Entry key="gp.swapmut.proba"> 0 </Entry>
<Entry key="gp.crossover.distribproba"> 0.9 </Entry>
</Register>
[Non-text portions of this message have been removed]
Dear Christian:
I am wondering if you can provide us with a full featured configuration file
for multi-population for GP. Including:
setting the milestone filename, interval, subpop size
crossover prob
mutation rate
and all other related parameters
should be similar to this input of my lilgp program:
your distribution doesn't include such an important file as it should be.
==========================================================
max_generations =150000
#if subpops is not specified size, then use this default one
pop_size = 25
# how to generate the initial population
init.method = half_and_half
init.depth = 4-7
# limits on treesize.
max_nodes = 300
max_depth = 10
## breeding parameters (emulates Koza Ch. 7)
breed_phases = 3
#breed[1].operator = crossover, select = random
#breed[1].operator = crossover, select=fitness
#breed[1].operator = crossover, select=best
#breed[1].operator = crossover, select=tournament
#breed[1].operator = crossover, select=fitness_overselect
breed[1].operator = crossover, select=(tournament, size=7)
breed[1].rate = 0.95
breed[2].operator = reproduction, select = best
breed[2].rate = 0.05
#breed[2].operator = reproduction, select = random
breed[3].operator = mutation, select = fitness, method = grow, depth = 4
breed[3].rate = 0.00001
#breed[2].operator = mutation, select=fitness_overselect
#breed[2].operator = mutation, select=(tournament, size=7)
#breed[2].operator = mutation, select=fitness_overselect
#breed[2].rate = 0.01
#breed[3].operator = mutate_erc, select = fitness
#breed[3].rate = 0.1
#breed[3].varpercent=0.2, breed[4].ercpercent = 0.4
#breed[4].operator = reproduction, select = fitness
#breed[4].rate = 0.01
multiple.subpops = 10;
multiple.exch_gen = 5; # exchange every 10 generations
subpop[1].pop_size = 10
subpop[2].pop_size = 10
subpop[3].pop_size = 10
subpop[4].pop_size = 10
subpop[5].pop_size = 10
subpop[6].pop_size = 10
subpop[7].pop_size = 10
subpop[8].pop_size = 10
subpop[9].pop_size = 10
subpop[10].pop_size =60
Thanks
Jianjun
MSU
Hi Christian,
Thanks for the information. I'll give those params a run and see if I
get similar results.
--Brad
------------------------------------------
Brad Pillow
11715 Fox Road
Suite 400, #228
Indianapolis, IN
46236
phone: 317-823-8756
fax: 408-516-9877
> -----Original Message-----
> From: Christian Gagné [mailto:cgagne@...]
> Sent: Saturday, October 12, 2002 10:19 PM
> To: bpillow@...
> Cc: openbeagle@yahoogroups.com
> Subject: RE: Open Beagle
>
> At 20:53 2002-10-12, Brad Pillow wrote:
> >HI Christian,
> >
> >Thanks, that snippet of code did the trick! I'm building under
> >Metrowerks CodeWarrior for Windows Version 8.2 (it should work on the
> >Mac version as well), and didn’t have to really make many mods to the
> >code (I think just one header). One other question, what sort of pop
> >sizes/ number of generations do you need to solve the symbolic
> >regression problem. I don’t seem to be getting any sort of
> convergence
> >to a solution, so my though it runs under Metrowerks, there may still
> be
> >some problems. Knowing a ballpark on pops/generations to solve it
> under
> >your compiled version will let me know if I have a bug or not.
>
> With a population of 500 individuals, with 50 generations max. and the
> default parameters for the rest, I got the perfect solution 3 times
> over 10
> tests under gcc/Linux.
>
> christian
>
>
>
> >Thanks,
> >Brad
> >
> >------------------------------------------
> >Brad Pillow
> >11715 Fox Road
> >Suite 400, #228
> >Indianapolis, IN
> >46236
> >
> >phone: 317-823-8756
> >fax: 408-516-9877
> >
> >
> > > -----Original Message-----
> > > From: Christian Gagné [mailto:cgagne@...]
> > > Sent: Saturday, October 12, 2002 4:11 PM
> > > To: bpillow@...
> > > Cc: openbeagle@yahoogroups.com
> > > Subject: Re: Open Beagle
> > >
> > > Hi Brad,
> > >
> > > That's nice that Open BEAGLE compiles under Metrowerks! If you
> could
> > > send
> > > me the full details (compiler and OS versions), I will add them to
> the
> > > list
> > > of succesfully tested compilers/OS.
> > >
> > > You can access to the best(s) individual passing by the "Hall of
> Fame"
> > > of
> > > your evolved demes. Here is a C++ example to access to the best
> > > individual
> > > of the first deme.
> > >
> > > [...]
> > > lEvolver->evolve(lVivarium);
> > > // Take a reference the best individual of the first deme
> > > Individual::Handle lBestIndivOfFirstDeme = (*lVivarium)[0]-
> > > >getHallOfFame()[0];
> > > // Print the individual into the standard output. First need to
> wrap
> > > std::cout in a Beagle piped output stream
> > > PipedOutputStream lCout(std::cout);
> > > lCout << *lBestIndivOfFirstDeme << "\n";
> > > lCout.close();
> > > [...]
> > >
> > > I CC this mail to the Open BEAGLE mailing list, for the benefit of
> the
> > > community.
> > >
> > > christian
> > >
> > >
> > > At 13:25 2002-10-12, you wrote:
> > > >Hi Christian,
> > > >
> > > >
> > > >I'm playing with Open Beagle, and have it up under the Metrowerks
> > > >compiler on the PC (the have a full featured STL, so no mods
> needed).
> > > I
> > > >know I must be missing the obvious, but how can I print out the
> > > >structure of the best fit individual in using the GP classes?
> I.e. I
> > > >want to see the best evolved result. Can that only be done
> through
> > > the
> > > >milestones?
> > > >
> > > >
> > > >Thanks!!!!
> > > >
> > > >------------------------------------------
> > > >Brad Pillow
> > > >11715 Fox Road
> > > >Suite 400, #228
> > > >Indianapolis, IN
> > > >46236
> > > >
> > > >phone: 317-823-8756
> > > >fax: 408-516-9877
At 20:53 2002-10-12, Brad Pillow wrote:
>HI Christian,
>
>Thanks, that snippet of code did the trick! I'm building under
>Metrowerks CodeWarrior for Windows Version 8.2 (it should work on the
>Mac version as well), and didn’t have to really make many mods to the
>code (I think just one header). One other question, what sort of pop
>sizes/ number of generations do you need to solve the symbolic
>regression problem. I don’t seem to be getting any sort of convergence
>to a solution, so my though it runs under Metrowerks, there may still be
>some problems. Knowing a ballpark on pops/generations to solve it under
>your compiled version will let me know if I have a bug or not.
With a population of 500 individuals, with 50 generations max. and the
default parameters for the rest, I got the perfect solution 3 times over 10
tests under gcc/Linux.
christian
>Thanks,
>Brad
>
>------------------------------------------
>Brad Pillow
>11715 Fox Road
>Suite 400, #228
>Indianapolis, IN
>46236
>
>phone: 317-823-8756
>fax: 408-516-9877
>
>
> > -----Original Message-----
> > From: Christian Gagné [mailto:cgagne@...]
> > Sent: Saturday, October 12, 2002 4:11 PM
> > To: bpillow@...
> > Cc: openbeagle@yahoogroups.com
> > Subject: Re: Open Beagle
> >
> > Hi Brad,
> >
> > That's nice that Open BEAGLE compiles under Metrowerks! If you could
> > send
> > me the full details (compiler and OS versions), I will add them to the
> > list
> > of succesfully tested compilers/OS.
> >
> > You can access to the best(s) individual passing by the "Hall of Fame"
> > of
> > your evolved demes. Here is a C++ example to access to the best
> > individual
> > of the first deme.
> >
> > [...]
> > lEvolver->evolve(lVivarium);
> > // Take a reference the best individual of the first deme
> > Individual::Handle lBestIndivOfFirstDeme = (*lVivarium)[0]-
> > >getHallOfFame()[0];
> > // Print the individual into the standard output. First need to wrap
> > std::cout in a Beagle piped output stream
> > PipedOutputStream lCout(std::cout);
> > lCout << *lBestIndivOfFirstDeme << "\n";
> > lCout.close();
> > [...]
> >
> > I CC this mail to the Open BEAGLE mailing list, for the benefit of the
> > community.
> >
> > christian
> >
> >
> > At 13:25 2002-10-12, you wrote:
> > >Hi Christian,
> > >
> > >
> > >I'm playing with Open Beagle, and have it up under the Metrowerks
> > >compiler on the PC (the have a full featured STL, so no mods needed).
> > I
> > >know I must be missing the obvious, but how can I print out the
> > >structure of the best fit individual in using the GP classes? I.e. I
> > >want to see the best evolved result. Can that only be done through
> > the
> > >milestones?
> > >
> > >
> > >Thanks!!!!
> > >
> > >------------------------------------------
> > >Brad Pillow
> > >11715 Fox Road
> > >Suite 400, #228
> > >Indianapolis, IN
> > >46236
> > >
> > >phone: 317-823-8756
> > >fax: 408-516-9877
HI Christian,
Thanks, that snippet of code did the trick! I'm building under
Metrowerks CodeWarrior for Windows Version 8.2 (it should work on the
Mac version as well), and didn’t have to really make many mods to the
code (I think just one header). One other question, what sort of pop
sizes/ number of generations do you need to solve the symbolic
regression problem. I don’t seem to be getting any sort of convergence
to a solution, so my though it runs under Metrowerks, there may still be
some problems. Knowing a ballpark on pops/generations to solve it under
your compiled version will let me know if I have a bug or not.
Thanks,
Brad
------------------------------------------
Brad Pillow
11715 Fox Road
Suite 400, #228
Indianapolis, IN
46236
phone: 317-823-8756
fax: 408-516-9877
> -----Original Message-----
> From: Christian Gagné [mailto:cgagne@...]
> Sent: Saturday, October 12, 2002 4:11 PM
> To: bpillow@...
> Cc: openbeagle@yahoogroups.com
> Subject: Re: Open Beagle
>
> Hi Brad,
>
> That's nice that Open BEAGLE compiles under Metrowerks! If you could
> send
> me the full details (compiler and OS versions), I will add them to the
> list
> of succesfully tested compilers/OS.
>
> You can access to the best(s) individual passing by the "Hall of Fame"
> of
> your evolved demes. Here is a C++ example to access to the best
> individual
> of the first deme.
>
> [...]
> lEvolver->evolve(lVivarium);
> // Take a reference the best individual of the first deme
> Individual::Handle lBestIndivOfFirstDeme = (*lVivarium)[0]-
> >getHallOfFame()[0];
> // Print the individual into the standard output. First need to wrap
> std::cout in a Beagle piped output stream
> PipedOutputStream lCout(std::cout);
> lCout << *lBestIndivOfFirstDeme << "\n";
> lCout.close();
> [...]
>
> I CC this mail to the Open BEAGLE mailing list, for the benefit of the
> community.
>
> christian
>
>
> At 13:25 2002-10-12, you wrote:
> >Hi Christian,
> >
> >
> >I'm playing with Open Beagle, and have it up under the Metrowerks
> >compiler on the PC (the have a full featured STL, so no mods needed).
> I
> >know I must be missing the obvious, but how can I print out the
> >structure of the best fit individual in using the GP classes? I.e. I
> >want to see the best evolved result. Can that only be done through
> the
> >milestones?
> >
> >
> >Thanks!!!!
> >
> >------------------------------------------
> >Brad Pillow
> >11715 Fox Road
> >Suite 400, #228
> >Indianapolis, IN
> >46236
> >
> >phone: 317-823-8756
> >fax: 408-516-9877
Hi Brad,
That's nice that Open BEAGLE compiles under Metrowerks! If you could send
me the full details (compiler and OS versions), I will add them to the list
of succesfully tested compilers/OS.
You can access to the best(s) individual passing by the "Hall of Fame" of
your evolved demes. Here is a C++ example to access to the best individual
of the first deme.
[...]
lEvolver->evolve(lVivarium);
// Take a reference the best individual of the first deme
Individual::Handle lBestIndivOfFirstDeme = (*lVivarium)[0]->getHallOfFame()[0];
// Print the individual into the standard output. First need to wrap
std::cout in a Beagle piped output stream
PipedOutputStream lCout(std::cout);
lCout << *lBestIndivOfFirstDeme << "\n";
lCout.close();
[...]
I CC this mail to the Open BEAGLE mailing list, for the benefit of the
community.
christian
At 13:25 2002-10-12, you wrote:
>Hi Christian,
>
>
>I'm playing with Open Beagle, and have it up under the Metrowerks
>compiler on the PC (the have a full featured STL, so no mods needed). I
>know I must be missing the obvious, but how can I print out the
>structure of the best fit individual in using the GP classes? I.e. I
>want to see the best evolved result. Can that only be done through the
>milestones?
>
>
>Thanks!!!!
>
>------------------------------------------
>Brad Pillow
>11715 Fox Road
>Suite 400, #228
>Indianapolis, IN
>46236
>
>phone: 317-823-8756
>fax: 408-516-9877
Hi,
> 1) Documentation of the XML file format used.
> 2) The way XML Beagle read/write XML.
> 3) Use of standard DOM or SAX XML parser to read
> XML.
1 & 3, mainly.
JJ
__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com
Hi,
What do you mean by "(documented) XML support"?
Do you mean:
1) Documentation of the XML file format used.
2) The way XML Beagle read/write XML.
3) Use of standard DOM or SAX XML parser to read XML.
4) Something else
Thank you for your comments, JJ.
christian
On September 25, 2002 04:25 pm, you wrote:
> Hi,
>
> Well, so far, I'm not an user, but I can answer some
> of your questions
>
> > - Do you have any suggestions of new features that
> > should be added?
>
> (documented) XML support, so that it can be
> interoperable with other EC libraries.
>
> JJ
>
> __________________________________________________
> Do you Yahoo!?
> New DSL Internet Access from SBC & Yahoo!
> http://sbc.yahoo.com
>
>
> To unsubscribe from this group, send an email to:
> openbeagle-unsubscribe@yahoogroups.com
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
I really think multi-objective feature should be added in. It's really
important and there are a bunch of mature techniques overthrere
Another is constrained GA.
these two features will win a lot of users from other EC lib since they
don't have such kind of mechanism.
-:)
Jianjun Hu
-----Original Message-----
From: Merelo JJ [mailto:jmerelo666@...]
Sent: 2002?9?25? 16:25
To: openbeagle@yahoogroups.com
Subject: Re: [openbeagle] Request for comments
Hi,
Well, so far, I'm not an user, but I can answer some
of your questions
> - Do you have any suggestions of new features that
> should be added?
(documented) XML support, so that it can be
interoperable with other EC libraries.
JJ
__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com
To unsubscribe from this group, send an email to:
openbeagle-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Hi,
Well, so far, I'm not an user, but I can answer some
of your questions
> - Do you have any suggestions of new features that
> should be added?
(documented) XML support, so that it can be
interoperable with other EC libraries.
JJ
__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com
Hi everyone,
As the Open BEAGLE main developper, I would like get some feedback from you,
dedicated Open BEAGLE users. Here is some questions that I would like you to
answer:
- How easy (hard) to install and to use do you find the framework?
- Is there some aspects of the framework you find unclear or hard to
understand?
- Do you think the framework should be modified in some way, to improve
it?
- Do you have any suggestions of new features that should be added?
- Would you like a new EC flavor to be added to the framework? Would you like
that one of the actual EC flavors of the framework (GA and GP) be improved in
some way?
- Do you appreciate the actual support structure (papers, manuals, mailing
list)? Do you think some documentations must be add to clarify the use of the
framework?
- Any other comments?
Please, send your comments directly to me: cgagne@...
I will send you back a digest of the comments received in some weeks.
And thank you very much for your comments.
christian
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
Hi Mohammed,
On September 9, 2002 08:22 am, you wrote:
> Hi...
>
> My name is Mohammed (u can use Mo as a shorthand of my name). I am from
> Jordan.
>
> I received an invitation to subscribe to this list from a friend.
>
> I am interested in genetic programming using C++ but the problem is that I
> have no experience in this field and I still know little about GA.
>
> I will spend much time on this framework to know everything about it. But I
> have a simple question. What books, papers, etc that I can read to master
> the development of this framework?
It depends on what you want to do and what you already know.
If you don't know a lot on GA, GP, and EC in general, I advice you to read
some good introduction books on the topics.
This one might be a good one for GA:
Genetic Algorithms in Search, Optimization, and Machine Learning
by David Goldberg
http://www.amazon.com/exec/obidos/ASIN/0201157675/qid=1032294922/sr=1-7/ref=sr_1\
_0_7/002-8311421-3107214
And this is a good start for GP:
Genetic Programming : An Introduction : On the Automatic Evolution of
Computer Programs and Its Applications
by Wolfgang Banzhaf et al.
http://www.amazon.com/exec/obidos/ASIN/155860510X/qid=1032295036/sr=2-1/ref=sr_2\
_1/002-8311421-3107214
There is also some great ressource on the Web on EC. Take a look on
ENCORE.
ftp://ftp.krl.caltech.edu/pub/EC/Welcome.html
Try also evoweb. Good ressource on the topic.
http://evonet.dcs.napier.ac.uk/
If you are already familiar with EC and If you want to use Open BEAGLE to do
classical GA or GP, I advice you to read the 8-pages GECCO paper and then the
tutorial of the Open BEAGLE manual, available on the project's web page.
Starting from that analyse the examples given, do your own examples, and then
you might be able to understand a lot more the framework.
If you are familiar with the framework, with C++ and object oriented
programming in general, then start to read the whole Open BEAGLE manual. You
should find almost everything you want to know on the framework. If you don't
find what you want, let us know. Then you must be able to appreciate the
software architecture, develop new specialized frameworks, and then became a
real Open BEAGLE hacker! ;)
christian
>
> Mo
>
>
>
> To unsubscribe from this group, send an email to:
> openbeagle-unsubscribe@yahoogroups.com
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
Hi,
The planned future developments goes as follow:
For version 1.1.0 (due somewhere in october/november) [short term]
- Automake/autoconf front end.
- Some revision of the XML I/O streams, use of the Xerces XML parser.
- Revision of the steady-state evolvers. Integration of a Breeder pipeline
that would greatly simplify steady-state evolvers, and prepare the
development of an ES framework.
- Quick start reference sheets. Revision and improvement of the Open BEAGLE
manual.
For the following version (somewhere this winter) [middle term]
- Integration of a working prototype of Distributed BEAGLE (to distribute
process on several processors) with the actual framework.
- Improvements of the GA framework (variable lenght bit-strings, 2-point
crossovers, etc.).
- Implementation of a grammatical evolution framework.
- Implementation of an evolution strategies framework.
- Web tools to analyse XML milestones file.
Undetermined:
- A way to compile the Open BEAGLE on MS Visual C++. Don't know how, don't
know when, don't have a lot of energy for it, but sometime we must find a way
to compile Open BEAGLE on it.
These are the planned developments. If you have any comments or request for
feature regarding Open BEAGLE let us know. We will see what we can do.
christian
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
Hi John,
The actual GP implementation of Open BEAGLE is somewhat stack-based. The
trees are structured in memory as arrays of {Primitive::Handle, Sub-tree
size} that are interpreted using a stack (stored in class GP::Context). It's
maybe not the most efficient stack-based implementation, and the space
occupied by each nodes is quite big (8 bytes per each tree's node on a 32
bits system). But, I thing it's quite efficient given the flexibility and the
genericity of the model.
But, if you really want a high performance pure stack-based GP framework, it
might be possible to design one building on the actual GP framework. A good
starting point
might be to study the actual GP framework and then decide what should be
changed and what is actually correct. I'm willing to help you on the design
of this framework, as a high performance framework might be a good thing.
It's interesting as I tough some times ago about developing a stack-based GP
framework for implementing PushGP from Spector. Maybe good time to do both by
the way, an efficient stack-based GP implementation that can do PushGP.
christian
On September 17, 2002 11:10 am, John Truesdale wrote:
> Hi all:
>
> I just grabbed open beagle and will start working with it soon. I was
> originally looking for a high performance stack based solution but saw
> that this code was written generically enough that it could be added.
> So has anyone worked with implimenting a stack based scheme with open
> beagle?
>
> jt
>
>
>
> To unsubscribe from this group, send an email to:
> openbeagle-unsubscribe@yahoogroups.com
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne
Hi...
My name is Mohammed (u can use Mo as a shorthand of my name). I am from
Jordan.
I received an invitation to subscribe to this list from a friend.
I am interested in genetic programming using C++ but the problem is that I
have no experience in this field and I still know little about GA.
I will spend much time on this framework to know everything about it. But I
have a simple question. What books, papers, etc that I can read to master
the development of this framework?
Mo
-----Original Message-----
From: John Truesdale [mailto:jtruesda@...]
Sent: 2002?9?17? 11:10
To: openbeagle@yahoogroups.com
Subject: [openbeagle] stack-based vs tree based
Hi all:
I just grabbed open beagle and will start working with it soon. I was
originally looking for a high performance stack based solution but saw
that this code was written generically enough that it could be added.
So has anyone worked with implimenting a stack based scheme with open
beagle?
jt
To unsubscribe from this group, send an email to:
openbeagle-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Hi all:
I just grabbed open beagle and will start working with it soon. I was
originally looking for a high performance stack based solution but saw
that this code was written generically enough that it could be added.
So has anyone worked with implimenting a stack based scheme with open
beagle?
jt
Hi!
I welcome everyone to the Open BEAGLE mailing list. The mailing is intended
to announce new Open BEAGLE releases, to ask questions on the framework, and
to discuss on future developments. I hope this list will help Open BEAGLE
users to master the framework, will help the developpers to make the
framework a better one, and will be the place of great discussions on the EC
software environment.
Enjoy the list! Enjoy Open BEAGLE!
Christian
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~> Christian Gagné
~> http://www.gel.ulaval.ca/~cgagne