
|
Decision
Making Procedures
|
|
Decision making is a trademark of life, and a complex one at that. What a given life form does at any moment is based on a great number of things, and these things can be separated into two categories: internal and external. The state of the individual and the state of the environment as they perceive it determines what they will do next. This basic procedure is modeled in the DMT simulation. At any given moment the DMT will find itself in one, and only one condition. This condition is based on properties of both the DMT itself and it's immediate surroundings. In the basic simulation there are only two properties, one internal and one external: (1) The DMTs energy level, and (2) whether or not the patch the DMT is currently on has food or not. These properties are defined as binary, each having only two possible values. For the first, the DMT either has high or low energy (high and low being defined at the start of the simulation). The second, food is present or not present. This leads to four possible conditions, (1) low energy/no food ,(2) low energy/food present, (3) high energy/no food and (4) high energy/ food present. Replaced by binary digits these conditions are 00, 01, 10 and 11 (or 0, 1, 2 and 3 in decimal). So, a DMT always finds itself in one of those four conditions. This covers one half of the decision making process, a DMT must now decide what actions to perform for the given condition. Along with the list of conditions, a list of actions that a DMT has available to is is specified. In this simulation that list includes the following: (1) nothing
- DMT performs no action Notice that "move" is not an action. This is because each DMT will move each frame. If the DMTs speed is zero then moving will not change that DMTs location. The only thing left is to connect the conditions to the actions. Each DMT is given a "genome", which is a list that specifies the actions to be performed in each condition. In this simulation, a DMT can perform up to 2 actions in any given condition. At the beginning, each DMTs genome is randomly generated, having either 1 or 2 random actions per condition. An example random genome: [3,4] [7,3] [5] [4] The first set of []'s corresponds to the first condition listed above, low energy/no food. So, when a DMT has low energy and is not on a patch with food it will first slow down one speed unit, then stop. It is possible for actions to cancel each other out when performed in the same condition, such as speed up and slow down. This genome will not change during a DMTs lifetime, so DMTs with a poor genome will die earlier than those with more a more advantageous genome. The population of DMTs, however, can improve through evolution by genetic algorithm. See the Evolution/GA Procedures page for more information on this topic. The set of conditions and actions can be modified to study other aspects of the virtual environment. This is done in the Goal Based Demo, on the Demos Page. In the Goal Based Demo, there are two additional properties to High/Low Energy and Food Present/Not, which were described above. The first addition is "Goal Near/Not" and the second is "Number of Goals Reached". The goals are represented by red patches. If a DMT walks on a goal patch it will add that goal to it's list of goals reached. A goal is "near" if one of the 8 neighboring patches is a goal. The number of goals reached is either high or low (high and low defined at the start of the simulation). The DMT can now find itself in one of 16 conditions at any moment. The genome is now 4 times as long, but is still created and used in the same way. The evolution of DMTs that survive well and find goals well takes longer than the basic simulation, with only 4 possible conditions. This slower evolution is due to the additional size of the search space. |
© 2000 Dan Kunkle, Rochester Institute of Technology