org.sat4j.minisat.core
Interface DataStructureFactory
- All Known Subinterfaces:
- PBDataStructureFactory
- All Known Implementing Classes:
- AbstractCardinalityDataStructure, AbstractDataStructureFactory, AbstractPBClauseCardConstrDataStructure, AbstractPBDataStructureFactory, CardinalityDataStructure, CardinalityDataStructureYanMax, CardinalityDataStructureYanMin, ClausalDataStructureWL, CompetMinHTmixedClauseCardConstrDataStructureFactory, CompetResolutionMinPBLongMixedWLClauseCardConstrDataStructure, CompetResolutionPBLongMixedHTClauseCardConstrDataStructure, CompetResolutionPBLongMixedWLClauseCardConstrDataStructure, CompetResolutionPBMixedHTClauseCardConstrDataStructure, CompetResolutionPBMixedWLClauseCardConstrDataStructure, MixedDataStructureDanielHT, MixedDataStructureDanielWL, MixedDataStructureSingleWL, PBLongMaxClauseCardConstrDataStructure, PBLongMinClauseCardConstrDataStructure, PBMaxClauseAtLeastConstrDataStructure, PBMaxClauseCardConstrDataStructure, PBMaxDataStructure, PBMinClauseCardConstrDataStructure, PBMinDataStructure, PuebloPBMinClauseAtLeastConstrDataStructure, PuebloPBMinClauseCardConstrDataStructure, PuebloPBMinDataStructure
public interface DataStructureFactory
The aim of the factory is to provide a concrete implementation of clauses,
cardinality constraints and pseudo boolean consraints.
- Author:
- leberre
createClause
Constr createClause(IVecInt literals)
throws ContradictionException
- Parameters:
literals
- a set of literals using Dimacs format (signed non null
integers).
- Returns:
- null if the constraint is a tautology.
- Throws:
ContradictionException
- the constraint is trivially unsatisfiable.
UnsupportedOperationException
- there is no concrete implementation for that constraint.
createUnregisteredClause
Constr createUnregisteredClause(IVecInt literals)
learnConstraint
void learnConstraint(Constr constr)
createCardinalityConstraint
Constr createCardinalityConstraint(IVecInt literals,
int degree)
throws ContradictionException
- Create a cardinality constraint of the form sum li >= degree.
- Parameters:
literals
- a set of literals.degree
- the degree of the cardinality constraint.
- Returns:
- a constraint stating that at least degree literals are satisfied.
- Throws:
ContradictionException
setUnitPropagationListener
void setUnitPropagationListener(UnitPropagationListener s)
setLearner
void setLearner(Learner l)
reset
void reset()
getVocabulary
ILits getVocabulary()
getWatchesFor
IVec<Propagatable> getWatchesFor(int p)
- Parameters:
p
-
- Returns:
- a vector containing all the objects to be notified of the
satisfaction of that literal.
conflictDetectedInWatchesFor
void conflictDetectedInWatchesFor(int p,
int i)
- Parameters:
p
- i
- the index of the conflicting constraint
Copyright © 2011 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.