Just wanted to tell you that I presented HL to my lab group and
everyone agreed this is a great framework and it is very nice to have
something with gui (e.g. as opposed to ECJ).
However, they all said that until GP will be inside it, they won't
start using it.
Also, I tried to convince one of the group members that just started
programing new standard GA algorithm to use your program. I showed her
how to use it and even though she saw it and that it was enough for he
current need - she didn't want to use it. The reason was that she was
afraid that later on when she'll want to make changes - she won't know
how to do it, or even worse - the system won't be flexible and she
won't be able to do the necessary changes.
I think that if you want people to use it you need to create video
tutorials (maybe share them on you tube), send videos + online lessons
(step-by-step) to EA teachers, and most important - think hard how to
overcome this problem, because I know about my self that this was my
biggest fear before I started using HL - that I won't know / won't be
able to change things later.
Let me first say that we take such feedback very seriously and let me
thank you for giving it to us! We recognize that documentation is a
crucial thing, but there's documentation and there's helpful
documentation. It's not so easy to know a priori what's going to help
and what is not. Some of us like video tutorials, others have seen too
many already. They're great to show off some things, but what do you
want to see? We do have some Howtos, that, as tiny as the section is,
still provides some valuable information. The thing is that we're
probably more likely to do documentation when asked about something
specifically. I've so far answered a few questions by writing a howto
and sending just the link to that as answer, but I'm likely not going
to write one when I don't know where to lift the "fog of code".
Certainly we do have some ideas on what to write about or do a video
about, but we do also have a lot of ideas on where to extend the
framework and how to use it for our work, which simply is the task
that makes more fun ;-)
So if you have some specific questions, concerning tasks that you want
to do with HL, but don't know how and which could be covered in a
howto, please ask them. And for me that's the kind of documentation
that is more fun to write, because I can show what you can do with
HeuristicLab. Anyway, we can only write documentation for features
that are already there. If you want to implement, say, new algorithms
or different problems, we have so many already implemented that there
should be more than enough samples to build something rather quickly.
Many people start to learn from the code that is already there and I
think we're not doing bad in that regard. This mailing list was called
to life exactly for exchanging thoughts among users and I think it's
great to see some discussions getting started.
Regarding the flexibility of the framework: Of course it's normal to
have fears. I can understand how you take a framework and then you
don't know how far it takes you. But rest assured it has taken a
research group of more than 15 people already quite far and the
foundation for this has been our combined efforts into HeuristicLab.
We've implemented every algorithm as an operator graph that you can
modify and build upon. The plugin system is open to add new features
for anyone, the source is open, there's separation between framework
and the UI, there's separation between algorithm, encoding and
problem, there's a powerful service locator that lets you do loose
coupling and we're even working in direction of getting it to run
under mono. So really, it IS quite a flexible framework. But why care
what others are doing or not doing? Use all this to get some good
publications out or use it in class. That would show more than
anything else that HeuristicLab is the right thing!
Sincerely,
Andreas Beham
I was a little bit puzzled, when I read the line that your lab group
members said they won't use HL until GP is inside. If GP stands for
genetic programming, I can ensure you that GP is implemented since the
beginning of the HL development. It maybe not that obvious, because in
the current version GP is interpreted as a genetic algorithm in
combination with a symbolic expression tree encoding, like in the
artificial ant or the symbolic regression / classification problems (the
samples on the start page clearly state which problems are solved using
genetic programming).
However we plan to implement a separate GP-algorithm to make it more
obvious that HL support genetic programming with symbolic expression
trees. Other encodings for GP like linear GP, cartesian GP or gene
expression programming are currently not supported.
If you need further information regarding the GP functionality in HL,
just contact us.
Regards,
Michael
When I started using HL I didn't know where to start and I didn't want
to start reading - it takes long time to get into the concept of your
system. It's a different type of thinking - graph programing.
I did what every other good researcher would have done - I gave my
students a project - to explain me the system and do the modification
required. Once they gave me a frontal presentation - I got into it
very quickly and was able to do some simple things by myself.
I think that at least 1 movie of every feature of HL: 1 problem
solving movie (Knapsack Problem for example), 1 creating new algorithm
movie (GA for example), 1 HIive movie, 1 plugin creator, etc.
However, I agree that the more people will use it in their classes and
publish papers, the more the framework will be popular.
I will definitely use it...
Achiya
On Dec 13, 12:15 am, Andreas Beham <andreas.be...@heuristiclab.com>
wrote:
On Dec 14, 2:11 am, Michael Kommenda <mkomm...@heuristiclab.com>
wrote:
Thanks again for your response. Do you have something written or a
presentation from your students that you could share with us? I think
it will be interesting to see how someone approaches the framework
that has not been directly influenced by us. It could also help us
improve the documentation.
We'll also redesign the website in the near future and try to make it
easier to get people started.
Sincerely,
Andreas
Unfortunately I don't have anything - My students presented a simple
GA problem by showing it online from scratch without any use of
PowerPoint.
They solved y=ax^5+bx^4+cx^3+dx^2+ex+f using GA.
They used 8 bits for presenting each coefficient--totaly 8*5 bit
array. (single-point cross over and bitflip mutator)
the evaluator converted the bit array to ints and then calculated y-
(ax^5+bx^4+cx^3+dx^2+ex+f) and tried to minimize the average error for
each x,y
Achiya
On Dec 18, 8:11 pm, Andreas Beham <andreas.be...@heuristiclab.com>
wrote: