What is it all about?
The Watchmaker Framework is an extensible, high-performance, object-oriented framework for implementing platform-independent evolutionary/genetic algorithms in Java. The framework provides type-safe evolution for arbitrary types via a non-invasive API. The Watchmaker Framework is Open Source software, free to download and use subject to the terms of the Apache Software Licence, Version 2.0.
Key Features
• Multi-Threaded Evolution Engine - Takes advantage of parallelism to improve performance on multi-core and multi-processor machines. • 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 and several other selection strategies are 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 - Ready-to-use cross-over and mutation implementations are provided for several data types including bit strings, character strings, arrays and lists. • Island Model Evolution (new in version 0.7.0) - Evolve multiple populations in parallel with periodic migration of individuals between islands. • Steady-State Evolution (new in version 0.7.0) - Evolve one member of the population at a time. • Evolution Strategies (new in version 0.7.1) - Support for both (μ+λ) and (μ,λ) evolution strategies. • 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. • Distributed Processing - Support for distributed fitness evaluations using either Hadoop (via the Apache Mahout project) or Terracotta. • Swing Component Library - Re-usable components to simplify the building of graphical user interfaces for evolutionary programs. Includes a generic Evolution Monitor component that provides information about a running evolutionary program.
Compare Products
Select up to three two products to compare by clicking on the compare icon () of each product.
{{compareToolModel.Error}}