public class CDCL
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
AbstractActivity |
activity |
java.util.ArrayList<Clause> |
addLater |
protected Clause |
addLaterUnitClause |
java.util.ArrayList<Clause> |
addUnit |
IAnalyseConflict |
analyseConflict |
ClauseSet |
instance |
int |
lvl |
protected IUnitPropagation |
propagation |
protected boolean |
set |
java.util.Stack<Variable> |
stack |
Constructor and Description |
---|
CDCL(ClauseSet set) |
CDCL(ClauseSet set,
AbstractActivity activity,
IUnitPropagation unitPropagation,
IAnalyseConflict analyseConflict) |
Modifier and Type | Method and Description |
---|---|
Solution |
addNextAndContinue(long timeout,
Clause c) |
int |
computeBacktrackLevel(Clause newClause)
Zweithoechste lvl der variablen in newClause
|
void |
removeClause(Clause c) |
void |
reset()
Removes all learned Clauses, sets lvl to 0 but keeps activity values for variables
|
Clause |
resolve(Clause c1,
Clause c2)
Resolviert zwei Klauseln
|
Clause |
resolve2(Clause c1,
Clause newClause,
int v) |
Clause |
resolveC1Begin(Clause c1,
Clause c2)
Resolviert zwei Klauseln wobei c1.literals[0] negiert in c2.literals
vorkommen muss.
|
void |
resolveIfShortsClause(Clause newClause)
Fuer jedes literal in der neuen Clausel wird untersucht ob eine
Resolution mit dem grund fuer die Variable die Clausel verkleinern
wuerde.
|
void |
setValues(int countTill,
int clauseLimit,
double actReduction,
double actGain,
double initActGain,
double clActGain,
int restardValue1,
int restardValue2,
int restardValue3,
double pRestardMultiplikator) |
Solution |
solve(long timeout) |
public ClauseSet instance
public java.util.Stack<Variable> stack
public int lvl
public java.util.ArrayList<Clause> addLater
public java.util.ArrayList<Clause> addUnit
protected Clause addLaterUnitClause
public final AbstractActivity activity
protected final IUnitPropagation propagation
public final IAnalyseConflict analyseConflict
protected boolean set
public CDCL(ClauseSet set)
public CDCL(ClauseSet set, AbstractActivity activity, IUnitPropagation unitPropagation, IAnalyseConflict analyseConflict)
public Clause resolve(Clause c1, Clause c2)
c1
- c2
- public void removeClause(Clause c)
public Clause resolveC1Begin(Clause c1, Clause c2)
c1
- c2
- public void resolveIfShortsClause(Clause newClause)
newClause
- public int computeBacktrackLevel(Clause newClause)
newClause
- public Solution solve(long timeout)
public void setValues(int countTill, int clauseLimit, double actReduction, double actGain, double initActGain, double clActGain, int restardValue1, int restardValue2, int restardValue3, double pRestardMultiplikator)
public void reset()