Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / September 2006

Tip: Looking for answers? Try searching our database.

[ANN] Watchmaker Framework for Evolutionary Algorithms version 0.1 (first public release)

Thread view: 
Daniel Dyer - 25 Sep 2006 21:02 GMT
Version 0.1 of the Watchmaker Framework for Evolutionary Algorithms is  
available for download from the project page  
(https://watchmaker.dev.java.net/).  The framework requires Java 5.0 and a  
familiarity with generics.

I have also uploaded the first draft of the first two parts of a tutorial  
on how to use the framework to implement evolutionary algorithms in Java:

    Part 1 - https://watchmaker.dev.java.net/tutorial1.html
    Part 2 - https://watchmaker.dev.java.net/tutorial2.html

This all still very much work-in-progress, but feel free to download and  
play, and to make comments and suggestions for improvements to both the  
software and tutorial.

Dan.

Signature

Daniel Dyer
http://www.uncommons.org

Oliver Wong - 25 Sep 2006 21:54 GMT
> Version 0.1 of the Watchmaker Framework for Evolutionary Algorithms is
> available for download from the project page
[quoted text clipped - 10 lines]
> play, and to make comments and suggestions for improvements to both the
> software and tutorial.

   How about a candidate factory which generates a random XML document
which complies to a provided XSD? Or a subset might be handy (e.g. include
elements, and perhaps attributes, but no CDATA, processor instructions,
comments, etc.) Basically, something to generate a tree from a well defined
grammar (XML's the simplest implementation of this that came to mind).

   - Oliver
Daniel Dyer - 25 Sep 2006 22:02 GMT
>> This all still very much work-in-progress, but feel free to download  
>> and play, and to make comments and suggestions for improvements to both  
[quoted text clipped - 6 lines]
> from a well defined grammar (XML's the simplest implementation of this  
> that came to mind).

It's a possibility.  What kind of problems do you envisage applying this  
to?

There's tree-based stuff in genetic programming, which I haven't really  
given much thought to yet, though I'd like to incorporate it at some  
point.  I guess your suggestion would fit in quite nicely with this.

Dan.

Signature

Daniel Dyer
http://www.uncommons.org

Oliver Wong - 25 Sep 2006 22:20 GMT
>>> This all still very much work-in-progress, but feel free to download
>>> and play, and to make comments and suggestions for improvements to both
[quoted text clipped - 9 lines]
> It's a possibility.  What kind of problems do you envisage applying this
> to?

   Generating random programs/algorithms to solve a given problem.
Honestly, though, I haven't put much thought into this, so I'm not sure how
feasible it would be. If I had to undertake this task, I'd probably try to
generate code for a functional language with zero side effects (so variable
assignments don't exist, and so variables don't exist, and so I don't have
to worry about checking that a variable is declared before it's used, for
example).

   An easy mutation scheme would be to select a random point in the tree,
discard everything below it, and generate a new subtree branch. The problem
with that is that the degree of "mutancy" depends on how high up in the tree
the random point is chosen, and depending on the grammar, there may be zero
randomness involved in selecting the children below a certain point. I'm not
sure how one would implement cross-over with trees, however. Did you
implement cross-over for permutations, and if so, how did you do it?

   - Oliver
Daniel Dyer - 25 Sep 2006 22:48 GMT
>>>     How about a candidate factory which generates a random XML  
>>> document which complies to a provided XSD? Or a subset might be handy  
[quoted text clipped - 13 lines]
> so I don't have to worry about checking that a variable is declared  
> before it's used, for example).

The functional idea is one that had occurred to me too, though I haven't  
really considered it beyond "hey, maybe I could evolve Haskell  
programs...".  http://www.genetic-programming.org/ has a lot of detail  
about evolving programs.

>     An easy mutation scheme would be to select a random point in the  
> tree, discard everything below it, and generate a new subtree branch.  
[quoted text clipped - 4 lines]
> with trees, however. Did you implement cross-over for permutations, and  
> if so, how did you do it?

When implementing an EA for the travelling salesman problem, I used only  
mutation for the permutations.  However, ordered cross-over operations are  
possible (see http://www.permutationcity.co.uk/projects/mutants/tsp.html 
for an example).

Dan.

Signature

Daniel Dyer
http://www.uncommons.org



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.