Virtually all present-day computational models for complex systems are tailored towards specific variations of complex systems. While such a restriction can be quite useful regarding the intuitive mapping of the respective complex system to the model, it bears also a number of drawbacks. In particular, the identification of suitable model constituents that reduce the amount of implicit side effects can be difficult. If a given model favors certain kinds of constitutents, this preference can interfere with the already difficult selection process and lead to poor choices, i.e. the complex system is fittet onto the model instead of the opposite.

A generalized computational model can offer more flexibility to address such issues. The main challenge for such a model is the definition of a common theme that allows for an intuitive interpretation of the model and the modeled system while being general enough to encompass all or at least most types of complex systems. In [1,2] we suggest to derive this common theme from a related modeling problem in physics: the transfer and storage of energy. For instance, if a stone is lifted up, the energy required to do the lifting is transfered from the lifter to the stone where it is stored as potential energy. In this description the seemingly passive stone is an active constituent of the system. It can ”store” and ”release” energy by means of its location, mass and momentum.

Analogous to this approach a complex system can be characterized by describing how information is distributed and transformed inside the system. To this end a complex system can be described as a set of information processing nodes which send and receive information using messages. In contrast to the constituents of existing models, e.g., cells or agents, these nodes represent also parts of the system that would be commonly considered as passive elements. For example, if an agent in an agent-based model can place some resource onto a patch of the model’s environment, this patch – like the stone in the example above – is an active part of the complex system. In that sense, the patch can be regarded as a very simple information processing node. Based on this common theme of communicating nodes, the issue of varying relations between constituents becomes an addressing problem:

How can a set of nodes exchange messages in a constantly changing system with a minimal amount of shared knowledge?

A solution to this addressing problem can be infered from the following observation. Many computational models for complex systems use some form of environment to impose a set of comparable attributes on all constituents, thereby creating a means to relate the individual constituents to each other. For example, the environment in a Cellular Automaton places the cells in a grid topology resulting in inter-cell relations like 4- and 8-neighborhoods. The definition of a cell’s behavior can then refer to these neighborhoods, regardless where in the grid the cell is actually placed.

This functional role of the environment, i.e., establishing comparable attributes among the constituents, can be generalized to serve as a key element in a solution to the addressing problem. Instead of using a globally defined environment, each node of the proposed model can exhibit a custom and potentially changing set of arbitrary properties on its own. These properties can then be used in conjunction with a property based addressing scheme. This scheme determines the recipient nodes of a message by evaluating a set expression composed of sets of nodes, common set operators and special set operators called property filters.

Figure 1: Overview of all components of the proposed model.

Figure 1 provides an overview on how these components relate to one another. The four component types Node, Property, PropertyFilter, and Message are the basic building blocks of the generalized model. The functional roles of the four components can be summarized as follows:

  • Nodes encapsulate local processing of information. They ”consume” and ”produce” packets of information, i.e. messages.
  • Properties encapsulate common attributes shared among a subset of nodes. They allow to relate different nodes to each other and thus facilitate the indirect addressing of nodes as recipients of information.
  • Property filters encapsulate semi-global operations on properties. They allow to select specific nodes as recipients of information based on an arbitrarily complex evaluation and comparison of properties.
  • Messages encapsulate packets of information that can be send from one node to a set of recipient nodes. The contents of a message can be arbitrary.

The proposed model minimizes and isolates shared knowledge. For example, if the nodes of a complex system should be related to each other by their position, only the fact that each node has a position is shared knowledge that has to be present in each node – especially if the nodes can change their position. The actual implementation of this attribute is isolated as a separate element, i.e., as a property of type position. Additionally, the way how relations are build upon this attribute is isolated in corresponding property filters, like neighborhood-Of. As a result, the nodes themselves do not need to know how high-level concepts like neighborhood-Of are implemented. The model facilitates the use of established object-oriented programming concepts like polymorphism and combines it with a simple, yet powerful mode of addressing as basis for the exchange of information inside the system.

The use of a generalized model offers not only the ability to describe a wider range of complex systems with a single approach but also allows for a more accurate modeling of systems that do not fit any of the complex system types favored by more specialized computational models


References

 1  Jochen Kerdels and Gabriele Peters,
A generalized computational model for modeling and simulation of complex systems,
In: Research Report 4. University of Hagen, 2012,
[pdf|bibtex]

 2  Jochen Kerdels and Gabriele Peters,
Exploratory Modeling of Complex Information Processing Systems,
In: ICINCO (1), pp. 514–521, 2013,
[pdf|bibtex]