[ANN] new genetic programming system for ruby

http://drp.rubyforge.org

i’ll be doing a presentation tonight in secondlife, read the recent post
titled Rubyists of Second Life Meeting, 09/07/2006.

What’s Second Life? I must be missing out on something… I’m still
working
on my first life.

James H.

In article [email protected],
Christophe M. [email protected] wrote:

http://drp.rubyforge.org

i’ll be doing a presentation tonight in secondlife, read the recent post
titled Rubyists of Second Life Meeting, 09/07/2006.

Is the presentation available on the web for those of us who don’t have
access to 2nd life?

Phil

unknown wrote:

Is the presentation available on the web for those of us who don’t have
access to 2nd life?

Phil

They’re keeping the meeting logs at http://rosl.iandb.net/ for those
that want to view them. I see they haven’t got the slides for last
night up yet, though. Really need the slides on this one.

James H. wrote:

i’ll be doing a presentation tonight in secondlife, read the recent post
titled Rubyists of Second Life Meeting, 09/07/2006.


Posted via http://www.ruby-forum.com/.

It’s genetic reprogramming :slight_smile:

William C. wrote:

unknown wrote:

Is the presentation available on the web for those of us who don’t have
access to 2nd life?

Phil

They’re keeping the meeting logs at http://rosl.iandb.net/ for those
that want to view them. I see they haven’t got the slides for last
night up yet, though. Really need the slides on this one.

Oh… If you go to http://drp.rubyforge.org/rdoc/index.html and click
on INTRO in the upper left, that page looks a LOT like the slides from
last night, up until “Setting Weights as a Function of the Current
Depth”. That portion and after was not covered in the meeting.

William C. wrote:

William C. wrote:

unknown wrote:

Is the presentation available on the web for those of us who don’t have
access to 2nd life?

Phil

They’re keeping the meeting logs at http://rosl.iandb.net/ for those
that want to view them. I see they haven’t got the slides for last
night up yet, though. Really need the slides on this one.

Oh… If you go to http://drp.rubyforge.org/rdoc/index.html and click
on INTRO in the upper left, that page looks a LOT like the slides from
last night, up until “Setting Weights as a Function of the Current
Depth”. That portion and after was not covered in the meeting.

Sorry, third post in a row, hating myself…

That section WAS covered, but the example was different. The next
section on was not.

Christophe M. wrote:

http://drp.rubyforge.org

i’ll be doing a presentation tonight in secondlife, read the recent post
titled Rubyists of Second Life Meeting, 09/07/2006.

When I first saw this, I was thinking that it would be fun to play with
whenever I get time to look at evolutionary programming again, but it
just hit me that there’s another place where this project would be very
useful:

Testing. I was just writing some code to generate sequences of test
operations, and I remembered this project - using it to generate test
scripts from a grammar seems to be a good fit. The question would be
what type of search algorithm to use, and if using a GA etc. what would
make sense for a fitness function.

In the latter case, I guess it depends on the purpose of the testing:
In the case of performance, using a fitness function that assigns
higher fitness the lower the system performance would encourage test
scripts that converge on patologically bad performing cases. In the
case of logic failures, it may be tricky to assign a gradual scale of
failures, and I’m not really sure if a GA would be a good search
alogrithm for that case.

Vidar

hi,

that’s interesting, i’d be curious to see where you go
with it, keep me informed.

yeah logic failures, well, there probably is no scale.
if there is a failure, bad, if there are none, good,
correct?

in that case it might be good to just run on random
‘genomes’. and halt on failure, or run all night and
record all failures. a single failure would probably
give you plenty to go on, w/o being further evolved.

regards,
_c

— Vidar H. [email protected] wrote:

be fun to play with
scripts from a grammar seems to be a good fit. The
would encourage test


All new Yahoo! Mail “The new Interface is stunning in its simplicity and
ease of use.” - PC Magazine
http://uk.docs.yahoo.com/nowyoucan.html

Polypus wrote:

that’s interesting, i’d be curious to see where you go
with it, keep me informed.

yeah logic failures, well, there probably is no scale.
if there is a failure, bad, if there are none, good,
correct?

More or less, but on thinking about it a bit more I realised that there
are a few other reasonable fitness measures too: One is code coverage.
Another is aggregate code coverage (that is, you wary the fitness
function as evolution progresses so that when you have collected
testcases that give good coverage of one part of the app, you change
the criteria so that covering that portion contributes less to the
fitness).

Of course this overall method depends on cases where you can easily
define a set of consistency checks and don’t need to define the
expected results by hand, or where failure will trigger “easily spotted
abnormal behavior” (such as throwing exceptions all over the place).

in that case it might be good to just run on random
‘genomes’. and halt on failure, or run all night and
record all failures. a single failure would probably
give you plenty to go on, w/o being further evolved.

I’ve done that, more or less, in a couple of cases. But a random search
isn’t very satisfying :wink: In fact for a recent toy project I was playing
with to test some ideas, I ran a random generator for days without
triggering a specific corner case.

Vidar

about the slides, did i understand right? theo did simon give them to
you or do you need me to send them?