public class ImprovedBacktrackingStrategy extends BacktrackingStrategy
Modifier and Type | Class and Description |
---|---|
static class |
ImprovedBacktrackingStrategy.Inference |
static class |
ImprovedBacktrackingStrategy.Selection |
Modifier and Type | Field and Description |
---|---|
protected ImprovedBacktrackingStrategy.Inference |
inferenceStrategy |
protected boolean |
isLCVHeuristicEnabled |
protected ImprovedBacktrackingStrategy.Selection |
selectionStrategy |
Constructor and Description |
---|
ImprovedBacktrackingStrategy()
Creates a strategy which is by default equivalent to plain backtracking.
|
ImprovedBacktrackingStrategy(boolean enableMRV,
boolean enableDeg,
boolean enableAC3,
boolean enableLCV)
Creates a backtracking strategy with the specified features.
|
Modifier and Type | Method and Description |
---|---|
void |
enableLCV(boolean state)
Selects the least constraining value heuristic as implementation for
ORDER-DOMAIN-VALUES.
|
protected DomainRestoreInfo |
inference(Variable var,
Assignment assignment,
CSP csp)
Primitive operation, which tries to prune out values from the CSP which
are not possible anymore when extending the given assignment to a
solution.
|
protected java.lang.Iterable<?> |
orderDomainValues(Variable var,
Assignment assignment,
CSP csp)
Primitive operation, ordering the domain values of the specified
variable.
|
protected Variable |
selectUnassignedVariable(Assignment assignment,
CSP csp)
Primitive operation, selecting a not yet assigned variable.
|
void |
setInference(ImprovedBacktrackingStrategy.Inference iStrategy)
Selects the algorithm for INFERENCE.
|
void |
setVariableSelection(ImprovedBacktrackingStrategy.Selection sStrategy)
Selects the algorithm for SELECT-UNASSIGNED-VARIABLE
|
Assignment |
solve(CSP csp)
Starts with a constraint propagation if AC-3 is enabled and then calls
the super class implementation.
|
addCSPStateListener, fireStateChanged, fireStateChanged, removeCSPStateListener
protected ImprovedBacktrackingStrategy.Selection selectionStrategy
protected ImprovedBacktrackingStrategy.Inference inferenceStrategy
protected boolean isLCVHeuristicEnabled
public ImprovedBacktrackingStrategy()
public ImprovedBacktrackingStrategy(boolean enableMRV, boolean enableDeg, boolean enableAC3, boolean enableLCV)
public void setVariableSelection(ImprovedBacktrackingStrategy.Selection sStrategy)
public void setInference(ImprovedBacktrackingStrategy.Inference iStrategy)
public void enableLCV(boolean state)
public Assignment solve(CSP csp)
solve
in class BacktrackingStrategy
csp
- a CSP to solveprotected Variable selectUnassignedVariable(Assignment assignment, CSP csp)
selectUnassignedVariable
in class BacktrackingStrategy
protected java.lang.Iterable<?> orderDomainValues(Variable var, Assignment assignment, CSP csp)
orderDomainValues
in class BacktrackingStrategy
protected DomainRestoreInfo inference(Variable var, Assignment assignment, CSP csp)
inference
in class BacktrackingStrategy