Package aima.core.logic.propositional.parsing.ast

Examples of aima.core.logic.propositional.parsing.ast.Sentence


  }

  public boolean plResolution(String kbs, String alphaString) {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell(kbs);
    Sentence alpha = (Sentence) new PEParser().parse(alphaString);
    return plResolution(kb, alpha);
  }
View Full Code Here


      Set<Sentence> clauses) {
    Set<Sentence> filtered = new HashSet<Sentence>();
    SymbolClassifier classifier = new SymbolClassifier();
    Iterator<Sentence> iter = clauses.iterator();
    while (iter.hasNext()) {
      Sentence clause = iter.next();
      Set<Symbol> positiveSymbols = classifier
          .getPositiveSymbolsIn(clause);
      Set<Symbol> negativeSymbols = classifier
          .getNegativeSymbolsIn(clause);
      if ((SetOps.intersection(positiveSymbols, negativeSymbols).size() == 0)) {
View Full Code Here

    List<List<Sentence>> pairs = new ArrayList<List<Sentence>>();
    for (int i = 0; i < clausesList.size(); i++) {
      for (int j = i; j < clausesList.size(); j++) {
        List<Sentence> pair = new ArrayList<Sentence>();
        Sentence first = clausesList.get(i);
        Sentence second = clausesList.get(j);

        if (!(first.equals(second))) {
          pair.add(first);
          pair.add(second);
          pairs.add(pair);
View Full Code Here

    return dpllSatisfiable(s, new Model());
  }

  public boolean dpllSatisfiable(String string) {
    Sentence sen = (Sentence) new PEParser().parse(string);
    return dpllSatisfiable(sen, new Model());
  }
View Full Code Here

  public List<Sentence> clausesWithNonTrueValues(List<Sentence> clauseList,
      Model model) {
    List<Sentence> clausesWithNonTrueValues = new ArrayList<Sentence>();
    for (int i = 0; i < clauseList.size(); i++) {
      Sentence clause = clauseList.get(i);
      if (!(isClauseTrueInModel(clause, model))) {
        if (!(clausesWithNonTrueValues.contains(clause))) {// defensive
          // programming not really necessary
          clausesWithNonTrueValues.add(clause);
        }
View Full Code Here

  public SymbolValuePair findPureSymbolValuePair(List<Sentence> clauseList,
      Model model, List<Symbol> symbols) {
    List<Sentence> clausesWithNonTrueValues = clausesWithNonTrueValues(clauseList,
        model);
    Sentence nonTrueClauses = LogicUtils.chainWith("AND",
        clausesWithNonTrueValues);
    // System.out.println("Unsatisfied clauses = "
    // + clausesWithNonTrueValues.size());
    Set<Symbol> symbolsAlreadyAssigned = model.getAssignedSymbols();
View Full Code Here

        clauses, newSymbols, model.extend(symbol, false)));
  }

  private boolean isEvenOneClauseFalse(Model model, List<Sentence> clauseList) {
    for (int i = 0; i < clauseList.size(); i++) {
      Sentence clause = clauseList.get(i);
      if (model.isFalse(clause)) {
        // System.out.println(clause.toString() + " is false");
        return true;
      }
View Full Code Here

  }

  private boolean areAllClausesTrue(Model model, List<Sentence> clauseList) {

    for (int i = 0; i < clauseList.size(); i++) {
      Sentence clause = clauseList.get(i);
      // System.out.println("evaluating " + clause.toString());
      if (!isClauseTrueInModel(clause, model)) { // ie if false or
        // UNKNOWN
        // System.out.println(clause.toString()+ " is not true");
        return false;
View Full Code Here

  }

  private SymbolValuePair findUnitClause(List<Sentence> clauseList, Model model,
      List<Symbol> symbols) {
    for (int i = 0; i < clauseList.size(); i++) {
      Sentence clause = (Sentence) clauseList.get(i);
      if ((clause instanceof Symbol)
          && (!(model.getAssignedSymbols().contains(clause)))) {
        // System.out.println("found unit clause - assigning");
        return new SymbolValuePair(new Symbol(
            ((Symbol) clause).getValue()), true);
      }

      if (clause instanceof UnarySentence) {
        UnarySentence sentence = (UnarySentence) clause;
        Sentence negated = sentence.getNegated();
        if ((negated instanceof Symbol)
            && (!(model.getAssignedSymbols().contains(negated)))) {
          // System.out.println("found unit clause type 2 -
          // assigning");
          return new SymbolValuePair(new Symbol(
View Full Code Here

  }

  private List<HornClause> asHornClauses(List<Sentence> sentences) {
    List<HornClause> hornClauses = new ArrayList<HornClause>();
    for (int i = 0; i < sentences.size(); i++) {
      Sentence sentence = sentences.get(i);
      HornClause clause = new HornClause(sentence);
      hornClauses.add(clause);
    }
    return hornClauses;
  }
View Full Code Here

TOP

Related Classes of aima.core.logic.propositional.parsing.ast.Sentence

Copyright © 2018 www.massapicom. 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.