determinize: speedup on automata with many AP and few labels

This uses the same trick as discussed in issue #566 and issue #568.

* spot/twaalgos/determinize.cc (safra_support): Use a basis
if it is smaller than 2^|support| for the current Safra state.
* tests/core/568.test: Add some tests.
* NEWS: Mention the optimization.
This commit is contained in:
Alexandre Duret-Lutz 2024-03-25 10:36:34 +01:00
parent bda40a5f19
commit 26ef5458eb
3 changed files with 71 additions and 9 deletions

View file

@ -75,3 +75,29 @@ cat >expected <<EOF
6400 -> 80
EOF
diff expected out
genaut --cycle-onehot=7..12 |
autfilt --parity -D --stats="%S -> %s" > out
cat >expected <<EOF
49 -> 13
64 -> 15
81 -> 17
100 -> 19
121 -> 4360
144 -> 9481
EOF
genaut --cycle-onehot=7..12 |
autfilt -x simul-max=10000 --parity -D --stats="%S -> %s" > out
cat >expected <<EOF
49 -> 13
64 -> 15
81 -> 17
100 -> 19
121 -> 21
144 -> 23
EOF
# Using autcross will also test tgba_determinize
genaut --cycle-onehot-nba=11..12 --cycle-log-nba=11..12 |
autcross --language-preserved 'autfilt --small' --verbose