|
From: Andries E. <en...@cs...> - 2009-06-10 06:47:56
|
Thanks Theuns. We need to discuss the patch at the next CIlib meeting, unless Gary feels that all is fine, and can immediately apply. Theuns Cloete wrote: > Hi all, > > This is the fourth iteration of my set of patches after a rebase from the > latest 'master'. You can therefore safely ignore the previous set of patches > that I sent to the mailing list. I would appreciate it if we could apply these > patches as soon as possible, because each time there is some change to master, > I have to rebase and sort out a lot of conflicts which takes a considerable > amount of time. During every rebase it is becoming more difficult to remember > all the changes that have already been merged and those that still needs to be > merged. Feel free to comment and send patches. I think it is time that I put > it out there, so that other people can have a look and suggest or make > improvements. That's why we switched to Git, right? To make this type of > collaboration quicker and easier. > > The patches include the following: > > --- begin clustering branch --- > > 1. This patch includes all the changes I had in my Subversion > repository. It includes various updates that range from clustering > (mostly) to dynamic environments (less). It also included the dynamic > environments stuff that Leo sent through, but it was again merged in > a later patch. Git incorporated this into patch 7. This patch also > includes the ChargedSwarmInitialisationStrategy which deprecates the > ChargedParticleInitialisationStrategy. > > 2. Renamed a detection strategy. > > 3. Small cleanup like removing a super() etc. > > 4. Renamed a method and updated some JavaDoc. > > 5. Added trivial centroid diversification feature for KMeans. > > 6. Rebased from the "tabs to spaces" patch. I also fixed my own white space > issues. This patch also includes some dynamic environment changes. > > 7. Added centroid reinitialisation feature for KMeans, as part of > centroid initialisation strategy. > > 8. Update the kmeans.xml file to show examples of using centroid > initialisation and diversification. > > 9. Implemented methods in StatUtils to calculate a variance vector and > standard deviation vector. Made use of these methods in clustering > measurements. > > 10. Fixed merge mistakes regarding the pso.dynamic package that were made in > previous patches. > > UPDATE: After another rebase these mistakes were handled correctly in previous > patches. This patch can probably be squashed into the next patch. This patch > now only contains renames and minor changes regarding the pso.dynamic package. > > 11. Fixed some mistakes regarding the VonNeumannTopology and > CompetitiveCoevolutionParticleReevaluationResponseStrategy that crept in due > to the rebase. > > UPDATE: After another rebase, these mistakes were handled correctly in > previous patches. This patch can probably be squashed into the next patch. > > 12. Various changes that I had to commit in order to rebase. > > --- end clustering branch --- > > --- begin multi-threaded-split-coop-alg branch --- > > NOTE: Patch 13 is still experimental. I would appreciate some feedback. > > 13. Trying something new: Multi-threaded SplitCooperativeAlgorithm. The idea > is to execute each sub-algorithm in its own thread, thereby improving the > performance of the SplitCooperateAlgorithm, especially on computers with more > than one core. This works very nicely, as long as the algorithm you are using > and the problem you are optimising never uses Algorithm.get(), because the > algorithm stack is not thread safe. We need some elegant and simple way of > getting hold of either the main algorithm or the currently executing > sub-algorithm in a thread safe manner. I hope we can find a way by making use > of Guice. So try it out and let me know what you think. > > NOTE: Patch 14 still needs some work. I would appreciate some feedback. > > 14. Big changes regarding clustering as a result of patch 13. > 14.a. The Pattern class was moved to the type.types.container package as > Pattern<S extends Vector> and it is now a ForwardingStructuredType<S>. > 14.b. The Cluster<Vector> class was introduced which is a Set<Pattern<Vector>>, > i.e. also a Type. > 14.c. The multi-threaded behaviour of patch 13 caused the entire > ClusteringUtils class to break, because it was not thread safe, because it > contained state. The ClusteringUtils class was therefore trimmed down and does > not contain state anymore. It also makes use of the changes mentioned in 14.a > to 14.b. > 14.d. Everything else that depend on the clustering code was updated. > > --- end multi-threaded-split-coop-alg branch --- > > Look at the commit messages and content of each patch to get a better idea of > what each patch contains. > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables unlimited > royalty-free distribution of the report engine for externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > _______________________________________________ > cilib-devel mailing list > cil...@li... > https://lists.sourceforge.net/lists/listinfo/cilib-devel > -- ========================================================== Prof Andries P Engelbrecht South African Research Chair in Artificial Intelligence Fundamentals of Computational Swarm Intelligence, John Wiley & Sons, December 2005. Computational Intelligence, An Introduction John Wiley & Sons, Second edition to be published soon Computational Intelligence Research Group: http://cirg.cs.up.ac.za Department of Computer Science School of Information Technology University of Pretoria Pretoria 0002, South Africa Tel: +27 12 420 3578 Fax: +27 12 362 5188 http://www.cs.up.ac.za/~engel ================================================ This message and attachments are subject to a disclaimer. Please refer to www.it.up.ac.za/documentation/governance/disclaimer/ for full details. / Hierdie boodskap en aanhangsels is aan 'n vrywaringsklousule onderhewig. Volledige besonderhede is by www.it.up.ac.za/documentation/governance/disclaimer/ beskikbaar. |