use of edu.cmu.ml.proppr.util.APROptions in project ProPPR by TeamCohen.
the class DuplicateSignatureRuleTest method test2.
@Test
public void test2() throws LogicProgramException, IOException {
APROptions apr = new APROptions("depth=10");
WamProgram program = WamBaseProgram.load(new File(PROGRAM));
ProofGraph pg = new StateProofGraph(Query.parse("canExit(steve,X)"), apr, program);
Prover p = new TracingDfsProver(apr);
Map<Query, Double> result = p.solvedQueries(pg, new StatusLogger());
for (Map.Entry<Query, Double> e : result.entrySet()) {
System.out.println(e.getValue() + "\t" + e.getKey());
assertEquals("Steve not allowed to exit " + e.getKey() + "\n", "canExit(steve,kitchen).", e.getKey().toString());
}
}
use of edu.cmu.ml.proppr.util.APROptions in project ProPPR by TeamCohen.
the class PathDprProverTest method test.
@Test
public void test() throws IOException, LogicProgramException {
APROptions apr = new APROptions();
apr.epsilon = 1e-5;
apr.alpha = 0.01;
WamProgram program = WamBaseProgram.load(new File(RULES));
WamPlugin[] plugins = new WamPlugin[] { SparseGraphPlugin.load(apr, new File(SparseGraphPluginTest.PLUGIN)) };
PathDprProver p = new PathDprProver(apr);
Query query = Query.parse("kids(bette,Y)");
StateProofGraph pg = new StateProofGraph(query, apr, program, plugins);
p.prove(pg, new StatusLogger());
}
use of edu.cmu.ml.proppr.util.APROptions in project ProPPR by TeamCohen.
the class WeightedRulesTest method test.
@Test
public void test() throws IOException, LogicProgramException {
APROptions apr = new APROptions();
Prover p = new DprProver(apr);
WamProgram program = WamBaseProgram.load(RULES);
WamPlugin[] plugins = new WamPlugin[] { FactsPlugin.load(apr, FACTS, false) };
Grounder grounder = new Grounder(apr, p, program, plugins);
assertTrue(plugins[0].claim("ruleWeight#/2"));
Query query = Query.parse("shoppingList(X)");
ProofGraph pg = new StateProofGraph(new InferenceExample(query, new Query[] { Query.parse("shoppingList(kidney_beans)") }, new Query[] { Query.parse("shoppingList(cinnamon)") }), apr, new SimpleSymbolTable<Feature>(), program, plugins);
// Map<String,Double> m = p.solutions(pg);
// System.out.println(Dictionary.buildString(m, new StringBuilder(), "\n").toString());
GroundedExample ex = grounder.groundExample(p, pg);
ex.getGraph().serialize();
String serialized = grounder.serializeGroundedExample(pg, ex).replaceAll("\t", "\n");
System.out.println(serialized);
assertTrue("Rule weights must appear in ground graph (2.0)", serialized.indexOf("2.0") >= 0);
assertTrue("Rule weights must appear in ground graph (3.0)", serialized.indexOf("3.0") >= 0);
}
use of edu.cmu.ml.proppr.util.APROptions in project ProPPR by TeamCohen.
the class TracingDfsProverTest method setup.
@Override
public void setup() throws IOException {
super.setup();
TracingDfsProver p = new TracingDfsProver(new APROptions());
this.prover = p;
}
use of edu.cmu.ml.proppr.util.APROptions in project ProPPR by TeamCohen.
the class FactsPluginTest method test.
@Test
public void test() throws LogicProgramException {
APROptions apr = new APROptions();
FactsPlugin p = FactsPlugin.load(apr, new File(GrounderTest.FACTS), false);
WamProgram program = new WamBaseProgram();
Query q = Query.parse("validClass(X)");
StateProofGraph pg = new StateProofGraph(q, apr, program, p);
Prover prover = new DprProver();
Map<String, Double> sols = prover.solutions(pg, new StatusLogger());
assertEquals(2, sols.size());
}
Aggregations