Examples of CNFClauseGatherer


Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

   * @return the answer to the specified question using PL-Resolution.
   */
  public boolean plResolution(KnowledgeBase kb, Sentence alpha) {
    Sentence kBAndNotAlpha = new BinarySentence("AND", kb.asSentence(),
        new UnarySentence(alpha));
    Set<Sentence> clauses = new CNFClauseGatherer()
        .getClausesFrom(new CNFTransformer().transform(kBAndNotAlpha));
    clauses = filterOutClausesWithTwoComplementaryLiterals(clauses);
    Set<Sentence> newClauses = new HashSet<Sentence>();
    while (true) {
      List<List<Sentence>> pairs = getCombinationPairs(new Converter<Sentence>()
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

   *            a model the sentence must be true in
   *
   * @return <code>true</code> if the specified sentence is satisfiable.
   */
  public boolean dpllSatisfiable(Sentence s, Model m) {
    Set<Sentence> clauses = new CNFClauseGatherer()
        .getClausesFrom(new CNFTransformer().transform(s));
    List<Symbol> symbols = SYMBOL_CONVERTER.setToList(new SymbolCollector()
        .getSymbolsIn(s));
    // System.out.println(" numberOfSymbols = " + symbols.size());
    return dpll(clauses, symbols, m);
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

  public Model findModelFor(String logicalSentence, int numberOfFlips,
      double probabilityOfRandomWalk) {
    myModel = new Model();
    Sentence s = (Sentence) new PEParser().parse(logicalSentence);
    CNFTransformer transformer = new CNFTransformer();
    CNFClauseGatherer clauseGatherer = new CNFClauseGatherer();
    SymbolCollector sc = new SymbolCollector();

    List<Symbol> symbols = new Converter<Symbol>().setToList(sc
        .getSymbolsIn(s));
    for (int i = 0; i < symbols.size(); i++) {
      Symbol sym = (Symbol) symbols.get(i);
      myModel = myModel.extend(sym, Util.randomBoolean());
    }
    List<Sentence> clauses = new Converter<Sentence>()
        .setToList(clauseGatherer.getClausesFrom(transformer
            .transform(s)));

    for (int i = 0; i < numberOfFlips; i++) {
      if (getNumberOfClausesSatisfiedIn(
          new Converter<Sentence>().listToSet(clauses), myModel) == clauses
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

   * @return the answer to the specified question using PL-Resolution.
   */
  public boolean plResolution(KnowledgeBase kb, Sentence alpha) {
    Sentence kBAndNotAlpha = new BinarySentence("AND", kb.asSentence(),
        new UnarySentence(alpha));
    Set<Sentence> clauses = new CNFClauseGatherer()
        .getClausesFrom(new CNFTransformer().transform(kBAndNotAlpha));
    clauses = filterOutClausesWithTwoComplementaryLiterals(clauses);
    Set<Sentence> newClauses = new HashSet<Sentence>();
    while (true) {
      List<List<Sentence>> pairs = getCombinationPairs(new Converter<Sentence>()
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

    Sentence sen = (Sentence) new PEParser().parse(string);
    return dpllSatisfiable(sen, new Model());
  }

  public boolean dpllSatisfiable(Sentence s, Model m) {
    Set<Sentence> clauses = new CNFClauseGatherer()
        .getClausesFrom(new CNFTransformer().transform(s));
    List<Symbol> symbols = SYMBOL_CONVERTER.setToList(new SymbolCollector()
        .getSymbolsIn(s));
    // System.out.println(" numberOfSymbols = " + symbols.size());
    return dpll(clauses, symbols, m);
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

  public Model findModelFor(String logicalSentence, int numberOfFlips,
      double probabilityOfRandomWalk) {
    myModel = new Model();
    Sentence s = (Sentence) new PEParser().parse(logicalSentence);
    CNFTransformer transformer = new CNFTransformer();
    CNFClauseGatherer clauseGatherer = new CNFClauseGatherer();
    SymbolCollector sc = new SymbolCollector();

    List<Symbol> symbols = new Converter<Symbol>().setToList(sc.getSymbolsIn(s));
    for (int i = 0; i < symbols.size(); i++) {
      Symbol sym = (Symbol) symbols.get(i);
      myModel = myModel.extend(sym, Util.randomBoolean());
    }
    List<Sentence> clauses = new Converter<Sentence>()
        .setToList(clauseGatherer.getClausesFrom(transformer
            .transform(s)));

    for (int i = 0; i < numberOfFlips; i++) {
      if (getNumberOfClausesSatisfiedIn(
          new Converter<Sentence>().listToSet(clauses), myModel) == clauses
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

    model = model.extend(new Symbol("A"), true).extend(new Symbol("B"),
        true);
    Sentence sentence = (Sentence) parser
        .parse("((A AND B) AND (B AND C))");
    List<Sentence> clauseList = new Converter<Sentence>()
        .setToList(new CNFClauseGatherer()
            .getClausesFrom(new CNFTransformer()
                .transform(sentence)));
    List<Sentence> clausesWithNonTrueValues = dpll
        .clausesWithNonTrueValues(clauseList, model);
    Assert.assertEquals(1, clausesWithNonTrueValues.size());
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

    model = model.extend(new Symbol("A"), true)
        .extend(new Symbol("B"), true).extend(new Symbol("C"), true);
    Sentence sentence = (Sentence) parser
        .parse("((A AND B) AND (B AND C))");
    List<Sentence> clauseList = new Converter<Sentence>()
        .setToList(new CNFClauseGatherer()
            .getClausesFrom(new CNFTransformer()
                .transform(sentence)));
    List<Sentence> clausesWithNonTrueValues = dpll
        .clausesWithNonTrueValues(clauseList, model);
    Assert.assertEquals(0, clausesWithNonTrueValues.size());
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

    model = model.extend(new Symbol("A"), true).extend(new Symbol("B"),
        true);
    Sentence sentence = (Sentence) parser
        .parse("((A AND B) AND (B AND C))");
    List<Sentence> clauseList = new Converter<Sentence>()
        .setToList(new CNFClauseGatherer()
            .getClausesFrom(new CNFTransformer()
                .transform(sentence)));
    List<Symbol> symbolList = new Converter<Symbol>()
        .setToList(new SymbolCollector().getSymbolsIn(sentence));
View Full Code Here

Examples of aima.core.logic.propositional.visitors.CNFClauseGatherer

    model = model.extend(new Symbol("A"), true).extend(new Symbol("B"),
        true);
    Sentence sentence = (Sentence) parser
        .parse("((A AND B) AND ( B  AND (NOT C) ))");
    List<Sentence> clauseList = new Converter<Sentence>()
        .setToList(new CNFClauseGatherer()
            .getClausesFrom(new CNFTransformer()
                .transform(sentence)));
    List<Symbol> symbolList = new Converter<Symbol>()
        .setToList(new SymbolCollector().getSymbolsIn(sentence));
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.