Search in sources :

Example 1 with Model

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);
}
Also used : ModelGenerator.nTreeModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.nTreeModel) ModelGenerator.isingModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.isingModel) Model(IncrementalAnytimeExactBeliefPropagation.Model.Model) ModelGenerator.lineModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.lineModel)

Example 2 with Model

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");
}
Also used : ArrayList(java.util.ArrayList) ModelGenerator.nTreeModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.nTreeModel) ModelGenerator.isingModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.isingModel) Model(IncrementalAnytimeExactBeliefPropagation.Model.Model) ModelGenerator.lineModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.lineModel) ArrayList(java.util.ArrayList) List(java.util.List)

Example 3 with Model

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());
        }
    }
}
Also used : ModelGenerator.nTreeModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.nTreeModel) ModelGenerator.isingModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.isingModel) Model(IncrementalAnytimeExactBeliefPropagation.Model.Model) ModelGenerator.lineModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.lineModel) BFS(IncrementalAnytimeExactBeliefPropagation.Model.BFS)

Example 4 with Model

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");
}
Also used : ArrayList(java.util.ArrayList) ModelGenerator.nTreeModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.nTreeModel) ModelGenerator.isingModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.isingModel) Model(IncrementalAnytimeExactBeliefPropagation.Model.Model) ModelGenerator.lineModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.lineModel) ArrayList(java.util.ArrayList) List(java.util.List)

Example 5 with Model

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");
}
Also used : ArrayList(java.util.ArrayList) ModelGenerator.nTreeModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.nTreeModel) ModelGenerator.isingModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.isingModel) Model(IncrementalAnytimeExactBeliefPropagation.Model.Model) ModelGenerator.lineModel(IncrementalAnytimeExactBeliefPropagation.ModelGenerator.lineModel) ArrayList(java.util.ArrayList) List(java.util.List)

Aggregations

Model (IncrementalAnytimeExactBeliefPropagation.Model.Model)5 ModelGenerator.isingModel (IncrementalAnytimeExactBeliefPropagation.ModelGenerator.isingModel)5 ModelGenerator.lineModel (IncrementalAnytimeExactBeliefPropagation.ModelGenerator.lineModel)5 ModelGenerator.nTreeModel (IncrementalAnytimeExactBeliefPropagation.ModelGenerator.nTreeModel)5 ArrayList (java.util.ArrayList)3 List (java.util.List)3 BFS (IncrementalAnytimeExactBeliefPropagation.Model.BFS)1