CS计算机代考程序代写 domain navigation_mdp {

domain navigation_mdp {
requirements = {
reward-deterministic
};
types {
xpos : object;
ypos : object;
};
pvariables {
MIN-YPOS(ypos) : {non-fluent, bool, default = false};
robot-at(xpos, ypos) : {state-fluent, bool, default = false};
MIN-XPOS(xpos) : {non-fluent, bool, default = false};
NORTH(ypos, ypos) : {non-fluent, bool, default = false};
MAX-XPOS(xpos) : {non-fluent, bool, default = false};
GOAL(xpos, ypos) : {non-fluent, bool, default = false};
move-east : {action-fluent, bool, default = false};
move-west : {action-fluent, bool, default = false};
MAX-YPOS(ypos) : {non-fluent, bool, default = false};
move-south : {action-fluent, bool, default = false};
P(xpos, ypos) : {non-fluent, real, default = 0.0};
SOUTH(ypos, ypos) : {non-fluent, bool, default = false};
move-north : {action-fluent, bool, default = false};
EAST(xpos, xpos) : {non-fluent, bool, default = false};
WEST(xpos, xpos) : {non-fluent, bool, default = false};
};
cpfs {
(robot-at’ ?x ?y) = (if (^ (GOAL ?x ?y) (robot-at ?x ?y) ) then (KronDelta true) else (if (| (exists ( (?x2 : xpos) (?y2 : ypos) ) (^ (GOAL ?x2 ?y2) (robot-at ?x2 ?y2) )) (^ (move-north) (exists ( (?y2 : ypos) ) (^ (NORTH ?y ?y2) (robot-at ?x ?y) )) ) (^ (move-south) (exists ( (?y2 : ypos) ) (^ (SOUTH ?y ?y2) (robot-at ?x ?y) )) ) (^ (move-east) (exists ( (?x2 : xpos) ) (^ (EAST ?x ?x2) (robot-at ?x ?y) )) ) (^ (move-west) (exists ( (?x2 : xpos) ) (^ (WEST ?x ?x2) (robot-at ?x ?y) )) ) ) then (KronDelta false) else (if (| (^ (move-north) (exists ( (?y2 : ypos) ) (^ (NORTH ?y2 ?y) (robot-at ?x ?y2) )) ) (^ (move-south) (exists ( (?y2 : ypos) ) (^ (SOUTH ?y2 ?y) (robot-at ?x ?y2) )) ) (^ (move-east) (exists ( (?x2 : xpos) ) (^ (EAST ?x2 ?x) (robot-at ?x2 ?y) )) ) (^ (move-west) (exists ( (?x2 : xpos) ) (^ (WEST ?x2 ?x) (robot-at ?x2 ?y) )) ) ) then (Bernoulli (- 1.0 (P ?x ?y))) else (KronDelta (robot-at ?x ?y)))));
};
reward = (sum ( (?x : xpos) (?y : ypos) ) (- 0 (^ (GOAL ?x ?y) (~ (robot-at ?x ?y)) )));
state-action-constraints {
};
}