Skip to content

Commit

Permalink
Final JAIR sumbission additions (#41)
Browse files Browse the repository at this point in the history
* renamed tac archive to jair; added some dec-pomdp sketches

* dec-pomdp sketch experiments

* more dec-pomdp sketches

* finishing the box pushing dec-pomdp sketch

* added box pushing 1 and 2 FSC sketch

* finalising dec-POMDP sketch benchmark set

* dec-POMDP experiments

* Finished dec-POMDP sketches for JAIR

* Finalising repository for JAIR submission
  • Loading branch information
TheGreatfpmK authored May 30, 2024
1 parent 5b19bfa commit a0e12b7
Show file tree
Hide file tree
Showing 95 changed files with 8,453 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
R{"moves"}max=? [F "goal"]
//Pmin=? [F "goal"]
//R{"actc"}max=? [F "goal"]

//R{"steps"}min=? [F "goal"]


//Pmax=? [F "goal"]
3,238 changes: 3,238 additions & 0 deletions models/archive/jair24-synthesis/dec-pomdp/box-pushing-1fsc/sketch.templ

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
R{"moves"}max=? [F "goal"]
//Pmin=? [F "goal"]
//R{"actc"}max=? [F "goal"]

//R{"steps"}min=? [F "goal"]


//Pmax=? [F "goal"]
3,238 changes: 3,238 additions & 0 deletions models/archive/jair24-synthesis/dec-pomdp/box-pushing-2fsc/sketch.templ

Large diffs are not rendered by default.

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"]
131 changes: 131 additions & 0 deletions models/archive/jair24-synthesis/dec-pomdp/dec-tiger-2fsc/sketch.templ
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@

dtmc


const double discount=0.9;

// 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};


module strategy1
mem : [0..1] init 0;
act : [0..2] init 0;

[choose] mem=0 & o1=0 -> (act'=P1_0_0);
[choose] mem=0 & o1=1 -> (act'=P1_0_1);
[choose] mem=1 & o1=0 -> (act'=P1_1_0);
[choose] mem=1 & o1=1 -> (act'=P1_1_1);

[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;
act2 : [0..2] init 0;

[choose] mem2=0 & o2=0 -> (act2'=P2_0_1);
[choose] mem2=0 & o2=1 -> (act2'=P2_0_0);
[choose] mem2=1 & o2=0 -> (act2'=P2_1_1);
[choose] mem2=1 & o2=1 -> (act2'=P2_1_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;

[in] true -> 0.5: (pos'=0) + 0.5: (pos'=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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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"
!sink & c=2 & pos=0 & act=0 & act2=0 : -2;
!sink & c=2 & pos=1 & act=0 & act2=0 : -2;

!sink & c=2 & pos=0 & act=0 & act2=1 : -101;
!sink & c=2 & pos=0 & act=0 & act2=2 : 9;
!sink & c=2 & pos=0 & act=1 & act2=0 : -101;
!sink & c=2 & pos=0 & act=2 & act2=0 : 9;
!sink & c=2 & pos=0 & act=1 & act2=1 : -50;
!sink & c=2 & pos=0 & act=1 & act2=2 : -100;
!sink & c=2 & pos=0 & act=2 & act2=1 : -100;
!sink & c=2 & pos=0 & act=2 & act2=2 : 20;

!sink & c=2 & pos=1 & act=0 & act2=1 : 9;
!sink & c=2 & pos=1 & act=0 & act2=2 : -101;
!sink & c=2 & pos=1 & act=1 & act2=0 : 9;
!sink & c=2 & pos=1 & act=2 & act2=0 : -101;
!sink & c=2 & pos=1 & act=1 & act2=1 : 20;
!sink & c=2 & pos=1 & act=1 & act2=2 : -100;
!sink & c=2 & pos=1 & act=2 & act2=1 : -100;
!sink & c=2 & pos=1 & act=2 & act2=2 : -50;
endrewards

// target
label "goal" = sink=true;

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"]
147 changes: 147 additions & 0 deletions models/archive/jair24-synthesis/dec-pomdp/dec-tiger-3fsc/sketch.templ
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@

dtmc


const double discount=0.9;

// agent 1 holes
hole int M1_0_0 in {0,1,2};
hole int M1_0_1 in {0,1,2};
hole int M1_1_0 in {0,1,2};
hole int M1_1_1 in {0,1,2};
hole int M1_2_0 in {0,1,2};
hole int M1_2_1 in {0,1,2};
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};
hole int P1_2_0 in {0,1,2};
hole int P1_2_1 in {0,1,2};

// agent 2 holes
hole int M2_0_1 in {0,1,2};
hole int M2_0_0 in {0,1,2};
hole int M2_1_1 in {0,1,2};
hole int M2_1_0 in {0,1,2};
hole int M2_2_1 in {0,1,2};
hole int M2_2_0 in {0,1,2};
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 P2_2_1 in {0,1,2};
hole int P2_2_0 in {0,1,2};


module strategy1
mem : [0..2] init 0;
act : [0..2] init 0;

[choose] mem=0 & o1=0 -> (act'=P1_0_0);
[choose] mem=0 & o1=1 -> (act'=P1_0_1);
[choose] mem=1 & o1=0 -> (act'=P1_1_0);
[choose] mem=1 & o1=1 -> (act'=P1_1_1);
[choose] mem=2 & o1=0 -> (act'=P1_2_0);
[choose] mem=2 & o1=1 -> (act'=P1_2_1);

[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);
[act] mem=2 & o1=0 -> (mem'=M1_2_0);
[act] mem=2 & o1=1 -> (mem'=M1_2_1);
endmodule

module strategy2
mem2 : [0..2] init 0;
act2 : [0..2] init 0;

[choose] mem2=0 & o2=0 -> (act2'=P2_0_1);
[choose] mem2=0 & o2=1 -> (act2'=P2_0_0);
[choose] mem2=1 & o2=0 -> (act2'=P2_1_1);
[choose] mem2=1 & o2=1 -> (act2'=P2_1_0);
[choose] mem2=2 & o2=0 -> (act2'=P2_2_1);
[choose] mem2=2 & o2=1 -> (act2'=P2_2_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);
[act] mem2=2 & o2=0 -> (mem2'=M2_2_0);
[act] mem2=2 & o2=1 -> (mem2'=M2_2_1);
endmodule


module tiger

pos : [0..1] init 0;
o1 : [0..1] init 0;
o2 : [0..1] init 0;

[in] true -> 0.5: (pos'=0) + 0.5: (pos'=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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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) + 0.125: (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"
!sink & c=2 & pos=0 & act=0 & act2=0 : -2;
!sink & c=2 & pos=1 & act=0 & act2=0 : -2;

!sink & c=2 & pos=0 & act=0 & act2=1 : -101;
!sink & c=2 & pos=0 & act=0 & act2=2 : 9;
!sink & c=2 & pos=0 & act=1 & act2=0 : -101;
!sink & c=2 & pos=0 & act=2 & act2=0 : 9;
!sink & c=2 & pos=0 & act=1 & act2=1 : -50;
!sink & c=2 & pos=0 & act=1 & act2=2 : -100;
!sink & c=2 & pos=0 & act=2 & act2=1 : -100;
!sink & c=2 & pos=0 & act=2 & act2=2 : 20;

!sink & c=2 & pos=1 & act=0 & act2=1 : 9;
!sink & c=2 & pos=1 & act=0 & act2=2 : -101;
!sink & c=2 & pos=1 & act=1 & act2=0 : 9;
!sink & c=2 & pos=1 & act=2 & act2=0 : -101;
!sink & c=2 & pos=1 & act=1 & act2=1 : 20;
!sink & c=2 & pos=1 & act=1 & act2=2 : -100;
!sink & c=2 & pos=1 & act=2 & act2=1 : -100;
!sink & c=2 & pos=1 & act=2 & act2=2 : -50;
endrewards

// target
label "goal" = sink=true;

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"]
Loading

0 comments on commit a0e12b7

Please sign in to comment.