ltlsynt: rework synthesis algorithms

ltlsynt now offers two algorithms: one where splitting occurs before
determinization (the historical one) and one where determinization
occurs before splitting.

* bin/ltlsynt.cc: here
* tests/core/ltlsynt.test: test it and refactor test file
* NEWS: document it
* spot/misc/game.hh, spot/misc/game.cc: remove Calude's algorithm
This commit is contained in:
Maximilien Colange 2018-05-04 18:12:47 +02:00
parent 516e9536df
commit bd75ab5b39
5 changed files with 101 additions and 423 deletions

10
NEWS
View file

@ -34,6 +34,16 @@ New in spot 2.6.0.dev (not yet released)
- "ltlfilt --suspendable" is now a synonym for
"ltlfilt --universal --eventual".
- ltlsynt now has two algorithms for synthesis:
--algo=sd is the historical one. The automaton of the formula
is split to separate inputs and outputs, then
determinized.
--algo=ds the automaton of the formula is determinized, then
split to separate inputs and outputs.
In both cases, the obtained parity game is solved using
Zielonka algorithm. Calude's quasi-polynomial time algorithm has
been dropped as it was not used.
Bugs fixed:
- scc_info::split_on_sets() did not correctly register the