Examples of InferenceResult


Examples of aima.core.logic.fol.inference.InferenceResult

        query, queryIndexical);

    // Need to map the result variables (as they are standardized apart)
    // to the original queries variables so that the caller can easily
    // understand and use the returned set of substitutions
    InferenceResult infResult = getInferenceProcedure().ask(this,
        saResult.getStandardized());
    for (Proof p : infResult.getProofs()) {
      Map<Variable, Term> im = p.getAnswerBindings();
      Map<Variable, Term> em = new LinkedHashMap<Variable, Term>();
      for (Variable rev : saResult.getReverseSubstitution().keySet()) {
        em.put((Variable) saResult.getReverseSubstitution().get(rev),
            im.get(rev));
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

    if (null != currentBestHypothesis) {
      FOLExample etp = new FOLExample(folDSDomain, e, 0);
      kb.clear();
      kb.tell(etp.getDescription());
      kb.tell(currentBestHypothesis.getHypothesis());
      InferenceResult ir = kb.ask(etp.getClassification());
      if (ir.isTrue()) {
        if (trueGoalValue.equals(e.targetValue())) {
          prediction = e.targetValue();
        }
      } else if (ir.isPossiblyFalse() || ir.isUnknownDueToTimeout()) {
        if (!trueGoalValue.equals(e.targetValue())) {
          prediction = e.targetValue();
        }
      }
    }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

    FOLKnowledgeBase kkb = FOLKnowledgeBaseFactory
        .createKingsKnowledgeBase(infp);
    List<Term> terms = new ArrayList<Term>();
    terms.add(new Variable("x"));
    Predicate query = new Predicate("Criminal", terms);
    InferenceResult answer = kkb.ask(query);
    Assert.assertTrue(null != answer);
    Assert.assertTrue(answer.isPossiblyFalse());
    Assert.assertFalse(answer.isTrue());
    Assert.assertFalse(answer.isUnknownDueToTimeout());
    Assert.assertFalse(answer.isPartialResultDueToTimeout());
    Assert.assertTrue(0 == answer.getProofs().size());
  }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

    FOLKnowledgeBase kkb = FOLKnowledgeBaseFactory
        .createKingsKnowledgeBase(infp);
    List<Term> terms = new ArrayList<Term>();
    terms.add(new Constant("Richard"));
    Predicate query = new Predicate("Evil", terms);
    InferenceResult answer = kkb.ask(query);
    Assert.assertTrue(null != answer);
    Assert.assertTrue(answer.isPossiblyFalse());
    Assert.assertFalse(answer.isTrue());
    Assert.assertFalse(answer.isUnknownDueToTimeout());
    Assert.assertFalse(answer.isPartialResultDueToTimeout());
    Assert.assertTrue(0 == answer.getProofs().size());
  }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

    FOLKnowledgeBase kkb = FOLKnowledgeBaseFactory
        .createKingsKnowledgeBase(infp);
    List<Term> terms = new ArrayList<Term>();
    terms.add(new Constant("John"));
    Predicate query = new Predicate("Evil", terms);
    InferenceResult answer = kkb.ask(query);

    Assert.assertTrue(null != answer);
    Assert.assertFalse(answer.isPossiblyFalse());
    Assert.assertTrue(answer.isTrue());
    Assert.assertFalse(answer.isUnknownDueToTimeout());
    Assert.assertFalse(answer.isPartialResultDueToTimeout());
    Assert.assertTrue(1 == answer.getProofs().size());
    Assert.assertTrue(0 == answer.getProofs().get(0).getAnswerBindings()
        .size());
  }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

    FOLKnowledgeBase kkb = FOLKnowledgeBaseFactory
        .createKingsKnowledgeBase(infp);
    List<Term> terms = new ArrayList<Term>();
    terms.add(new Variable("x"));
    Predicate query = new Predicate("Evil", terms);
    InferenceResult answer = kkb.ask(query);

    Assert.assertTrue(null != answer);
    Assert.assertFalse(answer.isPossiblyFalse());
    Assert.assertTrue(answer.isTrue());
    Assert.assertFalse(answer.isUnknownDueToTimeout());
    Assert.assertFalse(answer.isPartialResultDueToTimeout());
    Assert.assertTrue(1 == answer.getProofs().size());
    Assert.assertTrue(1 == answer.getProofs().get(0).getAnswerBindings()
        .size());
    Assert.assertEquals(new Constant("John"), answer.getProofs().get(0)
        .getAnswerBindings().get(new Variable("x")));
  }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

    FOLKnowledgeBase kkb = FOLKnowledgeBaseFactory
        .createKingsKnowledgeBase(infp);
    List<Term> terms = new ArrayList<Term>();
    terms.add(new Variable("x"));
    Predicate query = new Predicate("King", terms);
    InferenceResult answer = kkb.ask(query);

    Assert.assertTrue(null != answer);
    Assert.assertFalse(answer.isPossiblyFalse());
    Assert.assertTrue(answer.isTrue());
    Assert.assertFalse(answer.isUnknownDueToTimeout());
    Assert.assertFalse(answer.isPartialResultDueToTimeout());
    Assert.assertTrue(2 == answer.getProofs().size());
    Assert.assertTrue(1 == answer.getProofs().get(0).getAnswerBindings()
        .size());
    Assert.assertTrue(1 == answer.getProofs().get(1).getAnswerBindings()
        .size());

    boolean gotJohn, gotRichard;
    gotJohn = gotRichard = false;
    Constant cJohn = new Constant("John");
    Constant cRichard = new Constant("Richard");
    for (Proof p : answer.getProofs()) {
      Map<Variable, Term> ans = p.getAnswerBindings();
      Assert.assertEquals(1, ans.size());
      if (cJohn.equals(ans.get(new Variable("x")))) {
        gotJohn = true;
      }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

        .createWeaponsKnowledgeBase(infp);
    List<Term> terms = new ArrayList<Term>();
    terms.add(new Variable("x"));
    Predicate query = new Predicate("Criminal", terms);

    InferenceResult answer = wkb.ask(query);

    Assert.assertTrue(null != answer);
    Assert.assertFalse(answer.isPossiblyFalse());
    Assert.assertTrue(answer.isTrue());
    Assert.assertFalse(answer.isUnknownDueToTimeout());
    Assert.assertFalse(answer.isPartialResultDueToTimeout());
    Assert.assertTrue(1 == answer.getProofs().size());
    Assert.assertTrue(1 == answer.getProofs().get(0).getAnswerBindings()
        .size());
    Assert.assertEquals(new Constant("West"), answer.getProofs().get(0)
        .getAnswerBindings().get(new Variable("x")));
  }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

        .createRingOfThievesKnowledgeBase(infp);
    List<Term> terms = new ArrayList<Term>();
    terms.add(new Variable("x"));
    Predicate query = new Predicate("Skis", terms);

    InferenceResult answer = rotkb.ask(query);

    Assert.assertTrue(null != answer);
    Assert.assertFalse(answer.isPossiblyFalse());
    Assert.assertTrue(answer.isTrue());
    Assert.assertFalse(answer.isUnknownDueToTimeout());
    // DB can expand infinitely so is only partial.
    Assert.assertTrue(answer.isPartialResultDueToTimeout());
    Assert.assertEquals(4, answer.getProofs().size());
    Assert.assertEquals(1, answer.getProofs().get(0).getAnswerBindings()
        .size());
    Assert.assertEquals(1, answer.getProofs().get(1).getAnswerBindings()
        .size());
    Assert.assertEquals(1, answer.getProofs().get(2).getAnswerBindings()
        .size());
    Assert.assertEquals(1, answer.getProofs().get(3).getAnswerBindings()
        .size());

    List<Constant> expected = new ArrayList<Constant>();
    expected.add(new Constant("Nancy"));
    expected.add(new Constant("Red"));
    expected.add(new Constant("Bert"));
    expected.add(new Constant("Drew"));
    for (Proof p : answer.getProofs()) {
      expected.remove(p.getAnswerBindings().get(new Variable("x")));
    }
    Assert.assertEquals(0, expected.size());
  }
View Full Code Here

Examples of aima.core.logic.fol.inference.InferenceResult

    List<Term> terms = new ArrayList<Term>();
    terms.add(new Constant("Curiosity"));
    terms.add(new Constant("Tuna"));
    Predicate query = new Predicate("Kills", terms);

    InferenceResult answer = akb.ask(query);
    Assert.assertTrue(null != answer);
    if (expectedToTimeOut) {
      Assert.assertFalse(answer.isPossiblyFalse());
      Assert.assertFalse(answer.isTrue());
      Assert.assertTrue(answer.isUnknownDueToTimeout());
      Assert.assertFalse(answer.isPartialResultDueToTimeout());
      Assert.assertTrue(0 == answer.getProofs().size());
    } else {
      Assert.assertFalse(answer.isPossiblyFalse());
      Assert.assertTrue(answer.isTrue());
      Assert.assertFalse(answer.isUnknownDueToTimeout());
      Assert.assertFalse(answer.isPartialResultDueToTimeout());
      Assert.assertTrue(1 == answer.getProofs().size());
      Assert.assertTrue(0 == answer.getProofs().get(0)
          .getAnswerBindings().size());
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.