Search in sources :

Example 46 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method naryNoGoodPropagatesTrueFromTrue.

@Test
public void naryNoGoodPropagatesTrueFromTrue() {
    NoGood noGood = headFirst(-1, 2, -3);
    assertNull(store.add(10, noGood));
    assertTrue(assignment.assign(3, FALSE));
    store.propagate();
    assertTrue(assignment.assign(2, TRUE));
    store.propagate();
    assertTrue(TRUE.equals(assignment.getTruth(1)));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 47 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method naryNoGoodPropagatesTrueFromFalse.

@Test
public void naryNoGoodPropagatesTrueFromFalse() {
    NoGood noGood = headFirst(-1, 2, -3);
    assertNull(store.add(10, noGood));
    assertTrue(assignment.assign(2, TRUE));
    store.propagate();
    assertTrue(assignment.assign(3, FALSE));
    store.propagate();
    assertTrue(TRUE.equals(assignment.getTruth(1)));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 48 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method propagationAtLowerDecisionLevel.

@Test
public void propagationAtLowerDecisionLevel() {
    NoGood noGood = headFirst(-1, 2, -3);
    assertTrue(assignment.guess(3, FALSE));
    assertTrue(assignment.guess(2, TRUE));
    assertTrue(assignment.guess(4, TRUE));
    assertNull(store.add(10, noGood));
    store.propagate();
    assertTrue(TRUE.equals(assignment.getTruth(1)));
    Assignment.Entry entry = assignment.get(1);
    assertTrue(TRUE.equals(entry.getTruth()));
    assertEquals(2, entry.getDecisionLevel());
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 49 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class NoGoodStoreAlphaRoamingTest method propagateViolatedConstraintHeadlessMbt.

@Test
public void propagateViolatedConstraintHeadlessMbt() {
    NoGood noGood = new NoGood(3, 11, 19);
    assertNull(store.add(24, noGood));
    assertTrue(assignment.assign(3, MBT));
    assertTrue(assignment.assign(11, MBT));
    assertTrue(assignment.assign(19, MBT));
    assertFalse(store.propagate());
    assertNotNull(store.getViolatedNoGood());
    assertEquals(noGood, new NoGood(store.getViolatedNoGood()));
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Example 50 with NoGood

use of at.ac.tuwien.kr.alpha.common.NoGood in project Alpha by alpha-asp.

the class BerkMinTest method countMixedLiteralsTwice.

@Test
public void countMixedLiteralsTwice() {
    NoGood violatedNoGood = new NoGood(1, -2);
    berkmin.violatedNoGood(violatedNoGood);
    berkmin.analyzedConflict(pseudo(violatedNoGood));
    berkmin.violatedNoGood(violatedNoGood);
    berkmin.analyzedConflict(pseudo(violatedNoGood));
    assertEquals(2, berkmin.getActivity(1), EPSILON);
    assertEquals(2, berkmin.getActivity(-2), EPSILON);
}
Also used : NoGood(at.ac.tuwien.kr.alpha.common.NoGood) Test(org.junit.Test)

Aggregations

NoGood (at.ac.tuwien.kr.alpha.common.NoGood)50 Test (org.junit.Test)41 AnswerSet (at.ac.tuwien.kr.alpha.common.AnswerSet)1 BooleanAssignmentReader (at.ac.tuwien.kr.alpha.grounder.BooleanAssignmentReader)1 ConflictAnalysisResult (at.ac.tuwien.kr.alpha.solver.GroundConflictNoGoodLearner.ConflictAnalysisResult)1