Introduce new ways to split an automaton
The explicit way of splitting suffers if there are too many input APs, two new ways of splitting are introduced as well as a heuristic to chose between them. * NEWS: update * spot/twaalgos/synthesis.cc, spot/twaalgos/synthesis.hh: New fonctions * bin/ltlsynt.cc: Add corresponding option * tests/core/gamehoa.test, tests/core/ltlsynt.test, tests/python/_partitioned_relabel.ipynb, tests/python/_synthesis.ipynb, tests/python/game.py, tests/python/split.py, tests/python/synthesis.py: Adjusting and adding test
This commit is contained in:
parent
2274308cad
commit
5ddac258e1
11 changed files with 1372 additions and 138 deletions
|
|
@ -29,8 +29,7 @@ for i in range(0, 2):
|
|||
tc.assertFalse(spot.solve_game(game))
|
||||
|
||||
# A game can have only inputs
|
||||
game = spot.ltl_to_game("GFa", [])
|
||||
tc.assertEqual(game.to_str(), """HOA: v1
|
||||
game_ref = spot.automaton("""HOA: v1
|
||||
States: 3
|
||||
Start: 0
|
||||
AP: 1 "a"
|
||||
|
|
@ -49,3 +48,10 @@ State: 1
|
|||
State: 2
|
||||
[t] 0 {0}
|
||||
--END--""")
|
||||
|
||||
gi = spot.synthesis_info()
|
||||
gi.dict = game_ref.get_dict()
|
||||
|
||||
game = spot.ltl_to_game("GFa", [], gi)
|
||||
|
||||
tc.assertTrue(spot.are_equivalent(game, game_ref))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue