degen: detect superfluous SCCs and remove them
Suggested by Maximilien Colange. * spot/twaalgos/degen.cc: If the output has more SCC than the input, detect useless SCCs and remove them. * spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh, spot/twaalgos/degen.hh: Add support for a degen-remscc option. * bin/spot-x.cc, NEWS: Document it. * tests/core/degenscc.test: New file. * tests/Makefile.am: Add it. * tests/core/det.test: Lower some expected size (yay!).
This commit is contained in:
parent
ce5e3b654f
commit
900b344c9a
9 changed files with 147 additions and 22 deletions
8
NEWS
8
NEWS
|
|
@ -96,6 +96,14 @@ New in spot 2.4.0.dev (not yet released)
|
|||
transitions on the fly from an alternating Büchi automaton
|
||||
using Miyano and Hayashi's breakpoint algorithm.
|
||||
|
||||
- In some cases, spot::degeneralize() would output Büchi automata
|
||||
with more SCCs than its input. This was hard to notice, because
|
||||
very often simulation-based simplifications remove those extra
|
||||
SCCs. This situation is now detected by spot::degeneralized() and
|
||||
fixed before returning the automaton. A new optionnal argument
|
||||
can be passed to disable this behavior (or use -x degen-remscc=0
|
||||
from the command-line).
|
||||
|
||||
Deprecation notices:
|
||||
|
||||
(These functions still work but compilers emit warnings.)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue