Hi Peter,
On Tue, Nov 16, 2010 at 12:13 PM, Peter Zwart
Good point, so I tested it (quickly)
The current implementation needs 748 to minimize a 6D rosenbrock function.
If I update the code to make a temporary population and do not do an 'in place operation', things do not converge under the same settings.
The in place operation of solution vector updates is as far as I understand in line with the pseudo code found here:
http://en.wikipedia.org/wiki/Differential_evolution
I could have made a mistake of course and if you can show me a code modification that improves convergence, I'm happy to update the code.
I don't have neither the knowledge nor the setup to do that. All I can say is that not only the speed of the convergence is important, but also the quality. I think the probability of mis-convergence is higher with the wikipedia algorithm. This is since when member N is updated it could get "genes" from member N+s, and because it is updated immediately, when member N+s is updated it could get its own "genes" back from member N ( I know it is not exactly that simple and it is mostly an idea since the "genes" go trough mutation). The symmetry of the algorithm is also broken a bit. I have also changed the end conditions in my code, I think you have a comparison of O(eps) and O(eps*eps) (or similar) as a conversion criteria. HTH , Nikolay
HTH
Peter
On 16 November 2010 08:24, Nikolay Mladenov
wrote: The implementation of the algorithm seems wrong. As I understand it, the new generation has to be generated based on the old one, at which point every member of the old generation is replaced or not by its child. In the cctbx implementation every member is replaces as soon as it gives birth to a better child. I am not sure what the implications are but it probably reduces the gene pool.
Nikolay. _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- ----------------------------------------------------------------- P.H. Zwart Research Scientist Berkeley Center for Structural Biology Lawrence Berkeley National Laboratories 1 Cyclotron Road, Berkeley, CA-94703, USA Cell: 510 289 9246 BCSB: http://bcsb.als.lbl.gov PHENIX: http://www.phenix-online.org SASTBX: http://sastbx.als.lbl.gov ----------------------------------------------------------------- _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb