translate: add a new relabel-overlap option
Fixes issue #536. Also a part of issue #500. * spot/twaalgos/translate.hh, spot/twaalgos/translate.cc: Implement this new option. * bin/spot-x.cc, NEWS: Mention it. * tests/core/ltl2tgba2.test: Add the test case from issue #536.
This commit is contained in:
parent
18478e663f
commit
110b052b7d
5 changed files with 92 additions and 14 deletions
23
NEWS
23
NEWS
|
|
@ -37,6 +37,29 @@ New in spot 2.11.6.dev (not yet released)
|
|||
replace boolean subformulas by fresh atomic propositions even if
|
||||
those subformulas share atomic propositions.
|
||||
|
||||
- spot::translate() has a new -x option "relabel-overlap=M" that
|
||||
augments the existing "relabel-bool=N". By default, N=4, M=8.
|
||||
When the formula to translate has more than N atomic propositions,
|
||||
relabel_bse() is first called to attempt to rename non-overlaping
|
||||
boolean subexpressions (i.e., no shared atomic proposition) in
|
||||
order to reduce the number of atomic proposition, a source of
|
||||
explonential explosion in several places of the translation
|
||||
pipeline. This relabel-bool optimization exists since Spot 2.4.
|
||||
The new feature is that if, after relabel-bool, the formula still
|
||||
has more than M atomic propositions, then spot::translate() now
|
||||
attempts to relabel boolean subexpressions even if they have
|
||||
overlapping atomic propositions, in an attempt to reduce the
|
||||
number of atomic proposition even more. Doing so has the slightly
|
||||
unfortunate side effect of hindering some simplifications (because
|
||||
the new atomic propositions hide their interactions), but it
|
||||
usually incures a large speedup. (See Issue #500, Issue #536.)
|
||||
|
||||
For instance on Alexandre's laptop, running
|
||||
'ltlsynt --tlsf SPIReadManag.tlsf --aiger'
|
||||
with Spot 2.11.6 used to produce an AIG circuit with 48 nodes in
|
||||
36 seconds; it now produce an AIG circuit with 53 nodes in only
|
||||
0.1 second.
|
||||
|
||||
New in spot 2.11.6 (2023-08-01)
|
||||
|
||||
Bug fixes:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue