dtgbasat: add a colored option

This was suggested by one of the reviewers of our LPAR'15 paper.

* src/twaalgos/dtgbasat.cc, src/twaalgos/dtgbasat.hh: Implement
the colored option.
* src/tests/satmin2.test: Test it.
* doc/org/satmin.org, NEWS: Document it.
This commit is contained in:
Alexandre Duret-Lutz 2015-09-03 17:26:55 +02:00
parent 6b3de8afa0
commit 3378d72a88
5 changed files with 169 additions and 21 deletions

View file

@ -41,6 +41,9 @@ namespace spot
/// of a state to share the same acceptance conditions, effectively
/// turning the TGBA into a TBA.
///
/// \param colored if true, force all transitions to belong to
/// exactly one acceptance set.
///
/// This functions attempts to find a TGBA with \a target_acc_number
/// acceptance sets and target_state_number states that is
/// equivalent to \a a. If no such TGBA is found, a null pointer is
@ -50,7 +53,8 @@ namespace spot
unsigned target_acc_number,
const acc_cond::acc_code& target_acc,
int target_state_number,
bool state_based = false);
bool state_based = false,
bool colored = false);
/// \brief Attempt to minimize a deterministic TGBA with a SAT solver.
///
@ -63,7 +67,8 @@ namespace spot
unsigned target_acc_number,
const acc_cond::acc_code& target_acc,
bool state_based = false,
int max_states = -1);
int max_states = -1,
bool colored = false);
/// \brief Attempt to minimize a deterministic TGBA with a SAT solver.
///
@ -76,7 +81,8 @@ namespace spot
unsigned target_acc_number,
const acc_cond::acc_code& target_acc,
bool state_based = false,
int max_states = -1);
int max_states = -1,
bool colored = false);
/// \brief High-level interface to SAT-based minimization
///
@ -90,6 +96,7 @@ namespace spot
/// acc = "Rabin 3"
/// acc = "same" /* default */
/// dichotomy = 1 // use dichotomy instead of decreasing loop
/// colored = 1 // build a colored TωA
///
SPOT_API twa_graph_ptr
sat_minimize(twa_graph_ptr aut, const char* opt, bool state_based = false);