game: reimplement parity game solving
* spot/misc/game.cc, spot/misc/game.hh: More efficient implementation of Zielonka's algorithm to solve parity games. Now supports SCC decomposition and efficient handling of certain special cases. * doc/org/concepts.org: Document "strategy" and "state-winner" properties. * bin/ltlsynt.cc, tests/python/paritygame.ipynb: Adjust. * tests/core/ltlsynt.test: Add more tests.
This commit is contained in:
parent
f6ac69d0d2
commit
133896d584
6 changed files with 870 additions and 528 deletions
|
|
@ -23,6 +23,27 @@
|
|||
set -e
|
||||
|
||||
cat >exp <<EOF
|
||||
parity 19;
|
||||
0 1 0 8,9 "INIT";
|
||||
9 3 1 1,2;
|
||||
2 1 0 12,13;
|
||||
13 5 1 1,4;
|
||||
4 1 0 8,15;
|
||||
15 3 1 5,6;
|
||||
6 1 0 8,15;
|
||||
8 3 1 2;
|
||||
5 1 0 16,17;
|
||||
17 4 1 5,6;
|
||||
16 4 1 2;
|
||||
1 1 0 10,11;
|
||||
11 4 1 5,7;
|
||||
7 1 0 18,19;
|
||||
19 3 1 5,7;
|
||||
18 3 1 2,3;
|
||||
3 1 0 10,14;
|
||||
14 4 1 1,4;
|
||||
10 4 1 2,3;
|
||||
12 5 1 2,3;
|
||||
parity 16;
|
||||
0 1 0 1,2 "INIT";
|
||||
2 1 1 3;
|
||||
|
|
@ -41,8 +62,18 @@ parity 16;
|
|||
14 1 1 10,16;
|
||||
16 1 0 14,15;
|
||||
1 1 1 3,6;
|
||||
parity 4;
|
||||
3 2 0 1,4 "INIT";
|
||||
4 3 1 0,3;
|
||||
0 1 0 1,2;
|
||||
2 1 1 0,0;
|
||||
1 2 1 3,3;
|
||||
EOF
|
||||
ltlsynt --ins=a --outs=b -f 'GFa <-> GFb' --print-pg >out
|
||||
|
||||
: > out
|
||||
for algo in ds sd lar; do
|
||||
ltlsynt --ins=a --outs=b -f 'GFa <-> GFb' --algo=$algo --print-pg >>out
|
||||
done
|
||||
diff out exp
|
||||
|
||||
cat >exp <<EOF
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue