_______________________________________________________________________________

  The Watchmaker Framework for Evolutionary Computation - Version 0.7.0
   (http://watchmaker.uncommons.org)
  Copyright 2006-2009 Daniel W. Dyer (http://www.dandyer.co.uk)
_______________________________________________________________________________

Acknowledgements:
-----------------
The Swing GUI library of the Watchmaker Framework depends on David Gilbert's
JFreeChart library (http://www.jfree.org/jfreechart/).  JFreeChart and the
JCommon library are licensed under the terms of the GNU Lesser General Public
License (a copy of this licence can be found in the jfreechart-LICENCE.txt file
included with this distribution).

The Watchmaker Framework depends on the Google Collections library
(http://code.google.com/p/google-collections/), which itself is released under
the same licence as the Watchmaker Framework (the Apache Licence Version 2.0).

The Watchmaker Framework depends heavily on the Uncommons Maths library.
Uncommons Maths is also licensed under the terms of the Apache Licence Version
2.0.  The NOTICE.txt file from the Uncommons Maths distribution is reproduced
below.

_______________________________________________________________________________

  Uncommons Maths (http://maths.uncommons.org)
  Copyright 2006-2009 Daniel W. Dyer (http://www.dandyer.co.uk)
_______________________________________________________________________________

Acknowledgements:
-----------------
This software includes a Java port of the cellular automaton pseudorandom
number generator developed by Tony Pasqualoni
(http://home.southernct.edu/~pasqualonia1/ca/report.html).

This software includes a Java port of the Mersenne Twister pseudorandom
number generator developed by Makoto Matsumoto and Takuji Nishimura
(http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html).

This software also includes modified versions of the PermutationGenerator and
CombinationGenerator Java classes written by Michael Gilleland
(http://www.mgilleland.com/).
