Commit graph

3 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
ab7f4f51c4 simulation: fix determinism check
Commit bda40a5f introduced a subtle bug where nm_minato was being
increased in more cases causing some non-deterministic automata to be
incorrectly tagged as deterministic automata.

Fixes issue #575, reported by Dávid Smolka.

* spot/twaalgos/simulation.cc (create_edges): Do not increment
nm_minato when dest is bddfalse.
* tests/core/568.test: Add Dávid's first test-case.
* tests/python/forq_contains.py: Add Dávid's second test-case.
2024-04-24 23:59:07 +02:00
Alexandre Duret-Lutz
26ef5458eb 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.
2024-03-25 20:25:24 +01:00
Alexandre Duret-Lutz
bda40a5f19 simulation: heuristically use a separated-label approach to rebuild
Closes issue #568.

* spot/twaalgos/simulation.cc (direct_simulation::build_result):
Implement an alternate loop based on edge_separator::basis to iterate
over a signature to build results.
* tests/core/568.test: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the optimization.
2024-03-25 20:25:24 +01:00