gf_guarantee_to_ba: save states using histories
This improves gf_guarantee_to_ba() on formulas GF(φ) where the automaton for F(φ) as several leading transiant SCCs. E.g., GF(a <-> XXXa) where we know get results that are as good as those of delag without loosing on the cases where delag's technique would actually produce two big automata. * spot/twaalgos/gfguarantee.cc: Implement this. * spot/twaalgos/gfguarantee.hh, NEWS: Document it. * tests/core/ltl2tgba2.test, tests/core/ltl3ba.test: Add test cases.
This commit is contained in:
parent
730c6bbca2
commit
7e9325866f
5 changed files with 221 additions and 26 deletions
28
NEWS
28
NEWS
|
|
@ -94,17 +94,27 @@ New in spot 2.5.3.dev (not yet released)
|
|||
simplified to {1} or {SERE} depending on whether SERE accepts
|
||||
the empty word or not.
|
||||
|
||||
- gf_guarantee_to_ba() is a specialized construction for
|
||||
translating formulas of the form GF(guarantee) to BA or DBA,
|
||||
and fg_safety_to_dca() is a specialized construction for
|
||||
translating formulas of the form FG(safety) to DCA. These
|
||||
are slight generalizations of some constructions proposed
|
||||
by J. Esparza, J. Křentínský, and S. Sickert (LICS'18).
|
||||
- gf_guarantee_to_ba() is a specialized construction for translating
|
||||
formulas of the form GF(guarantee) to BA or DBA, and
|
||||
fg_safety_to_dca() is a specialized construction for translating
|
||||
formulas of the form FG(safety) to DCA. These are generalizations
|
||||
of some constructions proposed by J. Esparza, J. Křentínský, and
|
||||
S. Sickert (LICS'18).
|
||||
|
||||
These are now used by the main translation routine, and can be
|
||||
disabled by passing -x '!gf-guarantee' to ltl2tgba. As an
|
||||
example, the translation of GF(a <-> XXb) to transition-based
|
||||
Büchi went from 9 to 5 states using that construction.
|
||||
disabled by passing -x '!gf-guarantee' to ltl2tgba. For example,
|
||||
here are the size of deterministic transition-based Büchi automata
|
||||
constructed from four GF(guarantee) formulas with two versions of
|
||||
Spot, and converted to other types of deterministic automata by
|
||||
other tools.
|
||||
|
||||
ltl2tgba -D rabinizer 4
|
||||
2.5 2.6 delag ltl2dra
|
||||
------------------------- ----------- -------------
|
||||
GF(a <-> XXa) 9 4 4 9
|
||||
GF(a <-> XXXa) 27 8 8 25
|
||||
GF(((a & Xb) | XXc) & Xd) 6 4 16 5
|
||||
GF((b | Fa) & (b R Xb)) 6 2 3 3
|
||||
|
||||
- Slightly improved log output for the SAT-based minimization
|
||||
functions. The CSV log files now include an additional column
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue