|
You can find out about any command in an Agentsheets command palette by first highlighting it and then pressing the "Help" button at the bottom of the palette. AGES commands are housed in a "Genetic_Conditions" or a "Genetic_Actions" command palette. All command palettes available in Agentsheets can be accessed through the Agentsheets Tools menu. |
A central subset of the commands that make up AGES is described below. When reading about these commands, the reader should keep the following "notes" in mind:
The Crossover_w_Cradle command treats attribute values of AS-VAT agents as alleles on a haploid genome. It splices these genomes together as shown here and as described by Mitchell above. It also allows users to define the direction in which to search for a parent. Since this command looks to its neighbors to find a mate, it can be described as employing a spatially-constrained selection mechanism.
This crossover command asks users to choose how many children to produce, one or two. If a corresponding number of cradles of the user-specified cradle-type are found in the Moore neighborhood (8 neighbors) of a parent initiating crossover, the specified number of children is produced. Else, no children are created. Finally, users choose the number of crossover points to use during the crossover operation and the likelihood (in 1000'ths) that point mutation will occur at each allele in the genome. (If a point mutation occurs 5 units are added or subtracted (random decision as to which) from the donated allele value at that locus.)
These "Remote_Child1,2" commands allow an agent to set attributes of its children to user-specified attribute values and also to add and subtract from these attribute values. They are made to be used in conjunction with one of the crossover commands found in the Genetic Actions palette. Any crossover command sets appropriate global variables that indicate the position, relative to the parent initiating crossover, of each child created. For this reason, "Remote_Child1,2" commands should be used directly after crossover is used, before any agents move or perform any other actions. If this convention is not adhered to, use of these commands will have mixed and unpredictable effects.
These commands tell an agent to "eat" a neighboring agent of a user-specified type <Fisch1> and to extract the value of a user-specified attribute <energy> of this prey/food as a reward for eating the item. Both commands shown execute over Moore neighborhoods (8 cells/neighbors). Both also allow the user to choose if eating is destructive or not. (Again, destructive eating erases the agent eaten; non-destructive eating does not.)
The only difference between the Eat_Neighboring_Item command and the Eat_Neighboring_Item_Move command is fairly straightforward. Agents executing the latter command move to the cell previously inhabited by their just-eaten prey/food; agents executing the former command don't. Each of these commands makes the agent executing it eat the first prey/food agent that it finds.
This command tells an agent to eat a user-specified food-type <Fisch1> and to extract a user-specified attribute value <energy> from the food-type agent as a reward for eating the food. The food-type agent in the executing agent's von Neumann neighborhood of user-specified neighborhood_depth <2> with the highest food-attribute value is eaten. The depth of the neighborhood to be searched is specified by users in a formula field. Users specify whether eating is to be destructive or not.
This command tells an agent to move a user-specified number <vision> of cells away in a randomly chosen direction. The command executes over a von Neumann neighborhood (4 cells/neighbors). The step size of the command is entered into a formula field.
The Set_Rand_Between command allows users to initialize attributes <vision> to random values within a given range according to user-specified values <5, 15> entered into the command's formula fields. This command can be especially helpful in seeding a population with appropriate attribute values.
The Random_Placement command is used to place copies of executing agents at random cells in the worksheet. Users specify a region of the worksheet where the agent is to be placed by entering maximum row <20> and maximum column <20> values for the newly replicated agent in the given formula windows. The agent is assumed to have a rule structure such as that shown in the Appendix. With such a rule structure a user can specify an initializing attribute <initialized> in order to initialize the agent during the time step immediately following its random placement. This command is most often used in maintaining a stable population in sims where agents have finite lives.
The Write_Attribute_Value_to_File action command writes a user-specified attribute value to a user-named file. This file does not have to exist beforehand. If it does, recorded values are appended to the end of the file. If it does not, the command creates the user-specified file (in the folder of the project containing the executing agent) and writes values to it. These entries are comma delimited and are meant to be imported to outside graphing/analysis programs. In this way, one can analyze the actions of evolutionary (and/or non-evolutionary) agents programmed in AGES and Agentsheets.
Click on the button below to see examples of graphs created with Microsoft Excel using values recorded by the above Write_Attribute_Value_to_File command.