twaalgos: Set 'dicho' algo as default for SAT-based minimization
* python/spot/__init__.py: Handle options. * spot/twaalgos/dtwasat.cc: Handle options. * spot/twaalgos/postproc.cc: Handle options. * spot/twaalgos/postproc.hh: Handle options. * tests/core/satmin.test: Update tests. Now use 'sat-minimize=4' to use the naive algo. * tests/core/satmin2.test: Update tests. Now use --sat-minimize='naive' to use the naive algo. * tests/python/satmin.py: Update tests. Now use 'naive=True' to use the naive algo.
This commit is contained in:
parent
67e3a4f28e
commit
ef2355a542
7 changed files with 365 additions and 376 deletions
|
|
@ -29,177 +29,211 @@ 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', dicho=True)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_langmap=True)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', assume=True)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=1)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', assume=True, param=0)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=1, sat_incr_steps=0)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', assume=True, param=1)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=1, sat_incr_steps=1)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', assume=True, param=2)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=1, sat_incr_steps=2)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', assume=True, param=50)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=1, sat_incr_steps=50)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=2)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=-1)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=2, sat_incr_steps=-1)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=0)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=2, sat_incr_steps=0)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=1)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=2, sat_incr_steps=1)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=2)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=2, sat_incr_steps=2)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', incr=True, param=50)
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_incr=2, sat_incr_steps=50)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
min1 = spot.sat_minimize(aut, acc='Rabin 1', sat_naive=True)
|
||||
assert min1.num_sets() == 2
|
||||
assert min1.num_states() == 2
|
||||
|
||||
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', dicho=True)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2')
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', assume=True)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_langmap=True)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', assume=True, param=0)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=1)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', assume=True, param=1)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=1, sat_incr_steps=0)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', assume=True, param=2)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=1, sat_incr_steps=1)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', assume=True, param=50)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=1, sat_incr_steps=2)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=1, sat_incr_steps=50)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=-1)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=2)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=0)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=2, sat_incr_steps=-1)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=1)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=2, sat_incr_steps=0)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=2)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=2, sat_incr_steps=1)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', incr=True, param=50)
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=2, sat_incr_steps=2)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_incr=2, sat_incr_steps=50)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
min2 = spot.sat_minimize(aut, acc='Streett 2', sat_naive=True)
|
||||
assert min2.num_sets() == 4
|
||||
assert min2.num_states() == 1
|
||||
|
||||
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, dicho=True)
|
||||
state_based=True, max_states=5)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, assume=True)
|
||||
state_based=True, max_states=5, sat_langmap=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, assume=True, param=0)
|
||||
state_based=True, max_states=5, sat_incr=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, assume=True, param=1)
|
||||
state_based=True, max_states=5, sat_incr=1,
|
||||
sat_incr_steps=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, assume=True, param=2)
|
||||
state_based=True, max_states=5, sat_incr=1,
|
||||
sat_incr_steps=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, assume=True, param=50)
|
||||
state_based=True, max_states=5, sat_incr=1,
|
||||
sat_incr_steps=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)
|
||||
state_based=True, max_states=5, sat_incr=1,
|
||||
sat_incr_steps=50)
|
||||
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)
|
||||
state_based=True, max_states=5, sat_incr=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=0)
|
||||
state_based=True, max_states=5, sat_incr=2,
|
||||
sat_incr_steps=-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=1)
|
||||
state_based=True, max_states=5, sat_incr=2,
|
||||
sat_incr_steps=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=2)
|
||||
state_based=True, max_states=5, sat_incr=2,
|
||||
sat_incr_steps=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=50)
|
||||
state_based=True, max_states=5, sat_incr=2,
|
||||
sat_incr_steps=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, sat_incr=2,
|
||||
sat_incr_steps=50)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
min3 = spot.sat_minimize(aut, acc='Rabin 2',
|
||||
state_based=True, max_states=5, sat_naive=True)
|
||||
assert min3.num_sets() == 4
|
||||
assert min3.num_states() == 3
|
||||
|
||||
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, dicho=True)
|
||||
colored=True)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, assume=True)
|
||||
colored=True, sat_langmap=True)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, assume=True, param=0)
|
||||
colored=True, sat_incr=1)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, assume=True, param=1)
|
||||
colored=True, sat_incr=1, sat_incr_steps=0)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, assume=True, param=2)
|
||||
colored=True, sat_incr=1, sat_incr_steps=1)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, assume=True, param=50)
|
||||
colored=True, sat_incr=1, sat_incr_steps=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)
|
||||
colored=True, sat_incr=1, sat_incr_steps=50)
|
||||
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)
|
||||
colored=True, sat_incr=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=0)
|
||||
colored=True, sat_incr=2, sat_incr_steps=-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=1)
|
||||
colored=True, sat_incr=2, sat_incr_steps=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=2)
|
||||
colored=True, sat_incr=2, sat_incr_steps=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=50)
|
||||
colored=True, sat_incr=2, sat_incr_steps=2)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, sat_incr=2, sat_incr_steps=50)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
min4 = spot.sat_minimize(aut, acc='parity max odd 3',
|
||||
colored=True, sat_naive=True)
|
||||
assert min4.num_sets() == 3
|
||||
assert min4.num_states() == 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue