Add an option to use WDBA only if it reduces the size of the automaton.

* src/tgba/tgbaexplicit.hh (num_states): New method.
* src/tgbaalgos/minimize.hh, src/tgbaalgos/minimize.cc
(minimize_obligation): Add a reject_bigger option.
* src/tgbatest/ltl2tgba.cc (-RM): New option.
* src/tgbatest/spotlbtt.test: Test -RM.
* bench/ltl2tgba/algorithms: Include -RM in addition to -Rm, and
replace -RDS by -RIS.
* NEWS: Mention this.
This commit is contained in:
Alexandre Duret-Lutz 2012-08-28 10:25:02 +02:00
parent f7af4e65f6
commit 60ec3acea0
7 changed files with 77 additions and 12 deletions

View file

@ -283,6 +283,12 @@ namespace spot
return add_state(State::default_val);
}
size_t num_states() const
{
// Do not use ls_.size() because it may contain aliases.
return sl_.size();
}
transition*
create_transition(State* source, const State* dest)
{
@ -508,7 +514,6 @@ namespace spot
return to_string_func_(i->second);
}
/// old implementation in tgba_explicit_string
/// Create an alias for a state. Any reference to \a alias_name
/// will act as a reference to \a real_name.
void add_state_alias(const label_t& alias, const label_t& real)