Search in sources :

Example 31 with TableFactor

use of com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor in project aic-praise by aic-sri-international.

the class TableFactorTest method testMultiplicationf2f1.

@Test
public void testMultiplicationf2f1() {
    println();
    println("MULTIPLYING f2 * f1");
    println("-------------------");
    TableFactor f2f1 = (TableFactor) f2.multiply(f1);
    f2f1.setName("f2f1");
    println(f2f1);
    assertEquals("phi[{V2:card=3}, {V4:card=2}, {V1:card=2}, {V3:card=4}]: [11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0, 11.0, " + "12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, 12.0, " + "21.0, 21.0, 21.0, 21.0, 21.0, 21.0, 21.0, 21.0, " + "22.0, 22.0, 22.0, 22.0, 22.0, 22.0, 22.0, 22.0, " + "31.0, 31.0, 31.0, 31.0, 31.0, 31.0, 31.0, 31.0, " + "32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0, 32.0]", f2.multiply(f1).toString());
    println();
}
Also used : TableFactor(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor) Test(org.junit.Test)

Example 32 with TableFactor

use of com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor in project aic-praise by aic-sri-international.

the class TableFactorTest method testf1SumOutV1V3.

@Test
public void testf1SumOutV1V3() {
    println();
    println("SUM OUT V1 and V3 from F1");
    println("-------------------------");
    ArrayList<TableVariable> variablesToSumOut = Util.arrayList(V1, V3);
    TableFactor f1SumOutV1V3 = (TableFactor) f1.sumOut(variablesToSumOut);
    f1SumOutV1V3.setName("f1SumOutV1V3");
    println(f1SumOutV1V3);
    assertEquals("f1SumOutV1V3[{V2:card=3}]: [8.0, 8.0, 8.0]", f1SumOutV1V3.toString());
    println();
}
Also used : TableFactor(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor) TableVariable(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableVariable) Test(org.junit.Test)

Example 33 with TableFactor

use of com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor in project aic-praise by aic-sri-international.

the class TableFactorTest method testf1SumOutV2V3.

@Test
public void testf1SumOutV2V3() {
    println();
    println("SUM OUT V2 and V3 from F1");
    println("-------------------------");
    ArrayList<TableVariable> variablesToSumOut = Util.arrayList(V2, V3);
    TableFactor f1SumOutV2V3 = (TableFactor) f1.sumOut(variablesToSumOut);
    f1SumOutV2V3.setName("f1SumOutV2V3");
    println(f1SumOutV2V3);
    assertEquals("f1SumOutV2V3[{V1:card=2}]: [12.0, 12.0]", f1SumOutV2V3.toString());
    println();
}
Also used : TableFactor(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor) TableVariable(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableVariable) Test(org.junit.Test)

Example 34 with TableFactor

use of com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor in project aic-praise by aic-sri-international.

the class TableFactorTest method testf1SumOutV3.

@Test
public void testf1SumOutV3() {
    println();
    println("SUM OUT V3 from F1");
    println("------------------");
    ArrayList<TableVariable> variablesToSumOut = Util.arrayList(V3);
    TableFactor f1SumOutV3 = (TableFactor) f1.sumOut(variablesToSumOut);
    f1SumOutV3.setName("f1SumOutV3");
    println(f1SumOutV3);
    assertEquals("f1SumOutV3[{V1:card=2}, {V2:card=3}]: [4.0, 4.0, 4.0, 4.0, 4.0, 4.0]", f1SumOutV3.toString());
    println();
}
Also used : TableFactor(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor) TableVariable(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableVariable) Test(org.junit.Test)

Example 35 with TableFactor

use of com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor in project aic-praise by aic-sri-international.

the class TableFactorTest method testf1SumOutV2.

@Test
public void testf1SumOutV2() {
    println();
    println("SUM OUT V2 from F1");
    println("------------------");
    ArrayList<TableVariable> variablesToSumOut = Util.arrayList(V2);
    TableFactor f1SumOutV2 = (TableFactor) f1.sumOut(variablesToSumOut);
    f1SumOutV2.setName("f1SumOutV2");
    println(f1SumOutV2);
    assertEquals("f1SumOutV2[{V1:card=2}, {V3:card=4}]: [3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0, 3.0]", f1SumOutV2.toString());
    println();
}
Also used : TableFactor(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor) TableVariable(com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableVariable) Test(org.junit.Test)

Aggregations

TableFactor (com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor)52 TableVariable (com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableVariable)36 ArrayList (java.util.ArrayList)19 Test (org.junit.Test)11 Factor (com.sri.ai.praise.core.representation.interfacebased.factor.api.Factor)10 Util.mapIntoArrayList (com.sri.ai.util.Util.mapIntoArrayList)10 List (java.util.List)9 ExpressionFactor (com.sri.ai.praise.core.representation.interfacebased.factor.core.expression.api.ExpressionFactor)8 TableFactor.copyToSubTableFactor (com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactor.copyToSubTableFactor)8 Pair (com.sri.ai.util.base.Pair)7 Variable (com.sri.ai.praise.core.representation.interfacebased.factor.api.Variable)6 TableFactorNetwork (com.sri.ai.praise.core.representation.interfacebased.factor.core.table.TableFactorNetwork)6 LinkedHashMap (java.util.LinkedHashMap)6 Expression (com.sri.ai.expresso.api.Expression)5 DefaultExpressionFactor (com.sri.ai.praise.core.representation.interfacebased.factor.core.expression.core.DefaultExpressionFactor)5 Util (com.sri.ai.util.Util)5 Util.arrayList (com.sri.ai.util.Util.arrayList)5 Util.println (com.sri.ai.util.Util.println)5 BiFunction (java.util.function.BiFunction)5 LinkedList (java.util.LinkedList)4