/////////////////////////////////////////////////////////////////////////////////
//                                                                             //
//                                                                             //
// RDDL MDP version of Wildlife Preserve instance #17 for IPC 2018 by Fei Fang //
// (feifang [at] cmu.edu), Thanh Hong Nguyen (thanhhng [at] umich.edu) and     //
// Thomas Keller (tho.keller [at] unibas.ch), based on the papers "When        //
// Security Games Go Green: Designing Defender Strategies to Prevent Poaching  //
// and Illegal Fishing" by Fei Fang, Peter Stone and Milind Tambe (IJCAI 2015) //
// and "Analyzing the Effectiveness of Adversary Modeling in Security Games"   //
// by Thanh H. Nguyen, Rong Yang, Amos Azaria, Sarit Kraus and Milind Tambe    //
// (AAAI 2013).                                                                //
//                                                                             //
//                                                                             //
/////////////////////////////////////////////////////////////////////////////////

instance wildlife-preserve_inst_mdp__17 {
    domain = wildlife-preserve_17_mdp;

    objects {
        ranger  : { r1, r2, r3 };
        poacher : { p1, p2, p3 };
    };

    non-fluents {
        DEFENDER-REWARD(@a1) = 2.78;
        DEFENDER-PENALTY(@a1) = -2.06;
        DEFENDER-REWARD(@a2) = 3.37;
        DEFENDER-PENALTY(@a2) = -0.60;
        DEFENDER-REWARD(@a3) = 1.89;
        DEFENDER-PENALTY(@a3) = -3.46;
        DEFENDER-REWARD(@a4) = 0.69;
        DEFENDER-PENALTY(@a4) = -0.12;
        DEFENDER-REWARD(@a5) = 5.99;
        DEFENDER-PENALTY(@a5) = -1.34;
        DEFENDER-REWARD(@a6) = 2.90;
        DEFENDER-PENALTY(@a6) = -1.30;
        DEFENDER-REWARD(@a7) = 5.58;
        DEFENDER-PENALTY(@a7) = -2.83;
        DEFENDER-REWARD(@a8) = 1.57;
        DEFENDER-PENALTY(@a8) = -3.78;
        DEFENDER-REWARD(@a9) = 2.94;
        DEFENDER-PENALTY(@a9) = -2.48;
        DEFENDER-REWARD(@a10) = 5.89;
        DEFENDER-PENALTY(@a10) = -2.29;
        DEFENDER-REWARD(@a11) = 3.12;
        DEFENDER-PENALTY(@a11) = -4.63;
        DEFENDER-REWARD(@a12) = 5.70;
        DEFENDER-PENALTY(@a12) = -5.66;
        DEFENDER-REWARD(@a13) = 1.19;
        DEFENDER-PENALTY(@a13) = -0.70;
        DEFENDER-REWARD(@a14) = 2.59;
        DEFENDER-PENALTY(@a14) = -0.47;

        // correlation between attacker reward and defender penalty as well as
        // attacker penalty and defender reward is 0.80 for all poachers and all areas

        // weights for poacher p1 are: w1 = -17.45, w2 = 0.95, w3 = 0.57
        // reward for poacher p1 in area @a1 is: 1.72
        // penalty for poacher p1 in area @a1 is: -2.62
        // reward for poacher p1 in area @a2 is: 1.23
        // penalty for poacher p1 in area @a2 is: -3.10
        // reward for poacher p1 in area @a3 is: 2.89
        // penalty for poacher p1 in area @a3 is: -2.33
        // reward for poacher p1 in area @a4 is: 0.65
        // penalty for poacher p1 in area @a4 is: -1.70
        // reward for poacher p1 in area @a5 is: 1.46
        // penalty for poacher p1 in area @a5 is: -4.81
        // reward for poacher p1 in area @a6 is: 1.41
        // penalty for poacher p1 in area @a6 is: -2.38
        // reward for poacher p1 in area @a7 is: 2.27
        // penalty for poacher p1 in area @a7 is: -4.56
        // reward for poacher p1 in area @a8 is: 4.20
        // penalty for poacher p1 in area @a8 is: -1.93
        // reward for poacher p1 in area @a9 is: 2.57
        // penalty for poacher p1 in area @a9 is: -3.48
        // reward for poacher p1 in area @a10 is: 2.84
        // penalty for poacher p1 in area @a10 is: -5.17
        // reward for poacher p1 in area @a11 is: 3.77
        // penalty for poacher p1 in area @a11 is: -3.09
        // reward for poacher p1 in area @a12 is: 4.81
        // penalty for poacher p1 in area @a12 is: -5.09
        // reward for poacher p1 in area @a13 is: 1.20
        // penalty for poacher p1 in area @a13 is: -1.50
        // reward for poacher p1 in area @a14 is: 1.12
        // penalty for poacher p1 in area @a14 is: -2.72

        // weights for poacher p2 are: w1 = -16.18, w2 = 0.87, w3 = 0.54
        // reward for poacher p2 in area @a1 is: 2.47
        // penalty for poacher p2 in area @a1 is: -2.36
        // reward for poacher p2 in area @a2 is: 0.49
        // penalty for poacher p2 in area @a2 is: -3.83
        // reward for poacher p2 in area @a3 is: 2.98
        // penalty for poacher p2 in area @a3 is: -1.79
        // reward for poacher p2 in area @a4 is: 0.80
        // penalty for poacher p2 in area @a4 is: -0.60
        // reward for poacher p2 in area @a5 is: 1.96
        // penalty for poacher p2 in area @a5 is: -4.94
        // reward for poacher p2 in area @a6 is: 2.23
        // penalty for poacher p2 in area @a6 is: -3.22
        // reward for poacher p2 in area @a7 is: 3.32
        // penalty for poacher p2 in area @a7 is: -5.63
        // reward for poacher p2 in area @a8 is: 4.05
        // penalty for poacher p2 in area @a8 is: -2.02
        // reward for poacher p2 in area @a9 is: 2.91
        // penalty for poacher p2 in area @a9 is: -2.36
        // reward for poacher p2 in area @a10 is: 2.61
        // penalty for poacher p2 in area @a10 is: -5.58
        // reward for poacher p2 in area @a11 is: 3.71
        // penalty for poacher p2 in area @a11 is: -2.73
        // reward for poacher p2 in area @a12 is: 4.60
        // penalty for poacher p2 in area @a12 is: -4.66
        // reward for poacher p2 in area @a13 is: 0.92
        // penalty for poacher p2 in area @a13 is: -1.35
        // reward for poacher p2 in area @a14 is: 0.81
        // penalty for poacher p2 in area @a14 is: -2.61

        // weights for poacher p3 are: w1 = -20.57, w2 = 0.56, w3 = 0.36
        // reward for poacher p3 in area @a1 is: 1.66
        // penalty for poacher p3 in area @a1 is: -2.91
        // reward for poacher p3 in area @a2 is: 1.23
        // penalty for poacher p3 in area @a2 is: -2.92
        // reward for poacher p3 in area @a3 is: 3.86
        // penalty for poacher p3 in area @a3 is: -1.97
        // reward for poacher p3 in area @a4 is: 0.60
        // penalty for poacher p3 in area @a4 is: -1.45
        // reward for poacher p3 in area @a5 is: 2.20
        // penalty for poacher p3 in area @a5 is: -4.94
        // reward for poacher p3 in area @a6 is: 1.37
        // penalty for poacher p3 in area @a6 is: -2.53
        // reward for poacher p3 in area @a7 is: 2.79
        // penalty for poacher p3 in area @a7 is: -4.69
        // reward for poacher p3 in area @a8 is: 3.55
        // penalty for poacher p3 in area @a8 is: -2.20
        // reward for poacher p3 in area @a9 is: 2.07
        // penalty for poacher p3 in area @a9 is: -2.41
        // reward for poacher p3 in area @a10 is: 1.99
        // penalty for poacher p3 in area @a10 is: -4.82
        // reward for poacher p3 in area @a11 is: 4.13
        // penalty for poacher p3 in area @a11 is: -2.57
        // reward for poacher p3 in area @a12 is: 5.26
        // penalty for poacher p3 in area @a12 is: -5.24
        // reward for poacher p3 in area @a13 is: 1.72
        // penalty for poacher p3 in area @a13 is: -1.34
        // reward for poacher p3 in area @a14 is: 1.30
        // penalty for poacher p3 in area @a14 is: -3.16

        ATTACK-WEIGHT_0(p1, @a1) = 1.14531;
        ATTACK-WEIGHT_1(p1, @a1) = 0.00342;
        ATTACK-WEIGHT_2(p1, @a1) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a1) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a2) = 0.54585;
        ATTACK-WEIGHT_1(p1, @a2) = 0.00163;
        ATTACK-WEIGHT_2(p1, @a2) = 0.00000;
        ATTACK-WEIGHT_3(p1, @a2) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a3) = 4.11582;
        ATTACK-WEIGHT_1(p1, @a3) = 0.01228;
        ATTACK-WEIGHT_2(p1, @a3) = 0.00004;
        ATTACK-WEIGHT_3(p1, @a3) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a4) = 0.70095;
        ATTACK-WEIGHT_1(p1, @a4) = 0.00209;
        ATTACK-WEIGHT_2(p1, @a4) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a4) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a5) = 0.25512;
        ATTACK-WEIGHT_1(p1, @a5) = 0.00076;
        ATTACK-WEIGHT_2(p1, @a5) = 0.00000;
        ATTACK-WEIGHT_3(p1, @a5) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a6) = 0.97846;
        ATTACK-WEIGHT_1(p1, @a6) = 0.00292;
        ATTACK-WEIGHT_2(p1, @a6) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a6) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a7) = 0.63620;
        ATTACK-WEIGHT_1(p1, @a7) = 0.00190;
        ATTACK-WEIGHT_2(p1, @a7) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a7) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a8) = 17.99675;
        ATTACK-WEIGHT_1(p1, @a8) = 0.05367;
        ATTACK-WEIGHT_2(p1, @a8) = 0.00016;
        ATTACK-WEIGHT_3(p1, @a8) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a9) = 1.57104;
        ATTACK-WEIGHT_1(p1, @a9) = 0.00469;
        ATTACK-WEIGHT_2(p1, @a9) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a9) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a10) = 0.77155;
        ATTACK-WEIGHT_1(p1, @a10) = 0.00230;
        ATTACK-WEIGHT_2(p1, @a10) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a10) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a11) = 6.15164;
        ATTACK-WEIGHT_1(p1, @a11) = 0.01835;
        ATTACK-WEIGHT_2(p1, @a11) = 0.00005;
        ATTACK-WEIGHT_3(p1, @a11) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a12) = 5.26244;
        ATTACK-WEIGHT_1(p1, @a12) = 0.01569;
        ATTACK-WEIGHT_2(p1, @a12) = 0.00005;
        ATTACK-WEIGHT_3(p1, @a12) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a13) = 1.32640;
        ATTACK-WEIGHT_1(p1, @a13) = 0.00396;
        ATTACK-WEIGHT_2(p1, @a13) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a13) = 0.00000;
        ATTACK-WEIGHT_0(p1, @a14) = 0.61116;
        ATTACK-WEIGHT_1(p1, @a14) = 0.00182;
        ATTACK-WEIGHT_2(p1, @a14) = 0.00001;
        ATTACK-WEIGHT_3(p1, @a14) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a1) = 2.38378;
        ATTACK-WEIGHT_1(p2, @a1) = 0.01084;
        ATTACK-WEIGHT_2(p2, @a1) = 0.00005;
        ATTACK-WEIGHT_3(p2, @a1) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a2) = 0.19248;
        ATTACK-WEIGHT_1(p2, @a2) = 0.00088;
        ATTACK-WEIGHT_2(p2, @a2) = 0.00000;
        ATTACK-WEIGHT_3(p2, @a2) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a3) = 5.05544;
        ATTACK-WEIGHT_1(p2, @a3) = 0.02300;
        ATTACK-WEIGHT_2(p2, @a3) = 0.00010;
        ATTACK-WEIGHT_3(p2, @a3) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a4) = 1.44824;
        ATTACK-WEIGHT_1(p2, @a4) = 0.00659;
        ATTACK-WEIGHT_2(p2, @a4) = 0.00003;
        ATTACK-WEIGHT_3(p2, @a4) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a5) = 0.37859;
        ATTACK-WEIGHT_1(p2, @a5) = 0.00172;
        ATTACK-WEIGHT_2(p2, @a5) = 0.00001;
        ATTACK-WEIGHT_3(p2, @a5) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a6) = 1.21474;
        ATTACK-WEIGHT_1(p2, @a6) = 0.00553;
        ATTACK-WEIGHT_2(p2, @a6) = 0.00003;
        ATTACK-WEIGHT_3(p2, @a6) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a7) = 0.84956;
        ATTACK-WEIGHT_1(p2, @a7) = 0.00386;
        ATTACK-WEIGHT_2(p2, @a7) = 0.00002;
        ATTACK-WEIGHT_3(p2, @a7) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a8) = 11.31076;
        ATTACK-WEIGHT_1(p2, @a8) = 0.05145;
        ATTACK-WEIGHT_2(p2, @a8) = 0.00023;
        ATTACK-WEIGHT_3(p2, @a8) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a9) = 3.49398;
        ATTACK-WEIGHT_1(p2, @a9) = 0.01589;
        ATTACK-WEIGHT_2(p2, @a9) = 0.00007;
        ATTACK-WEIGHT_3(p2, @a9) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a10) = 0.47098;
        ATTACK-WEIGHT_1(p2, @a10) = 0.00214;
        ATTACK-WEIGHT_2(p2, @a10) = 0.00001;
        ATTACK-WEIGHT_3(p2, @a10) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a11) = 5.73111;
        ATTACK-WEIGHT_1(p2, @a11) = 0.02607;
        ATTACK-WEIGHT_2(p2, @a11) = 0.00012;
        ATTACK-WEIGHT_3(p2, @a11) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a12) = 4.36845;
        ATTACK-WEIGHT_1(p2, @a12) = 0.01987;
        ATTACK-WEIGHT_2(p2, @a12) = 0.00009;
        ATTACK-WEIGHT_3(p2, @a12) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a13) = 1.07098;
        ATTACK-WEIGHT_1(p2, @a13) = 0.00487;
        ATTACK-WEIGHT_2(p2, @a13) = 0.00002;
        ATTACK-WEIGHT_3(p2, @a13) = 0.00000;
        ATTACK-WEIGHT_0(p2, @a14) = 0.49205;
        ATTACK-WEIGHT_1(p2, @a14) = 0.00224;
        ATTACK-WEIGHT_2(p2, @a14) = 0.00001;
        ATTACK-WEIGHT_3(p2, @a14) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a1) = 0.90002;
        ATTACK-WEIGHT_1(p3, @a1) = 0.00095;
        ATTACK-WEIGHT_2(p3, @a1) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a1) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a2) = 0.70425;
        ATTACK-WEIGHT_1(p3, @a2) = 0.00074;
        ATTACK-WEIGHT_2(p3, @a2) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a2) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a3) = 4.33524;
        ATTACK-WEIGHT_1(p3, @a3) = 0.00457;
        ATTACK-WEIGHT_2(p3, @a3) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a3) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a4) = 0.83513;
        ATTACK-WEIGHT_1(p3, @a4) = 0.00088;
        ATTACK-WEIGHT_2(p3, @a4) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a4) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a5) = 0.59084;
        ATTACK-WEIGHT_1(p3, @a5) = 0.00062;
        ATTACK-WEIGHT_2(p3, @a5) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a5) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a6) = 0.87569;
        ATTACK-WEIGHT_1(p3, @a6) = 0.00092;
        ATTACK-WEIGHT_2(p3, @a6) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a6) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a7) = 0.90001;
        ATTACK-WEIGHT_1(p3, @a7) = 0.00095;
        ATTACK-WEIGHT_2(p3, @a7) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a7) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a8) = 3.35496;
        ATTACK-WEIGHT_1(p3, @a8) = 0.00353;
        ATTACK-WEIGHT_2(p3, @a8) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a8) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a9) = 1.35468;
        ATTACK-WEIGHT_1(p3, @a9) = 0.00143;
        ATTACK-WEIGHT_2(p3, @a9) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a9) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a10) = 0.54802;
        ATTACK-WEIGHT_1(p3, @a10) = 0.00058;
        ATTACK-WEIGHT_2(p3, @a10) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a10) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a11) = 4.07322;
        ATTACK-WEIGHT_1(p3, @a11) = 0.00429;
        ATTACK-WEIGHT_2(p3, @a11) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a11) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a12) = 2.96483;
        ATTACK-WEIGHT_1(p3, @a12) = 0.00312;
        ATTACK-WEIGHT_2(p3, @a12) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a12) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a13) = 1.63013;
        ATTACK-WEIGHT_1(p3, @a13) = 0.00172;
        ATTACK-WEIGHT_2(p3, @a13) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a13) = 0.00000;
        ATTACK-WEIGHT_0(p3, @a14) = 0.67239;
        ATTACK-WEIGHT_1(p3, @a14) = 0.00071;
        ATTACK-WEIGHT_2(p3, @a14) = 0.00000;
        ATTACK-WEIGHT_3(p3, @a14) = 0.00000;

        POACHER-REMEMBERS(p1, @1);
        POACHER-REMEMBERS(p1, @2);
        POACHER-REMEMBERS(p1, @3);
        POACHER-REMEMBERS(p2, @1);
        POACHER-REMEMBERS(p2, @2);
        POACHER-REMEMBERS(p2, @3);
        POACHER-REMEMBERS(p3, @1);
        POACHER-REMEMBERS(p3, @2);
        POACHER-REMEMBERS(p3, @3);

    };

    init-state {
        ~was-defended(@a1,@1);
    };

    horizon = 80;

    discount = 1.0;
}