|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.sat4j.minisat.constraints.cnf.WLClause
public abstract class WLClause
Lazy data structure for clause using Watched Literals.
Field Summary | |
---|---|
protected int[] |
lits
|
protected ILits |
voc
|
Constructor Summary | |
---|---|
WLClause(IVecInt ps,
ILits voc)
Creates a new basic clause |
Method Summary | |
---|---|
void |
assertConstraint(UnitPropagationListener s)
Method called when the constraint is to be asserted. |
static WLClause |
brandNewClause(UnitPropagationListener s,
ILits voc,
IVecInt literals)
Creates a brand new clause, presumably from external data. |
void |
calcReason(int p,
IVecInt outReason)
Compute the reason for a given assignment. |
int |
get(int i)
Retourne le ieme literal de la clause. |
double |
getActivity()
To obtain the activity of the constraint. |
int[] |
getLits()
|
ILits |
getVocabulary()
|
void |
incActivity(double claInc)
Increase the constraint activity. |
boolean |
locked()
Indicate wether a constraint is responsible from an assignment. |
boolean |
propagate(UnitPropagationListener s,
int p)
Propagate the truth value of a literal in constraints in which that literal is falsified. |
void |
remove()
Remove a constraint from the solver. |
void |
rescaleBy(double d)
Rescale the clause activity by a value. |
static IVecInt |
sanityCheck(IVecInt ps,
ILits voc,
UnitPropagationListener s)
Perform some sanity check before constructing a clause a) if a literal is assigned true, return null (the clause is satisfied) b) if a literal is assigned false, remove it c) if a clause contains a literal and its opposite (tautology) return null d) remove duplicate literals e) if the clause is empty, return null f) if the clause if unit, transmit it to the object responsible for unit propagation |
boolean |
simplify()
Simplifies a constraint, by removing top level falsified literals for instance. |
int |
size()
|
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.sat4j.minisat.core.Constr |
---|
register, setLearnt |
Methods inherited from interface org.sat4j.specs.IConstr |
---|
learnt |
Field Detail |
---|
protected final int[] lits
protected final ILits voc
Constructor Detail |
---|
public WLClause(IVecInt ps, ILits voc)
voc
- the vocabulary of the formulaps
- A VecInt that WILL BE EMPTY after calling that method.Method Detail |
---|
public static IVecInt sanityCheck(IVecInt ps, ILits voc, UnitPropagationListener s) throws ContradictionException
ps
- the list of literalsvoc
- the vocabulary useds
- the object responsible for unit propagation
ContradictionException
- if discovered by unit propagationpublic static WLClause brandNewClause(UnitPropagationListener s, ILits voc, IVecInt literals)
s
- the object responsible for unit propagationvoc
- the vocabularyliterals
- the literals to store in the clause
public void calcReason(int p, IVecInt outReason)
Constr
calcReason
in interface Constr
p
- a satisfied literal (or Lit.UNDEFINED)outReason
- the list of falsified literals whose negation is the reason of
the assignment of p to true.public void remove()
Constr
remove
in interface Constr
public boolean simplify()
Constr
simplify
in interface Constr
public boolean propagate(UnitPropagationListener s, int p)
Propagatable
propagate
in interface Propagatable
s
- something able to perform unit propagationp
- the literal being propagated. Its negation must appear in the
constraint.
public boolean locked()
Constr
locked
in interface Constr
public double getActivity()
Constr
getActivity
in interface Constr
public java.lang.String toString()
toString
in class java.lang.Object
public int get(int i)
get
in interface IConstr
i
- the index of the literal
public void incActivity(double claInc)
Constr
incActivity
in interface Constr
claInc
- public void rescaleBy(double d)
Constr
rescaleBy
in interface Constr
d
- public int size()
size
in interface IConstr
public void assertConstraint(UnitPropagationListener s)
Constr
assertConstraint
in interface Constr
s
- a UnitPropagationListener to use for unit propagation.public ILits getVocabulary()
public int[] getLits()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |