Re: Gene Expression Programming(GEP)



On Aug 29, 2:19 pm, André Thieme <address.good.until.
2008.oct...@xxxxxxxxxxx> wrote:
Pascal J. Bourguignon schrieb:

bartol....@xxxxxxxxxxxxxx writes:

I don’t really understand why complete no ones feel compelled to bad
mouth other peoples work in public. If you disagree with her work and
conclusions write a paper and have it reviewed and published like she
did.

I hope André will take up the gauntlet and write this paper!

There is no need for it, because it was already done.
Experts in the area of Genetic Programming pointed out several problem
in Ferreira works. The regarding yahoo news group has also lots of
comments in its archive, even from John Koza himself.

I just mentioned it here because the poster “h2s” might be new to these
programming techniques and might believe Ferreiras claims, like that
“GEP surpasses the old GP technique by a factor of 100-60,000”.

I went through her book where she showed that even very small populations
came to results for which GP needed much bigger populations.
But funnily this is not true. She worked on the examples that Koza
gave in his book. He made totally clear that the point of his book was
to show in a scientific way that GP works. For that he used the same
parameters for each run in his book and never optimized it.
Ferraira however used only extremly small chromosomes.
I don’t have the tutorial at hands right now, but let’s say the
chromosome size was 20. It doesn’t matter if it was 10, 20 or even
100. The problem is that if you convert this into a tree it can have
a maximum of 20 (or 100) points, be it functions or terminals.
Koza on the other hand used throughout his book a maximum depth
after crossover of 17. This means the programs his GP system created
could possibly grow up to (2ˆ17)-1 points, which is around 130.000.
So, we have a program of a maximum length of 20 lines of code versus
a program of up to 130.000 LOC. It is obvious that the search space
that Koza used (only for scientifically reasons) was much bigger.

When I did the same examples that Ferreira did, but with her parameter
settings adopted for GP I “magically” got the same results.
But even if this is not done GP several times outperforms GEP.
In one case in the yahoo group someone used 500 individuals (GP) and
compared it to the same problem as Ferreira with GEP, with only 50
individuals. They got basically the same results, only that GP got it
after 23 generations while GEP needed 923 generations.
That’s a total of 11500 programs for GEP and 46150 for GEP.
But if GEP would indeed surpass GP by a factor of 100 (and that is the
smallest number Ferreira claims) GEP should have only needed 115
individuals.
That’s 3 generations, not 923.
As I said, I did several experiments from Ferreiras book, but this time
using her parameters which were adopted to solve the problem fast,
instead of Kozas approach, who wanted to show scientifically that GP
indeed works. I found no evidence at all that GEP performs better in
any way.

And the explanation for that is very simple. Ferreira has a background
in biology. She ignored the mathematical facts about bijections.
What she does is basically take a GP tree (in that sense: a lisp
program) and writes it down in another form, the so called K-expression,
which is usually nothing but a string.
This is what h2s presented us in his OP, although he/she used lists
instead.
This K-expression is then manipulated. In GP this manipulation happens
directly on the program tree itself. Now Ferreira believes that if she
manipulates the same tree when it was coded in a different data format,
a string, and then shuffles around chars in this string and forms it
back to a tree to execute it, that this will somehow bring things to
evolve faster.
She could not show this in any paper. It’s still she who first needs
to bring a proof for her claim. Of course, as her kexp is nothing but
a simple bijection any operation that can be done on the kexp can also
be done on a sexp.

But really, I suppose that in fact her operations are more random than
those that are used in GP. So, GEP does much more often what would be
considered a secondary operation in GP, similar to mutation.
This is not only my understanding about it, but also the big names in
that field like John Koza, Sean Luke or Conor Ryan do and they wrote
about it for example in the yahoo group:http://tech.groups.yahoo.com/group/genetic_programming/

Ferreira also basically copied parts of work which Conor Ryan and his
team developed, a method called Grammatical Evolution, but sadly she
didn’t cite that work and tries to sell it to us as her idea.

Also about papers: when Ferreira sent her papers to real authorities
in the area, like John Koza, her papers were rejected.
For more about this read Ferrairas official FAQ:http://www.gene-expression-programming.com/Q&A03.asp#PersCorr23

At Rod Bartol: I find it funny that you jump into a discussion with your
meta criticism, as if you would know anything about the GP/GEP
controversial.
I just wanted to inform a newcomer to GEP that the claims of Ferraira
are not true (were not proven, while evidence support that her claims
are probably not true).

André
--

Thanks also for the information.do you object to her naming it GEP or
to the methodology and algorithm she use?am still a newcomer as you
said.
.



Relevant Pages

  • Re: Gene Expression Programming(GEP)
    ... She worked on the examples that Koza ... When I did the same examples that Ferreira did, ... But even if this is not done GP several times outperforms GEP. ... Also about papers: when Ferreira sent her papers to real authorities ...
    (comp.lang.lisp)
  • Re: Gene Expression Programming(GEP)
    ... experiments is not enough to support your claims. ... to do it the same way Ferreira did. ... This is a newsgroup and not a science discussion board. ... Of course GEP works. ...
    (comp.lang.lisp)
  • Re: Gene Expression Programming(GEP)
    ... h2s schrieb: ... that GEP is not so special as miss Ferreira wants to make us believe. ... Especially she often pronouces that GEP is so much better than GP ... She did not understand that she made several mistakes in her measurement ...
    (comp.lang.lisp)