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

8 Appendix - Technical details of the extended `El Farol Bar' model outlined in section 4

8.2 The Agent's Learning Algorithm


Each agent has a population of (pairs of) expressions (as in figure 4 and figure 5) that represent possible behaviours in terms of what to say and what to do. The size of the population is fixed but not 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, it can only evaluate each expression as to the utility that would have resulted in if it had used it in the past to determine its action. 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.

Each agent has a fairly small population of such models (in this case 30). This population of expressions is generated initially according to the specified language at random. In subsequent generations the population of expressions is developed by a genetic programming [12] algorithm with a lot of propagation and only a little cross-over.

The formal language that these expressions are examples of is quite expressive. The primitive nodes and terminals allowed are shown in figure 11. 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.



Figure 11. Possible nodes and terminals of the tree-structured genes

The primitives are typed (boolean, name or number) so that the algorithm is strictly a strongly-typed genetic program following [15].


On Modelling in Memetics - Bruce Edmonds - 18 AUG 98
[Next] [Previous] [Up] [Top] [Contents]

Generated with CERN WebMaker