tba_determinize: add a cycle_threshold
* src/tgbaalgos/powerset.cc, src/tgbaalgos/powerset.hh (tba_determinize, tba_determinize_check): Add a cycle_threshold argument. * src/tgbaalgos/postproc.cc: Use it. * src/tgbatest/ltl2tgba.cc: Adjust calls.
This commit is contained in:
parent
0117fc2c36
commit
63b7cdb6c8
4 changed files with 77 additions and 36 deletions
|
|
@ -123,11 +123,18 @@ namespace spot
|
|||
/// \endverbatim
|
||||
/// only adapted to work on TBA rather than BA.
|
||||
///
|
||||
/// If \a threshold is non null, abort the construction whenever it
|
||||
/// would build an automaton that is more than \a threshold time
|
||||
/// bigger (in term of states) than the original automaton.
|
||||
/// If \a threshold_states is non null, abort the construction
|
||||
/// whenever it would build an automaton that is more than \a
|
||||
/// threshold_states time bigger (in term of states) than the
|
||||
/// original automaton.
|
||||
///
|
||||
/// If \a threshold_cycles is non null, abort the construction
|
||||
/// whenever an SCC of the constructed automaton has more than \a
|
||||
/// threshold_cycles cycles.
|
||||
SPOT_API tgba_explicit_number*
|
||||
tba_determinize(const tgba* aut, unsigned threshold = 0);
|
||||
tba_determinize(const tgba* aut,
|
||||
unsigned threshold_states = 0,
|
||||
unsigned threshold_cycles = 0);
|
||||
|
||||
/// \brief Determinize a TBA and make sure it is correct.
|
||||
///
|
||||
|
|
@ -139,9 +146,14 @@ namespace spot
|
|||
///
|
||||
/// \param aut the automaton to minimize
|
||||
///
|
||||
/// \param threshold if non null, abort the construction whenever it
|
||||
/// would build an automaton that is more than \a threshold time
|
||||
/// bigger (in term of states) than the original automaton.
|
||||
/// \param threshold_states if non null, abort the construction
|
||||
/// whenever it would build an automaton that is more than \a
|
||||
/// threshold time bigger (in term of states) than the original
|
||||
/// automaton.
|
||||
///
|
||||
/// \param threshold_cycles can be used to abort the construction
|
||||
/// if the number of cycles in a SCC of the constructed automaton
|
||||
/// is bigger than the supplied value.
|
||||
///
|
||||
/// \param f the formula represented by the original automaton
|
||||
///
|
||||
|
|
@ -153,7 +165,8 @@ namespace spot
|
|||
/// were supplied.
|
||||
SPOT_API tgba*
|
||||
tba_determinize_check(const tgba* aut,
|
||||
unsigned threshold = 0,
|
||||
unsigned threshold_states = 0,
|
||||
unsigned threshold_cycles = 0,
|
||||
const ltl::formula* f = 0,
|
||||
const tgba* neg_aut = 0);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue