dwdyer edited this page Sep 13, 2010 · 3 revisions

The following libraries are required by various parts of the Watchmaker Framework. This page describes the nature of the dependencies and explains if and when these JAR files can be excluded from programs that use Watchmaker.

Uncommons Maths

The Uncommons Maths project started life as a module in the Watchmaker project. It was moved to a separate project because it is useful beyond the world of evolutionary computation. Uncommons Maths provides fast, reliable random number generators, utilities for working with non-uniform probability distributions, and classes for combinatorics. It remains an important component of the Watchmaker Framework. The Watchmaker Framework will not work at all if the Uncommons Maths JAR file is absent.

Google Collections

Google Collections is currently only used in the implementation of the CachingFitnessEvaluator. Therefore, if you don’t use this class in your programs you can probably safely omit the Google Collections JAR file.

JFreeChart (and JCommon)

JFreeChart is a dependency of the Watchmaker Swing module rather than the core framework. If your program does not use Swing it does not need JFreeChart (or JCommon). In fact, JFreeChart is only used by the EvolutionMonitor component. So if your program uses the Swing module but does not use the EvolutionMonitor, JFreeChart and JCommon can be safely omitted.