hops
BinarySearchAcceptanceRateTuner.hpp
Go to the documentation of this file.
1 #ifndef HOPS_BINARYSEARCHACCEPTANCERATETUNER_HPP
2 #define HOPS_BINARYSEARCHACCEPTANCERATETUNER_HPP
3 
5 
6 namespace hops {
7 
13  public:
14  struct param_type {
17  mutable double lowerLimitStepSize;
18  mutable double upperLimitStepSize;
21 
24  double lowerLimitStepSize,
25  double upperLimitStepSize,
28  );
29  };
30 
40  static bool
41  tune(MarkovChain *markovChain,
42  RandomNumberGenerator &randomNumberGenerator,
43  const param_type &parameters);
44 
53  static bool
54  tune(double& stepSize,
55  double& AcceptanceRate,
56  MarkovChain *markovChain,
57  RandomNumberGenerator &randomNumberGenerator,
58  const param_type &parameters);
59 
68  static bool
69  tune(std::vector<std::shared_ptr<MarkovChain>>& markovChain,
70  std::vector<RandomNumberGenerator>& randomNumberGenerator,
71  const param_type &parameters);
72 
81  static bool
82  tune(double& stepSize,
83  double& acceptanceRate,
84  std::vector<std::shared_ptr<MarkovChain>>& markovChain,
85  std::vector<RandomNumberGenerator>& randomNumberGenerator,
86  const param_type &parameters);
87 
89  };
90 }
91 
92 #endif //HOPS_BINARYSEARCHACCEPTANCERATETUNER_HPP
hops::BinarySearchAcceptanceRateTuner::param_type::lowerLimitAcceptanceRate
double lowerLimitAcceptanceRate
Definition: BinarySearchAcceptanceRateTuner.hpp:15
hops::BinarySearchAcceptanceRateTuner::param_type::iterationsToTestStepSize
size_t iterationsToTestStepSize
Definition: BinarySearchAcceptanceRateTuner.hpp:19
hops::BinarySearchAcceptanceRateTuner
Deprecated as there are issues due to the uncertainty in estimating acceptance rates.
Definition: BinarySearchAcceptanceRateTuner.hpp:12
pcg_detail::engine
Definition: pcg_random.hpp:364
hops::BinarySearchAcceptanceRateTuner::param_type::upperLimitAcceptanceRate
double upperLimitAcceptanceRate
Definition: BinarySearchAcceptanceRateTuner.hpp:16
hops::BinarySearchAcceptanceRateTuner::param_type::upperLimitStepSize
double upperLimitStepSize
Definition: BinarySearchAcceptanceRateTuner.hpp:18
hops::BinarySearchAcceptanceRateTuner::tune
static bool tune(MarkovChain *markovChain, RandomNumberGenerator &randomNumberGenerator, const param_type &parameters)
tunes markov chain acceptance rate by nested intervals. The chain is not guaranteed to have converged...
Definition: BinarySearchAcceptanceRateTuner.cpp:65
hops::BinarySearchAcceptanceRateTuner::param_type::maximumTotalIterations
size_t maximumTotalIterations
Definition: BinarySearchAcceptanceRateTuner.hpp:20
hops::BinarySearchAcceptanceRateTuner::BinarySearchAcceptanceRateTuner
BinarySearchAcceptanceRateTuner()=delete
hops
Definition: CsvReader.hpp:8
hops::BinarySearchAcceptanceRateTuner::param_type::param_type
param_type(double lowerLimitAcceptanceRate, double upperLimitAcceptanceRate, double lowerLimitStepSize, double upperLimitStepSize, size_t iterationsToTestStepSize, size_t maximumTotalIterations)
Definition: BinarySearchAcceptanceRateTuner.cpp:135
hops::MarkovChainInterface
Definition: MarkovChain.hpp:17
MarkovChain.hpp
hops::BinarySearchAcceptanceRateTuner::param_type::lowerLimitStepSize
double lowerLimitStepSize
Definition: BinarySearchAcceptanceRateTuner.hpp:17
hops::BinarySearchAcceptanceRateTuner::param_type
Definition: BinarySearchAcceptanceRateTuner.hpp:14