use of IncrementalAnytimeExactBeliefPropagation.Model.Model in project aic-expresso by aic-sri-international.
the class Tests method testingAndPrintingOnScreen.
private static void testingAndPrintingOnScreen() {
Model model = new Model(isingModel(7, 2, context, parse("Boolean")), theory, true);
solvesModelBySBPAndBruteForce("IsingModel", model, true);
model = new Model(lineModel(8, context, parse("Boolean")), theory, true);
solvesModelBySBPAndBruteForce("lineModel", model, true);
model = new Model(nTreeModel(9, 2, context, parse("Boolean")), theory, true);
solvesModelBySBPAndBruteForce("nTreeModel", model, true);
}
use of IncrementalAnytimeExactBeliefPropagation.Model.Model in project aic-expresso by aic-sri-international.
the class Tests method solveModelNTimes.
public static void solveModelNTimes(String modelName, Triple<Set<Expression>, Context, Expression> factors, int n, boolean runSGDPLL, double threshold) {
List<List<InferenceResult>> inferenceResults = new ArrayList<>();
for (int i = 0; i < n; i++) {
println("Solving " + modelName + " for the " + i + "-th time...");
Model model = new Model(factors, theory, true);
inferenceResults.add(solveModelAndRecordResult(modelName + "Incremental", model, true, /* incremental */
runSGDPLL, threshold));
println("Done solving " + modelName + " for the " + i + "-th time...");
}
writeInferenceResultsToFile(inferenceResults, modelName + ".csv");
}
use of IncrementalAnytimeExactBeliefPropagation.Model.Model in project aic-expresso by aic-sri-international.
the class Tests method testingBFS.
private static void testingBFS() {
Model m = new Model(isingModel(4, 3, context, parse("Boolean")), theory, true);
Iterator<PartitionTree> bfsExpander = new BFS(m);
while (bfsExpander.hasNext()) {
PartitionTree p = bfsExpander.next();
println("node : " + p.node);
if (p.parent != null) {
println("parent: " + p.parent.node);
}
println("children: ");
for (PartitionTree pv : p.children) {
println(pv.node.getValue());
}
}
}
use of IncrementalAnytimeExactBeliefPropagation.Model.Model in project aic-expresso by aic-sri-international.
the class Tests method testingTheSameModelNTimesAndThenPrintingToFileVersionsOneAndTwoOfTheAlgorithm.
public static void testingTheSameModelNTimesAndThenPrintingToFileVersionsOneAndTwoOfTheAlgorithm(Triple<Set<Expression>, Context, Expression> factors, int n, String fileNameWithoutExtension, boolean runSGDPLL, double threshold) {
List<List<InferenceResult>> modelsToprintInFile = new ArrayList<>();
for (int i = 0; i < n; i++) {
Model model = new Model(factors, theory, true);
modelsToprintInFile.add(solveModelAndRecordResult(fileNameWithoutExtension + "Incremental", model, true, runSGDPLL, threshold));
println(i);
}
for (int i = 0; i < n; i++) {
ModelGenerator.resetRandomGenerator();
Model model = new Model(factors, theory, true);
modelsToprintInFile.add(solveModelAndRecordResult(fileNameWithoutExtension + "NONIncremental", model, false, runSGDPLL, threshold));
println(i);
}
writeInferenceResultsToFile(modelsToprintInFile, fileNameWithoutExtension + ".csv");
}
use of IncrementalAnytimeExactBeliefPropagation.Model.Model in project aic-expresso by aic-sri-international.
the class Tests method testingAndPrintingOnFile2.
private static void testingAndPrintingOnFile2() {
ModelGenerator.resetRandomGenerator();
List<List<InferenceResult>> modelsToprintInFile = new ArrayList<>();
int nLines = 4;
int nCols = 4;
Model m = new Model(isingModel(nLines, nCols, context, parse("Boolean")), theory, true);
modelsToprintInFile.add(solveModelAndRecordResult("IsingModel", m, true, true, 0, nLines, nCols));
int nFactors = 12;
m = new Model(ModelGenerator.lineModel(nFactors, context, parse("Boolean")), theory, true);
modelsToprintInFile.add(solveModelAndRecordResult("lineModel", m, true, true, 0, nFactors));
int nLevels = 4;
int nChildren = 2;
m = new Model(ModelGenerator.nTreeModel(nLevels, nChildren, context, parse("Boolean")), theory, true);
modelsToprintInFile.add(solveModelAndRecordResult("nTreeModel", m, true, true, 0, nLevels, nChildren));
writeInferenceResultsToFile(modelsToprintInFile, "SomeTests.csv");
}
Aggregations