[Next] [Previous] [Up] [Top] [Contents]

4.1 The Set-up

4.1.2 The agents


Each agent has a population of models composed of (pairs of) expressions that represent possible behaviours in terms of what to say and what to do (its strategies). This population is fixed in size but not in content. These expressions are taken from a strongly typed formal language which is specified by the programmer, but the expression can be of any structure and depth. Each agent does not `know' the meaning or utility of any expression, communication or action - it can only evaluate each whole expression as to the utility each expression would have resulted in if it had used it in the past to determine whether it would go to the bar or not and the other's behaviours had remained the same. This is the only way in which the utilities affect the course of the model. Each week each agent takes the best such pair of expressions (in terms of its present evaluation against the recent past history) and uses them to determine its communication and action.

This means that any particular expression does not have an a priori meaning for that agent - any such meaning has to be learned. This is especially so for the expression determining the communication of the agents, which is only implicitly evaluated (and hence selected for) via the effect its communication has on others (and itself).

Each agent has a population of such strategies (in this case 40). This population is very small for a GP algorithm - this is deliberate, so as to limit the explorative power of each agent to a more credible level. This population of expressions is generated according to the specified language at random. In subsequent generations the population of expressions is developed by a genetic programming [22] algorithm with a lot of propagation and only a little cross-over. That is 80% of the population in the next week is composed of strategies that are copies of those in the last week and 20% are formed using the tree cross-over operator from pairs of parent strategies.



Figure 5. The primitives allowed in the talk and action expressions

The formal language of these expressions is quite expressive. The primitives allowed are shown in figure 5. It includes: logical operators, arithmetic, stochastic elements, self-referential operations, listening operations, elements to copy the action of others, statistical summaries of past numbers attending, operations for looking back in time, comparisons and the quote operator. A brief explanation of their effects during evaluation are listed in figure 6.



Figure 6. A brief explanation of the primitives that can be used to construct strategies

Some example expressions and their interpretations if evaluated are shown in figure 7. The primitives are typed (boolean, name or number) so that the algorithm is strictly a strongly-typed genetic program following [24].



Figure 7. Some example expressions

The reasons for adopting this particular structure for agent cognition is basically that it implements a version of rationality that is credible and bounded but also open-ended and has mechanisms for the expression of complex social distinctions and interaction. In these respects it can be seen as a step towards implementing the `model social agent' described in [6]. For the purposes of this paper the most important aspects are: that the agent constructs its expressions out of previous expressions; that its space of expressions is open-ended allowing for a wide variety of possibilities to be developed; that it has no chance of finding the optimal expressions; and that it is as free from `a priori' design restrictions as is practical and compatible with it having a bounded rationality. This agent architecture and the rationale for its structure is described in more detail in [16, 15].


Capturing Social Embeddedness: a constructivist approach - Bruce Edmonds - 30 OCT 98
[Next] [Previous] [Up] [Top] [Contents]

Generated with CERN WebMaker