The different simplification techniques implemented in PRS framework. More...
#include <preprocess.hpp>
Public Member Functions | |
| preprocess (int id_) | |
| int | find (int x) |
| bool | res_is_empty (int var) |
| void | update_var_clause_label () |
| void | preprocess_init () |
| bool | preprocess_resolution () |
| bool | preprocess_binary () |
| bool | preprocess_up () |
| void | get_complete_model () |
| int | check_card (int id) |
| int | preprocess_card () |
| int | search_almost_one () |
| int | card_elimination () |
| int | scc_almost_one () |
| void | upd_occur (int v, int s) |
| bool | preprocess_gauss () |
| int | search_xors () |
| int | cal_dup_val (int i) |
| int | ecc_var () |
| int | ecc_xor () |
| int | gauss_elimination () |
| int | rematch_eql (int x) |
| int | rematch_and (int x) |
| int | rematch_xor (int x) |
| bool | cnf2aig () |
| int | find_fa (int x) |
| int | preprocess_circuit () |
| void | epcec_preprocess () |
| bool | do_epcec () |
| bool | _simulate (Bitset **result, int bit_size) |
| unsigned int | getVariablesCount () |
| Get the current number of variables. | |
| void | restoreModel (std::vector< int > &model) |
| Restore the original model from the preprocessed one. | |
| int | preprocess_circuit_wrapper () |
| int | preprocess_gauss_wrapper () |
| int | preprocess_propagation_wrapper () |
| int | preprocess_card_wrapper () |
| int | preprocess_resolution_wrapper () |
| int | preprocess_binary_wrapper () |
| void | setSolverInterrupt () |
| Interrupt resolution, solving cannot continue until interrupt is unset. | |
| void | unsetSolverInterrupt () |
| Remove the SAT solving interrupt request. | |
| SatResult | solve (const std::vector< int > &cube={}) override |
| Solve the formula with a given cube. | |
| void | releaseMemory () override |
| Release memory used by the preprocessor. | |
| std::vector< int > | getModel () override |
| Return the model in case of SAT result. | |
| void | loadFormula (const char *filename) override |
| Load formula from a given dimacs file. | |
| void | addInitialClauses (const std::vector< simpleClause > &clauses, unsigned int nbVariables) |
| Add a list of initial clauses to the formula. | |
| void | printStatistics () |
| Print solver statistics. | |
| std::vector< simpleClause > | getSimplifiedFormula () |
| Get the simplified formula after preprocessing. | |
| std::size_t | getClausesCount () |
| void | diversify (const SeedGenerator &getSeed) |
| Perform native diversification. The Default lambda returns the solver ID. | |
| PreprocessorStats | getPreprocessorStatistics () |
| Get statistics about the preprocessing. | |
| int | getDivisionVariable () |
| Get a variable suitable for search splitting. | |
| void | addClause (ClauseExchangePtr clause) |
| Add a permanent clause to the formula. | |
| void | addClauses (const std::vector< ClauseExchangePtr > &clauses) |
| Add a list of permanent clauses to the formula. | |
Public Member Functions inherited from PreprocessorInterface | |
| PreprocessorInterface (PreprocessorAlgorithm algo, int id) | |
| Constructor for PreprocessorInterface. | |
Public Member Functions inherited from SolverInterface | |
| virtual void | printWinningLog () |
| Print the winning log. | |
| virtual void | printParameters () |
| Print the parameters set for a solver. | |
| bool | isInitialized () |
| Check if the solver is initialized. | |
| void | setInitialized (bool value) |
| Set the initialization status of the solver. | |
| SolverAlgorithmType | getAlgoType () |
| Get the algorithm type of the solver. | |
| unsigned int | getSolverTypeId () |
| Get the solver type ID. | |
| void | setSolverTypeId (unsigned int typeId) |
| Set the solver type ID. | |
| unsigned int | getSolverId () |
| Get the solver ID. | |
| void | setSolverId (unsigned int id) |
| Set the solver ID. | |
| unsigned int | getSolverTypeCount () const |
| Get the current count of instances of this object's most-derived type. | |
| SolverInterface (SolverAlgorithmType algoType, int solverId) | |
| Constructor for SolverInterface. | |
| virtual | ~SolverInterface () |
| Virtual destructor for SolverInterface. | |
Public Attributes | |
| int | vars |
| int | clauses |
| std::vector< std::vector< int > > | clause |
| std::vector< std::vector< int > > | res_clause |
| int | flag |
| int | epcec_out |
| int | maxvar |
| int | nxors |
| int | rins |
| int * | psign |
| int * | psum |
| int * | fixed |
| int * | cell |
| int * | used |
| int * | model |
| int * | topo_counter |
| std::vector< int > | epcec_in |
| std::vector< int > | epcec_rin |
| std::vector< int > * | inv_C |
| std::vector< type_gate > | gate |
| int | maxlen |
| int | orivars |
| int | oriclauses |
| int | res_clauses |
| int | resolutions |
| int * | f |
| int | nlit |
| int * | a |
| int * | val |
| int * | color |
| int * | varval |
| int * | q |
| int * | seen |
| int * | resseen |
| int * | clean |
| int * | mapto |
| int * | mapfrom |
| int * | mapval |
| std::vector< int > * | occurp |
| std::vector< int > * | occurn |
| std::vector< int > | clause_delete |
| std::vector< int > | nxtc |
| std::vector< int > | resolution |
| std::vector< std::vector< int > > | card_one |
| std::vector< std::vector< double > > | mat |
| std::vector< int > * | occur |
| std::vector< int > | cdel |
| int * | abstract |
| int | gauss_eli_unit |
| int | gauss_eli_binary |
| std::vector< xorgate > | xors |
| std::vector< int > | scc_id |
| std::vector< std::vector< int > > | scc |
| std::vector< std::vector< int > > | xor_scc |
| int | count = 0 |
| int | maxVarCircuit |
| int | maxVarGauss |
| int | maxVarCard |
| int | maxClauseSizeXor |
| int | maxClauseCircuit |
| int | maxClauseBinary |
| int | maxClauseGauss |
| int | maxClauseCard |
| std::vector< std::function< int()> > | preprocessors |
Additional Inherited Members | |
Protected Member Functions inherited from SolverInterface | |
| template<typename Derived > | |
| void | initializeTypeId () |
| Initialize the type ID for a derived class. | |
Static Protected Member Functions inherited from SolverInterface | |
| template<typename Derived > | |
| static unsigned int | getAndIncrementTypeCount () |
| Get and increment the instance count for a specific derived type. | |
Protected Attributes inherited from SolverInterface | |
| SolverAlgorithmType | m_algoType |
| std::atomic< bool > | m_initialized |
| unsigned int | m_solverTypeId |
| int | m_solverId |
Static Protected Attributes inherited from SolverInterface | |
| static std::unordered_map< std::type_index, std::atomic< unsigned int > > | s_instanceCounts |
| Number of existing instances of derived classes. | |
The different simplification techniques implemented in PRS framework.
|
inlinevirtual |
Add a permanent clause to the formula.
| clause | The clause to add. |
Implements SolverInterface.
|
inlinevirtual |
Add a list of permanent clauses to the formula.
| clauses | The list of clauses to add. |
Implements SolverInterface.
|
inlinevirtual |
Add a list of initial clauses to the formula.
| clauses | The list of initial clauses. |
| nbVars | The number of variables. |
Implements SolverInterface.
|
inlinevirtual |
Perform native diversification. The Default lambda returns the solver ID.
Implements SolverInterface.
|
inlinevirtual |
Get a variable suitable for search splitting.
Implements SolverInterface.
|
overridevirtual |
Return the model in case of SAT result.
Implements SolverInterface.
|
inlinevirtual |
Get statistics about the preprocessing.
Implements PreprocessorInterface.
|
inlinevirtual |
Get the simplified formula after preprocessing.
Implements PreprocessorInterface.
|
inlinevirtual |
|
overridevirtual |
Load formula from a given dimacs file.
| filename | The name of the file to load from. |
Implements SolverInterface.
|
inlinevirtual |
Print solver statistics.
Reimplemented from SolverInterface.
|
overridevirtual |
Release memory used by the preprocessor.
Implements PreprocessorInterface.
|
inlinevirtual |
Restore the original model from the preprocessed one.
| model | The model to be restored. |
Implements PreprocessorInterface.
|
inlinevirtual |
Interrupt resolution, solving cannot continue until interrupt is unset.
Implements SolverInterface.
|
overridevirtual |
Solve the formula with a given cube.
| cube | The cube to solve with. |
Implements SolverInterface.
|
inlinevirtual |
Remove the SAT solving interrupt request.
Implements SolverInterface.
Generated by