Comprehensive guide document..

84 views
Skip to first unread message

Joe

unread,
Jun 8, 2010, 6:37:45 PM6/8/10
to EpochX
I've stumbled across EpochX recently, love the API and feature set,
but finding it tedious to code some advanced use cases from the
javadoc alone. Your site mentions a comprehensive guide coming soon -
anything more detail you can share? Interested in a lay reviewer
taking an early look?

Thanks

Tom Castle

unread,
Jun 9, 2010, 7:17:47 AM6/9/10
to EpochX
The full guide is still some way off being usable. My main
documentation focus has been on fixing the JavaDoc, which is almost up
to scratch now. But, if there are some specific topics you're
interested in, then I'll see if I can prioritise them and get
something useful up for you?

Tom

Joe

unread,
Jun 9, 2010, 8:19:12 AM6/9/10
to EpochX
Thanks for the prompt reply Tom. I'll persevere as I'm doing well
enough at the moment, but may write back with the odd question on XGE
if I get stuck. I am working on genetic feature generation with
machine learning as fitness (eg SVM etc). I'm using R (the S language)
via rJava package as the embedded interpreter. Once I am comfortable
with this I am also aiming to build a Swing GUI (probably on NetBeans
Platform) for grammar entity scripting and model configuration, hence
the need for some more comprehensive guidance on the framework. Will
be in touch no doubt.

Regards

Chris Rose

unread,
Jun 9, 2010, 11:50:32 AM6/9/10
to epo...@googlegroups.com
I don't want to be a traitor here, but I started with EpochX but found it pretty inflexible and not easy to work with.  The documentation is very very limited.  The code base is large and undocumented.

I came across the start of a genetic programming system in Chap 11 of  Programming Collective Intelligence by Segaran.  It's in Python 2.5.  In a week part time I had it expanded to a kickass gp system.

Don't get me wrong.  The book is just a start.  But the examples run.   Whoever wrote the code seems to know little about object oriented programming.   His or her attempt at OO was very flawed, but easily fixed.  My code is now 20x as long as the original.  But Python is just much faster to develop experimental systems in than java.  I knew java much better than python when I started.  The week included learning python, but I made up the learning time many-fold in efficiency of development.

I am NOT offering my code.  But if you can program you grow this example into anything you need pretty quickly.

Chris Rose
Message has been deleted

Tom Castle

unread,
Jun 10, 2010, 8:22:20 AM6/10/10
to EpochX
Thanks for your feedback Chris. No need to feel like a traitor, EpochX
is one of many GP systems, it won't be right for everyone. I'd be very
interested to hear what elements you felt were inflexible though, so I
can see what can be done to improve them.

The documentation is indeed limited at the moment, but I promise I am
working on more thorough guides to change that.

Programming Collective Intelligence is a good hands-on book, although
as you mention the GP algorithm it outlines is somewhat limited. But
of course it depends on your needs.

It is worth pointing out that the original poster is using the XGE
component of EpochX which is for Grammatical Evolution, so his
situation is somewhat different.

Chris Rose

unread,
Jun 10, 2010, 10:06:42 AM6/10/10
to epo...@googlegroups.com
Hi Tom,

I think I misspoke when I said "inflexible".  EpochX is very flexible, but that made it too large for me to work with easily without a detailed map.  And although java is better for writing production level software, I have found python amazingly capable for speedy experimentation.

Of course I think MY OWN system is flexible.  I wrote it to fit my needs.  No surprise there.

Thanks for contributing EpochX to the world.  I'll keep watch for the upcoming documentation.

Chris



-----Original Message-----
From: Tom Castle <tc...@kent.ac.uk>
Reply-To: epo...@googlegroups.com
To: EpochX <epo...@googlegroups.com>
Subject: [epochx] Re: Comprehensive guide document..
Date: Thu, 10 Jun 2010 05:20:47 -0700 (PDT)

Thanks for your feedback Chris. No need to feel like a traitor, EpochX
is one of many GP systems, it won't be right for everyone. I'd be very
interested to hear what elements you felt were inflexible though, so I
can see what can be done to improve them.

The documentation is indeed limited at the moment, but I promise I am
working on more thorough guides to change that.

Programming Collective Intelligence is a good hands-on book, although
as you mention the GP algorithm it outlines is somewhat limited. But
of course it depends on your needs.

It is worth pointing out that the original poster is using the XGE
component of EpochX which is for Grammatical Evolution, so his
situation is somewhat different.

On Jun 9, 4:50 pm, Chris Rose <chris.r...@cathatlabs.com
> wrote:
> I don't want to be a traitor here, but I started with EpochX but found
> it pretty inflexible and not easy to work with.  The documentation is
> very very limited.  The code base is large and undocumented.
>
> I came across the start of a genetic programming system in Chap 11 of
> Programming Collective Intelligence by Segaran.  It's in Python 2.5.  In
> a week part time I had it expanded to a kickass gp system.
>
> Don't get me wrong.  The book is just a start.  But the examples run.
> Whoever wrote the code seems to know little about object oriented
> programming.   His or her attempt at OO was very flawed, but easily
> fixed.  My code is now 20x as long as the original.  But Python is just
> much faster to develop experimental systems in than java.  I knew java
> much better than python when I started.  The week included learning
> python, but I made up the learning time many-fold in efficiency of
> development.
>
> I am NOT offering my code.  But if you can program you grow this example
> into anything you need pretty quickly.
>
> Chris Rose
>
> -----Original Message-----
> From: Joe <jos...@fazzari.net>
>
> Reply-To: epo...@googlegroups.com

Joe

unread,
Jun 10, 2010, 4:51:46 PM6/10/10
to EpochX
I had the same experience with ECJ - dense and undocumented. I've
found epochX to be more focussed in what it offers and at least the
codebase is comprehensible in the absence of documentation.

I also need to integrate with a few other java packages hence language
constraint. In addition, I'm only at graduate level so writing my own
is out of the question.

My thanks also for producing a neat GE project.
Reply all
Reply to author
Forward
0 new messages