27 using key_type = std::pair<std::string,double>;
30 std::map<key_type,value_type>
M;
38 return std::make_pair(h.structure_string(
false),
43 decltype(M.begin())
begin() {
return M.begin(); }
44 decltype(M.end())
end() {
return M.end(); }
45 size_t size()
const {
return M.size(); }
70 return max_of(rs.
values(), get_posterior<MyHypothesis>).second;
75 if(M.size() < N or N <= 0)
78 std::vector<double> structureScores;
79 for(
auto& [ss, R] : M) {
84 std::sort(structureScores.begin(), structureScores.end(), std::greater<double>());
85 double cutoff = structureScores[N-1];
89 while(it != M.end()) {
StructuresToSamples overall_samples
Definition: Singleton.h:6
value_type & operator[](key_type &t)
Definition: StructureToSamples.h:46
void trim(const size_t N)
Definition: StructureToSamples.h:73
void add(MyHypothesis &h)
Definition: StructureToSamples.h:49
std::pair< std::string, double > key_type
Definition: StructureToSamples.h:27
size_t size() const
Definition: StructureToSamples.h:45
decltype(M.end()) end()
Definition: StructureToSamples.h:44
std::map< key_type, value_type > M
Definition: StructureToSamples.h:30
Definition: StructureToSamples.h:25
double posterior
Definition: Bayesable.h:44
we don't need inputs/outputs for out MyHypothesis
Definition: MyHypothesis.h:6
const std::vector< T > & values() const
Definition: ReservoirSample.h:63
size_t nsamples
Definition: Main.cpp:23
const size_t trim_at
Definition: StructureToSamples.h:32
const double rounding_factor
Definition: StructureToSamples.h:35
std::pair< t *, double > max_of(const T &s, const std::function< double(const t &)> &f)
Definition: Random.h:410
key_type key(MyHypothesis &h)
Definition: StructureToSamples.h:37
A simple resevoir sampling algorithm. One great disappointment is that this doesn't implement the ver...
void operator<<(MyHypothesis &h)
Definition: StructureToSamples.h:67
const size_t trim_to
Definition: StructureToSamples.h:33
Definition: ReservoirSample.h:16
double max_posterior(const ReservoirSample< MyHypothesis > &rs)
Definition: StructureToSamples.h:69
T round(T v, int n)
Definition: Numerics.h:62
decltype(M.begin()) begin()
Definition: StructureToSamples.h:43