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.TimeoutExceptionjava.lang.InterruptedExceptionjava.io.IOExceptionResultNotRetrievableExceptionpublic 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.TimeoutExceptionjava.lang.InterruptedExceptionjava.io.IOExceptionResultNotRetrievableExceptionpublic static java.util.List<java.lang.Integer> getImpliedUnits(CnfSatInstance instance, java.util.List<java.lang.Integer> setVars) throws ResultNotRetrievableException
ResultNotRetrievableExceptionpublic 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.TimeoutExceptionjava.lang.InterruptedExceptionjava.io.IOExceptionResultNotRetrievableExceptionpublic static java.util.List<java.lang.Integer> findUnsatisfiableCore(MUCStatistics stat, MiniSATFiles files) throws java.util.concurrent.TimeoutException, java.lang.InterruptedException, ResultNotRetrievableException
java.util.concurrent.TimeoutExceptionjava.lang.InterruptedExceptionResultNotRetrievableExceptionpublic static void solve(java.io.File inputFile,
java.io.File resultFile,
java.io.File freezeFile)
throws java.util.concurrent.TimeoutException
java.util.concurrent.TimeoutExceptionpublic 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.TimeoutExceptionpublic static java.lang.Boolean wasUnsatisfiable()
throws ResultNotRetrievableException
ResultNotRetrievableExceptionpublic 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
ResultNotRetrievableExceptionpublic 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)