Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Arak::AnnealedMarkovChain< MarkovChainTraits > Class Template Reference

#include <mcmc.hpp>

Inheritance diagram for Arak::AnnealedMarkovChain< MarkovChainTraits >:

Inheritance graph
[legend]
Collaboration diagram for Arak::AnnealedMarkovChain< MarkovChainTraits >:

Collaboration graph
[legend]
List of all members.

Detailed Description

template<class MarkovChainTraits>
class Arak::AnnealedMarkovChain< MarkovChainTraits >

An annealed Metropolis-Hastings Markov chain.

Definition at line 211 of file mcmc.hpp.

Public Types

typedef MarkovChain< MarkovChainTraits
>::StateType 
StateType
typedef MarkovChain< MarkovChainTraits
>::DistributionType 
DistributionType
typedef MarkovChain< MarkovChainTraits
>::ProposalType 
ProposalType
typedef MarkovChain< MarkovChainTraits
>::MoveType 
MoveType

Public Member Functions

 AnnealedMarkovChain (DistributionType &dist, ProposalType &proposal, StateType &state, const Arak::Util::PropertyMap &props, Arak::Util::Random &random=Arak::Util::default_random)
 Default constructor.

virtual bool advance ()
 Advances the annealed Markov chain using a Metropolis-Hastings step.


Protected Attributes

unsigned long int duration
 The length of the annealing schedule.

double cold
 The minimum (and final) temperature of the annealing schedule.

double beta1
 A parameter of the annealing schedule.

double beta2
 A parameter of the annealing schedule.

double theta
 A parameter of the annealing schedule.


Member Typedef Documentation

template<class MarkovChainTraits>
typedef MarkovChain<MarkovChainTraits>::DistributionType Arak::AnnealedMarkovChain< MarkovChainTraits >::DistributionType
 

Reimplemented from Arak::MarkovChain< MarkovChainTraits >.

Definition at line 216 of file mcmc.hpp.

template<class MarkovChainTraits>
typedef MarkovChain<MarkovChainTraits>::MoveType Arak::AnnealedMarkovChain< MarkovChainTraits >::MoveType
 

Reimplemented from Arak::MarkovChain< MarkovChainTraits >.

Definition at line 218 of file mcmc.hpp.

template<class MarkovChainTraits>
typedef MarkovChain<MarkovChainTraits>::ProposalType Arak::AnnealedMarkovChain< MarkovChainTraits >::ProposalType
 

Reimplemented from Arak::MarkovChain< MarkovChainTraits >.

Definition at line 217 of file mcmc.hpp.

template<class MarkovChainTraits>
typedef MarkovChain<MarkovChainTraits>::StateType Arak::AnnealedMarkovChain< MarkovChainTraits >::StateType
 

Reimplemented from Arak::MarkovChain< MarkovChainTraits >.

Definition at line 215 of file mcmc.hpp.


Constructor & Destructor Documentation

template<class MarkovChainTraits>
Arak::AnnealedMarkovChain< MarkovChainTraits >::AnnealedMarkovChain DistributionType dist,
ProposalType proposal,
StateType state,
const Arak::Util::PropertyMap props,
Arak::Util::Random random = Arak::Util::default_random
[inline]
 

Default constructor.

Given a stationary distribution, a proposal distribution, and an initial state, this builds a new annealed Markov chain. If tempMax, tempMin, and duration are supplied, then they define an annealing schedule in which the Arak process potential is scaled by the inverse temperature $1/T$, which is updated according to the schedule $T = \beta_1 + \beta_2/t^\theta$ where $t$ is the iteration number. The parameters $\beta_1$, $\beta_2$, and $\theta$ are computed using the maximum (initial) temperature, minimum temperature, and the number of steps that it will take to reach the minimum temperature.

Parameters:
dist the distribution to be sampled
proposal the proposal distribution of the Markov chain
state the initial state of the Markov chain
props a property map containing properties relevant to the Markov chain
random a source of pseudorandomness

Definition at line 287 of file mcmc.hpp.

References Arak::AnnealedMarkovChain< MarkovChainTraits >::beta1, Arak::AnnealedMarkovChain< MarkovChainTraits >::beta2, Arak::AnnealedMarkovChain< MarkovChainTraits >::cold, Arak::AnnealedMarkovChain< MarkovChainTraits >::duration, Arak::ln(), Arak::Util::PropertyMap, and Arak::AnnealedMarkovChain< MarkovChainTraits >::theta.


Member Function Documentation

template<class MarkovChainTraits>
virtual bool Arak::AnnealedMarkovChain< MarkovChainTraits >::advance  )  [inline, virtual]
 

Advances the annealed Markov chain using a Metropolis-Hastings step.

This method returns truth if the proposed move was accepted.

Returns:
true if the state of the chain changed

Reimplemented from Arak::MarkovChain< MarkovChainTraits >.

Definition at line 326 of file mcmc.hpp.

References Arak::AnnealedMarkovChain< MarkovChainTraits >::beta1, Arak::AnnealedMarkovChain< MarkovChainTraits >::beta2, Arak::AnnealedMarkovChain< MarkovChainTraits >::cold, Arak::AnnealedMarkovChain< MarkovChainTraits >::duration, Arak::AnnealedMarkovChain< MarkovChainTraits >::theta, and Arak::Util::Random::uniform().


Member Data Documentation

template<class MarkovChainTraits>
double Arak::AnnealedMarkovChain< MarkovChainTraits >::beta1 [protected]
 

A parameter of the annealing schedule.

The Arak process potential is scaled by the inverse temperature $1/T$, where $T = \beta_1 + \beta_2/t^\theta$ where $t$ is the iteration number.

See also:
beta2

theta

Definition at line 241 of file mcmc.hpp.

Referenced by Arak::AnnealedMarkovChain< MarkovChainTraits >::advance(), and Arak::AnnealedMarkovChain< MarkovChainTraits >::AnnealedMarkovChain().

template<class MarkovChainTraits>
double Arak::AnnealedMarkovChain< MarkovChainTraits >::beta2 [protected]
 

A parameter of the annealing schedule.

The Arak process potential is scaled by the inverse temperature $1/T$, where $T = \beta_1 + \beta_2/t^\theta$ where $t$ is the iteration number.

See also:
beta2

theta

Definition at line 252 of file mcmc.hpp.

Referenced by Arak::AnnealedMarkovChain< MarkovChainTraits >::advance(), and Arak::AnnealedMarkovChain< MarkovChainTraits >::AnnealedMarkovChain().

template<class MarkovChainTraits>
double Arak::AnnealedMarkovChain< MarkovChainTraits >::cold [protected]
 

The minimum (and final) temperature of the annealing schedule.

Definition at line 230 of file mcmc.hpp.

Referenced by Arak::AnnealedMarkovChain< MarkovChainTraits >::advance(), and Arak::AnnealedMarkovChain< MarkovChainTraits >::AnnealedMarkovChain().

template<class MarkovChainTraits>
unsigned long int Arak::AnnealedMarkovChain< MarkovChainTraits >::duration [protected]
 

The length of the annealing schedule.

Definition at line 225 of file mcmc.hpp.

Referenced by Arak::AnnealedMarkovChain< MarkovChainTraits >::advance(), and Arak::AnnealedMarkovChain< MarkovChainTraits >::AnnealedMarkovChain().

template<class MarkovChainTraits>
double Arak::AnnealedMarkovChain< MarkovChainTraits >::theta [protected]
 

A parameter of the annealing schedule.

The Arak process potential is scaled by the inverse temperature $1/T$, where $T = \beta_1 + \beta_2/t^\theta$ where $t$ is the iteration number.

See also:
beta2

theta

Definition at line 263 of file mcmc.hpp.

Referenced by Arak::AnnealedMarkovChain< MarkovChainTraits >::advance(), and Arak::AnnealedMarkovChain< MarkovChainTraits >::AnnealedMarkovChain().


The documentation for this class was generated from the following file:
Generated on Wed May 25 14:41:23 2005 for Arak by doxygen 1.3.6