Evolutionary computation, multi-agent systems, artificial life and other complex adaptive systems. Theory of evolutionary computation and genetic algorithms. The extension of this theory to arbitrary domains. Evolution of co-operation and emergent computation in multi-agent models. The use of such systems to model complex organisations and social systems.