Grokbase Groups Perl ai May 2002
FAQ
Hi,
I would like to announce the release of version 0.4 of OPEAL, the Perl
evolutionary algorithm library.

This release includes more kind of individuals, notable GPIndi, a
tree-like data structure for genetic programming (which uses DAG::Node),
more genetic operators (CX, InverOver), more algorithms (Simulated
Annealing), more termination conditions (generational, delta), more
selection strategies (RouletteWheel), and, generally, more of everything.

Check the new stuff at http://opeal.sourceforge.net , or download it thru
the CVS server ot a bundle from http://sourceforge.net/projects/opeal.

Any feedback is welcome. Thanks!

J

Search Discussions

  • Ken Williams at Jun 2, 2002 at 6:45 am
    Hi Juan,

    Looks like a good project. I do have a few comments on it:

    1) You should get it on CPAN immediately. I tend not to trust
    code that's not on CPAN, in a number of different ways
    (seriousness of the project, capabilities of the author, etc.).

    2) Some of the package names are not very friendly - you need a
    top-level package name (you suggest AI::EA but don't seem to use
    it anywhere), and names like "IndiBase" and "StringIndi" don't
    really speak to me. More useful would be names like
    AI::EA::Individual and AI::EA::Individual::String.

    3) The formatting of code on pages like
    http://opeal.sourceforge.net/XML.html isn't working right.

    If this module were to solidify very soon into something that
    people could use in any stable way (stable packages and
    interfaces), I'd probably like to include it in the tutorial I'm
    giving at this year's Perl Conference:

    http://conferences.oreillynet.com/cs/os2002/view/e_sess/2774

    On Wednesday, May 29, 2002, at 09:03 PM, Juan J. Merelo wrote:

    Hi,
    I would like to announce the release of version 0.4 of
    OPEAL, the Perl evolutionary algorithm library.

    This release includes more kind of individuals, notable
    GPIndi, a tree-like data structure for genetic programming
    (which uses DAG::Node), more genetic operators (CX, InverOver),
    more algorithms (Simulated Annealing), more termination
    conditions (generational, delta), more selection strategies
    (RouletteWheel), and, generally, more of everything.

    Check the new stuff at http://opeal.sourceforge.net , or
    download it thru the CVS server ot a bundle from
    http://sourceforge.net/projects/opeal.

    Any feedback is welcome. Thanks!

    J
    -- PPSN2002 => http://ppsn2002.ugr.es
    Home => http://geneura.ugr.es/~jmerelo
    Tutorial Perl => http://granavenida.com/perl
    -Ken
  • Gidon at Jun 4, 2002 at 7:05 pm
    or rather from a programmer's perspective it tries to find a set of
    parameters for a function such that that function equals a particular
    value.


    I hope to add this to CPAN if you guys think it's worthwhile.

    What I need to figure out is what to call it and where to put it.

    I think it is AI because to me search is AI. But then again search is
    search. But search against all odds a space that is unknown might be more
    AI than searching a list.

    Here is a link. I've never loaded any modules to CPAN so bare with me :)

    Here is the code:

    http://www.gidon.com/scratch/goal_seeker.pm.txt

    Looking forward to any and all comments.

    Hope you like it,
    Gidon
  • Gidon at Jun 4, 2002 at 10:33 pm
    I changed the module into a state space search module.

    It does the same thing and it is now more general so it does
    more.

    http://www.gidon.com/scratch/state_space_search.pm.txt


    Thanks for the feedback. With your help I realized that what I was really
    doing was a state space search. And so with that in mind I have improved
    the module a bit.

    I will submit it to CPAN AI shortly.

    Thanks for the feed back!

    Gidon
  • Ala Qumsieh at Jun 4, 2002 at 7:21 pm

    Gidon writes:
    or rather from a programmer's perspective it tries to find a set of
    parameters for a function such that that function equals a particular
    value.
    Sounds like a minimization algorithm.
    I hope to add this to CPAN if you guys think it's worthwhile.
    I looked through the code very quickly, but couldn't follow the logic. As
    far as I can tell, you seem to be getting progressively closer to your goal
    by cutting your search domain by half. If I understood this correctly, it
    will only work on non-decreasing functions. But, I could be wrong.

    Are you implementing a well-known algorithm? Also, in your opinion, what
    would this module offer more than standard minimization techniques?
    What I need to figure out is what to call it and where to put it.

    I think it is AI because to me search is AI. But then again search is
    search. But search against all odds a space that is unknown
    might be more
    AI than searching a list.
    Definitely not AI. There is nothing that I see here really related to AI. I
    would suggest the Math:: hierarchy.

    --Ala
  • Gidon at Jun 4, 2002 at 8:22 pm
    The algorithm:

    Find x such that f(x) == 10

    set x to 0
    While f(x) is approximately 10
    try x a bit higher
    try x bit lower
    which ever is closer use


    the concept of a bit higher and lower is by default
    trying to jump into the middle of domain, but you
    can also provide function that uses a different method.

    when there are multiple variables it simply takes turns
    adjusting them.


    I looked into "minimisation" and that seems to be a generic
    term for finding a solution to x such that f(x) == what you want it to
    equal. So I guess that's what I'm doing.

    I guess this is probably the most generic version of the algorithm
    but I didn't get it out of a text book. I just needed to inverse a
    function and realized that this would work...
    On Tue, 4 Jun 2002, Ala Qumsieh wrote:


    Gidon writes:
    or rather from a programmer's perspective it tries to find a set of
    parameters for a function such that that function equals a particular
    value.
    Sounds like a minimization algorithm.
    I hope to add this to CPAN if you guys think it's worthwhile.
    I looked through the code very quickly, but couldn't follow the logic. As
    far as I can tell, you seem to be getting progressively closer to your goal
    by cutting your search domain by half. If I understood this correctly, it
    will only work on non-decreasing functions. But, I could be wrong.

    Are you implementing a well-known algorithm? Also, in your opinion, what
    would this module offer more than standard minimization techniques?
    What I need to figure out is what to call it and where to put it.

    I think it is AI because to me search is AI. But then again search is
    search. But search against all odds a space that is unknown
    might be more
    AI than searching a list.
    Definitely not AI. There is nothing that I see here really related to AI. I
    would suggest the Math:: hierarchy.

    --Ala

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupai @
categoriesperl
postedMay 29, '02 at 11:22a
activeJun 4, '02 at 10:33p
posts6
users4
websiteperl.org

People

Translate

site design / logo © 2021 Grokbase