InferenceAlgorithm inferenceAlgorithm = new VMP();
switch (searchAlgorithm) { case VMP: currentModelInference = new VMP();
switch(searchAlgorithm) { case VMP: staticModelInference = new VMP();
dLCM.setInferenceAlgoPredict(new VMP());
InferenceAlgorithm algo = new VMP(); lcm.setInferenceAlgoPredict(algo);
public static void main(String[] args) throws IOException, ClassNotFoundException { BayesianNetwork bn = BayesianNetworkLoader.loadFromFile("networks/simulated/exampleBN.bn"); Variables variables = bn.getVariables(); //Variabeles of interest Variable varTarget = variables.getVariableByName("LatentVar1"); Variable varObserved = null; //we set the evidence Assignment assignment = new HashMapAssignment(2); varObserved = variables.getVariableByName("Income"); assignment.setValue(varObserved,0.0); //we set the algorithm InferenceAlgorithm infer = new VMP(); //new HuginInference(); new ImportanceSampling(); infer.setModel(bn); infer.setEvidence(assignment); //query infer.runInference(); Distribution p = infer.getPosterior(varTarget); System.out.println("P(LatentVar1|Income=0.0) = "+p); //Or some more refined queries System.out.println("P(0.7<LatentVar1<6.59 |Income=0.0) = " + infer.getExpectedValue(varTarget, v -> (0.7 < v && v < 6.59) ? 1.0 : 0.0 )); }
FactoredFrontierForDBN FFalgorithm = new FactoredFrontierForDBN(new VMP()); InferenceEngineForDBN.setInferenceAlgorithmForDBN(FFalgorithm);
predictions_ = new VMP(); predictions_.setSeed(this.randomSeed);
predictions_ = new VMP(); predictions_.setSeed(this.randomSeed);
InferenceAlgorithm infer = new VMP(); infer.setModel(bn); infer.setEvidence(assignment);
predictions_ = new VMP(); predictions_.setSeed(this.randomSeed);
int superstep = getIterationRuntimeContext().getSuperstepNumber() - 1; if (INITIALIZE && superstep==0) { VMP vmp = new VMP(); vmp.setMaxIter(this.svb.getPlateuStructure().getVMP().getMaxIter()); vmp.setThreshold(this.svb.getPlateuStructure().getVMP().getThreshold());
int superstep = getIterationRuntimeContext().getSuperstepNumber() - 1; if (INITIALIZE && superstep==0) { VMP vmp = new VMP(); vmp.setMaxIter(this.svb.getPlateuStructure().getVMP().getMaxIter()); vmp.setThreshold(this.svb.getPlateuStructure().getVMP().getThreshold());
FactoredFrontierForDBN FFalgorithm = new FactoredFrontierForDBN(new VMP()); InferenceEngineForDBN.setInferenceAlgorithmForDBN(FFalgorithm); InferenceEngineForDBN.setModel(bn);