Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • BackTrack 5 R2
  • Wine 1.4 / 1.5.5
  • Mozilla Firefox 12...
  • Ubuntu 11.04
  • Angry Birds 1.1.2.1
  • Ubuntu 10.04.4 LTS
  • Linux Kernel 3.4
  • Ubuntu Manual 10.10
  • Adobe Flash Player...
  • Pidgin 2.10.4
  • Home > Linux > Science and Engineering > Artificial Intelligence

    Watchmaker 0.7.0

    Download button

    No screenshots available
    Downloads: 612  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Good (3.2/5)
    15 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Daniel W. Dyer | More programs
    The Apache License 2.0 / FREE
    December 15th, 2009, 15:27 GMT [view history]
    ROOT / Science and Engineering / Artificial Intelligence

     Read user reviews (0)  Refer to a friend  Subscribe

    Watchmaker description

    An object-oriented framework

    Watchmaker is an extensible, high-performance, object-oriented framework for implementing platform-independent evolutionary algorithms (EAs) in Java. The framework provides type-safe, non-invasive evolution for arbitrary representations.

    Here are some key features of "Watchmaker":

    - Multi-Threaded Evolution Engine - Takes advantage of parallelism to improve performance on multi-core and multi-processor machines.
    - Ultra-Fast Random Number Generators - The Uncommons Maths library provides the high-quality, high-performance random number generators (RNGs) used by the Watchmaker Framework. Other third-party RNGs can also be used if required.
    - Non-Invasive - Objects of any type can be evolved without the evolvable class having to implement a particular interface or extend from a common base class. This means that there are no restrictions on the implementation of the evolvable type and no dependencies on any framework classes. The evolvable type is completely decoupled.
    - Pluggable Selection Strategies - Roulette Wheel Selection, Tournament Selection, Rank Selection, Truncation Selection and Stochastic Universal Sampling are all provided. Alternatively, you can implement your own selection strategy quickly and easily.
    - Flexible Evolution Schemes - The evolution process can be as simple or as complicated as you like. A single step or several operators combined in sequence and/or with branching. Use the provided operators, implement your own, or use a combination of both.
    - Re-usable Operators for Common Types - Cross-over and mutation implementations for several data types including strings, arrays and lists.
    - Interactive Evolutionary Algorithms - Support for user-guided selection makes the framework suitable for applictions in which defining an adequate fitness function is difficult, such as evolutionary art and evolutionary music.

    A working knowledge of Java 5 or later is assumed (including a basic understanding of generics). Using the framework, simple evolutionary algorithms can be developed by implementing just a few methods.

    Please feel free to suggest new features and enhancements.


    Product's homepage

    What's New in This Release: [ read full changelog ]

    · Fix for thread leak in ConcurrentEvolutionEngine (ISSUE#16). Added a finalizer to shutdown the thread pool in FitnessEvaluationWorker so that the active threads do not inhibit garbage collection.
    · Made the FitnessEvaluationWorker in ConcurrentEvolutionEngine static so that it can be shared by all instances avoiding the unnecessary creation of new thread pools (ISSUE#16).
    · Made fitness evaluation threads daemons again (as in 0.6.0). Only standalone (i.e. Terracotta) FitnessEvaluationWorkers now use non-daemon threads. This fixes the problem of the JVM not exiting when the program is finished (ISSUE#17).
    · Better thread naming for fitness evaluation worker threads.

      


    TAGS:

    Evolution Engine | evolutionary algorithms | development framework | Evolution | Java | algorithms



    HTML code for linking to this page:


    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM