3 3 0 1 1 1 1 1 1 52 64 2 10 -1 0 1 15 -1 0 5 1 -1 2 10 3 -1 0 1 15 -1 0 23 1 -1 1 10 3 -1 0 17 4 0 0 6 -1 -1 0 1 3 -1 0 23 3 -1 0 15 11 4 1 23 1 -1 1 10 3 -1 0 3 5 -1 0 9 4 -1 1 10 3 -1 0 18 4 5 0 6 -1 -1 0 4 8 2 1 10 1 -1 1 7 0 -1 1 22 1 -1 1 8 5 -1 1 16 2 0 1 1 3 -1 0 23 3 -1 0 3 1 -1 1 4 9 1 1 17 2 14 0 19 3 5 0 10 3 -1 1 1 2 -1 0 14 2 3 1 24 -1 -1 0 7 14 -1 1 6 -1 -1 0 16 2 4 1 1 15 -1 0 16 2 4 1 12 4 -1 0 17 0 14 1 14 3 5 0 1 3 -1 0 7 12 -1 1 14 3 5 0 24 -1 -1 1 4 11 10 1 3 5 -1 0 7 7 -1 1 1 3 -1 2 0 0 0 0 // size/maxsize: 52 / 64 void decide() { acceleration.v_sub(pursuerpos[0]); // linenumber: 0 acceleration.v_add(pursuervel[2]); // linenumber: 1 vektorreg[0].v_div(realreg[0]); // linenumber: 2 realmem[0].d_mul(maxspeed); // linenumber: 3 acceleration.v_add(pursuervel[2]); // linenumber: 4 boolreg[0].b_xor(boolreg[0]); // linenumber: 5 realmem[0].d_mul(maxspeed); // linenumber: 6 boolmem[0].v_shorter(evaderpos[0], acceleration); // linenumber: 7 acceleration.v_norm(); // linenumber: 8 acceleration.v_add(velocity); // linenumber: 9 boolmem[0].b_xor(false); // linenumber: 10 boolreg[0].v_longer(pursuerpos[1], evaderpos[0]); // linenumber: 11 boolreg[0].b_xor(boolreg[0]); // linenumber: 12 realmem[0].d_mul(maxspeed); // linenumber: 13 acceleration.v_mul(1.0); // linenumber: 14 realreg[0].d_sub(0.0); // linenumber: 15 realmem[0].d_mul(maxspeed); // linenumber: 16 boolmem[0].d_less(0.0, 1.0); // linenumber: 17 acceleration.v_norm(); // linenumber: 18 realreg[0].v_scalarproduct(evadervel[1], vektorreg[0]); // linenumber: 19 realreg[0].d_mul(realreg[0]); // linenumber: 20 realreg[0].v_abs(acceleration); // linenumber: 21 boolreg[0].b_or(boolreg[0]); // linenumber: 22 realreg[0].d_add(1.0); // linenumber: 23 boolreg[0].d_greater(maxacceleration, realmem[0]); // linenumber: 24 acceleration.v_add(velocity); // linenumber: 25 boolmem[0].b_xor(false); // linenumber: 26 vektormem[0].v_mul(realreg[0]); // linenumber: 27 realreg[0].v_scalarproduct(evadervel[2], vektormem[0]); // linenumber: 28 boolmem[0].v_shorter(vektorreg[0], pursuervel[1]); // linenumber: 29 boolmem[0].d_equal(maxspeed, 1.0); // linenumber: 30 realreg[0].d_mul(maxspeed); // linenumber: 31 acceleration.v_add(vektorreg[0]); // linenumber: 32 realreg[0].d_condmove(true, maxspeed); // linenumber: 33 boolmem[0].b_not(); // linenumber: 34 realreg[0].v_abs(pursuervel[1]); // linenumber: 35 acceleration.v_norm(); // linenumber: 36 boolreg[0].d_greater(maxacceleration, 0.0); // linenumber: 37 acceleration.v_add(pursuervel[2]); // linenumber: 38 boolreg[0].d_greater(maxacceleration, 0.0); // linenumber: 39 realmem[0].d_abs(0.0); // linenumber: 40 boolreg[0].v_shorter(acceleration, pursuervel[1]); // linenumber: 41 realmem[0].d_condmove(false, 1.0); // linenumber: 42 acceleration.v_add(velocity); // linenumber: 43 realreg[0].v_abs(pursuerpos[2]); // linenumber: 44 realmem[0].d_condmove(false, 1.0); // linenumber: 45 boolreg[0].b_not(); // linenumber: 46 realreg[0].v_scalarproduct(pursuerpos[1], pursuerpos[0]); // linenumber: 47 acceleration.v_mul(1.0); // linenumber: 48 realreg[0].v_abs(evadervel[0]); // linenumber: 49 vektorreg[0].v_add(velocity); // linenumber: 50 noll.rts(); // linenumber: 51 } // Result generation ratingjudgesteps = 1000; tournamentrating = false; allmeetsallrating = true; noofwinners = 5; simulationname = T_SP_L_Johan4; // Evolution evaderpopsize = 32; pursuerpopsize = 32; noofgenerations = 1000; evolutionjudgesteps = 200; stepsuntilreset = 5000; // The world worldsize = 250.0; noofevaders = 12; evaderradius = 1.0; evadermaxspeed = 0.2; evadermaxacceleration = 0.02; noofpursuers = 4; pursuerradius = 2.0; pursuermaxspeed = 0.16; pursuermaxacceleration = 0.02; noofboulders = 0; boulderminradius = 1.0; bouldermaxradius = 10.0; on3d = false; round = false; wallx = false; wally = false; wallz = false; // Programs initprogsize = 16; maxprogsize = 64; minprogsize = 4; crossfreq = 0.9; mutfreq = 0.8; noofevadersseenbyevaders = 3; noofpursuersseenbyevaders = 3; noofstaticsseenbyevaders = 0; noofevadersseenbypursuers = 4; noofpursuersseenbypursuers = 2; noofstaticsseenbypursuers = 0; noofmemvektor = 1; noofmemreal = 1; noofmemboolean = 1; noofregvektor = 1; noofregreal = 1; noofregboolean = 1; noofgenerations_meanfitcalc = 1; meanfit_timesteps = 200; evadersfitnessfile is undefined! pursuersfitnessfile is undefined! pursuerscompetitorfile is undefined! evaderscompetitorfile is undefined! end; Vectors: acceleration vektormem[0] vektorreg[0] velocity evaderpos[0] evaderpos[1] evaderpos[2] evadervel[0] evadervel[1] evadervel[2] pursuerpos[0] pursuerpos[1] pursuerpos[2] pursuervel[0] pursuervel[1] pursuervel[2] Reals: realmem[0] realreg[0] maxacceleration maxspeed 0.0 1.0 Booleans: boolmem[0] boolreg[0] true false