r548@minifireslug:  gpampara | 2007-07-03 14:45:53 +0200
 Large refactoring of the Entity hierarchy and the Type system.

 This should be fine. Initial commit of these changes will ammend if anything
 comes up.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@472 6919081d-ccfc-0310-b8b8-fc61df93b961
 r509@pavilion:  heatzync | 2007-07-04 14:45:31 +0200
 Added myself as a developer to the pom.xml file. Noted all the changes in the src/changes/changes.xml file; see this file for more detail.
 Some of the changes here are due to changes that Gary made in the previous update. We kind of made the same "small changes" to the type package. Gary made bigger changes. I made more minor changes.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@473 6919081d-ccfc-0310-b8b8-fc61df93b961
 r511@pavilion:  heatzync | 2007-07-04 14:52:01 +0200
 commons-cli isn't supposed to be a dependancy yet.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@474 6919081d-ccfc-0310-b8b8-fc61df93b961
 r554@minifireslug:  gpampara | 2007-07-04 15:20:34 +0200
 Corrected some changelog messages. Reduced the length of some messages.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@475 6919081d-ccfc-0310-b8b8-fc61df93b961
 r556@minifireslug:  gpampara | 2007-07-04 15:44:14 +0200
 Refactored some of the methods to make it more OO. It now used code that has
 already proven itself to be correct.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@476 6919081d-ccfc-0310-b8b8-fc61df93b961
 r558@minifireslug:  gpampara | 2007-07-04 15:47:33 +0200
 Corrected the method use. It should be using set() letting the polymorphism
 handle the rest

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@477 6919081d-ccfc-0310-b8b8-fc61df93b961
 r560@minifireslug:  gpampara | 2007-07-04 15:51:10 +0200
 Typo... or stupidity. It's all relative :P

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@478 6919081d-ccfc-0310-b8b8-fc61df93b961
 r562@minifireslug:  gpampara | 2007-07-04 16:15:39 +0200
 Corrected some silly code changes. Thanks Theuns for pointing them out :)

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@479 6919081d-ccfc-0310-b8b8-fc61df93b961
 r521@pavilion:  heatzync | 2007-07-05 12:20:48 +0200
 Segun detected that the SchwefelProblem1_2 function was incorrectly implemented.
 At the end of the evaluate() method, sumsq was just set equal (=) to the sum square, instead of accumulating (+=) all the sum squares.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@480 6919081d-ccfc-0310-b8b8-fc61df93b961
 r523@pavilion:  heatzync | 2007-07-06 11:32:33 +0200
 Added a new fitness function (called Salomon) that Segun implemented. Mentioned it in the changes.xml file.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@481 6919081d-ccfc-0310-b8b8-fc61df93b961
 r567@minifireslug:  gpampara | 2007-07-09 13:45:19 +0200
 * Refactored the container based types to live in the types.container package.
 * Modified the AbstractParticle to include a PositionInitialisationStrategy.
   This refactor is a temporary measure for the moment. We will revise this by
   the next release.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@482 6919081d-ccfc-0310-b8b8-fc61df93b961
 r569@minifireslug:  gpampara | 2007-07-09 14:11:51 +0200
 Forgot to add the strategy files.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@483 6919081d-ccfc-0310-b8b8-fc61df93b961
 r571@minifireslug:  gpampara | 2007-07-09 17:33:03 +0200
 * Refactored (Pushed) the accept(TopologyVisitor) method up into Algorithm.
 * Implemented the accept(TopologyVisitor) on all classes that needed it.
 * Corrected some imports

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@484 6919081d-ccfc-0310-b8b8-fc61df93b961
 r572@minifireslug:  gpampara | 2007-07-10 07:01:42 +0200
 * Corrected some Javadoc with regards to the accept(TopologyVisitor) method.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@485 6919081d-ccfc-0310-b8b8-fc61df93b961
 r576@minifireslug:  gpampara | 2007-07-30 10:35:07 +0200
 Modified the Fitness objects to now be Types. Adjusted the various touch points
 to cater for this modification.

 Fitness object can now be stored within the Entity's Poperties.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@486 6919081d-ccfc-0310-b8b8-fc61df93b961
 r532@pavilion:  heatzync | 2007-07-31 08:38:46 +0200
 Cleaned up the CachedDistanceDataSetBuilder class a bit. I'm going to rename it after this anyways ;-) because this class does not ONLY cache the distances between patterns anymore. The dataset mean and dataset variance is also cached.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@487 6919081d-ccfc-0310-b8b8-fc61df93b961
 r533@pavilion:  heatzync | 2007-07-31 09:43:38 +0200
 Anna says that she fixed the MovingPeaks function and that it is now usable. I don't know anything about MovingPeaks so I'm just commiting it. Contact Anna if there are any problems.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@488 6919081d-ccfc-0310-b8b8-fc61df93b961
 r538@pavilion:  heatzync | 2007-08-01 10:51:03 +0200
 A lot of changes occured for all Fitness Functions (or Validity Indices) and DataSetBuilders that have to do with clustering. I will try to list them as clear as possible:

 1.a. The AssociatedPairDataSetBuilder now has an arrangeClusersAndCentroids method (defined in ClusterableDataSet interface) which in turn calls 3 other private methods: arrangeCentroids, arrangeClusters and removeEmptyClustersAndCentroids.
 1.b. arrangeCentroids splits the given centroids Vector up, making it easier to work with individual centroids. The individual centroids are now kept in an ArrayList<Vector> member variable called arrangedCentroids. This replaces the functionality of the (now removed) getSubCentroid method. The getArrangedCentroids method returns this member variable, but it has to be called after removeEmptyClustersAndCentroids (see 1.d).
 1.c. arrangeClusters assigns each pattern in the patterns member variable to a cluster (based on the arrangedCentroids member variable). This arrangement is stored in the ArrayList<ArrayList<Pattern>> member variable called arrangedClusters. This replaces the functionality of both the (now removed) assign method and the (previously implemented) getArrangedClusters method. The getArrangedClusters method now only returns this member variable, but it has to be called after removeEmptyClustersAndCentroids (see 1.d).
 1.d. removeEmptyClustersAndCentroids removes all empty (clusters) ArrayLists from arrangedClusters and also all Vectors (centroids) from arrangeCentroids which do not have any patterns assigned to them.
 1.e. The ClusterableDataSet interface has been changed to reflect the changes made.

 2.a. The ClusteringFitnessFunction class makes use of the changes mentioned in 1.
 2.b. The evaluate method is no longer abstract, as it performs all necessary "setup" before the new abstract calculateFitness method is called. This setup includes:
 2.b.i.   Resetting the dataset if necessary.
 2.b.ii.  Calling dataset.arrangeClustersAndCentroids
 2.b.iii. Assigning it's own (new) arrangedClusters and arrangedCentroids member variables to the ones retrieved from the dataset respectively.
 2.b.iv.  Assigning the (new) clustersFormed member variable to the size of arrangedClusters. This variable is used in almost all method in this class and sub-classes.
 2.c. As mentioned in 2.b, calculateFitness is the new abstract method which all sub-classes should implement.
 2.d. All methods have been cleaned up and double checked to make use of the correct "concepts", i.e. centroids and/or means.
 2.e. The validateFitness method will log all fitnesses that are negative as FATAL, since fitnesses should always be positive. This is automatically done via the evaluate method.

 3. All fitness functions and validity indices that extends ClusterFitnessFunctions have been cleaned up, double checked and documented with javadoc comments. The methods in AssociatedPairDataSetBuilder have also been documented with javadoc comments.

 4. The CachedDistanceDataSetBuilder has been renamed to CachingDataSetBuilder since it also caches the dataset mean and variance.

 5. The ScatterDensityIndex has been renamed to HalkidiVazirgiannisIndex.

 6. Two new Dunn Indices have been implemented: DunnIndex33 and DunnIndex53. All the Dunn Indices now extends the (new) GeneralisedDunnIndex which extends the (new) ScatterSeperationRatio class (see 8).

 7. The DaviesBouldinIndex also extends the (new) ScatterSeperationRatio class (see 8) to make use of the caching.

 8. The ScatterSeperationRatio class was created due to the fact that some validity indices make use of the cluster scatter and cluster seperation concepts. This class caches these values and defines abstract methods (calculateWithinClusterScatter and calculateBetweenClusterSeperation) which sub-classes have to implement to specify how their specific values are calculated.

 9. The MaulikBandyopadhyayIndex class is a new validity index.

 10. The VeenmanReindersBackerIndex class is a new validity index.

 11. The NumberOfClustersFormed class is a new measurement. It measures the number of clusters that are formed by the best solution of the current iteration.

 12. All unit tests have been updated or re-implemented.

 13. The changes.xml file has a summary of the above.

 Let me know if there are any problems... ;-)

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@489 6919081d-ccfc-0310-b8b8-fc61df93b961
 r540@pavilion:  heatzync | 2007-08-01 15:10:26 +0200
 Added the ability to detect when less than 2 clusters have been formed and then return the "worst" fitness possible.
 Worst is relative based on whether you are minimizing or maximizing. I still need to figure out how to determine whether this fitness function is being minimised or maximised.
 Fixed the MaulikBandyopadhyayIndex which led to some changes in ClusteringFitnessFunction and IntraClusterDistance.
 Updated / Added the unit tests for this.
 Changed XMLObjectFactory to print the stack trace of the exception, because without that it's very difficult to know exactly what is wrong in the XML.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@490 6919081d-ccfc-0310-b8b8-fc61df93b961
 r582@minifireslug:  gpampara | 2007-08-06 13:02:50 +0200
 Corrected the property and accessor method naming to comply with the JavaBeans
 spec.

git-svn-id: http://cilib.svn.sourceforge.net/svnroot/cilib/trunk@492 6919081d-ccfc-0310-b8b8-fc61df93b961