// Each species has a "name", a character that is // written on the critters belonging to that species. name D // Sensor parameters // There are three sensor types: touch, vision, and // sonar. A critter species only gets a sensor if // at least one of its parameters is specified. // Touch // Touch has only one parameter, the range of cells // that can be touched (1 - 6). touchRange 3 // Vision // Vision has two parameters, resolution, that is, the number // of "pixels" available on the retina (3 - 9), // and the visual angle (60 to 360 degrees). visualResolution 3 visualAngle 120 // Sonar // Like vision, sonar has two parameters, resolution, that // is, the number of "rays" that are sent out, each returning // a distance value (3 - 9), and the angle that is observed // (60 to 360 degrees). sonarResolution 3 sonarAngle 120 // Effector parameters // There are five effectors: rester, turner, mover, eater, // and hitter. For each the number of possible // actions can be specfied (1 - 5 for turner, // 1 - 3 for mover, 1 only for eater, and 0 or 1 // for hitter and rester). All critters get a turner, a // mover, and an eater. Critters have a hitter // only if "hit" appears in their species specification and // a rester only if "rest" appears in their species // specification. // rest 1 turn 2 move 2 hit 1 // Reinforcement learning parameters // Each of these is an integer representation of // a real number. // Learning rate: the integer * .01 //vary this: // 1=not high enough to learn before death // 5=sometimes learn, sometimes don't // 10=always learn // 20,25=too high! -- always die (why?) learningRate 5 // Discount rate: the integer * .1 discountRate 5 // Action parameter // This affects the probability that an action // is selected on the basis of its value for the // current state. The actual value is the integer // * .001. exploitationRate 10