ABSTRACT

Nonlinear dynamical systems give rise to many phenomena characterized by a highly complex organization of phase space, for example turbulence, chaos, and pattern formation. The structure of the interactions among the objects described by the variables in these systems is usually fixed at the outset. A formal computational language captures basic qualitative features of complex adaptive systems. It does this because of: a powerful, abstract, and consistent description of a system at the "functional" level, due to an unambiguous mathematical notion of function; a finite description of an infinite set of functions, therefore providing a potential for functional open-endedness; and a natural way of enabling the construction of new functions through a consistent definition of interaction between functions. Populations of individuals that are both an object at the syntactic level and a function at the semantic level, give rise to the spontaneous emergence of complex, stable, and adaptive interactions among their members.