Examples of CNFTransformer


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

   */
  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>()
          .setToList(clauses));
View Full Code Here

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

   *
   * @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.CNFTransformer

   */
  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.CNFTransformer

   */
  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>()
          .setToList(clauses));
View Full Code Here

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

    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.CNFTransformer

  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.CNFTransformer

          + " AND (NOT " + queryString + " ))");
    } else {
      kbPlusQuery = query;
    }
    try {
      cnfForm = new CNFTransformer().transform(kbPlusQuery);
      // System.out.println(cnfForm.toString());
    } catch (Exception e) {
      System.out.println("error converting kb +  query to CNF"
          + e.getMessage());
View Full Code Here

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

        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());
    Sentence nonTrueClause = (Sentence) parser.parse("(B AND C)");
View Full Code Here

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

        .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.CNFTransformer

        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));

    DPLL.SymbolValuePair sv = dpll.findPureSymbolValuePair(clauseList,
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.