Using partitioned_relabel_here

Put the new function to use in order to speed up
mealy machine minimization

* spot/twaalgos/mealy_machine.cc: Here
* spot/twaalgos/synthesis.cc
, spot/twaalgos/synthesis.hh: Helper function to relabel games
* tests/python/_mealy.ipynb
, tests/python/except.py
, tests/python/_partitioned_relabel.ipynb: Adapt/expand tests
This commit is contained in:
Philipp Schlehuber-Caissier 2022-11-29 14:58:26 +01:00
parent fb63dfc309
commit 6e2e7c942e
6 changed files with 1722 additions and 182 deletions

View file

@ -373,4 +373,22 @@ except RuntimeError as e:
tc.assertIn("The given prefix for new variables",
str(e))
else:
report_missing_exception()
report_missing_exception()
# Relabeling games must not use the
# globally reserved aps
aut = spot.make_twa_graph()
aut.new_states(2)
apin = buddy.bdd_ithvar(aut.register_ap("__AP_IN__"))
apout = buddy.bdd_ithvar(aut.register_ap("__AP_OUT__"))
aut.new_edge(0,1,apin & apout)
aut.new_edge(1,0,buddy.bdd_not(apin & apout))
spot.set_state_players(aut, [False, True])
try:
spot.partitioned_game_relabel_here(aut, True, True)
except RuntimeError as e:
tc.assertIn("You can not use __AP_IN__ or __AP_OUT__",
str(e))
else:
report_missing_exception()