[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMP-dev] sampler vs. optimizer



On May 18, 2012, at 3:28 PM, Riccardo Pellarin wrote:

> Daniel, this classification is still confusing.
> In general, a sampler is a conformation generation scheme that follows a
> probability distribution: uniform (as in the example given by Daniel),
> Boltzmann (constant temperature MD or BD, as well as Monte Carlo with
> set_return_best(False)) or posterior probability (such as the Gibbs
> sampling in ISD).
> 
> An optimizer instead only aims at lowest energies (Conjugated
> Gradient, Steepest Descent... Monte Carlo with set_return_best(True))
Just to stir the pot a bit, isn't that just another distribution (that of the lowest energy state seen in k MC steps starting from X)? And a very nice one in that we have a simple and guaranteed way of sampling from it in an unbiased manner (unlike the Boltzman distribution on our scores where we never can be quite sure we are unbiased) :-)


> 
> On Fri, May 18, 2012 at 2:13 PM, Daniel Russel <> wrote:
>> An optimizer attempts to improve the current configuration of the Model by
>> modifying optimized particle attributes so as to lower the score (there are
>> some exceptions such as Brownian Dynamics when in equilibrium, but those
>> are, I think, self-explanatory). The primary effect is to change particle
>> attributes.
>> 
>> A Sampler in contrast tries to produce a number of good configurations of
>> the Model, often completely ignoring the Model's starting configuration (by
>> randomizing particles, for example). It returns ConfigurationSet that allows
>> you to load a configuration into the Model and then view it, save it or
>> score it. The final state of the particles after using a Sampler is
>> undefined.
>> 
>> Each of Optimizer and Sampler can be given a ScoringFunction that will then
>> be used when evaluating and optimizing. By default it is
>> Model::create_scoring_function(), but one created with any other set of
>> restraints (a ScoringFunction will be created on the fly from a list of
>> restraints if you pass one instead).
>> 
>> 
>> On Fri, May 18, 2012 at 1:22 PM, Dina Schneidman <> wrote:
>>> 
>>> Hi,
>>> 
>>> I am trying to figure out the difference between sampler and optimizer.
>>> When each one should be used/developed? What is the relationship between
>>> them?
>>> How each one works with restraints and scoring functions?
>>> 
>>> Dina
>>> _______________________________________________
>>> IMP-dev mailing list
>>> 
>>> https://salilab.org/mailman/listinfo/imp-dev
>> 
>> 
>> 
>> _______________________________________________
>> IMP-dev mailing list
>> 
>> https://salilab.org/mailman/listinfo/imp-dev
>> 
> _______________________________________________
> IMP-dev mailing list
> 
> https://salilab.org/mailman/listinfo/imp-dev