Package aima.core.logic.propositional.algorithms

Examples of aima.core.logic.propositional.algorithms.KnowledgeBase


    }
  }

  @Test
  public void testAIMAExample() {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell(" (P => Q)");
    kb.tell("((L AND M) => P)");
    kb.tell("((B AND L) => M)");
    kb.tell("( (A AND P) => L)");
    kb.tell("((A AND B) => L)");
    kb.tell("(A)");
    kb.tell("(B)");
    WalkSAT walkSAT = new WalkSAT();
    Model m = walkSAT.findModelFor(kb.asSentence().toString(), 1000, 0.5);
    if (m == null) {
      System.out.println("failure");
    } else {
      m.print();
    }
View Full Code Here


    Assert.assertEquals(false, satisfiable);
  }

  @Test
  public void testDPLLSucceedsWithChadCarffsBugReport() {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell("(B12 <=> (P11 OR (P13 OR (P22 OR P02))))");
    kb.tell("(B21 <=> (P20 OR (P22 OR (P31 OR P11))))");
    kb.tell("(B01 <=> (P00 OR (P02 OR P11)))");
    kb.tell("(B10 <=> (P11 OR (P20 OR P00)))");
    kb.tell("(NOT B21)");
    kb.tell("(NOT B12)");
    kb.tell("(B10)");
    kb.tell("(B01)");
    Assert.assertTrue(kb.askWithDpll("(P00)"));
    Assert.assertFalse(kb.askWithDpll("(NOT P00)"));
  }
View Full Code Here

    Assert.assertTrue(dpll.dpllSatisfiable(sentence));
  }

  @Test
  public void testDPLLSucceedsWithChadCarffsBugReport2() {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell("(B10 <=> (P11 OR (P20 OR P00)))");
    kb.tell("(B01 <=> (P00 OR (P02 OR P11)))");
    kb.tell("(B21 <=> (P20 OR (P22 OR (P31 OR P11))))");
    kb.tell("(B12 <=> (P11 OR (P13 OR (P22 OR P02))))");
    kb.tell("(NOT B21)");
    kb.tell("(NOT B12)");
    kb.tell("(B10)");
    kb.tell("(B01)");
    Assert.assertTrue(kb.askWithDpll("(P00)"));
    Assert.assertFalse(kb.askWithDpll("(NOT P00)"));
  }
View Full Code Here

    Assert.assertTrue(dpll.dpllSatisfiable(sentence, model));
  }

  @Test
  public void testDoesNotKnow() {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell("A");

    Assert.assertFalse(kb.askWithDpll("B"));
    Assert.assertFalse(kb.askWithDpll("(NOT B)"));
  }
View Full Code Here

  @Test
  public void testMultipleClauseResolution() {
    // test (and fix) suggested by Huy Dinh. Thanks Huy!
    PLResolution plr = new PLResolution();
    KnowledgeBase kb = new KnowledgeBase();
    String fact = "((B11 <=> (P12 OR P21)) AND (NOT B11))";
    kb.tell(fact);
    plr.plResolution(kb, "(B)");
  }
View Full Code Here

public class KnowledgeBaseTest {
  private KnowledgeBase kb;

  @Before
  public void setUp() {
    kb = new KnowledgeBase();
  }
View Full Code Here

  KnowledgeBase kb;

  @Before
  public void setUp() {
    tte = new TTEntails();
    kb = new KnowledgeBase();
  }
View Full Code Here

    Assert.assertEquals(false, kb.askWithTTEntails("P22"));
  }

  @Test
  public void testTTEntailsSucceedsWithChadCarffsBugReport() {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell("(B12 <=> (P11 OR (P13 OR (P22 OR P02))))");
    kb.tell("(B21 <=> (P20 OR (P22 OR (P31 OR P11))))");
    kb.tell("(B01 <=> (P00 OR (P02 OR P11)))");
    kb.tell("(B10 <=> (P11 OR (P20 OR P00)))");
    kb.tell("(NOT B21)");
    kb.tell("(NOT B12)");
    kb.tell("(B10)");
    kb.tell("(B01)");

    Assert.assertTrue(kb.askWithTTEntails("(P00)"));
    Assert.assertFalse(kb.askWithTTEntails("(NOT P00)"));
  }
View Full Code Here

    Assert.assertFalse(kb.askWithTTEntails("(NOT P00)"));
  }

  @Test
  public void testDoesNotKnow() {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell("A");
    Assert.assertFalse(kb.askWithTTEntails("B"));
    Assert.assertFalse(kb.askWithTTEntails("(NOT B)"));
  }
View Full Code Here

* @author Ravi Mohan
*
*/
public class TTEntailsDemo {
  public static void main(String[] args) {
    KnowledgeBase kb = new KnowledgeBase();
    kb.tell("(B12 <=> (P11 OR (P13 OR (P22 OR P02))))");
    kb.tell("(B21 <=> (P20 OR (P22 OR (P31 OR P11))))");
    kb.tell("(B01 <=> (P00 OR (P02 OR P11)))");
    kb.tell("(B10 <=> (P11 OR (P20 OR P00)))");
    kb.tell("(NOT B21)");
    kb.tell("(NOT B12)");
    kb.tell("(B10)");
    kb.tell("(B01)");

    System.out.println("\nTTEntailsDemo\n");
    System.out.println("(B12 <=> (P11 OR (P13 OR (P22 OR P02))))");
    System.out.println("(B21 <=> (P20 OR (P22 OR (P31 OR P11))))");
    System.out.println("(B01 <=> (P00 OR (P02 OR P11)))");
View Full Code Here

TOP

Related Classes of aima.core.logic.propositional.algorithms.KnowledgeBase

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.