Search in sources :

Example 1 with VariableComponent

use of com.sri.ai.grinder.anytime.VariableComponent in project aic-expresso by aic-sri-international.

the class Example method TreeModel.

public static VariableComponent TreeModel() {
    Expression a = DefaultSymbol.createSymbol("A");
    Expression q = DefaultSymbol.createSymbol("Q");
    Expression f1 = IfThenElse.make(a, IfThenElse.make(q, parse("0.1"), parse("0.9")), IfThenElse.make(q, parse("0.8"), parse("0.2")));
    Set<Expression> Factor = new HashSet<Expression>();
    Factor.add(f1);
    Model m = new Model(Factor);
    m.extendModelWithSymbolsAndTypes("A", "Boolean");
    m.extendModelWithSymbolsAndTypes("B", "Boolean");
    m.extendModelWithSymbolsAndTypes("Q", "Boolean");
    VariableComponent ComponentResultat = new VariableComponent(q, null, m, new HashSet<Expression>(), true);
    return ComponentResultat;
}
Also used : Expression(com.sri.ai.expresso.api.Expression) Model(com.sri.ai.grinder.anytime.Model) VariableComponent(com.sri.ai.grinder.anytime.VariableComponent) HashSet(java.util.HashSet)

Example 2 with VariableComponent

use of com.sri.ai.grinder.anytime.VariableComponent in project aic-expresso by aic-sri-international.

the class Example method main.

public static void main(String[] args) {
    VariableComponent v = TreeModel();
    Context context = v.model.context;
    Expression expression = parse("if Q then if A then if B then 4 else 2 else if B then 6 else 7 else if A then if B then 0 else 2 else if B then 1 else 1");
    System.out.println(Derivative.derivativesOfFactor(expression, parse("Q"), context));
}
Also used : Context(com.sri.ai.grinder.api.Context) Expression(com.sri.ai.expresso.api.Expression) VariableComponent(com.sri.ai.grinder.anytime.VariableComponent)

Aggregations

Expression (com.sri.ai.expresso.api.Expression)2 VariableComponent (com.sri.ai.grinder.anytime.VariableComponent)2 Model (com.sri.ai.grinder.anytime.Model)1 Context (com.sri.ai.grinder.api.Context)1 HashSet (java.util.HashSet)1