Modifier and Type | Field and Description |
---|---|
protected int[] |
literals |
Constructor and Description |
---|
UnitClauses(IVecInt values) |
Modifier and Type | Method and Description |
---|---|
void |
assertConstraint(UnitPropagationListener s)
Method called when the constraint is to be asserted.
|
void |
assertConstraintIfNeeded(UnitPropagationListener s)
Method called when the constraint is added to the solver "on the fly".
|
void |
calcReason(int p,
IVecInt outReason)
Compute the reason for a given assignment.
|
void |
calcReasonOnTheFly(int p,
IVecInt trail,
IVecInt outReason)
Compute the reason for a given assignment in a the constraint created on
the fly in the solver.
|
boolean |
canBePropagatedMultipleTimes()
Partition constraints into the ones that can only be found once on the
trail (e.g. clauses) and the ones that can be found several times (e.g.
|
void |
forwardActivity(double claInc) |
int |
get(int i)
returns the ith literal in the constraint
|
double |
getActivity()
To obtain the activity of the constraint.
|
void |
incActivity(double claInc)
Increase the constraint activity.
|
boolean |
learnt() |
boolean |
locked()
Indicate wether a constraint is responsible from an assignment.
|
boolean |
propagate(UnitPropagationListener s,
int p) |
void |
register()
Register the constraint to the solver.
|
void |
remove(UnitPropagationListener upl)
Remove a constraint from the solver.
|
void |
rescaleBy(double d)
Rescale the clause activity by a value.
|
void |
setActivity(double claInc)
Set the activity at a specific value
|
void |
setLearnt()
Mark a constraint as learnt.
|
boolean |
simplify()
Simplifies a constraint, by removing top level falsified literals for
instance.
|
int |
size() |
public UnitClauses(IVecInt values)
public void assertConstraint(UnitPropagationListener s)
Constr
assertConstraint
in interface Constr
s
- a UnitPropagationListener to use for unit propagation.public void assertConstraintIfNeeded(UnitPropagationListener s)
Constr
Constr.assertConstraint(UnitPropagationListener)
method.assertConstraintIfNeeded
in interface Constr
s
- a UnitPropagationListener to use for unit propagation.public void calcReason(int p, IVecInt outReason)
Constr
Propagatable.propagate(UnitPropagationListener, int)
.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 double getActivity()
IConstr
getActivity
in interface IConstr
public void incActivity(double claInc)
Constr
incActivity
in interface Constr
claInc
- the value to increase the activity withpublic void setActivity(double claInc)
Constr
setActivity
in interface Constr
claInc
- the new activitypublic boolean locked()
Constr
public void register()
Constr
public void remove(UnitPropagationListener upl)
Constr
public void rescaleBy(double d)
Constr
public void setLearnt()
Constr
public boolean simplify()
Constr
public boolean propagate(UnitPropagationListener s, int p)
public int get(int i)
IConstr
public boolean learnt()
public int size()
public void forwardActivity(double claInc)
forwardActivity
in interface Constr
public boolean canBePropagatedMultipleTimes()
IConstr
canBePropagatedMultipleTimes
in interface IConstr
public void calcReasonOnTheFly(int p, IVecInt trail, IVecInt outReason)
Constr
Constr.calcReason(int, IVecInt)
, the falsification may not have been
detected as soon as possible. As such, it is necessary to take into
account the order of the literals in the trail.calcReasonOnTheFly
in interface Constr
p
- a satisfied literal (or Lit.UNDEFINED)trail
- all the literals satisfied in the solvers, should not be
modified.outReason
- a list of falsified literals whose negation is the reason of
the assignment of p to true.Copyright © 2013 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.