/////////////////////////////////////////////////////////////////////////////////
//                                                                             //
//                                                                             //
// RDDL MDP version of Red-finned Blue-eye instance #20 for IPC 2018 by Iadine //
// Chades (iadine.chades [at] csiro.au) and Thomas Keller (tho.keller [at]     //
// unibas.ch), based on the paper "Finding the best management policy to       //
// eradicate invasive species from spatial ecological networks with            //
// simultaneous actions" by Sam Nicol, Regis Sabbadin, Nathalie Peyrard and    //
// Iadine Chades (Journal of Applied Ecology, 2017).                           //
//                                                                             //
//                                                                             //
/////////////////////////////////////////////////////////////////////////////////

instance red-finned-blue-eye_inst_mdp__20 {
    domain = red-finned-blue-eye_mdp;

    objects {
        spring: {s00, s01, s02, s03, s04, s05, s06, s07, s08, s09, s10, s11, s12, s13, s14, s15, s16, s17, s18, s19, s20, s21, s22, s23, s24, s25, s26, s27, s28, s29, s30, s31, s32, s33, s34, s35, s36, s37};
    };

    non-fluents {
        POISON_SUCCESS_PROB = 0.9;
        TRANSLOCATION_SUCCESS_PROB = 0.42;
        ACTION_POINTS = 4;
        REMOVE_MANUALLY_SUCCESS_PROB = 0.15;

        HIGH_WATER_PROB(@exceptionally-low) = 0.025;
        HIGH_WATER_PROB(@very-low) = 0.1;
        HIGH_WATER_PROB(@low) = 0.2;
        HIGH_WATER_PROB(@average) = 0.35;
        HIGH_WATER_PROB(@high) = 0.2;
        HIGH_WATER_PROB(@very-high) = 0.1;
        HIGH_WATER_PROB(@exceptionally-high) = 0.025;

        // Colonization probabilities
        GAMBUSIA_COLONIZE_PROB(s00, s01) = 0.34;
        GAMBUSIA_COLONIZE_PROB(s01, s02) = 0.33;
        GAMBUSIA_COLONIZE_PROB(s02, s03) = 0.43;
        GAMBUSIA_COLONIZE_PROB(s03, s04) = 0.03;
        GAMBUSIA_COLONIZE_PROB(s04, s05) = 0.2;
        GAMBUSIA_COLONIZE_PROB(s05, s06) = 0.28;
        GAMBUSIA_COLONIZE_PROB(s06, s10) = 0.46;
        GAMBUSIA_COLONIZE_PROB(s07, s08) = 0.29;
        GAMBUSIA_COLONIZE_PROB(s07, s09) = 0.29;
        GAMBUSIA_COLONIZE_PROB(s07, s10) = 0.55;
        GAMBUSIA_COLONIZE_PROB(s07, s11) = 0.22;
        GAMBUSIA_COLONIZE_PROB(s07, s12) = 0.11;
        GAMBUSIA_COLONIZE_PROB(s11, s16) = 0.2;
        GAMBUSIA_COLONIZE_PROB(s13, s16) = 0.45;
        GAMBUSIA_COLONIZE_PROB(s13, s17) = 0.4;
        GAMBUSIA_COLONIZE_PROB(s13, s18) = 0.01;
        GAMBUSIA_COLONIZE_PROB(s13, s19) = 0.39;
        GAMBUSIA_COLONIZE_PROB(s13, s14) = 0.11;
        GAMBUSIA_COLONIZE_PROB(s13, s15) = 0.06;
        GAMBUSIA_COLONIZE_PROB(s18, s21) = 0.4;
        GAMBUSIA_COLONIZE_PROB(s20, s21) = 0.27;
        GAMBUSIA_COLONIZE_PROB(s21, s22) = 0.34;
        GAMBUSIA_COLONIZE_PROB(s22, s23) = 0.12;
        GAMBUSIA_COLONIZE_PROB(s23, s24) = 0.39;
        GAMBUSIA_COLONIZE_PROB(s24, s25) = 0.36;
        GAMBUSIA_COLONIZE_PROB(s25, s30) = 0.12;
        GAMBUSIA_COLONIZE_PROB(s26, s27) = 0.25;
        GAMBUSIA_COLONIZE_PROB(s26, s29) = 0.14;
        GAMBUSIA_COLONIZE_PROB(s26, s31) = 0.24;
        GAMBUSIA_COLONIZE_PROB(s27, s28) = 0.32;
        GAMBUSIA_COLONIZE_PROB(s28, s29) = 0.06;
        GAMBUSIA_COLONIZE_PROB(s29, s30) = 0.21;
        GAMBUSIA_COLONIZE_PROB(s29, s31) = 0.15;
        GAMBUSIA_COLONIZE_PROB(s30, s32) = 0.3;
        GAMBUSIA_COLONIZE_PROB(s30, s31) = 0.51;
        GAMBUSIA_COLONIZE_PROB(s32, s33) = 0.19;
        GAMBUSIA_COLONIZE_PROB(s32, s37) = 0.21;
        GAMBUSIA_COLONIZE_PROB(s33, s34) = 0.27;
        GAMBUSIA_COLONIZE_PROB(s34, s35) = 0.01;
        GAMBUSIA_COLONIZE_PROB(s35, s36) = 0.18;
        GAMBUSIA_COLONIZE_PROB(s36, s37) = 0.07;


        NATURAL_MORTALITY_PROB(s00) = 0.14;
        NATURAL_MORTALITY_PROB(s01) = 0.1;
        NATURAL_MORTALITY_PROB(s02) = 0.07;
        NATURAL_MORTALITY_PROB(s03) = 0.11;
        NATURAL_MORTALITY_PROB(s04) = 0.12;
        NATURAL_MORTALITY_PROB(s05) = 0.01;
        NATURAL_MORTALITY_PROB(s06) = 0.03;
        NATURAL_MORTALITY_PROB(s07) = 0.08;
        NATURAL_MORTALITY_PROB(s08) = 0.12;
        NATURAL_MORTALITY_PROB(s09) = 0.06;
        NATURAL_MORTALITY_PROB(s10) = 0.09;
        NATURAL_MORTALITY_PROB(s11) = 0.11;
        NATURAL_MORTALITY_PROB(s12) = 0.09;
        NATURAL_MORTALITY_PROB(s13) = 0.09;
        NATURAL_MORTALITY_PROB(s14) = 0.06;
        NATURAL_MORTALITY_PROB(s15) = 0.07;
        NATURAL_MORTALITY_PROB(s16) = 0.12;
        NATURAL_MORTALITY_PROB(s17) = 0.07;
        NATURAL_MORTALITY_PROB(s18) = 0.09;
        NATURAL_MORTALITY_PROB(s19) = 0.08;
        NATURAL_MORTALITY_PROB(s20) = 0.1;
        NATURAL_MORTALITY_PROB(s21) = 0.05;
        NATURAL_MORTALITY_PROB(s22) = 0.07;
        NATURAL_MORTALITY_PROB(s23) = 0.07;
        NATURAL_MORTALITY_PROB(s24) = 0.08;
        NATURAL_MORTALITY_PROB(s25) = 0.1;
        NATURAL_MORTALITY_PROB(s26) = 0.07;
        NATURAL_MORTALITY_PROB(s27) = 0.09;
        NATURAL_MORTALITY_PROB(s28) = 0.08;
        NATURAL_MORTALITY_PROB(s29) = 0.09;
        NATURAL_MORTALITY_PROB(s30) = 0.08;
        NATURAL_MORTALITY_PROB(s31) = 0.09;
        NATURAL_MORTALITY_PROB(s32) = 0.08;
        NATURAL_MORTALITY_PROB(s33) = 0.08;
        NATURAL_MORTALITY_PROB(s34) = 0.06;
        NATURAL_MORTALITY_PROB(s35) = 0.07;
        NATURAL_MORTALITY_PROB(s36) = 0.08;
        NATURAL_MORTALITY_PROB(s37) = 0.08;


        SPRINGS_CONNECTED(s07, s12, @exceptionally-high);
        SPRINGS_CONNECTED(s13, s15, @exceptionally-high);
        SPRINGS_CONNECTED(s28, s29, @exceptionally-high);
        SPRINGS_CONNECTED(s32, s33, @exceptionally-high);
        SPRINGS_CONNECTED(s36, s37, @exceptionally-high);
        SPRINGS_CONNECTED(s11, s16, @exceptionally-high);
        SPRINGS_CONNECTED(s11, s16, @very-high);
        SPRINGS_CONNECTED(s05, s06, @exceptionally-high);
        SPRINGS_CONNECTED(s05, s06, @very-high);
        SPRINGS_CONNECTED(s05, s06, @high);
        SPRINGS_CONNECTED(s20, s21, @exceptionally-high);
        SPRINGS_CONNECTED(s20, s21, @very-high);
        SPRINGS_CONNECTED(s20, s21, @high);
        SPRINGS_CONNECTED(s25, s30, @exceptionally-high);
        SPRINGS_CONNECTED(s25, s30, @very-high);
        SPRINGS_CONNECTED(s25, s30, @high);
        SPRINGS_CONNECTED(s26, s27, @exceptionally-high);
        SPRINGS_CONNECTED(s26, s27, @very-high);
        SPRINGS_CONNECTED(s26, s27, @high);
        SPRINGS_CONNECTED(s26, s29, @exceptionally-high);
        SPRINGS_CONNECTED(s26, s29, @very-high);
        SPRINGS_CONNECTED(s26, s29, @high);
        SPRINGS_CONNECTED(s29, s31, @exceptionally-high);
        SPRINGS_CONNECTED(s29, s31, @very-high);
        SPRINGS_CONNECTED(s29, s31, @high);
        SPRINGS_CONNECTED(s32, s37, @exceptionally-high);
        SPRINGS_CONNECTED(s32, s37, @very-high);
        SPRINGS_CONNECTED(s32, s37, @high);
        SPRINGS_CONNECTED(s01, s02, @exceptionally-high);
        SPRINGS_CONNECTED(s01, s02, @very-high);
        SPRINGS_CONNECTED(s01, s02, @high);
        SPRINGS_CONNECTED(s01, s02, @average);
        SPRINGS_CONNECTED(s04, s05, @exceptionally-high);
        SPRINGS_CONNECTED(s04, s05, @very-high);
        SPRINGS_CONNECTED(s04, s05, @high);
        SPRINGS_CONNECTED(s04, s05, @average);
        SPRINGS_CONNECTED(s07, s11, @exceptionally-high);
        SPRINGS_CONNECTED(s07, s11, @very-high);
        SPRINGS_CONNECTED(s07, s11, @high);
        SPRINGS_CONNECTED(s07, s11, @average);
        SPRINGS_CONNECTED(s18, s21, @exceptionally-high);
        SPRINGS_CONNECTED(s18, s21, @very-high);
        SPRINGS_CONNECTED(s18, s21, @high);
        SPRINGS_CONNECTED(s18, s21, @average);
        SPRINGS_CONNECTED(s21, s22, @exceptionally-high);
        SPRINGS_CONNECTED(s21, s22, @very-high);
        SPRINGS_CONNECTED(s21, s22, @high);
        SPRINGS_CONNECTED(s21, s22, @average);
        SPRINGS_CONNECTED(s22, s23, @exceptionally-high);
        SPRINGS_CONNECTED(s22, s23, @very-high);
        SPRINGS_CONNECTED(s22, s23, @high);
        SPRINGS_CONNECTED(s22, s23, @average);
        SPRINGS_CONNECTED(s27, s28, @exceptionally-high);
        SPRINGS_CONNECTED(s27, s28, @very-high);
        SPRINGS_CONNECTED(s27, s28, @high);
        SPRINGS_CONNECTED(s27, s28, @average);
        SPRINGS_CONNECTED(s29, s30, @exceptionally-high);
        SPRINGS_CONNECTED(s29, s30, @very-high);
        SPRINGS_CONNECTED(s29, s30, @high);
        SPRINGS_CONNECTED(s29, s30, @average);
        SPRINGS_CONNECTED(s30, s32, @exceptionally-high);
        SPRINGS_CONNECTED(s30, s32, @very-high);
        SPRINGS_CONNECTED(s30, s32, @high);
        SPRINGS_CONNECTED(s30, s32, @average);
        SPRINGS_CONNECTED(s00, s01, @exceptionally-high);
        SPRINGS_CONNECTED(s00, s01, @very-high);
        SPRINGS_CONNECTED(s00, s01, @high);
        SPRINGS_CONNECTED(s00, s01, @average);
        SPRINGS_CONNECTED(s00, s01, @low);
        SPRINGS_CONNECTED(s02, s03, @exceptionally-high);
        SPRINGS_CONNECTED(s02, s03, @very-high);
        SPRINGS_CONNECTED(s02, s03, @high);
        SPRINGS_CONNECTED(s02, s03, @average);
        SPRINGS_CONNECTED(s02, s03, @low);
        SPRINGS_CONNECTED(s06, s10, @exceptionally-high);
        SPRINGS_CONNECTED(s06, s10, @very-high);
        SPRINGS_CONNECTED(s06, s10, @high);
        SPRINGS_CONNECTED(s06, s10, @average);
        SPRINGS_CONNECTED(s06, s10, @low);
        SPRINGS_CONNECTED(s07, s09, @exceptionally-high);
        SPRINGS_CONNECTED(s07, s09, @very-high);
        SPRINGS_CONNECTED(s07, s09, @high);
        SPRINGS_CONNECTED(s07, s09, @average);
        SPRINGS_CONNECTED(s07, s09, @low);
        SPRINGS_CONNECTED(s13, s17, @exceptionally-high);
        SPRINGS_CONNECTED(s13, s17, @very-high);
        SPRINGS_CONNECTED(s13, s17, @high);
        SPRINGS_CONNECTED(s13, s17, @average);
        SPRINGS_CONNECTED(s13, s17, @low);
        SPRINGS_CONNECTED(s30, s31, @exceptionally-high);
        SPRINGS_CONNECTED(s30, s31, @very-high);
        SPRINGS_CONNECTED(s30, s31, @high);
        SPRINGS_CONNECTED(s30, s31, @average);
        SPRINGS_CONNECTED(s30, s31, @low);
        SPRINGS_CONNECTED(s33, s34, @exceptionally-high);
        SPRINGS_CONNECTED(s33, s34, @very-high);
        SPRINGS_CONNECTED(s33, s34, @high);
        SPRINGS_CONNECTED(s33, s34, @average);
        SPRINGS_CONNECTED(s33, s34, @low);
        SPRINGS_CONNECTED(s07, s08, @exceptionally-high);
        SPRINGS_CONNECTED(s07, s08, @very-high);
        SPRINGS_CONNECTED(s07, s08, @high);
        SPRINGS_CONNECTED(s07, s08, @average);
        SPRINGS_CONNECTED(s07, s08, @low);
        SPRINGS_CONNECTED(s07, s08, @very-low);
        SPRINGS_CONNECTED(s07, s10, @exceptionally-high);
        SPRINGS_CONNECTED(s07, s10, @very-high);
        SPRINGS_CONNECTED(s07, s10, @high);
        SPRINGS_CONNECTED(s07, s10, @average);
        SPRINGS_CONNECTED(s07, s10, @low);
        SPRINGS_CONNECTED(s07, s10, @very-low);
        SPRINGS_CONNECTED(s13, s16, @exceptionally-high);
        SPRINGS_CONNECTED(s13, s16, @very-high);
        SPRINGS_CONNECTED(s13, s16, @high);
        SPRINGS_CONNECTED(s13, s16, @average);
        SPRINGS_CONNECTED(s13, s16, @low);
        SPRINGS_CONNECTED(s13, s16, @very-low);
        SPRINGS_CONNECTED(s13, s19, @exceptionally-high);
        SPRINGS_CONNECTED(s13, s19, @very-high);
        SPRINGS_CONNECTED(s13, s19, @high);
        SPRINGS_CONNECTED(s13, s19, @average);
        SPRINGS_CONNECTED(s13, s19, @low);
        SPRINGS_CONNECTED(s13, s19, @very-low);
        SPRINGS_CONNECTED(s13, s14, @exceptionally-high);
        SPRINGS_CONNECTED(s13, s14, @very-high);
        SPRINGS_CONNECTED(s13, s14, @high);
        SPRINGS_CONNECTED(s13, s14, @average);
        SPRINGS_CONNECTED(s13, s14, @low);
        SPRINGS_CONNECTED(s13, s14, @very-low);
        SPRINGS_CONNECTED(s23, s24, @exceptionally-high);
        SPRINGS_CONNECTED(s23, s24, @very-high);
        SPRINGS_CONNECTED(s23, s24, @high);
        SPRINGS_CONNECTED(s23, s24, @average);
        SPRINGS_CONNECTED(s23, s24, @low);
        SPRINGS_CONNECTED(s23, s24, @very-low);
        SPRINGS_CONNECTED(s24, s25, @exceptionally-high);
        SPRINGS_CONNECTED(s24, s25, @very-high);
        SPRINGS_CONNECTED(s24, s25, @high);
        SPRINGS_CONNECTED(s24, s25, @average);
        SPRINGS_CONNECTED(s24, s25, @low);
        SPRINGS_CONNECTED(s24, s25, @very-low);
        SPRINGS_CONNECTED(s26, s31, @exceptionally-high);
        SPRINGS_CONNECTED(s26, s31, @very-high);
        SPRINGS_CONNECTED(s26, s31, @high);
        SPRINGS_CONNECTED(s26, s31, @average);
        SPRINGS_CONNECTED(s26, s31, @low);
        SPRINGS_CONNECTED(s26, s31, @very-low);
        SPRINGS_CONNECTED(s35, s36, @exceptionally-high);
        SPRINGS_CONNECTED(s35, s36, @very-high);
        SPRINGS_CONNECTED(s35, s36, @high);
        SPRINGS_CONNECTED(s35, s36, @average);
        SPRINGS_CONNECTED(s35, s36, @low);
        SPRINGS_CONNECTED(s35, s36, @very-low);
    };

    init-state {
        population(s00) = @gambusia;
        population(s01) = @red-finned-blue-eye;
        population(s02) = @gambusia;
        population(s04) = @red-finned-blue-eye;
        population(s05) = @gambusia;
        population(s07) = @gambusia;
        population(s09) = @gambusia;
        population(s10) = @gambusia;
        population(s12) = @red-finned-blue-eye;
        population(s13) = @red-finned-blue-eye;
        population(s14) = @gambusia;
        population(s17) = @gambusia;
        population(s18) = @gambusia;
        population(s20) = @gambusia;
        population(s21) = @gambusia;
        population(s22) = @red-finned-blue-eye;
        population(s23) = @red-finned-blue-eye;
        population(s24) = @gambusia;
        population(s25) = @red-finned-blue-eye;
        population(s26) = @gambusia;
        population(s27) = @gambusia;
        population(s28) = @red-finned-blue-eye;
        population(s30) = @gambusia;
        population(s31) = @red-finned-blue-eye;
        population(s32) = @red-finned-blue-eye;
        population(s33) = @gambusia;
        population(s34) = @gambusia;
        population(s35) = @gambusia;
        population(s36) = @red-finned-blue-eye;
        population(s37) = @red-finned-blue-eye;
    };

    horizon = 120;

    discount = 1.0;
}
