use of com.sri.ai.praise.core.representation.interfacebased.factor.core.expression.api.ExpressionFactor in project aic-praise by aic-sri-international.
the class AnytimeExactBPTest method solveWithExactBP.
private ExpressionFactor solveWithExactBP(Expression query, ExpressionFactorNetwork factorNetwork) {
ExactBPNode<Variable, Factor> exactBP = new ExpressionExactBP(query, factorNetwork);
ExpressionFactor result = (ExpressionFactor) exactBP.apply();
return result;
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.core.expression.api.ExpressionFactor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testSumOut.
@Test
public void testSumOut() {
Context context = new TrueContext(new CommonTheory()).extendWithSymbolsAndTypes("U", "Boolean", "V", "Boolean");
ExpressionVariable u = new DefaultExpressionVariable(parse("U"));
List<ExpressionVariable> variablesToSumOut = new ArrayList<>();
variablesToSumOut.add(u);
ExpressionFactor factorUV = new DefaultExpressionFactor(parse("if U and V then 2 else 3"), context);
Factor summedOutFactor = factorUV.sumOut(variablesToSumOut);
assertEquals("if V then 5 else 6", summedOutFactor.toString());
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.core.expression.api.ExpressionFactor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testAdd2.
@Test
public void testAdd2() {
Theory theory = new CommonTheory();
Context context = new TrueContext(theory);
Expression a = DefaultSymbol.createSymbol("a");
ExpressionFactor aFactor = new DefaultExpressionFactor(a, context);
Factor result = (ExpressionFactor) aFactor.add(IDENTITY_FACTOR);
System.out.println(result.toString());
assertEquals("1 + a", result.toString());
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.core.expression.api.ExpressionFactor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testMultiply4.
@Test
public void testMultiply4() {
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.multiply(tenFactor);
assertEquals("10 * a", result.toString());
}
use of com.sri.ai.praise.core.representation.interfacebased.factor.core.expression.api.ExpressionFactor in project aic-praise by aic-sri-international.
the class ExpressionFactorTest method testAdd1.
@Test
public void testAdd1() {
Theory theory = new CommonTheory();
Context context = new TrueContext(theory);
Expression a = DefaultSymbol.createSymbol("a");
ExpressionFactor aFactor = new DefaultExpressionFactor(a, context);
Expression b = DefaultSymbol.createSymbol("b");
ExpressionFactor bFactor = new DefaultExpressionFactor(b, context);
Factor abFactor = (ExpressionFactor) aFactor.add(bFactor);
assertEquals("a + b", abFactor.toString());
}
Aggregations