-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
renamed tac archive to jair; added some dec-pomdp sketches
- Loading branch information
1 parent
b6d3138
commit ec08c65
Showing
88 changed files
with
17,683 additions
and
0 deletions.
There are no files selected for viewing
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
16,233 changes: 16,233 additions & 0 deletions
16,233
models/archive/jair24-synthesis/dec-pomdp/dec-tiger/sketch.drn
Large diffs are not rendered by default.
Oops, something went wrong.
8 changes: 8 additions & 0 deletions
8
models/archive/jair24-synthesis/dec-pomdp/dec-tiger/sketch.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
R[exp]{"rew"}max=? [C{0.9}] | ||
|
||
//R{"rew"}max=? [F "goal"] | ||
|
||
//R{"steps"}min=? [F "goal"] | ||
|
||
|
||
//Pmax=? [F "goal"] |
144 changes: 144 additions & 0 deletions
144
models/archive/jair24-synthesis/dec-pomdp/dec-tiger/sketch.templ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
|
||
dtmc | ||
|
||
|
||
const double discount=1; | ||
|
||
// agent 1 holes | ||
hole int M1_0_0 in {0,1}; | ||
hole int M1_0_1 in {0,1}; | ||
hole int M1_1_0 in {0,1}; | ||
hole int M1_1_1 in {0,1}; | ||
hole int P1_0_0 in {0,1,2}; | ||
hole int P1_0_1 in {0,1,2}; | ||
hole int P1_1_0 in {0,1,2}; | ||
hole int P1_1_1 in {0,1,2}; | ||
|
||
// agent 2 holes | ||
hole int M2_0_1 in {0,1}; | ||
hole int M2_0_0 in {0,1}; | ||
hole int M2_1_1 in {0,1}; | ||
hole int M2_1_0 in {0,1}; | ||
hole int P2_0_1 in {0,1,2}; | ||
hole int P2_0_0 in {0,1,2}; | ||
hole int P2_1_1 in {0,1,2}; | ||
hole int P2_1_0 in {0,1,2}; | ||
|
||
hole int INIT_A1 in {0,1,2}; | ||
hole int INIT_A2 in {0,1,2}; | ||
|
||
module strategy1 | ||
mem : [0..1] init 0; | ||
|
||
[act] mem=0 & o1=0 -> (mem'=M1_0_0); | ||
[act] mem=0 & o1=1 -> (mem'=M1_0_1); | ||
[act] mem=1 & o1=0 -> (mem'=M1_1_0); | ||
[act] mem=1 & o1=1 -> (mem'=M1_1_1); | ||
endmodule | ||
|
||
module strategy2 | ||
mem2 : [0..1] init 0; | ||
|
||
[act] mem2=0 & o2=0 -> (mem2'=M2_0_0); | ||
[act] mem2=0 & o2=1 -> (mem2'=M2_0_1); | ||
[act] mem2=1 & o2=0 -> (mem2'=M2_1_0); | ||
[act] mem2=1 & o2=1 -> (mem2'=M2_1_1); | ||
endmodule | ||
|
||
|
||
module tiger | ||
|
||
pos : [0..1] init 0; | ||
o1 : [0..1] init 0; | ||
o2 : [0..1] init 0; | ||
act : [0..2] init 0; | ||
act2 : [0..2] init 0; | ||
|
||
[in] true -> 0.5: (pos'=0)&(act'=INIT_A1)&(act2'=INIT_A2) + 0.5: (pos'=1)&(act'=INIT_A1)&(act2'=INIT_A2); | ||
|
||
[choose] o1=0 & o2=0 & mem=0 & mem2=0 -> 1: (act'=P1_0_0)&(act2'=P2_0_0); | ||
[choose] o1=0 & o2=0 & mem=1 & mem2=0 -> 1: (act'=P1_1_0)&(act2'=P2_0_0); | ||
[choose] o1=0 & o2=0 & mem=0 & mem2=1 -> 1: (act'=P1_0_0)&(act2'=P2_1_0); | ||
[choose] o1=0 & o2=0 & mem=1 & mem2=1 -> 1: (act'=P1_1_0)&(act2'=P2_1_0); | ||
|
||
[choose] o1=1 & o2=0 & mem=0 & mem2=0 -> 1: (act'=P1_0_1)&(act2'=P2_0_0); | ||
[choose] o1=1 & o2=0 & mem=1 & mem2=0 -> 1: (act'=P1_1_1)&(act2'=P2_0_0); | ||
[choose] o1=1 & o2=0 & mem=0 & mem2=1 -> 1: (act'=P1_0_1)&(act2'=P2_1_0); | ||
[choose] o1=1 & o2=0 & mem=1 & mem2=1 -> 1: (act'=P1_1_1)&(act2'=P2_1_0); | ||
|
||
[choose] o1=0 & o2=1 & mem=0 & mem2=0 -> 1: (act'=P1_0_0)&(act2'=P2_0_1); | ||
[choose] o1=0 & o2=1 & mem=1 & mem2=0 -> 1: (act'=P1_1_0)&(act2'=P2_0_1); | ||
[choose] o1=0 & o2=1 & mem=0 & mem2=1 -> 1: (act'=P1_0_0)&(act2'=P2_1_1); | ||
[choose] o1=0 & o2=1 & mem=1 & mem2=1 -> 1: (act'=P1_1_0)&(act2'=P2_1_1); | ||
|
||
[choose] o1=1 & o2=1 & mem=0 & mem2=0 -> 1: (act'=P1_0_1)&(act2'=P2_0_1); | ||
[choose] o1=1 & o2=1 & mem=1 & mem2=0 -> 1: (act'=P1_1_1)&(act2'=P2_0_1); | ||
[choose] o1=1 & o2=1 & mem=0 & mem2=1 -> 1: (act'=P1_0_1)&(act2'=P2_1_1); | ||
[choose] o1=1 & o2=1 & mem=1 & mem2=1 -> 1: (act'=P1_1_1)&(act2'=P2_1_1); | ||
|
||
|
||
[act] pos=0 & act=0 & act2=0 -> 0.7225: (o1'=0)&(o2'=0) + 0.1275: (o1'=0)&(o2'=1) + 0.1275: (o1'=1)&(o2'=0) + 0.0225: (o1'=1)&(o2'=1); | ||
[act] pos=1 & act=0 & act2=0 -> 0.7225: (o1'=1)&(o2'=1) + 0.1275: (o1'=0)&(o2'=1) + 0.1275: (o1'=1)&(o2'=0) + 0.0225: (o1'=0)&(o2'=0); | ||
|
||
//[act] act!=0 | act2!=0 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
|
||
[act] pos=0 & act=0 & act2=1 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=0 & act=0 & act2=2 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=0 & act=1 & act2=0 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=0 & act=2 & act2=0 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=0 & act=1 & act2=1 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=0 & act=1 & act2=2 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=0 & act=2 & act2=1 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=0 & act=2 & act2=2 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
|
||
[act] pos=1 & act=0 & act2=1 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=1 & act=0 & act2=2 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=1 & act=1 & act2=0 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=1 & act=2 & act2=0 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=1 & act=1 & act2=1 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=1 & act=1 & act2=2 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=1 & act=2 & act2=1 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
[act] pos=1 & act=2 & act2=2 -> 0.125: (pos'=0)&(o1'=0)&(o2'=0) + 0.125: (pos'=0)&(o1'=0)&(o2'=1) + 0.125: (pos'=0)&(o1'=1)&(o2'=0) + 0.125: (pos'=0)&(o1'=1)&(o2'=1) + (pos'=1)&(o1'=0)&(o2'=0) + 0.125: (pos'=1)&(o1'=0)&(o2'=1) + 0.125: (pos'=1)&(o1'=1)&(o2'=0) + 0.125: (pos'=1)&(o1'=1)&(o2'=1); | ||
|
||
endmodule | ||
|
||
|
||
module df | ||
sink : bool init false; | ||
[act] !sink -> discount: true + 1-discount: (sink'=true); | ||
endmodule | ||
module clk | ||
c : [0..2] init 0; | ||
[in] c=0 -> 1: (c'=2); | ||
[choose] c=1 -> 1: (c'=2); | ||
[act] c=2 -> 1: (c'=1); | ||
endmodule | ||
|
||
// reward | ||
rewards "rew" | ||
c=2 & pos=0 & act=0 & act2=0 : -2; | ||
c=2 & pos=1 & act=0 & act2=0 : -2; | ||
|
||
c=2 & pos=0 & act=0 & act2=1 : -101; | ||
c=2 & pos=0 & act=0 & act2=2 : 9; | ||
c=2 & pos=0 & act=1 & act2=0 : -101; | ||
c=2 & pos=0 & act=2 & act2=0 : 9; | ||
c=2 & pos=0 & act=1 & act2=1 : -50; | ||
c=2 & pos=0 & act=1 & act2=2 : -100; | ||
c=2 & pos=0 & act=2 & act2=1 : -100; | ||
c=2 & pos=0 & act=2 & act2=2 : 20; | ||
|
||
c=2 & pos=1 & act=0 & act2=1 : 9; | ||
c=2 & pos=1 & act=0 & act2=2 : -101; | ||
c=2 & pos=1 & act=1 & act2=0 : 9; | ||
c=2 & pos=1 & act=2 & act2=0 : -101; | ||
c=2 & pos=1 & act=1 & act2=1 : 20; | ||
c=2 & pos=1 & act=1 & act2=2 : -100; | ||
c=2 & pos=1 & act=2 & act2=1 : -100; | ||
c=2 & pos=1 & act=2 & act2=2 : -50; | ||
endrewards | ||
|
||
// target | ||
label "goal" = sink=true; | ||
|
6 changes: 6 additions & 0 deletions
6
models/archive/jair24-synthesis/dec-pomdp/grid-meet-sl-2fsc-discount/sketch.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
R{"moves"}max=? [F "goal"] | ||
|
||
//R{"steps"}min=? [F "goal"] | ||
|
||
|
||
//Pmax=? [F "goal"] |
155 changes: 155 additions & 0 deletions
155
models/archive/jair24-synthesis/dec-pomdp/grid-meet-sl-2fsc-discount/sketch.templ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,155 @@ | ||
|
||
dtmc | ||
|
||
// 7 | x x x x x x x x | ||
// 6 | x x x | ||
// 5 | x x A x x x x | ||
// 4 | x x x x x x x | ||
// 3 | x x x x x x | ||
// 2 | x x x x x A x | ||
// 1 | x x x x x | ||
// 0 | x x x x x | ||
// y _________________ | ||
// x 0 1 2 3 4 5 6 7 | ||
|
||
|
||
// agent1 can go in this direction | ||
formula u1 = ya1<7 & !(xa1=3 & ya1=2) & !(ya1=5 & xa1>3); | ||
formula r1 = xa1<7 & !(xa1=4 & ya1<4) & !(xa1=2 & (ya1>2 & ya1<7)); | ||
formula d1 = ya1>0 & !(ya1=2 & xa1<2) & !(ya1=7 & xa1>2) & !(ya1=4 & xa1=5); | ||
formula l1 = xa1>0 & !(xa1=2 & ya1<2) & !(xa1=6 & ya1<4) & !(xa1=4 & (ya1>2 & ya1<6)); | ||
|
||
// updates of coordinates (if possible) | ||
formula y1u = u1 ? (ya1+1) : ya1; | ||
formula x1r = r1 ? (xa1+1) : xa1; | ||
formula y1d = d1 ? (ya1-1) : ya1; | ||
formula x1l = l1 ? (xa1-1) : xa1; | ||
|
||
|
||
// agent2 can go in this direction | ||
formula u2 = ya2<7 & !(xa2=3 & ya2=2) & !(ya2=5 & xa2>3); | ||
formula r2 = xa2<7 & !(xa2=4 & ya2<4) & !(xa2=2 & (ya2>2 & ya2<7)); | ||
formula d2 = ya2>0 & !(ya2=2 & xa2<2) & !(ya2=7 & xa2>2) & !(ya2=4 & xa2=5); | ||
formula l2 = xa2>0 & !(xa2=2 & ya2<2) & !(xa2=6 & ya2<4) & !(xa2=4 & (ya2>2 & ya2<6)); | ||
|
||
// updates of coordinates (if possible) | ||
formula y2u = u2 ? (ya2+1) : ya2; | ||
formula x2r = r2 ? (xa2+1) : xa2; | ||
formula y2d = d2 ? (ya2-1) : ya2; | ||
formula x2l = l2 ? (xa2-1) : xa2; | ||
|
||
|
||
const double sl=0.1; | ||
|
||
// agent 1 holes | ||
hole int M1_0_1 in {0,1}; | ||
hole int M1_0_0 in {0,1}; | ||
hole int M1_1_1 in {0,1}; | ||
hole int M1_1_0 in {0,1}; | ||
hole int P1_0_1 in {1,2,3,4}; | ||
hole int P1_0_0 in {1,2,3,4}; | ||
hole int P1_1_1 in {1,2,3,4}; | ||
hole int P1_1_0 in {1,2,3,4}; | ||
|
||
// agent 2 holes | ||
hole int M2_0_1 in {0,1}; | ||
hole int M2_0_0 in {0,1}; | ||
hole int M2_1_1 in {0,1}; | ||
hole int M2_1_0 in {0,1}; | ||
hole int P2_0_1 in {1,2,3,4}; | ||
hole int P2_0_0 in {1,2,3,4}; | ||
hole int P2_1_1 in {1,2,3,4}; | ||
hole int P2_1_0 in {1,2,3,4}; | ||
|
||
module strategy1 | ||
mem : [0..1] init 0; | ||
|
||
[move] mem=0 & r1 -> (mem'=M1_0_1); | ||
[move] mem=0 & !r1 -> (mem'=M1_0_0); | ||
[move] mem=1 & r1 -> (mem'=M1_1_1); | ||
[move] mem=1 & !r1 -> (mem'=M1_1_0); | ||
endmodule | ||
|
||
module grid1 | ||
|
||
xa1 : [0..7] init 2; // agent1 x coordinate | ||
ya1 : [0..7] init 5; // agent1 y coordinate | ||
|
||
|
||
[move] mem=0 & r1 & P1_0_1=1 -> 1-sl: (ya1'=y1u) + sl: true; | ||
[move] mem=0 & r1 & P1_0_1=2 -> 1-sl: (xa1'=x1r) + sl: true; | ||
[move] mem=0 & r1 & P1_0_1=3 -> 1-sl: (ya1'=y1d) + sl: true; | ||
[move] mem=0 & r1 & P1_0_1=4 -> 1-sl: (xa1'=x1l) + sl: true; | ||
|
||
[move] mem=0 & !r1 & P1_0_0=1 -> 1-sl: (ya1'=y1u) + sl: true; | ||
[move] mem=0 & !r1 & P1_0_0=2 -> 1-sl: (xa1'=x1r) + sl: true; | ||
[move] mem=0 & !r1 & P1_0_0=3 -> 1-sl: (ya1'=y1d) + sl: true; | ||
[move] mem=0 & !r1 & P1_0_0=4 -> 1-sl: (xa1'=x1l) + sl: true; | ||
|
||
[move] mem=1 & r1 & P1_1_1=1 -> 1-sl: (ya1'=y1u) + sl: true; | ||
[move] mem=1 & r1 & P1_1_1=2 -> 1-sl: (xa1'=x1r) + sl: true; | ||
[move] mem=1 & r1 & P1_1_1=3 -> 1-sl: (ya1'=y1d) + sl: true; | ||
[move] mem=1 & r1 & P1_1_1=4 -> 1-sl: (xa1'=x1l) + sl: true; | ||
|
||
[move] mem=1 & !r1 & P1_1_0=1 -> 1-sl: (ya1'=y1u) + sl: true; | ||
[move] mem=1 & !r1 & P1_1_0=2 -> 1-sl: (xa1'=x1r) + sl: true; | ||
[move] mem=1 & !r1 & P1_1_0=3 -> 1-sl: (ya1'=y1d) + sl: true; | ||
[move] mem=1 & !r1 & P1_1_0=4 -> 1-sl: (xa1'=x1l) + sl: true; | ||
|
||
endmodule | ||
|
||
|
||
module strategy2 | ||
mem2 : [0..1] init 0; | ||
|
||
[move] mem2=0 & l2 -> (mem2'=M2_0_1); | ||
[move] mem2=0 & !l2 -> (mem2'=M2_0_0); | ||
[move] mem2=1 & l2 -> (mem2'=M2_1_1); | ||
[move] mem2=1 & !l2 -> (mem2'=M2_1_0); | ||
endmodule | ||
|
||
|
||
module grid2 | ||
|
||
xa2 : [0..7] init 6; // agent2 x coordinate | ||
ya2 : [0..7] init 2; // agent2 y coordinate | ||
|
||
[move] mem2=0 & l2 & P2_0_1=1 -> 1-sl: (ya2'=y2u) + sl: true; | ||
[move] mem2=0 & l2 & P2_0_1=2 -> 1-sl: (xa2'=x2r) + sl: true; | ||
[move] mem2=0 & l2 & P2_0_1=3 -> 1-sl: (ya2'=y2d) + sl: true; | ||
[move] mem2=0 & l2 & P2_0_1=4 -> 1-sl: (xa2'=x2l) + sl: true; | ||
|
||
[move] mem2=0 & !l2 & P2_0_0=1 -> 1-sl: (ya2'=y2u) + sl: true; | ||
[move] mem2=0 & !l2 & P2_0_0=2 -> 1-sl: (xa2'=x2r) + sl: true; | ||
[move] mem2=0 & !l2 & P2_0_0=3 -> 1-sl: (ya2'=y2d) + sl: true; | ||
[move] mem2=0 & !l2 & P2_0_0=4 -> 1-sl: (xa2'=x2l) + sl: true; | ||
|
||
[move] mem2=1 & l2 & P2_1_1=1 -> 1-sl: (ya2'=y2u) + sl: true; | ||
[move] mem2=1 & l2 & P2_1_1=2 -> 1-sl: (xa2'=x2r) + sl: true; | ||
[move] mem2=1 & l2 & P2_1_1=3 -> 1-sl: (ya2'=y2d) + sl: true; | ||
[move] mem2=1 & l2 & P2_1_1=4 -> 1-sl: (xa2'=x2l) + sl: true; | ||
|
||
[move] mem2=1 & !l2 & P2_1_0=1 -> 1-sl: (ya2'=y2u) + sl: true; | ||
[move] mem2=1 & !l2 & P2_1_0=2 -> 1-sl: (xa2'=x2r) + sl: true; | ||
[move] mem2=1 & !l2 & P2_1_0=3 -> 1-sl: (ya2'=y2d) + sl: true; | ||
[move] mem2=1 & !l2 & P2_1_0=4 -> 1-sl: (xa2'=x2l) + sl: true; | ||
endmodule | ||
|
||
const double discount = 0.99; | ||
|
||
module df | ||
sink : bool init false; | ||
[move] !sink & !meet -> discount: true + 1-discount: (sink'=true); | ||
[move] !sink & meet -> 1: (sink'=true); | ||
endmodule | ||
|
||
// reward | ||
rewards "moves" | ||
!sink: -1; | ||
endrewards | ||
|
||
formula meet = (xa1=xa2) & (ya1=ya2); | ||
|
||
// target | ||
label "goal" = sink=true; | ||
|
File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions
6
models/archive/jair24-synthesis/dec-pomdp/grid-meet-sl-3fsc-discount/sketch.props
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
R{"moves"}max=? [F "goal"] | ||
|
||
//R{"steps"}min=? [F "goal"] | ||
|
||
|
||
//Pmax=? [F "goal"] |
Oops, something went wrong.