// The model
var pPrior =
Variable.New<Beta>();
var p =
Variable<double>.Random(pPrior);
var numTrials =
Variable.New<int>();
var numSuccess =
Variable.Binomial(numTrials, p);
// Hook up the observations and learn the posterior on p
var engine =
new InferenceEngine();
pPrior.ObservedValue =
Beta.FromMeanAndVariance(0.33333, 0.00132);
numTrials.ObservedValue = 500;
numSuccess.ObservedValue = 200;
Beta pPost = engine.Infer<Beta>(p);
Console.WriteLine("Probability of success = {0}",
pPost);