public class MiniSAT
extends java.lang.Object
Constructor and Description |
---|
MiniSAT() |
Modifier and Type | Method and Description |
---|---|
static void |
createFreezeFile(int[] freezeVariables,
java.io.File freezeFile,
int offsetID) |
static java.util.List<java.lang.Integer> |
findUnsatisfiableCore(MUCStatistics stat,
MiniSATFiles files) |
static CompleteAssignment |
getCompleteModel() |
static CompleteAssignment |
getCompleteModel(java.io.File resultFile) |
static java.util.List<java.lang.Integer> |
getImpliedUnits(CnfSatInstance instance,
java.util.List<java.lang.Integer> setVars) |
static java.util.List<java.lang.Integer> |
getLearnedUnitClauses(java.io.File unitFile) |
static PartialAssignment |
getPartialModel(java.io.File resultFile) |
static java.util.List<java.lang.Integer> |
getRelevantAssumptions(int[] freezeVariables,
int offsetID) |
static java.util.List<java.lang.Integer> |
getRelevantAssumptions(int offsetID,
java.io.File proofFile) |
static java.util.Set<java.lang.Integer> |
getResolutionVariables(java.io.File proofFile) |
static java.util.List<java.lang.Integer> |
getVarRelevanceOrdering(java.io.File proofFile) |
static boolean |
isSatisfiable(java.io.File cnfFile,
java.io.File tmpResultFile) |
static boolean |
minisatFoundOnPath() |
static void |
solve(java.io.File inputFile,
java.io.File resultFile,
java.io.File freezeFile) |
static void |
solve(java.io.File inputFile,
java.io.File proofFile,
java.io.File resultFile,
java.io.File freezeFile) |
static boolean |
solveAndDeriveUnits(java.io.File cnfFile,
java.io.File tmpResultFile,
java.io.File unitsFile)
Solves a SAT instance and writes the learned unit clauses out into a file.
|
static boolean |
solveWithRefutationVariables(CnfSatInstance instance,
java.io.File proofFile,
java.io.File resultFile) |
static java.lang.Boolean |
wasUnsatisfiable() |
static boolean |
wasUnsatisfiable(java.io.File resultFile) |
public static final int UNFREEZE
public static final int FREEZE
public static boolean minisatFoundOnPath()
public static boolean isSatisfiable(java.io.File cnfFile, java.io.File tmpResultFile) throws java.util.concurrent.TimeoutException, java.lang.InterruptedException, java.io.IOException, ResultNotRetrievableException
java.util.concurrent.TimeoutException
java.lang.InterruptedException
java.io.IOException
ResultNotRetrievableException
public static boolean solveAndDeriveUnits(java.io.File cnfFile, java.io.File tmpResultFile, java.io.File unitsFile) throws java.util.concurrent.TimeoutException, java.lang.InterruptedException, java.io.IOException, ResultNotRetrievableException
cnfFile
- the SAT instance file (in DIMACS CNF format)tmpResultFile
- the temporary file in which the result is to be storedunitsFile
- the file where to store the unitsjava.util.concurrent.TimeoutException
java.lang.InterruptedException
java.io.IOException
ResultNotRetrievableException
public static java.util.List<java.lang.Integer> getImpliedUnits(CnfSatInstance instance, java.util.List<java.lang.Integer> setVars) throws ResultNotRetrievableException
ResultNotRetrievableException
public static boolean solveWithRefutationVariables(CnfSatInstance instance, java.io.File proofFile, java.io.File resultFile) throws java.util.concurrent.TimeoutException, java.lang.InterruptedException, java.io.IOException, ResultNotRetrievableException
java.util.concurrent.TimeoutException
java.lang.InterruptedException
java.io.IOException
ResultNotRetrievableException
public static java.util.List<java.lang.Integer> findUnsatisfiableCore(MUCStatistics stat, MiniSATFiles files) throws java.util.concurrent.TimeoutException, java.lang.InterruptedException, ResultNotRetrievableException
java.util.concurrent.TimeoutException
java.lang.InterruptedException
ResultNotRetrievableException
public static void solve(java.io.File inputFile, java.io.File resultFile, java.io.File freezeFile) throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutException
public static void solve(java.io.File inputFile, java.io.File proofFile, java.io.File resultFile, java.io.File freezeFile) throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutException
public static java.lang.Boolean wasUnsatisfiable() throws ResultNotRetrievableException
ResultNotRetrievableException
public static CompleteAssignment getCompleteModel()
public static CompleteAssignment getCompleteModel(java.io.File resultFile)
public static PartialAssignment getPartialModel(java.io.File resultFile)
public static boolean wasUnsatisfiable(java.io.File resultFile) throws ResultNotRetrievableException
ResultNotRetrievableException
public static java.util.Set<java.lang.Integer> getResolutionVariables(java.io.File proofFile)
public static java.util.List<java.lang.Integer> getVarRelevanceOrdering(java.io.File proofFile)
public static java.util.List<java.lang.Integer> getRelevantAssumptions(int[] freezeVariables, int offsetID)
public static java.util.List<java.lang.Integer> getLearnedUnitClauses(java.io.File unitFile)
public static java.util.List<java.lang.Integer> getRelevantAssumptions(int offsetID, java.io.File proofFile)
public static void createFreezeFile(int[] freezeVariables, java.io.File freezeFile, int offsetID)