The Watchmaker Framework for Evolutionary Computation (evolutionary/genetic algorithms for Java)

Web Name: The Watchmaker Framework for Evolutionary Computation (evolutionary/genetic algorithms for Java)

WebSite: http://watchmaker.uncommons.org

ID:68404

Keywords:

for,Evolutionary,Framework,evolution,evolutionary,genetic,computation,algorithms

Description:

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. Example Programs The Travelling Salesman An evolutionary program that finds quick solutions to a difficult routing problem. Biomorphs A program that evolves insect-like creatures via user-guided selection. Sudoku A program that visualises the progress of an evolutionary algorithm that solves Sudoku puzzles. Mona Lisa Evolution vs. the Mona Lisa. Reducing a work of art to a maximum of 50 translucent polygons. An Introduction to Genetic Algorithms Melanie Mitchell The definitive introducton to genetic algorithms. An engaging book with a wealth of references. Introduction to Evolutionary Computing A.E. Eiben J.E. Smith Covers a broad range of topics including evolution strategies, evolutionary and genetic programming, and learning classifier systems. Genetic Programming: An Introduction Wolfgang Banzhaf, Peter Nordin, Robert E. Keller Frank D. Francone Tree-based, linear and graph-based genetic programming. The Blind Watchmaker Richard Dawkins An accessible introduction to the theory of evolution as it applies to the natural world. Includes Dawkins' accounts of his early experiments with evolutionary computation. 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. 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. 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. If you are already familiar with evolutionary algorithms, you can download the latest version of the Watchmaker Framework and dive straight in. If you need a primer, start with chapter one of the user manual or refer to the resources listed under "Background Reading" on the right of this page. The core component of the Watchmaker Framework is the EvolutionEngine. To write an evolutionary program using the Watchmaker Framework you have to instantiate an EvolutionEngine and invoke one of its evolve or evolvePopulation methods. To create an evolution engine you will need to provide a few other objects. The only class that you will always have to write yourself is an implementation of the FitnessEvaluator interface. This is specific to the problem that you are trying to solve. You'll also need a CandidateFactory and one or more EvolutionaryOperators (i.e. mutation and/or cross-over). Depending on the type of object that you are evolving, you might find the classes you need are already included in the framework. If not, it's straightforward to write the required implementations for any type that you choose to evolve. Finally, you need to pick one of the included selection strategies and a random number generator (RNG). You could use the standard java.util.Random RNG but there are faster and more random alternatives. The Watchmaker Framework bundles the Uncommons Maths library, which includes several RNGs. The MersenneTwisterRNG is a good choice in most cases. The Watchmaker download includes source code for several example programs, including the applets that are featured on this website. This code may help in understanding how the various components are combined into working programs. The Evolution Monitor The Watchmaker Swing module includes a generic EvolutionMonitor component. This can be added to any EvolutionEngine to provide feedback on the progress of the evolution. The information displayed by the monitor includes a visual representation of the fittest candidate found so far and a graph of population fitness over time. An EvolutionMonitor is added to an EvolutionEngine via the addEvolutionObserver method. To see the evolution monitor in action, refer to the Mona Lisa example applet. The lower half of the UI is an embedded EvolutionMonitor component.

TAGS:for Evolutionary Framework evolution evolutionary genetic computation algorithms

<<< Thank you for your visit >>>

Watchmaker is an extensible, high-performance, multi-threaded, object-oriented framework for implementing platform-independent evolutionary computation (evolutionary/genetic algorithms/programming) in Java.

Websites to related :
Ancient Resource: Ancient Coins

  Welcome! My name is Gabriel Vandervort, and I began buying and selling ancient artifacts in the late 1990's, born from a lifelong passion for ancient

Gruppo HTML: editoria, adverti

  Gruppo HTML in Borsa insieme a Triboo Media Triboo Media e Gruppo HTML annunciano di aver concluso un accordo per il trasferimento del 100% del capita

Best Institute for GATE 2021 Coa

  Admissions Registration Open for GATE / IES 2021-22 (ltd.seats) . Click Here . Book your Seat NOTE:# All registered students can access Online-LIVE c

Grass and Forage Seed | PGG Wrig

  Head to our Knowledge Base for all the info you need this season, with real-time support from our experts and so much more. FORAGE OPTIONS Download t

CRM Software To Grow Your Busine

  By signing up, I agree to Nimble's Terms of Service and Privacy Policy Organize your contacts into segmented lists, take bulk actions, send group mes

Adult Dance Lessons Bloomington

  Learn to Dance At Arthur Murray Dance Studio BloomingtonDance Lessons for Singles Couples. No partner needed.Arthur Murray Bloomington instructors ar

Pijamasurf - Noticias e Informac

  Si nos rindiéramos a la inteligencia de la tierra, emergeríamos enraizados, como árboles.- Rilke

The Center for Lutheran Theology

  Commemorating the Demise of the Iron CurtainBy UWE SIEMON-NETTO For students entering college this autumn, the Berlin Wall might seem like distant his

Dynamic PDF | .NET (C#, VB.NET

  DynamicPDF Core Suite (Generator, Merger and ReportWriter) for .NET can be downloaded from NuGet or directly from our site: DynamicPDF Core Suite (Gen

Local Bicycle Trader - Used Bicy

  Bicycle Classifieds by LocalBikeTrader.com, part of the EquineNow.com, LLC group of websites.

ads

Hot Websites