use of com.sri.ai.praise.core.representation.interfacebased.factor.api.Factor in project aic-praise by aic-sri-international.
the class PerformanceTest method sumOutFirstVariable.
private static Factor sumOutFirstVariable(Factor factor) {
List<? extends Variable> factorVariables = factor.getVariables();
int indexOfFirstVariable = 0;
List<Variable> variablesToSumOut = new ArrayList<>();
if (factorVariables.size() > 0) {
variablesToSumOut.add(factorVariables.get(indexOfFirstVariable));
}
Factor result = factor.sumOut(variablesToSumOut);
return result;
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.api.Factor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testInvert.
@Test
public void testInvert() {
Context context = new TrueContext(new CommonTheory()).extendWithSymbolsAndTypes("U", "Boolean", "V", "Boolean");
ExpressionFactor factorUV = new DefaultExpressionFactor(parse("if U and V then 2 else 3"), context);
Factor invertedFactor = factorUV.invert();
assertEquals("if U then if V then 0.5 else 1/3 else 1/3", invertedFactor.toString());
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.api.Factor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testMax.
@Test
public void testMax() {
Context context = new TrueContext(new CommonTheory()).extendWithSymbolsAndTypes("U", "Boolean", "V", "Boolean");
ExpressionFactor factorUV = new DefaultExpressionFactor(parse("if U then if V then 4 else 2 else 3"), context);
ExpressionVariable u = new DefaultExpressionVariable(parse("U"));
List<ExpressionVariable> variablesToMaxOut = new ArrayList<>();
variablesToMaxOut.add(u);
Factor maxFactor = factorUV.max(variablesToMaxOut);
assertEquals("if V then 4 else 3", maxFactor.toString());
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.api.Factor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testMultiply3.
@Test
public void testMultiply3() {
Theory theory = new CommonTheory();
Context context = new TrueContext(theory);
Expression a = DefaultSymbol.createSymbol("a");
ExpressionFactor aFactor = new DefaultExpressionFactor(a, context);
Factor result = aFactor.multiply(ZERO_FACTOR);
assertEquals(ZERO_FACTOR, result);
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.api.Factor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testAdd4.
@Test
public void testAdd4() {
Theory theory = new CommonTheory();
Context context = new TrueContext(theory);
Expression a = DefaultSymbol.createSymbol("a");
ExpressionFactor aFactor = new DefaultExpressionFactor(a, context);
ConstantFactor tenFactor = new ConstantFactor(10.);
Factor result = aFactor.add(tenFactor);
assertEquals("10 + a", result.toString());
}
Aggregations