public class ISatSolver extends ISatLibrary
ISatLibrary.IPASIR, ISatLibrary.ISATLIB
コンストラクタと説明 |
---|
ISatSolver(java.lang.String name) |
修飾子とタイプ | メソッドと説明 |
---|---|
void |
add_a_clause(int[] clause)
Adds a clause to SAT solver.
|
void |
add_blocking_clause()
Adds a blocking clause to SAT solver.
|
void |
add_blocking_clause(int[] clause)
Adds a blocking clause to SAT solver.
|
void |
add_clause(int[] clause)
Adds a clause to SAT solver.
|
void |
addNormalizedClause(int[] lits)
Adds multiple clauses to SAT solver at a time.
|
void |
done()
Adds rest clauses in buffer to SAT solver.
|
int[] |
get_int_model()
Gets SAT solution (assignments to SAT variables) by integer array.
|
java.util.BitSet |
get_model()
Gets SAT solution (assignments to SAT variables) by bitset.
|
double |
get_solve_time()
Gets time that SAT solver used on this solving.
|
java.lang.String |
get_solver_name()
Gets a name of SAT solver.
|
double |
get_time()
Gets total time of invocation of SAT solver.
|
int |
get_vars()
Gets the number of variables in SAT solver.
|
void |
ipasir_add(int lit_or_zero)
Adds a literal to SAT solver or finarizes the clause with a "0".
|
void |
ipasir_assume(int lit)
Adds an assumption.
|
int |
ipasir_failed(int lit)
Checks if the given assumption was used to prove UNSAT in the last search.
|
ISatSolver |
ipasir_init(java.lang.String name)
Constructs a new SAT solver.
|
void |
ipasir_release()
Releases the solver.
|
java.lang.String |
ipasir_signature()
Gets a signature of SAT solver.
|
int |
ipasir_solve()
Solves a SAT problem.
|
int |
ipasir_val(int lit)
Gets the truth value of the given literal in the assignment.
|
boolean |
is_eliminated(int literal)
Checks if the literal is frozen.
|
int[] |
makeBuffer()
Makes an array for buffering clauses.
|
int[] |
model()
Gets SAT solution (assignments to SAT variables) by binary integer array.
|
void |
output_model()
Outputs SAT solution on standard output.
|
void |
set_frozen(int literal)
Excludes a literal from the simplification of SAT solver.
|
void |
set_Limit(int limit)
Sets a number of clauses added to SAT solver at a time.
|
void |
set_verbosity(int verbosity)
Sets the verbosity of SAT solver's output.
|
boolean |
solve()
Solves a SAT problem.
|
boolean |
solve(int[] assumption)
Solves a SAT problem with assumption.
|
public java.lang.String ipasir_signature()
public ISatSolver ipasir_init(java.lang.String name)
name
- the name of SAT solverpublic void ipasir_release()
public void ipasir_add(int lit_or_zero)
lit_or_zero
- a literal or "0"public void ipasir_assume(int lit)
lit
- the assumptionpublic int ipasir_solve()
public int ipasir_val(int lit)
lit
- the literalpublic int ipasir_failed(int lit)
lit
- the assumption literalpublic void set_Limit(int limit)
limit
- the number of clauses added to SAT solver at a timepublic int[] makeBuffer()
public void set_verbosity(int verbosity)
verbosity
- the verbosity of SAT solver's outputpublic int get_vars()
public void add_a_clause(int[] clause)
clause
- clausepublic void addNormalizedClause(int[] lits)
lits
- array of literalspublic void add_clause(int[] clause)
clause
- clausepublic void done()
public boolean solve()
public boolean solve(int[] assumption)
assumption
- assumptionpublic void add_blocking_clause(int[] clause)
clause
- the clause required to blockpublic void add_blocking_clause()
public void set_frozen(int literal)
literal
- the literal required to freezepublic boolean is_eliminated(int literal)
literal
- the literal required to check if frozenpublic java.util.BitSet get_model()
public int[] model()
public int[] get_int_model()
public void output_model()
public double get_solve_time()
public double get_time()
public java.lang.String get_solver_name()