sccinfo: improve detection of rejecting 1-self-loop SCCs

As observed in #188, the smaller.hoa automaton is made only of
1-state/1-self-loop SCCs, for which calling remove_fin is a complete
waste of time.  This patch alone (i.e., without the other changes
suggested by #188) improves the run time of

% autofilt -q --is-unambiguous smaller.hoa

from 38s to 0.05s.

* spot/twaalgos/sccinfo.cc: If a single-state SCC has undeterminate SCC
and only one self-loop, then it is necessarily rejecting.
* NEWS: Mention the change.
This commit is contained in:
Alexandre Duret-Lutz 2016-10-18 18:12:45 +02:00
parent 5384a3b89a
commit ad478bd31a
2 changed files with 25 additions and 5 deletions

4
NEWS
View file

@ -4,6 +4,10 @@ New in spot 2.1.2.dev (not yet released)
* is_unambiguous() was rewritten in a more efficient way.
* scc_info learned to determine the acceptance of simple SCCs made
of a single self-loop without ressorting to remove_fin() for complex
acceptance conditions.
New in spot 2.1.2 (2016-10-14)
Command-line tools: