spot
1.99.3
|
Wrap TGBA/BA/Monitor post-processing algorithms in an easy interface. More...
#include <twaalgos/postproc.hh>
Public Member Functions | |
postprocessor (const option_map *opt=0) | |
Construct a postprocessor. More... | |
void | set_type (output_type type) |
void | set_pref (output_pref pref) |
void | set_level (optimization_level level) |
twa_graph_ptr | run (twa_graph_ptr input, const ltl::formula *f) |
Optimize an automaton. More... | |
Wrap TGBA/BA/Monitor post-processing algorithms in an easy interface.
This class is a shell around scc_filter(), minimize_obligation(), simulation(), iterated_simulations(), and degeneralize(). These different algorithms will be combined depending on the various options set with set_type(), set_pref(), and set_level().
This helps hiding some of the logic required to combine these simplifications efficiently (e.g., there is no point calling degeneralize() or any simulation when minimize_obligation() succeeded.)
Use set_pref() method to specify whether you favor deterministic automata or small automata. If you don't care, less post processing will be done.
The set_level() method lets you set the optimization level. A higher level enables more costly post-processings. For instance pref=Small,level=High will try two different post-processings (one with minimize_obligation(), and one with iterated_simulations()) an keep the smallest result. pref=Small,level=Medium will only try the iterated_simulations() when minimized_obligation failed to produce an automaton smaller than its input. pref=Small,level=Low will only run simulation().
spot::postprocessor::postprocessor | ( | const option_map * | opt = 0 | ) |
Construct a postprocessor.
The opt argument can be used to pass extra fine-tuning options used for debugging or benchmarking.
twa_graph_ptr spot::postprocessor::run | ( | twa_graph_ptr | input, |
const ltl::formula * | f | ||
) |
Optimize an automaton.
The returned automaton might be a new automaton, or an in-place modification of the input automaton.