|
From: Mariusz N. <ma...@ma...> - 2002-02-17 21:22:50
|
Hi, Thanks a lot Remon for your document. Lets use plain text for discussions and LaTeX for the documents. We can generate HTML from LaTeX and make it available on the EAML web page at some stage. I have discussed some of the EAML aspects with Grant Dick, which I will summarize below. Me and Grant are working in the same department in the area of evolutionary computation. There are quite a number of aspects to EAML. As Remon said, the separation of structure (template) from the actual parameter values is an important one. Structure --------- What I mean by structure is: all the necessary descriptions to instantiate population of individuals, randomize them, exchange the state of the population (serialize individuals), instantiate all the necessary operators. There are some basic structural design decision to be made. *) what is the basic elementary building block of the individual genome? (single gene, single chromosome or a whole genome?) I think the user should be free to specify it on a arbitrary level. E.g. - the genome is one chromosome which is a list of binary genes - the genome is two chromosomes one of which is a list of genes with integer numbers and the second is a list of genes with an alphabet consisting of symbols [A, B, C, D]. - the genome is one chromosome which is a tree-like structure etc. *) how the genetic structure is paired with "randomizer" and other operators? *) how the state of the genetic structure is expressed? *) how we design the operators taxonomy? We can have operators operating on: gene, chromosome, genome, and group of individuals. Do we inline the operators into the genetic structure description? Or do we "link" them externally? *) Templating - as noted by Remon it is important to have a possibility to do "templating", i.e. when describing the structure one can use parameters. I think dealing with all the above is the current task. We need to know how to: declare gene, chromosome, genome, individual type, operators. Operator types should uniquely identify all well-known operators (like "Uniform-distribution randomizer", or "Roulette Wheel selection") - and this would be this "standardising" aspect of EAML. All non-standard operators would need to be linked to the actual implementation somehow. Algorithm --------- This is the tricky bit. It is almost like OO programming paradigm: the "types" are limited to genes/ chromosomes/ genomes/ individuals/ populations, the objects are limited to actual genes/ genomes etc and the operators are all like methods. We could have a way of specifying in which order all the operators should be applied - but I am sure it would require the complete theory of this "programming paradigm. I am sure it would make a quite interesting research project - but for now I think we should concentrate only on the first - structural aspects. What do you think? Feel free to reuse/modify this text. best regards Mariusz |