Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Spot
Spot
Commits
6190e441
Commit
6190e441
authored
Jan 10, 2017
by
Alexandre Duret-Lutz
Browse files
* NEWS: Some rewrites in preparation for the next release.
parent
6c9fd5cf
Changes
1
Hide whitespace changes
Inline
Side-by-side
NEWS
View file @
6190e441
New in spot 2.2.2.dev (Not yet released)
Build:
* While Spot only relies on C++11 features, the configure script
learned --enable-c++14 to compile in C++14 mode. This allows us
check that nothing breaks when we will switch to C++14.
* Spot is now distributed with PicoSAT 965, and uses it for
SAT-based minimization of automata without relying on temporary
files. It is still possible to use an external SAT solver by
setting the SPOT_SATSOLVER environment variable.
Tools:
* ltlcross supports translators that output weak alternating
automata in the HOA format (not necessarily *very* weak).
* ltlcross supports translators that output alternating automata in
the HOA format. Cross-comparison checks will only work with weak
alternating automata (not necessarily *very* weak), but "ltlcross
--no-check --csv=..." should work with any alternating automaton
if you just want satistics.
* autfilt can read alternating automata. This is still experimental
(see below). Some of the algorithms proposed by autfilt will
...
...
@@ -14,31 +28,32 @@ New in spot 2.2.2.dev (Not yet released)
* autfilt has three new filters: --is-very-weak, --is-alternating,
and --is-semi-deterministic.
* the --check option can now take "semi-determinism" as argument.
* the --check option of autfilt/ltl2tgba/ltldo/dstar2tgba can now
take "semi-determinism" as argument.
* autfilt
has a new option '
--highlight-languages
' that helps to se
e
graphically which states of an automaton recognize the same
languages.
* autfilt --highlight-languages
will color states that recogniz
e
identical
languages.
* autfilt '--sat-minimize' option and common '-x sat-minimize' option have
undergone some changes because some new algorithms have been implemented
and improvements have been made. After benchmarks (that you can reproduce,
take a look at bench/dtgbasat), the dichotomy proves to be more effective.
It is now used by default. Please, read the man page of spot-x for further
details.
* 'autfilt --sat-minimize' and 'ltl2tgba -x sat-minimize' have
undergone some backward incompatible changes. They use binary
search by default, and support different options than they used
too. See spot-x(7) for details. The defaults are those that were
best for the benchmark in bench/dtgbasat/.
Library:
* A twa is required to have at least one state, the initial state.
*
The
Couvreur emptiness check has been rewritten to use the explicit
* Couvreur
's
emptiness check has been rewritten to use the explicit
interface when possible, to avoid overkill memory allocations.
The new version has further optimizations for weak and terminal
automata. Overall, this new version is roughly 4x faster on
explicit
automata than the former one. The old version has been
kept for
compatibilit
y.
automata.
Overall, this new version is roughly 4x faster on
explicit
automata than the former one.
The old version has been
kept for backward compatibility, but will be removed eventuall
y.
* The new version of the Couvreur emptiness check is now the default
one, used by is_empty() and accepting_run().
one, used by twa::is_empty() and twa::accepting_run(). Always
prefer these functions over an explicit call to Couvreur.
* experimental support for alternating automata:
...
...
@@ -84,43 +99,23 @@ New in spot 2.2.2.dev (Not yet released)
deterministic/semi-deterministic/unambiguous should be preserved
only if they are positive.
* language_map() and highlight_languages() are new functions
used to
implement the --highlight-languages
command line option describ
ed above.
* language_map() and highlight_languages() are new functions
that
implement
s
the --highlight-languages
option mentionn
ed above.
* dt
*
a_sat_minimize_dichotomy()
now uses language_map() algo to find the
lower bound of the binary search.
* dt
gb
a_sat_minimize_dichotomy()
and dwba_sat_minimize_dichotomy()
use language_map() for the
lower bound of the binary search.
* Memory usage of SAT-based minimization is now fully reduced.
Those optimizations relies on the fact that almost everything about
the candidate automaton is known in advance and all litterals used
to encode the SAT problem are continuous.
* There is two new algorithms of SAT-based minimization of ω-automata:
dt*a_sat_minimize_incr() and dt*a_sat_minimize_assume(). They are
implemented to use everything they learn when they get the N-1 size
automaton - i.e. all the encoding is preserved. Some clauses are just
added gradually to delete more states. For more details, especially the
difference between them, read spot/twaalgos/dt*asat.hh headers.
* Spot introduces a new environment variable "SPOT_XCNF". Incremental
SAT competitors, this is for you. During any SAT-based minimization, SPOT
can generate the XCNF file corresponding to the incremental resolution from
the starting automaton to the minimal one. The file will be outputed as
'incr.xcnf' in the folder path given throught "SPOT_XCNF". However, this
feature requires the use of an external SAT solver throught
"SPOT_SATSOLVER". See man page of spot-x for details.
Build:
* The encoding part of SAT-based minimization consumes less memory.
*
The configure script has a new option --enable-c++14, to compile in
C++14 mode. Obviously you need a compiler that supports it. This allows
to
check that nothing breaks when we will switch to C++14. This option
is also available in the configure script of buddy
.
*
SAT-based minimization of automata can now be done using two
incremental techniques that take a solved minimization and attempt
to
forbid the use of some states. This is done either by adding
clauses, or by using assumptions
.
*
Spot is now distributed with a SAT-solver, PicoSAT 965. This integration
takes place to optimize SAT-based minimization of ω-automata. However, it
is still possible to use another SAT-solver already installed thanks to
th
e
"SPOT_SATSOLVER"
environment variable
.
*
If the environment variable "SPOT_XCNF" is set during incremental
SAT-based minimization, XCNF files suitable for the incremental SAT
competition will be generated. This requires the use of an exteral
SAT solver, setup wi
th "SPOT_SATSOLVER"
. See spot-x(7)
.
New in spot 2.2.2 (2016-12-16)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment