to_parity: Add an option to force degeneralization
* spot/twaalgos/toparity.cc, spot/twaalgos/toparity.hh: Don't try to run the algorithm without degeneralization with the option force_degen.
This commit is contained in:
parent
527b62c5ff
commit
685d6d8ba0
2 changed files with 8 additions and 4 deletions
|
|
@ -1606,9 +1606,10 @@ run()
|
||||||
max_states_sub_car =
|
max_states_sub_car =
|
||||||
10000 + nb_states_deg - 1;
|
10000 + nb_states_deg - 1;
|
||||||
}
|
}
|
||||||
nb_states_sub =
|
if (!options.force_degen || !has_degeneralized)
|
||||||
build_scc(sub_automaton, scc, state2car_sub, car2num_sub,
|
nb_states_sub =
|
||||||
algo_sub, max_states_sub_car);
|
build_scc(sub_automaton, scc, state2car_sub, car2num_sub,
|
||||||
|
algo_sub, max_states_sub_car);
|
||||||
if (nb_states_deg < nb_states_sub)
|
if (nb_states_deg < nb_states_sub)
|
||||||
{
|
{
|
||||||
state2car.insert(state2car_deg.begin(), state2car_deg.end());
|
state2car.insert(state2car_deg.begin(), state2car_deg.end());
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,12 @@ namespace spot
|
||||||
/// degeneralization to remove occurrences of acceptance
|
/// degeneralization to remove occurrences of acceptance
|
||||||
/// subformulas such as `Fin(x) | Fin(y)` or `Inf(x) & Inf(y)`.
|
/// subformulas such as `Fin(x) | Fin(y)` or `Inf(x) & Inf(y)`.
|
||||||
bool partial_degen = true;
|
bool partial_degen = true;
|
||||||
|
/// If \c force_degen is false, to_parity will checks if we can
|
||||||
|
/// get a better result if we don't apply partial_degeneralize.
|
||||||
|
bool force_degen = true;
|
||||||
/// If \c scc_acc_clean is true, to_parity() will ignore colors
|
/// If \c scc_acc_clean is true, to_parity() will ignore colors
|
||||||
/// no occoring in an SCC while processing this SCC.
|
/// no occoring in an SCC while processing this SCC.
|
||||||
bool acc_clean = true;
|
bool acc_clean = true;
|
||||||
/// If \a parity_equiv is true, to_parity() will check if there
|
/// If \a parity_equiv is true, to_parity() will check if there
|
||||||
/// exists a permutations of colors such that the acceptance
|
/// exists a permutations of colors such that the acceptance
|
||||||
/// condition is a parity condition.
|
/// condition is a parity condition.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue