Research Graphic

Concordia DEC Lab about us . courses . students . research. publications . events . people . contact us  

 

Formal Artificial Life

Laws and Life (cont'd)

 

3 Agents

In this section, we move from the fixed laws of the universe to the potential behaviour of agents acting in the universe.

3.1 Organs

An agent is a collection of organs. Each organ performs a particular task on behalf of the agent.

Organs in an agent play a role analogous to that of organs in an animal. However, organs in an animal consist of large numbers of cells. Organs in an agent correspond to a single cell in that they contain a single copy of the agent's genome.

Each organ of an agent has a position represented by its coordinates in the space. Organs have discrete positions in the following sense: if an organ is at (x, y, z) then an adjacent organ is at one of the six positions (x ± , y, z), (x, y ± , z), or (x, y, z ± ), where is a small constant. We will refer to this as the -rule.

There is a unique initial organ that defines the position of the agent as a whole. This is the organ that the agent is created with; subsequent organs develop according to the -rule, with no two organs in the same position.

3.2 Links

When an agent constructs a new organ, the organ is linked to one of the existing organs of the agent. The number of links that an organ has determines its vulnerability. An organ with only one link is highly vulnerable (e.g, it may easily be removed by another, hostile, agent). An organ with six links (the maximum possible) cannot be attacked.

The number of links also determines the sensitivity of an organ. Organs with one link are most sensitive, organs with six links are least sensitive to environmental conditions.

3.3 Genome

The agent has a genome that controls the behaviour of each organ. Each organ selects segments of the genome (genes) to control its own activities. Each gene may affect several organs.

A more elaborate approach is that the genome might simply guide the development of the agent.

The simulation allows us to experiment with agents in the universe:

. Experiments are performed with a populations of agents. The size of the population should be large enough to ensure variation but small enough that many generations can be simulated in a reasonable time.

. Agent behaviour is determined by the agent's genome, its current state, and its environment.

. Agents perform activities that consume energy. The energy balance must be maintained. For example, agents might acquire energy by consuming 'food' from the environment and metabolizing it.

. Agents reproduce by pairing: two agents (parents) meet in some way and create an offspring with a genome derived from the parents' genomes. We can use standard techniques: crossover, mutation, etc.

. Agents may interact in other ways, such as: trading, threatening, and fighting.

. Conventional experiments usually have a well-defined goal, such as optimization. In these experiments, there is a well-defined fitness function and (in biological terms) strong evolutionary pressure to maximize the fitness function. Our experiments have no such goal, which makes them more diffcult to design but (hopefully) more interesting. Some agents will survive, others will not: survival is the implicit 'fitness function'.

3.4 Activities

The complexity of the experiment depends strongly on the number of distinct activities an agent is capable of performing. Some possible activities are listed here.

. Reproduction is essential. Two parents produce one offspring. This is not 'sexual' because the parents do not have a sex (although sex might evolve!).

Asexual reproduction (a single agent reproduces itself) might be include as well (or instead). It is simpler to implement, but allows only evolution by mutation.

. Interaction between two agents is important because it is one path to reproduction. Also, a world in which there is no interaction between agent is not much more interesting than a world with only one agent.

How many kinds of interaction should there be? Possibilities include: reproducing (obviously); trading (i.e., exchanging resources to mutual advantage); threatening; and fighting.

. Movement is not essential but increases realism. An agent may move to obtain a richer source of energy or to meet new partners.

. Communication is not essential but increases realism. Agents may emit and detect pheromones, for example.

Current Choices:

. Motion is continuous (i.e., not step-wise) and in any direction. The universe is a viscous fluid: a moving agent that does not expend energy in moving will eventually stop. Expending energy at a constant rate causes motion with uniform velocity. Turning to change the direction of motion also requires energy.

. Sensing needs further work. An agent needs to measure the distribution of atoms of various kinds in its vicinity. What are the primitive operations that it needs in order to do this? If the operations are too primitive, evolving intelligent behaviour will take a long time. If the operations are too rich, they will limit the directions that evolution can take.

. Communication is related to sensing. Agents can communicate only be emitting atoms that are detected by other agents.

. Interaction includes: mating (for sexual reproduction); attacking (to obtain cheap energy); and possibly trading (friendly exchange of resources).

 

3.5 Attributes

An agent has attributes, as described in this section, and consists of the components described in the following sections. These sections below suggest precise ways in which each part of an agent might be elaborated. However, they are not meant to be definitive and may change as a result of discussion.

 

3.5.1 Communication

Animals communicate by many means, including light, sound, vibration, smell, and touch. Some smells are accidental by-products of bodily activity; others - the pheromones - are secreted for particular purposes.

Suppose that agents communicate with pheromones.

(a) The pheromone is emitted into space, drifts, and is received.

(b) Emission of a pheromone by one agent increases the probability of its detection by another agent.

The second alternative, (b), is much more efficient computationally but it precludes adaptations such as:

. moving up a density gradient;

. shooting pheromones in a particular direction;

. pheromones drifting in the wind (i.e., being upwind or downwind makes a difference).

Current Choice: The simulation computes which organs receive pheromones from information about which organs emit pheromones. Using organs rather than agents allows the agents to evolve specialized organs, etc.

 

3.5.2 Resources

Resources are finite and agents compete for them. Without this restriction, agents get fat and populations expand without limit. If resources are limited, fat agents will not be able to obtain what they need and will be less likely to survive. Efficient agents will have a better chance of survival.

Should there be one resource or many? If one, what should it be? Energy seems a reasonable choice: each activity consumes a certain amount of energy and an agent must obtain the energy need to perform its activities; failure to do so leads to death.

One possibility is to equip the agent with a string and a bag. The string defines the agent's behaviour (see §4) and includes its genome. The bag contains atoms for food, storage, and embryos.

Resources should be both positive and negative. A positive resource ("food") helps the agent. A negative resource ("poison") damages it.

Current Choice: One possibility is that an agent has a single bag of resources that is shared amongst its organs. Another possilibity, and the one that we will adopt at first, is that each organ has its own bag of resources.

 

3.6 Components

This section is out of date, but I have not removed it. The introduction of agents with multiple organs affects some of the discussion. However, some aspects, such as the need for hormones, remain unchanged.

In this section we discuss the various aspects and components that agents might have. These are possibilities; they should be distinguished from more concrete proposals that appear later in this paper.

An agent has hormones. Each hormone is denoted by a lower-case bold letter representing a vector. The tuple of hormones, (a, f, x, t, . . .), determines the state of the agent.

The components of an agent are not arbitrary. Their presence is justified by two factors: a component must be useful to the agent and it must be able to evolve. Thus we describe each component in terms of four aspects:

. The definition states the purpose and nature of the component.

. The requirement explains why the agent needs the component.

. The representation describes how the agent might store the component (e.g., as an atom, string, etc.).

. The evolution discusses ways in which the component might evolve during the simulation.

 

3.6.1 Appearance

Definition. The appearance of one agent can be detected by the Sensor (§3.6.7) of a neighbouring agent.

Requirement. Appearance is needed to provide agents with a basis for engaging in interactions with one another.

Representation. The appearance of an agent is represented by a vector a. For display purposes, a can be represented as a colour with RGB components proportional to ax, ay, and az, and brightness proportional to | a |.

An agent does not have complete and independent control over its appearance. Appearance is based on various attributes of the agent. E.g., an agent with many organs will emit many pheromones and cannot easily disguise the fact that it is large.

Evolution. A simple agent would present the same appearance all the time. An advanced agent would change its appearance in response to internal state changes.

 

3.6.2 Motor

Definition. The motor component enables the agent to move around in the environment. Movement is discrete: an agent is at a grid point of the space at any given time.

There are various pressures acting on an agent to make it move. The agent will tend to move towards food, towards some agents, and away from other agents.

Requirement. The Motor component enables the agent to explore the environment. It is not needed as much as the other components because we could simulate plants. Movement, however, enables the simulation of richer behaviour.

Representation. Motion follows Newton's Laws. The acceleration of the agent is a (a vector, since the direction of the acceleration is not restricted to any one direction or the principle axes), and the viscous fluid that fills space provides friction -k v, where v is the velocity of the agent. The agent can exert a force F. The equation of motion, ma - k v = F, is solved by the simulation using first-order integration.

Exercise strengthens muscles. Should agents be able to build their motor stuctures?

Evolution. The simplest agent would be able only to move towards food. Complex agents would respond to other agents as well, either by approaching or running away.

3.6.3 Genome

Definition. The Genome of an agent influences, but does not totally control, the behaviour of the agent. When agents reproduce, their genomes are combined to produce the genome of the offspring.

Requirement. The Genome is needed for reproduction and, more importantly, evolution.

Representation. The Genome is a sequence of atoms (and can therefore be represented as a character string). The Genome is not a program.

Evolution. A simple agent would have a minimal genome just suffcient to describe itself. Complex agents would have longer genomes with duplication, junk, and genes that could be selected.

Simple agents reproduce without a genome. Complex agents need a genome. Under what circumstances would a genome evolve?

In most work in EP, genes control behaviour directly. In some cases, there is not even a genome as such: the agent is its own genome. In biology, genes control the synthesis of proteins and the proteins, in turn, determine the behaviour of the cell. Should the genes of our agents control behaviour directly or indirectly, by synthesis?

A problem with our previous work (see §5.2) was that the proportion of genomes that were viable was very small. This is realistic (a random sequence of DNA would be unlikely to produce a viable organism) but impractical for our experiments, because most mutations are lethal. Thus the genome should be designed so that a reasonable proportion (perhaps 5% or more) of genomes describe viable agents. This conflicts with our goal of minimizing design.

In biology, genes can be broadly classified into two groups: synthesizing and regulatory. Should this distinction be built into the experiment (too much design) or left out (but it's unlikely to evolve)?

See §4.1 for further discussion of reproduction and the genome.

3.6.4 Replicator

Definition. The Replicator builds a new agent under the control of the program and the genomes of the parents.

The replicator's program component has the task of building a new agent. It uses the child's genome to control the construction and it obtains material (in the form of atoms) from the mother agent. §4.1 discusses replication in detail.

Reproduction is "sexual": two parents are required to create a child. The child needs help from its parents to grow. This suggests various possibilities:

(1) There is a "mother" who rears the child and a "father" who has little involvement.

(2) Both parents play an equal role.

(3) The role of the parents is controlled genetically.

Of these, (3) is the most interesting because it makes evolution of sexual differentiation possible. However, it may be hard to implement. See §4.1 for a proposal for implementing (1).

Requirement. The Replicator is needed so that agents can be actively involved in reproduction  rather than being magically created. The reproduction mechanism is something that can evolve.

Representation. A "mother" agent reproduces by constructing a new organ, providing it with sufficient resources to survive by itself, and the breaking its link. The "baby" agent consists of a single organ and grows by constructing new organs and linking them.

In general, all organs of an agent have the same genome. For reproduction purposes, an agent must be able to construct a new organ with a different genome; this organ becomes its offspring.

Evolution. A simple agent replicates by making a literal copy of itself. A complex agent would create offspring that were similar to itself but incorporated modifications specified by the genome.

 

3.6.5 Interactor

Definition. Agents moving around in the environment may encounter one another. When agents interact, each must decide how to behave towards the other. The decisions are independent, and the agents may choose incompatible responses. The Interactor (for want of a better name) is the component of the agent that handles these interactions. The Interactor chooses its response on the basis of messages received from the Sensor (§3.6.7), which provides it with information about the other agent. The possible responses are based on the F4 (flee, fight, feed, or make love) principle of ecology and include: signal willingness to reproduce; signal willingness to trade; fight; flee.

Reproduction needs no explanation; §4.1 describes the mechanics.

Agents may have a surplus or a deficit of atoms of various kinds. They can negotiate a trade in which atoms are exchanged, hopefully to the benefit of both. The exchange might work as follows: each agent has a trading vector, t. The effect of trading between agents A and B is determined by the value of tA × tB. If tA = tB, the result is that no trade takes place, which is reasonable, because agents with identical desires have no need to trade. Trading is maximized when tA?tB. We need a suitable interpretation of the direction of tA × tB.

An agent may choose to fight the other agent. If both agents agree to fight, a fight occurs and the winner gains some material, leaving the loser wounded. The wound may or may not be fatal, depending on whether the loser can continue to live after the removal of material. (There are a lot of details to be worked out here.)

An agent that believes that the other agent has hostile intentions may decide to flee. In this case, no fight (or other form of encounter) takes place.

If one agent fled, the other agent might decide to chase it.

Agents can only interact when they are at the same point. Agents at adjacent or nearby points may approach or retreat.

Two agents are never allowed to be at the same point. (This simplifies the implementation slightly.) Agents interact only if they are at adjacent points of the grid.

Requirement. The Interactor is needed because, without it, agents would evolve in isolation: there would be no "gene pool".

Representation. Complicated.

Evolution. There is clearly a wide spectrum of possibilities, from not responding at all to engaging in complex transactions.

 

3.6.6 Digester

Definition. The Digester obtains suitable food for the agent and converts it into energy.

Requirement. The Digester is not strictly necessary. However, it provides a way of ensuring that an agent must perform some kind of activity in order to stay alive.

Representation. The environment provides a steady supply of food, in the form of atoms. The agent has an "appetite vector" f. The value of food v to agent A is v · fA.

Since it is an inner product, the value of food may be positive (nutritious) or negative (poisonous). Agents do not necessarily know this but have to figure it out pretty quickly if they wish to survive.

Evolution. Simple agents eat whatever they can get. Complex agents have preferences for various kinds of food and can also metabolize what they eat with varying degrees of efficiency. As mentioned above, there could be both "food" and "poison". Agents might evolve so as to be poisonous to others or even to inject poison into others. Other agents might evolve defences against these tactics.

The role of digester can be split into two (or more) parts: e.g., "mouth" and "stomach". Simple organisms have little or no control over what they eat: their food consists of anything that drifts into their mouths. As agents become more complex, they can become more selective about what they eat, and can even go in search of prey.

3.6.7 Sensor

Definition. An agent can sense various properties of its neighbourhood: the presence and type of food, and the presence and appearance (§3.6.1) of other agents.

The sensor component can detect food and other agents. When it detects food, it passes the appropriate information to the Digester.

Requirement. Sensors are essential for meaningful interaction with other agents, as well as for detecting food.

Representation. For interaction with other agents, the agent has a vector x; the attraction of agent A to agent B is xA · aB. Note:

. In general, xA · aB 6= xB · aA.

. Since lust is an inner product, it may be positive (attraction) or negative (repulsion).

The above does not fit in with the model of agents communicating by exchanging atoms (representing pheromones). In the new model:

. There are atoms in space.

. Agents emit atoms.

. Agents sense atoms and must interpret them. Some atoms will be quite common, and represent energy sources. Other atoms will be rare, and may represent predators, prey, or potential partners.

Evolution. The simplest agents can only detect particular stimuli in one direction (straight ahead). Complex agents can detect a variety of stimuli and determine the direction they are coming from.

Agents can evolve specialized organs, usually on the periphery of their bodies, for sensing purposes.

 

Page 1, Page 2, Page 3, Page 4, Page 5