postproc: add fine-tuning options for determinization
* spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Add options det-scc, det-simul, det-stutter. * bin/spot-x.cc: Document them. * doc/org/ltl2tgba.org: Illustrate one of them and link to the spot-x man page.
This commit is contained in:
parent
8feab7e2bb
commit
b066c6f3f2
4 changed files with 68 additions and 27 deletions
|
|
@ -53,12 +53,6 @@ namespace spot
|
|||
}
|
||||
|
||||
postprocessor::postprocessor(const option_map* opt)
|
||||
: type_(TGBA), pref_(Small), level_(High),
|
||||
degen_reset_(true), degen_order_(false), degen_cache_(true),
|
||||
degen_lskip_(true), degen_lowinit_(false), simul_(-1),
|
||||
scc_filter_(-1), ba_simul_(-1),
|
||||
tba_determinisation_(false), sat_minimize_(0), sat_acc_(0),
|
||||
sat_states_(0), state_based_(false), wdba_minimize_(true)
|
||||
{
|
||||
if (opt)
|
||||
{
|
||||
|
|
@ -67,6 +61,9 @@ namespace spot
|
|||
degen_cache_ = opt->get("degen-lcache", 1);
|
||||
degen_lskip_ = opt->get("degen-lskip", 1);
|
||||
degen_lowinit_ = opt->get("degen-lowinit", 0);
|
||||
det_scc_ = opt->get("det-scc", 1);
|
||||
det_simul_ = opt->get("det-simul", 1);
|
||||
det_stutter_ = opt->get("det-stutter", 1);
|
||||
simul_ = opt->get("simul", -1);
|
||||
scc_filter_ = opt->get("scc-filter", -1);
|
||||
ba_simul_ = opt->get("ba-simul", -1);
|
||||
|
|
@ -366,7 +363,8 @@ namespace spot
|
|||
|
||||
if (PREF_ == Deterministic && type_ == Generic && !dba)
|
||||
{
|
||||
dba = tgba_determinize(to_generalized_buchi(sim));
|
||||
dba = tgba_determinize(to_generalized_buchi(sim),
|
||||
false, det_scc_, det_simul_, det_stutter_);
|
||||
if (level_ != Low)
|
||||
dba = simulation(dba);
|
||||
sim = nullptr;
|
||||
|
|
|
|||
|
|
@ -172,24 +172,27 @@ namespace spot
|
|||
twa_graph_ptr do_scc_filter(const twa_graph_ptr& a, bool arg);
|
||||
twa_graph_ptr do_scc_filter(const twa_graph_ptr& a);
|
||||
|
||||
output_type type_;
|
||||
int pref_;
|
||||
optimization_level level_;
|
||||
output_type type_ = TGBA;
|
||||
int pref_ = Small;
|
||||
optimization_level level_ = High;
|
||||
// Fine-tuning options fetched from the option_map.
|
||||
bool degen_reset_;
|
||||
bool degen_order_;
|
||||
int degen_cache_;
|
||||
bool degen_lskip_;
|
||||
bool degen_lowinit_;
|
||||
int simul_;
|
||||
int scc_filter_;
|
||||
int ba_simul_;
|
||||
bool tba_determinisation_;
|
||||
int sat_minimize_;
|
||||
int sat_acc_;
|
||||
int sat_states_;
|
||||
bool state_based_;
|
||||
bool wdba_minimize_;
|
||||
bool degen_reset_ = true;
|
||||
bool degen_order_ = false;
|
||||
int degen_cache_ = true;
|
||||
bool degen_lskip_ = true;
|
||||
bool degen_lowinit_ = false;
|
||||
bool det_scc_ = true;
|
||||
bool det_simul_ = true;
|
||||
bool det_stutter_ = true;
|
||||
int simul_ = -1;
|
||||
int scc_filter_ = -1;
|
||||
int ba_simul_ = -1;
|
||||
bool tba_determinisation_ = false;
|
||||
int sat_minimize_ = 0;
|
||||
int sat_acc_ = 0;
|
||||
int sat_states_ = 0;
|
||||
bool state_based_ = false;
|
||||
bool wdba_minimize_ = true;
|
||||
};
|
||||
/// @}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue