Document: Computational Autopoiesis: The Original Algorithm

A.3 FORTRAN IV Program Listings
A Appendix: PROTOBIO
A.1 Spanish Text

## A.2 English Translation

PROTOBIO

The program PRO1 simulates a two dimensional environment, within which three [kinds of] particles interact: A, B and M. A is denoted by "@" and B by " ". The distinct phases of M are denoted by "-", "+" and "*" in the diagrams, and by M-, M+ and M* in the text, respectively.

The environment is a plane with coordinates X and Y, of dimensions 30 by 30 in our experiments. This can be observed at each timestep. One or more "@" particles, and numerous " " particles are located on the plane. The generation [origin?] of these will not be discussed here.

The " " particles move randomly over the plane, remaining in each new position for three timesteps.

[Comment: This was presumably designed to reduce the mobility of substrate relative to the other dynamics of the model. No other details are provided of the rationale for this. - BMcM]

"@" [particles] move randomly over the plane, without leaving it, one space at a time. The movement of "@" is similar to that of the king in chess, and can occur only if the new location is vacant. " " particles do not move as long as they are adjacent to an "@".

[Comment: Making " " particles immobile while adjacent to @ should tend to increase the rate of the production reaction. - BMcM]

"@" is capable of ``synthesising'' an M particle from the combination of two " " particles which are located in its vicinity. For simplicity of explanation, this M particle is represented in the diagrams by "-" and in the text by M-.

Examples:

. .               -

@         =>    @               @       =>   @

.

.            -

.

. @       =>  - @

This M- particle moves one position in a random direction in each timestep. In contrast to the "@" particles, if it encounters a new location which is occupied, there will be a search (at random) for another vacant location, for a maximum of eight iterations.[24] The M- particle will continue moving until it comes into the vicinity of another M- (just one), and then becomes immobile. The M particles which arrive in this situation are represented in the diagrams by "+" and in the text by M+.

Examples:

-        +     -      +
=>             =>
- -   =>  + +       -        +       -      +

This pair of M+ particles has the capacity to ``capture'' and immobilise another M- if it arrives in any of the locations symbolised [below] by 0:

0 0 0 0

0 + + 0

0 0 0 0

Examples:

-          +
=>
+ +        + +           + + -  =>  + + +

-          +

-          +             +    =>    +
=>
+ +        + +           +          +

Each of the M+ particles which is flanked [on both sides?] by another M+ loses the capacity to ``capture'' M- particles and is represented by "*" in the diagrams and by M* in the text. Meanwhile, those M+ [particles] at the ends of the chain of M* particles can still capture M- particles and incorporate them into the chain.

[Comment: Note that this early discussion did not refer explicitly to bonds, bond angles, etc.; nor were bonds explicitly represented in the FORTRAN code. However, the basic concepts described here seems to be entirely compatible with the subsequently published description in terms of explicit bonds (Varela et al. 1974). - BMcM]

The M particles disintegrate into two " " particles after a finite number of timesteps.

[Comment: This is somewhat ambiguous. It might be interpreted as meaning that all M particles have the same, fixed, lifetime; or, perhaps, that they are assigned lifetimes chosen (randomly) from some specified range when they are created. Either way, however, it is noticeably different from the mechanism eventually described in (Varela et al. 1974), where disintegration may occur with a fixed probability per timestep, independently of the ``age'' of the particle. Having said this, it is not apparent that these variations would have any substantive effect on the phenomenology. - BMcM]

The M* [particles] which happen to be at the end of a chain of M* [particles] following a disintegration in their vicinity, revert to being M+ [particles] and can ``capture'' M- particles in the following positions (0):

0 0

0 + * * *
*
0 0       *
*
*
0 + 0

0 0 0

[sic: It seems clear that this diagram was originally mistyped, since the * particles are not aligned on the same lattice as the + particles and the 0 markers. However, the general intention is clear, and actually seems to anticipate the later stipulation that bond angles must not be less than . - BMcM]

A membrane will be formed if the chain of M* [particles] closes; and if an "@" particle is enclosed in this process then it will be observed that the system {A, B, M} maintains itself as a dynamic unity by balancing the disintegration of the M [particles] against the mobility of the "@" particle, while keeping [the "@" particle?] sufficiently enclosed by the conjunction of the M [particles]. If the "@" particle should escape from the enclosing chain of M [particles], the unity will disappear.

The maintenance of this dynamic system requires that the "@" particle must continue to produce M- particles by combining the " " particles; for which reason the ``membrane'' is permeable to the latter [the " " particles]. In this way, the ``membrane'' (or closed chain) of M* particles leads to the enclosure of a population of M- particles, which are ready to repair the ``membrane'' at those points where the M* particles forming it disintegrate. In other words, the following cycle is produced: the "@" particle synthesises particles which form a ``membrane'' which, in turn, prevents this particle from escaping.

Any chain of M* [particles] which closes without enclosing an "@" particle is destined to disappear with the disintegration of the M* [particles]. The probability that it would be repaired by M- particles that come from outside the ``membrane'' is very low.

In conclusion, it is evident that the system {A, B, M} could be extended to a three dimensional system. [However] it is judged that the implementation of a three dimensional model would involve difficulties which are not worth overcoming at this stage, as the extension of the proposed model to three dimensions would not involve any conceptual modifications. [Handwritten] In the three dimensional model the motion of the @ and M- particles would take place in a three dimensional space. The chains of M* [particles] would now become surfaces, with edges composed of M+ [particles] capable of ``capturing'' new M- [particles] allowing the surface to grow and close, enclosing the @ particle. The volume inside this ``spherical-membrane'' would become populated by M- particles, ready to repair the ``membrane'' at the points where it is destroyed [disrupted?] by disintegration of the M* particles.

A.3 FORTRAN IV Program Listings
A Appendix: PROTOBIO
A.1 Spanish Text

Document: Computational Autopoiesis: The Original Algorithm