Package | Description |
---|---|
org.sat4j |
Contains a command line launcher for the SAT solvers.
|
org.sat4j.core |
Implementation of the data structures available in org.sat4j.specs.
|
org.sat4j.minisat |
Implementation of the MiniSAT specification in Java.
|
org.sat4j.minisat.core |
Implementation of the MiniSAT solver skeleton.
|
org.sat4j.opt |
Built-in optimization framework.
|
org.sat4j.reader |
Some utility classes to read problems from plain text files.
|
org.sat4j.specs |
Those classes are intended for users dealing with SAT solvers as black boxes.
|
org.sat4j.tools |
Tools to be used on top of an
ISolver . |
org.sat4j.tools.encoding |
Implementation of different encodings.
|
org.sat4j.tools.xplain |
Implementation of an explanation engine in case of unsatisfiability.
|
Modifier and Type | Class and Description |
---|---|
class |
BasicLauncher<T extends ISolver>
Very simple launcher, to be used during the SAT competition or the SAT race
for instance.
|
Modifier and Type | Field and Description |
---|---|
protected ISolver |
AbstractLauncher.solver |
Modifier and Type | Method and Description |
---|---|
protected <T extends ISolver> |
AbstractLauncher.showAvailableSolvers(ASolverFactory<T> afactory) |
protected <T extends ISolver> |
AbstractLauncher.showAvailableSolvers(ASolverFactory<T> afactory,
String framework) |
Modifier and Type | Method and Description |
---|---|
protected abstract ISolver |
AbstractLauncher.configureSolver(String[] args) |
protected ISolver |
BasicLauncher.configureSolver(String[] args) |
protected ISolver |
MUSLauncher.configureSolver(String[] args) |
ISolver |
LightFactory.defaultSolver() |
ISolver |
LightFactory.lightSolver() |
Modifier and Type | Method and Description |
---|---|
protected abstract Reader |
AbstractLauncher.createReader(ISolver theSolver,
String problemname) |
protected Reader |
BasicLauncher.createReader(ISolver theSolver,
String problemname) |
protected Reader |
MUSLauncher.createReader(ISolver theSolver,
String problemname) |
void |
ILauncherMode.displayResult(ISolver solver,
IProblem problem,
ILogAble logger,
PrintWriter out,
Reader reader,
long beginTime,
boolean displaySolutionLine)
Output of the launcher when the solver stops
|
Modifier and Type | Class and Description |
---|---|
class |
ASolverFactory<T extends ISolver>
A solver factory is responsible for providing prebuilt solvers to the end
user.
|
Modifier and Type | Method and Description |
---|---|
void |
ConstrGroup.removeFrom(ISolver solver) |
Modifier and Type | Method and Description |
---|---|
ISolver |
SolverFactory.defaultSolver() |
ISolver |
SolverFactory.lightSolver() |
static ISolver |
SolverFactory.newDefault()
Default solver of the SolverFactory.
|
static ISolver |
SolverFactory.newDimacsOutput() |
static ISolver |
SolverFactory.newLight()
Small footprint SAT solver.
|
static ISolver |
SolverFactory.newMinOneSolver() |
static ISolver |
SolverFactory.newStatistics() |
Modifier and Type | Interface and Description |
---|---|
interface |
ICDCL<D extends DataStructureFactory>
Abstraction for Conflict Driven Clause Learning Solver.
|
Modifier and Type | Class and Description |
---|---|
class |
Solver<D extends DataStructureFactory>
The backbone of the library providing the modular implementation of a MiniSAT
(Chaff) like solver.
|
Modifier and Type | Method and Description |
---|---|
ISolver |
Solver.getSolvingEngine() |
Modifier and Type | Class and Description |
---|---|
class |
AbstractSelectorVariablesDecorator
Abstract class which adds a new "selector" variable for each clause entered
in the solver.
|
class |
MaxSatDecorator
Computes a solution that satisfies the maximum of clauses.
|
class |
MinOneDecorator
Computes a solution with the smallest number of satisfied literals.
|
Constructor and Description |
---|
AbstractSelectorVariablesDecorator(ISolver solver) |
MaxSatDecorator(ISolver solver) |
MaxSatDecorator(ISolver solver,
boolean equivalence) |
MinOneDecorator(ISolver solver) |
Modifier and Type | Class and Description |
---|---|
class |
JSONReader<S extends ISolver>
Simple JSON reader for clauses and cardinality constraints.
|
Modifier and Type | Field and Description |
---|---|
protected S |
JSONReader.solver |
protected ISolver |
DimacsReader.solver |
Modifier and Type | Method and Description |
---|---|
protected ISolver |
DimacsReader.getSolver() |
ISolver |
JSONReader.parseString(String json) |
Constructor and Description |
---|
DimacsReader(ISolver solver) |
DimacsReader(ISolver solver,
String format) |
InstanceReader(ISolver solver) |
LecteurDimacs(ISolver s) |
Modifier and Type | Interface and Description |
---|---|
interface |
IGroupSolver
Represents a CNF in which clauses are grouped into levels.
|
Modifier and Type | Method and Description |
---|---|
ISolver |
ISolver.getSolvingEngine()
Retrieve the real engine in case the engine is decorated by one or
several decorator.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractClauseSelectorSolver<T extends ISolver> |
class |
ClausalCardinalitiesDecorator<T extends ISolver>
A decorator for clausal cardinalities constraints.
|
class |
FullClauseSelectorSolver<T extends ISolver> |
class |
GroupClauseSelectorSolver<T extends ISolver> |
class |
LexicoDecorator<T extends ISolver> |
class |
ManyCore<S extends ISolver>
A class allowing to run several solvers in parallel.
|
class |
NegationDecorator<T extends ISolver>
Negates the formula inside a solver.
|
class |
SolverDecorator<T extends ISolver>
The aim of that class is to allow adding dynamic responsibilities to SAT
solvers using the Decorator design pattern.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractClauseSelectorSolver<T extends ISolver> |
class |
AbstractMinimalModel |
class |
AbstractOutputSolver |
class |
ClausalCardinalitiesDecorator<T extends ISolver>
A decorator for clausal cardinalities constraints.
|
class |
DimacsOutputSolver
Solver used to display in a writer the CNF instance in Dimacs format.
|
class |
DimacsStringSolver
Solver used to write down a CNF into a String.
|
class |
FullClauseSelectorSolver<T extends ISolver> |
class |
GateTranslator
Utility class to easily feed a SAT solver using logical gates.
|
class |
GroupClauseSelectorSolver<T extends ISolver> |
class |
LexicoDecorator<T extends ISolver> |
class |
ManyCore<S extends ISolver>
A class allowing to run several solvers in parallel.
|
class |
Minimal4CardinalityModel
Computes models with a minimal number (with respect to cardinality) of
negative literals.
|
class |
Minimal4InclusionModel
Computes models with a minimal subset (with respect to set inclusion) of
negative literals.
|
class |
ModelIterator
That class allows to iterate through all the models (implicants) of a
formula.
|
class |
ModelIteratorToSATAdapter
This class allow to use the ModelIterator class as a solver.
|
class |
NegationDecorator<T extends ISolver>
Negates the formula inside a solver.
|
class |
OptToSatAdapter |
class |
SingleSolutionDetector
This solver decorator allows to detect whether or not the set of constraints
available in the solver has only one solution or not.
|
class |
SolutionCounter
Another solver decorator that counts the number of solutions.
|
class |
SolverDecorator<T extends ISolver>
The aim of that class is to allow adding dynamic responsibilities to SAT
solvers using the Decorator design pattern.
|
class |
StatisticsSolver |
Modifier and Type | Field and Description |
---|---|
protected ISolver |
DimacsArrayReader.solver |
Modifier and Type | Method and Description |
---|---|
<T extends ISolver> |
AllMUSes.getSolverInstance()
Gets an instance of ISolver that can be used to compute all MUSes
|
Modifier and Type | Method and Description |
---|---|
protected ISolver |
DimacsArrayReader.getSolver() |
ISolver |
AbstractOutputSolver.getSolvingEngine() |
ISolver |
ManyCore.getSolvingEngine() |
ISolver |
StatisticsSolver.getSolvingEngine() |
ISolver |
SolverDecorator.getSolvingEngine() |
ISolver |
DimacsArrayReader.parseInstance(int[] gateType,
int[] outputs,
int[][] inputs,
int maxVar) |
Modifier and Type | Method and Description |
---|---|
static IVecInt |
RemiUtils.backbone(ISolver s)
Compute the set of literals common to all models of the formula.
|
static IVecInt |
Backbone.compute(ISolver solver)
Computes the backbone of a formula following the algorithm described in
João Marques-Silva, Mikolás Janota, Inês Lynce: On Computing Backbones of
Propositional Theories.
|
static IVecInt |
Backbone.compute(ISolver solver,
int[] implicant) |
static IVecInt |
Backbone.compute(ISolver solver,
int[] implicant,
IVecInt assumptions) |
static IVecInt |
Backbone.compute(ISolver solver,
IVecInt assumptions)
Computes the backbone of a formula following the algorithm described in
João Marques-Silva, Mikolás Janota, Inês Lynce: On Computing Backbones of
Propositional Theories.
|
static IVecInt |
AbstractMinimalModel.negativeLiterals(ISolver solver) |
static IVecInt |
AbstractMinimalModel.positiveLiterals(ISolver solver) |
Constructor and Description |
---|
AllMUSes(ASolverFactory<? extends ISolver> factory) |
AllMUSes(boolean group,
ASolverFactory<? extends ISolver> factory) |
CheckMUSSolutionListener(ASolverFactory<? extends ISolver> factory) |
Modifier and Type | Method and Description |
---|---|
IConstr |
Policy.addAtLeast(ISolver solver,
IVecInt literals,
int n) |
IConstr |
EncodingStrategyAdapter.addAtLeast(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
EncodingStrategyAdapter.addAtLeastOne(ISolver solver,
IVecInt literals) |
IConstr |
Sequential.addAtMost(ISolver solver,
IVecInt literals,
int k)
This encoding adds (n-1)*k variables (n is the number of variables in the
at most constraint and k is the degree of the constraint) and 2nk+n-3k-1
clauses.
|
IConstr |
Policy.addAtMost(ISolver solver,
IVecInt literals,
int k) |
IConstr |
EncodingStrategyAdapter.addAtMost(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Product.addAtMost(ISolver solver,
IVecInt literals,
int k) |
IConstr |
Commander.addAtMost(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Binary.addAtMost(ISolver solver,
IVecInt literals,
int k) |
IConstr |
Binomial.addAtMost(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Product.addAtMostNonOpt(ISolver solver,
IVecInt literals,
int k) |
IConstr |
Sequential.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Ladder.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
EncodingStrategyAdapter.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Product.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Commander.addAtMostOne(ISolver solver,
IVecInt literals)
In this encoding, variables are partitioned in groups.
|
IConstr |
Binary.addAtMostOne(ISolver solver,
IVecInt literals)
p being the smaller integer greater than log_2(n), this encoding adds p
variables and n*p clauses.
|
IConstr |
Binomial.addAtMostOne(ISolver solver,
IVecInt literals) |
IConstr |
Sequential.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Policy.addExactly(ISolver solver,
IVecInt literals,
int n) |
IConstr |
EncodingStrategyAdapter.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Product.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Commander.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Binary.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Binomial.addExactly(ISolver solver,
IVecInt literals,
int degree) |
IConstr |
Sequential.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Ladder.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
EncodingStrategyAdapter.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Product.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Commander.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Binary.addExactlyOne(ISolver solver,
IVecInt literals) |
IConstr |
Binomial.addExactlyOne(ISolver solver,
IVecInt literals) |
Modifier and Type | Class and Description |
---|---|
class |
HighLevelXplain<T extends ISolver>
Computation of MUS in a structured CNF, i.e. the clauses belong to
components, the explanation is to be extracted in terms of components.
|
class |
Xplain<T extends ISolver>
Explanation framework for SAT4J.
|
Modifier and Type | Class and Description |
---|---|
class |
HighLevelXplain<T extends ISolver>
Computation of MUS in a structured CNF, i.e. the clauses belong to
components, the explanation is to be extracted in terms of components.
|
class |
Xplain<T extends ISolver>
Explanation framework for SAT4J.
|
Modifier and Type | Method and Description |
---|---|
IVecInt |
QuickXplainStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
QuickXplain2001Strategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
MinimizationStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
DeletionStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
IVecInt |
InsertionStrategy.explain(ISolver solver,
Map<Integer,?> constrs,
IVecInt assumps) |
Copyright © 2013 Centre de Recherche en Informatique de Lens (CRIL). All Rights Reserved.