There has been some interest is supporting more efficient evaluation of the score after a small number of particles have changed. There are a number of different ways of supporting this.
There are a number of challenges which have to be met by such a new scoring scheme - we don't want to have to change existing restraints to make them correct - the derivatives of particles which did not change themselves might change - we don't want to make regular evaluation less efficient - somehow have to handle combinatorial changes (such as the set of nearby particles changing)
One solution would be to - each particle stores copies of all its attributes when it is modified for the first time each optimization step - a restraint can ask a particle to swap in its old values, evaluate with those, then restored the new values and evaluate with those to get the difference. This swapping of values could be made very efficient - the nonbonded list would need to add all pairs that were just removed back to the non-bonded list to make sure that they are properly subtracted off - all the dirty bits are cleared after evaluation finishes - existing restraints are all correct, they just are not necessarily as efficient as possible.
Who would find fast incremental evaluations useful? What are expected scenarios? Import parts of the scenario are how many particles would change each step and what sort of restraints would be used.
On 08/03/2009 02:49 PM, Daniel Russel wrote: > Who would find fast incremental evaluations useful? What are expected > scenarios? Import parts of the scenario are how many particles would > change each step and what sort of restraints would be used.
The classic use case is atomic-scale Monte Carlo - for example, in a protein containing N atoms, stereochemical restraints (e.g. bonds) and nonbonded restraints (e.g. electrostatics, van der Waals). With the simplest MC move set of "pick a single atom and displace it by a random amount" in order to get comparable sampling to M steps of dynamics you'd need M*N steps of MC. Obviously this is only computationally feasible if each score calculation for the MC simulation takes roughly 1/N times as long as the score for dynamics.
Ben
Daniel -
this can be incredibly useful for the FitRestraint. One of the most time consuming steps of the FitRestraint is the map resampling. Using such a mechanism we can do resampling much more efficiently by subtracting and adding contributions from updated particles. Of course, as we have discussed hierarchies, rigid bodies and pair lists should be carefully considered as special cases.
cool !!!! Keren. On Aug 3, 2009, at 2:49 PM, Daniel Russel wrote:
> There has been some interest is supporting more efficient evaluation > of the score after a small number of particles have changed. There > are a number of different ways of supporting this. > > There are a number of challenges which have to be met by such a new > scoring scheme > - we don't want to have to change existing restraints to make them > correct > - the derivatives of particles which did not change themselves might > change > - we don't want to make regular evaluation less efficient > - somehow have to handle combinatorial changes (such as the set of > nearby particles changing) > > > One solution would be to > - each particle stores copies of all its attributes when it is > modified for the first time each optimization step > - a restraint can ask a particle to swap in its old values, evaluate > with those, then restored the new values and evaluate with those to > get the difference. This swapping of values could be made very > efficient > - the nonbonded list would need to add all pairs that were just > removed back to the non-bonded list to make sure that they are > properly subtracted off > - all the dirty bits are cleared after evaluation finishes > - existing restraints are all correct, they just are not necessarily > as efficient as possible. > > Who would find fast incremental evaluations useful? What are > expected scenarios? Import parts of the scenario are how many > particles would change each step and what sort of restraints would > be used. > _______________________________________________ > IMP-dev mailing list > IMP-dev@salilab.org > https://salilab.org/mailman/listinfo/imp-dev
participants (3)
-
Ben Webb
-
Daniel Russel
-
Keren Lasker