![]() |
Fleet
0.0.9
Inference in the LOT
|
A LOTHypothesis is the basic unit for doing LOT models. It store a Node as its value, and handles all of the proposing and computing priors, likelihoods, etc. It compiles this Node into a "program" which is used to make function calls, which means that the value should only be changed via LOTHypothesis::set_value. More...
#include <string.h>#include "Proposers.h"#include "Program.h"#include "Node.h"#include "DiscreteDistribution.h"#include "Errors.h"#include "Hypotheses/Interfaces/Bayesable.h"#include "Hypotheses/Interfaces/MCMCable.h"#include "Hypotheses/Interfaces/Searchable.h"#include "Hypotheses/Interfaces/Serializable.h"

Go to the source code of this file.
Classes | |
| class | LOTHypothesis< this_t, _input_t, _output_t, _Grammar_t, grammar, _datum_t, _data_t, _VirtualMachineState_t > |
A LOTHypothesis is the basic unit for doing LOT models. It store a Node as its value, and handles all of the proposing and computing priors, likelihoods, etc. It compiles this Node into a "program" which is used to make function calls, which means that the value should only be changed via LOTHypothesis::set_value.
LOTHypothsis is templated with itself (the curiously recurring tempalte pattern), an input type, and output type, a grammar type, and types for the individual data elements and vector of data. Usually you will subclass this (or a Lexicon) as this_totheses in a LOT model.
The kind of virtual machinse that are called here are defined inside Grammar (even though LOTHypothesis would be a more natural palce) because we need access to the Grammar's parameter pack over types.
1.8.13