Two examples of natural computation displaying repeating patterns
Natural systems provide unique examples of computation in a form very different from contemporary computer architectures. Biology demonstrates capabilities such as adaptation, self-repair and self-organisation that are becoming increasingly desirable for our technology. The apparent dichotomy between systems of natural computation such as the brain, and computer systems based on classical designs shows that even though the two systems of computation might be mathematically equivalent at a certain level of abstraction, they are practically so dissimilar that they become incompatible.
To address these issues, Systemic Computation(SC), a computer model and architecture with natural characteristics was introduced by Bentley in (Bentley, 2007). SC is a novel, unconventional and bio-inspired computation paradigm based on the systemics world-view and incorporates at its core properties found in natural systems. These natural properties are listed below in two categories. Computational properties are the properties provided natively by the computational paradigm. Based on these properties the notions of emergence and complexity can lead to more advanced features called behavioural properties.
Systemic computation stresses the importance of structure and interaction, supplementing traditional reductionist analysis with a recognition that circular causality, embodiment in environments and emergence of hierarchical organisations all play vital roles in natural systems. Everything in SC is a system. There is no separation of data and code or functionality into memory, control unit, arithmetic logic unit, and input/output as everything is treated equally as a system. Each system has a definition or shape that determines how it interacts with other systems. Every system is also able to act as context for the interaction of two systems, defining the result of that interaction. SC is Turing complete, designed to support bio-inspired systems and shares the desirable capabilities of biology not found in conventional architectures. Full details about SC can be found in the relevant publications and on the SC wiki.
From 2006 to 2010, I did my doctorate at University College London (UCL) on systemic computation under the academic supervision of Dr Peter Bentley. The purpose of my thesis was to investigate and analyse the natural properties enabled by systemic computation within nature-inspired computer models. The relevant publications are listed on my publications page. My thesis is available for download below.
The first step had been to develop a complete platform implementing systemic computation (Le Martelot et al., 2007a). This platform, baptised and hereafter called SCoPE (Systemic Computation Platform and Environment), includes a virtual machine, a dedicated language, a compiler, a graphical environment and on-line computation visualisation. It is therefore a proof of concept running on conventional computers. It also includes an on-line 3D visualiser enabling the visualisation and analysis of programs state’s evolution throughout execution (Le Martelot and Bentley, 2009c) and (Le Martelot and Bentley, 2010). Finally a neural network application, designed to be used with an artificial neural network model, is also included. It provides a graphical environment using the SC virtual machine that allows to load sets of inputs from files, train networks, and observe the on-line networks' response.
Natural properties have been explored and analysed using several nature inspired models implemented on the platform. These models include genetic algorithms, artificial neural networks and artificial immune systems. By incorporating natural properties at the core of the models this work presents novel ways to think and design models inspired from nature.
In (Le Martelot et al., 2007a) a genetic algorithm model solving the travelling salesman problem is used to investigate self-adaptation. Then flexibility of model evolution is illustrated showing how a feature like self-adaptation of evolution can be added with the minimum of additional code.
In (Le Martelot et al., 2008a), a genetic algorithm is reused to show how systemic computation enables fault-tolerance, fundamental property of natural computing and highly desirable feature in modern computational systems. The work investigates the achievement of fault-tolerance from the crash-proof computing feature to the integration of self-repair and demonstrates the ability of SC programs to cope with and even recover from severe damage.
(Le Martelot et al., 2007b) presents a model of an artificial neural network model, designed to exploit local knowledge and asynchronous computation, significant natural properties of biological neural networks and naturally handled by SC. Exploiting these built-in properties, which come for free, the model enables neural structure flexibility without reducing performance.
(Le Martelot et al., 2008b) and (Le Martelot and Bentley, 2009b) introduce an artificial organism model, a new kind of program with its metabolism, created as a suitable interface between data and an artificial immune system. The work investigates anomaly detection in a stream of data, and the properties of self-organisation and homoeostasis. The organism relies on a metabolism that can eat data, self-organise upon these data, expel waste, and shows excellent abilities to detect anomalies in its diet.
(Le Martelot and Bentley, 2009a) summarises the acquired knowledge and experience to present the state of the art in SC research and provide an overview of what has been achieved.
(Le Martelot and Bentley, 2009c) and (Le Martelot and Bentley, 2010) introduces systemic computation visualisation as a high level of abstraction graphical mapping of the SC formalism. The visualisation tool thus created aims at enabling high level of abstraction analysis of complex systems. It is tested with two natural systems: a bi-stable gene networkand a mitogen-activated kinase cascade, and compared against stochastic pi-calculus models with graphical extension.
SCoPE has been developped in C++ using the STL, wxWidgets, and OpenGL libraries. The code is therefore multi-platform. It is released under the GPL license.
The application is hosted by Google code here where the full distribution can be downloaded, as well as the source code, whether as an archive or using subversion. The full distribution and the source code archives are also available below from this website.
The current version is SCoPE 0.1 RC2:
- The source code can be downloaded here.
- The Windows distribution can be downloaded here.
- Binaries for OSX or Linux will hopefully be available at some point, once the dynamic library loading module is ported.
- The SCoPE User Guide can be found here.
- The final version of my thesis is available here (the file is fairly large so you might need to right-click on the link and download it as your browser may otherwise return an error due to a lack of cache).
Note that in order to run a model, the platform loads the functions code for systemic interactions from a dynamic library. The loading of these libraries is done dynamically as the user selects the program to be run. Dynamic library loading relies on platform-dependant code and the SCoPE platform was developed under MS Windows. As a result this bit of native code has yet to be ported for OSX and other Unix systems in order to release a distribution for these platforms.
The various nature-inspired algorithms and computer models that were developed for my research, including genetic algorithms, artificial neural networks, an artificial organism, a fire spreading model, a bistable gene network, and a MAPK cascade, are included in the binary distributions and can be run once the platform is installed.
This section provides a few visualisations using the abstract structure. Visualisation videos are available for the fire model, the artificial organism, the bistable gene network and the MAPK cascade.