sat: document the SPOT_SATLOG envvar
* doc/org/satmin.org, src/bin/man/spot-x.x: Document it. * NEWS: Mention it.
This commit is contained in:
parent
20824b96b9
commit
3c985a3235
3 changed files with 73 additions and 0 deletions
7
NEWS
7
NEWS
|
|
@ -1,5 +1,12 @@
|
||||||
New in spot 1.2.2a (not yet released)
|
New in spot 1.2.2a (not yet released)
|
||||||
|
|
||||||
|
* New features:
|
||||||
|
|
||||||
|
- The SPOT_SATLOG environment variable can be set to a filename to
|
||||||
|
obtain statistics about the different iterations of the
|
||||||
|
SAT-based minimization. For an example, see
|
||||||
|
http://spot.lip6.fr/userdoc/satmin.html
|
||||||
|
|
||||||
* Bug fixes:
|
* Bug fixes:
|
||||||
|
|
||||||
- More fixes for Python 3 compatibility.
|
- More fixes for Python 3 compatibility.
|
||||||
|
|
|
||||||
|
|
@ -401,3 +401,57 @@ The following options can be used to fine-tune this procedure:
|
||||||
|
|
||||||
When options =-B= and =-x sat-minimize= both used, =-x state-based= and
|
When options =-B= and =-x sat-minimize= both used, =-x state-based= and
|
||||||
=-x sat-acc=1= are implied.
|
=-x sat-acc=1= are implied.
|
||||||
|
|
||||||
|
|
||||||
|
* Logging statistics
|
||||||
|
|
||||||
|
If the environment variable =SPOT_SATLOG= is set to the name of a
|
||||||
|
file, the minimization function will append statistics about each of
|
||||||
|
its iterations in this file.
|
||||||
|
|
||||||
|
#+BEGIN_SRC sh :results verbatim :exports both
|
||||||
|
rm -f stats.csv
|
||||||
|
export SPOT_SATLOG=stats.csv
|
||||||
|
ltlfilt -f "Ga R (F!b & (c U b))" -l |
|
||||||
|
ltl2dstar --ltl2nba=spin:../../src/bin/ltl2tgba@-Ds - - |
|
||||||
|
dstar2tgba -D -x sat-minimize,sat-acc=2 --stats='input(states=%S) output(states=%s, acc-sets=%a, det=%d)'
|
||||||
|
echo
|
||||||
|
cat stats.csv
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
#+begin_example
|
||||||
|
input(states=11) output(states=5, acc-sets=2, det=1)
|
||||||
|
|
||||||
|
9,9,44,72,44064,9043076,917,20,292,12
|
||||||
|
8,7,31,56,22272,4203158,417,7,231,9
|
||||||
|
6,6,28,48,10512,1369289,137,1,76,2
|
||||||
|
5,,,,7200,785942,77,1,25,1
|
||||||
|
#+end_example
|
||||||
|
|
||||||
|
The generated CSV file use the following columns:
|
||||||
|
- the n passed to the SAT-based minimization algorithm
|
||||||
|
(it means the input automaton had n+1 states)
|
||||||
|
- number of reachable states in the output of
|
||||||
|
the minimization.
|
||||||
|
- number of edges in the output
|
||||||
|
- number of transitions
|
||||||
|
- number of variables in the SAT problem
|
||||||
|
- number of clauses in the SAT problem
|
||||||
|
- user time for encoding the SAT problem
|
||||||
|
- system time for encoding the SAT problem
|
||||||
|
- user time for solving the SAT problem
|
||||||
|
- system time for solving the SAT problem
|
||||||
|
|
||||||
|
Times are measured with the times() function, and expressed
|
||||||
|
in ticks (usually: 1/100 of seconds).
|
||||||
|
|
||||||
|
In the above example, you can see that also the input DRA had 11
|
||||||
|
states, the minimization function received a 10-state DBA (one state
|
||||||
|
was probably simplified using simulation-based simplifications) and
|
||||||
|
started looking for an equivalent 9-state DTBA which it found. Then
|
||||||
|
looking for a 8-state DTBA, it found a solution with only 7 states,
|
||||||
|
etc. No solution where found when looking for a 5-state DTBA, so the
|
||||||
|
minimal complete DTBA has 6 states. The output of =dstar2tgba= has 5
|
||||||
|
states just because it is not complete (the =--complete= option was
|
||||||
|
not given, so the useless sink state was removed).
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,18 @@ spot-x \- Common fine-tuning options.
|
||||||
|
|
||||||
[ENVIRONMENT VARIABLES]
|
[ENVIRONMENT VARIABLES]
|
||||||
|
|
||||||
|
.TP
|
||||||
|
\fBSPOT_SATLOG\fR
|
||||||
|
If set to a filename, the SAT-based minimization routines will append
|
||||||
|
statistics about each iteration to the named file. Each line lists
|
||||||
|
the following comma-separated values: requested number of states,
|
||||||
|
number of reachable states in the output, number of edges in the
|
||||||
|
output, number of transitions in the output, number of variables in
|
||||||
|
the SAT problem, number of clauses in the SAT problem, user time for
|
||||||
|
encoding the SAT problem, system time for encoding the SAT problem,
|
||||||
|
user time for solving the SAT problem, system time for solving the SAT
|
||||||
|
problem.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fBSPOT_SATSOLVER\fR
|
\fBSPOT_SATSOLVER\fR
|
||||||
If set, this variable should indicate how to call a SAT\-solver. This
|
If set, this variable should indicate how to call a SAT\-solver. This
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue