Search in sources :

Example 6 with Grounder

use of at.ac.tuwien.kr.alpha.grounder.Grounder in project Alpha by alpha-asp.

the class SolverTests method testFactsOnlyProgram.

@Test
public void testFactsOnlyProgram() throws IOException {
    String testProgram = "p(a). p(b). foo(13). foo(16). q(a). q(c).";
    ParsedProgram parsedProgram = parseVisit(testProgram);
    Grounder grounder = new NaiveGrounder(parsedProgram);
    Solver solver = getInstance(grounder);
    List<AnswerSet> answerSets = solver.collectList();
    assertEquals(1, answerSets.size());
    AnswerSet expected = new BasicAnswerSet.Builder().predicate("q").instance("a").instance("c").predicate("p").instance("a").instance("b").predicate("foo").instance("13").instance("16").build();
    assertEquals(expected, answerSets.get(0));
}
Also used : NaiveGrounder(at.ac.tuwien.kr.alpha.grounder.NaiveGrounder) ParsedProgram(at.ac.tuwien.kr.alpha.grounder.parser.ParsedProgram) BasicAnswerSet(at.ac.tuwien.kr.alpha.common.BasicAnswerSet) AnswerSet(at.ac.tuwien.kr.alpha.common.AnswerSet) ChoiceGrounder(at.ac.tuwien.kr.alpha.grounder.ChoiceGrounder) DummyGrounder(at.ac.tuwien.kr.alpha.grounder.DummyGrounder) Grounder(at.ac.tuwien.kr.alpha.grounder.Grounder) NaiveGrounder(at.ac.tuwien.kr.alpha.grounder.NaiveGrounder) Test(org.junit.Test)

Example 7 with Grounder

use of at.ac.tuwien.kr.alpha.grounder.Grounder in project Alpha by alpha-asp.

the class SolverTests method testSimpleRule.

@Test
public void testSimpleRule() throws Exception {
    String testProgram = "p(a). p(b). r(X) :- p(X).";
    ParsedProgram parsedProgram = parseVisit(testProgram);
    Grounder grounder = new NaiveGrounder(parsedProgram);
    Solver solver = getInstance(grounder);
    List<AnswerSet> answerSets = solver.collectList();
    AnswerSet expected = new BasicAnswerSet.Builder().predicate("p").instance("a").instance("b").predicate("r").instance("a").instance("b").build();
    assertEquals(1, answerSets.size());
    assertEquals(expected, answerSets.get(0));
}
Also used : BasicAnswerSet(at.ac.tuwien.kr.alpha.common.BasicAnswerSet) NaiveGrounder(at.ac.tuwien.kr.alpha.grounder.NaiveGrounder) ParsedProgram(at.ac.tuwien.kr.alpha.grounder.parser.ParsedProgram) BasicAnswerSet(at.ac.tuwien.kr.alpha.common.BasicAnswerSet) AnswerSet(at.ac.tuwien.kr.alpha.common.AnswerSet) ChoiceGrounder(at.ac.tuwien.kr.alpha.grounder.ChoiceGrounder) DummyGrounder(at.ac.tuwien.kr.alpha.grounder.DummyGrounder) Grounder(at.ac.tuwien.kr.alpha.grounder.Grounder) NaiveGrounder(at.ac.tuwien.kr.alpha.grounder.NaiveGrounder) Test(org.junit.Test)

Example 8 with Grounder

use of at.ac.tuwien.kr.alpha.grounder.Grounder in project Alpha by alpha-asp.

the class SolverTests method testSimpleRuleWithGroundPart.

@Test
public void testSimpleRuleWithGroundPart() throws Exception {
    String testProgram = "p(1)." + "p(2)." + "q(X) :-  p(X), p(1).";
    ParsedProgram parsedProgram = parseVisit(testProgram);
    Grounder grounder = new NaiveGrounder(parsedProgram);
    Solver solver = getInstance(grounder);
    List<AnswerSet> answerSets = solver.collectList();
    assertEquals(1, answerSets.size());
    AnswerSet expected = new BasicAnswerSet.Builder().predicate("q").instance("1").instance("2").predicate("p").instance("1").instance("2").build();
    assertEquals(expected, answerSets.get(0));
}
Also used : BasicAnswerSet(at.ac.tuwien.kr.alpha.common.BasicAnswerSet) NaiveGrounder(at.ac.tuwien.kr.alpha.grounder.NaiveGrounder) ParsedProgram(at.ac.tuwien.kr.alpha.grounder.parser.ParsedProgram) BasicAnswerSet(at.ac.tuwien.kr.alpha.common.BasicAnswerSet) AnswerSet(at.ac.tuwien.kr.alpha.common.AnswerSet) ChoiceGrounder(at.ac.tuwien.kr.alpha.grounder.ChoiceGrounder) DummyGrounder(at.ac.tuwien.kr.alpha.grounder.DummyGrounder) Grounder(at.ac.tuwien.kr.alpha.grounder.Grounder) NaiveGrounder(at.ac.tuwien.kr.alpha.grounder.NaiveGrounder) Test(org.junit.Test)

Aggregations

Grounder (at.ac.tuwien.kr.alpha.grounder.Grounder)8 AnswerSet (at.ac.tuwien.kr.alpha.common.AnswerSet)7 ParsedProgram (at.ac.tuwien.kr.alpha.grounder.parser.ParsedProgram)7 BasicAnswerSet (at.ac.tuwien.kr.alpha.common.BasicAnswerSet)6 ChoiceGrounder (at.ac.tuwien.kr.alpha.grounder.ChoiceGrounder)6 DummyGrounder (at.ac.tuwien.kr.alpha.grounder.DummyGrounder)6 NaiveGrounder (at.ac.tuwien.kr.alpha.grounder.NaiveGrounder)6 Test (org.junit.Test)6 Heuristic (at.ac.tuwien.kr.alpha.solver.heuristics.BranchingHeuristicFactory.Heuristic)2 java.util (java.util)2 ASPCore2Lexer (at.ac.tuwien.kr.alpha.antlr.ASPCore2Lexer)1 ASPCore2Parser (at.ac.tuwien.kr.alpha.antlr.ASPCore2Parser)1 Predicate (at.ac.tuwien.kr.alpha.common.Predicate)1 GrounderFactory (at.ac.tuwien.kr.alpha.grounder.GrounderFactory)1 ParsedTreeVisitor (at.ac.tuwien.kr.alpha.grounder.parser.ParsedTreeVisitor)1 IdentityProgramTransformation (at.ac.tuwien.kr.alpha.grounder.transformation.IdentityProgramTransformation)1 Solver (at.ac.tuwien.kr.alpha.solver.Solver)1 SolverFactory (at.ac.tuwien.kr.alpha.solver.SolverFactory)1 java.io (java.io)1 Function (java.util.function.Function)1