twaalgos: Implement dt*a_sat_minimize_incr(...) functions
* python/spot/__init__.py: Add 'incr' boolean argument. * spot/twaalgos/dtbasat.cc: Implement dtba_sat_minimize_incr(...). * spot/twaalgos/dtbasat.hh: Declare it. * spot/twaalgos/dtwasat.cc: Implement dtwa_sat_minimize_incr(...) and deal with options. * spot/twaalgos/dtwasat.hh: Declare it. * spot/twaalgos/postproc.cc: Add option --sat-minimize=incr. * spot/twaalgos/postproc.hh: Add incr parameter. * tests/core/satmin.test: Add tests for incremental version. Update expected result. * tests/core/satmin2.test: Add tests for incremental version. * tests/python/satmin.py: Add tests for incremental version.
This commit is contained in:
parent
9acd7370b2
commit
ee17c2dee4
10 changed files with 1051 additions and 26 deletions
|
|
@ -25,20 +25,108 @@ assert aut.num_sets() == 1
|
|||
assert aut.num_states() == 3
|
||||
assert aut.is_deterministic()
|
||||
|
||||
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1')
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=-1)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=0)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=1)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=2)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=50)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
|
||||
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', dichotomy=True)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=-1)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=0)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=1)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=2)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=50)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
|
||||
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, dichotomy=True)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, incr=True)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, incr=True, param=-1)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, incr=True, param=0)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, incr=True, param=1)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, incr=True, param=2)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, incr=True, param=50)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
|
||||
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, dichotomy=True)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, incr=True)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, incr=True, param=-1)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, incr=True, param=0)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, incr=True, param=1)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, incr=True, param=2)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, incr=True, param=50)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue