CS计算机代考程序代写 ////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////
// SysAdmin Boolean POMDP
//
// An example RDDL description for the well-known SysAdmin problem
// (Guestrin, Koller, Parr, IJCAI-01).
//
// Author: Scott Sanner (ssanner [at] gmail.com)
////////////////////////////////////////////////////////////////////
domain sysadmin_pomdp {

requirements = {
reward-deterministic,
partially-observed
};

types {
computer : object;
};

pvariables {

REBOOT-PROB : { non-fluent, real, default = 0.1 };
REBOOT-PENALTY : { non-fluent, real, default = 0.1 };
OBSERV-PROB : { non-fluent, real, default = 0.95 };

CONNECTED(computer, computer) : { non-fluent, bool, default = false };

running(computer) : { state-fluent, bool, default = false };

running-obs(computer) : { observ-fluent, bool };

reboot(computer) : { action-fluent, bool, default = false };
};

cpfs {

running'(?x) = if (reboot(?x))
then KronDelta(true) // if computer is rebooted then must be running
else if (running(?x)) // otherwise outcome depends on network properties
then Bernoulli(.45 + .5*[1 + sum_{?y : computer} (CONNECTED(?y,?x) ^ running(?y))]
/ [1 + sum_{?y : computer} CONNECTED(?y,?x)])
else Bernoulli(REBOOT-PROB);

running-obs(?x) = if (running'(?x))
then Bernoulli(OBSERV-PROB)
else Bernoulli(1 – OBSERV-PROB);
};

reward = sum_{?c : computer} [running(?c) – (REBOOT-PENALTY * reboot(?c))];
}