postproc: Add a degen-lskip option.
Also generalize the degen-lcache option. * src/tgbaalgos/postproc.cc, src/tgbaalgos/postproc.hh: Add the option. * src/bin/spot-x.cc: Document it. * src/tgbaalgos/degen.cc, src/tgbaalgos/degen.hh: Implement it. * src/tgbatest/ltlcross2.test: Add a test configuration. * src/tgbatest/degenlskip.test: New file. * src/tgbatest/Makefile.am (TESTS): Add degenlskip.test.
This commit is contained in:
parent
2c05a9fdb6
commit
db02e7c3d0
8 changed files with 159 additions and 36 deletions
|
|
@ -1,6 +1,5 @@
|
|||
|
||||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2013 Laboratoire de Recherche et Développement
|
||||
// Copyright (C) 2013, 2014 Laboratoire de Recherche et Développement
|
||||
// de l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -70,10 +69,20 @@ a non-accepting SCC.") },
|
|||
{ DOC("degen-lcache", "If non-zero (the default), whenever the \
|
||||
degeneralization algorithm enters an SCC on a state that has already \
|
||||
been associated to a level elsewhere, it should reuse that level. \
|
||||
The \"lcache\" stands for \"level cache\".") },
|
||||
Different values can be used to select which level to reuse: 1 always \
|
||||
uses the first level seen, 2 uses the minimum level seen so far, and \
|
||||
3 uses the maximum level seen so far. The \"lcache\" stands for \
|
||||
\"level cache\".") },
|
||||
{ DOC("degen-order", "If non-zero, the degeneralization algorithm \
|
||||
will compute one degeneralization order for each SCC it processes. \
|
||||
This is currently disabled by default.") },
|
||||
{ DOC("degen-lskip", "If non-zero (the default), the degeneralization \
|
||||
algorithm will skip as much levels as possible for each transition. This \
|
||||
is enabled by default as it very often reduce the number of resulting \
|
||||
states. A consequence of skipping levels is that the degeneralized \
|
||||
automaton tends to have smaller cycles around the accepting states. \
|
||||
Disabling skipping will produce automata with large cycles, and often \
|
||||
with more states.") },
|
||||
{ DOC("simul", "Set to 0 to disable simulation-based reductions. \
|
||||
Set to 1 to use only direct simulation. Set to 2 to use only reverse \
|
||||
simulation. Set to 3 to iterate both direct and reverse simulations. \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue