Document: Modelling Autopoiesis: Harder Than It May Seem!

next 4 The Resolution

up 3 A Case Study: Computational Autopoiesis

[*] 3.1 The Original Model



3.2 The Problems

I personally became interested in the computer modelling of autopoiesis about five years ago (McMullin, 1994). While the phenomenology described for the basic system was quite rudimentary I hoped that it might be possible to extend it to support systems which can grow and reproduce via a crude fissioning mechanism. This could allow an approach to modelling and understanding the evolutionary emergence of genetic reproductive architecture--and thus the emergence of ``evolvability''.

However: the first step would clearly have to be to reproduce (sic!) the basic phenomena of the original model.

At first sight, this should not have been difficult. The originally published description of the work included both an informal description of the essential interactions in the artificial chemistry, and a more detailed algorithmic description of their particular computer program which realised this chemistry. In the noble tradition of the professional academic researcher, I therefore simply presented this paper to an unfortunate graduate student (Hyder Aswad) and asked him to re-implement it.

Which he did.

Unfortunately, this re-implementation completely failed to exhibit the original phenomena.

I must confess, to my shame, that (remaining true to the aforementioned noble academic tradition) my immediate reaction was to blame my poor graduate student, and declare that he must have made some mistake (probably more than one!) in his re-implementation. He, on the other hand, rather trenchantly insisted that he had checked his work with great care. So, to prove my point (and, as an added benefit, to underscore why I was the exalted professor, and he the humble graduate student) I duly rolled up by virtual shirt sleeves and proceeded to take his program apart, line by line, to identify exactly where he had gone wrong.

Unfortunately (for my self-respect if not the progress of science!) it was now my turn to fail. Miserably. I could find absolutely nothing wrong. Granted, some aspects of the original description were unclear or ambiguous; some details of the implementation might have been done more efficiently. But none of these things could apparently explain the failure of the model.

At this point, I contacted Francisco Varela, whom I had met briefly before. He was able to tell me that, regrettably, the original program had been lost; but he directed me to a student of his who had recently re-implemented the model as an exercise. The student, Francois Jullien, kindly forwarded his Pascal program code to me--noting, however, that it had been developed on an obsolete computer platform that he no longer had available, so he could not run the program himself anymore! Strangely enough, I did not have access to this obsolete platform either, but I hoped to glean some insight from examination of his code. Granted, the identifiers and comments in the code where all in French, with which language, unfortunately, I have only very modest familiarity; but Francois very generously agreed to provide an overall technical description of the program in English.

In parallel with this I also sought other researchers who might have successfully reproduced the original phenomena. A literature search revealed only one substantive example, by Milan Zeleny (Zelany & Pierre, 1976; Zeleny, 1977). But at least the code from this example had apparently been made publically available. Admittedly, it was written in a somewhat obscure and specialist computer language (APL), but I was prepared to deal with that if necessary. However, on contacting Dr. Zeleny, it transpired that, although his code had been made freely available at the time, this was quite some time in the past ... and all copies had now, as far as he knew, been lost.

Broadcasting a message on a related Internet mailing list elicited one additional lead: John Mingers, a researcher based in the UK, had also independently re-implemented this model, as an exercise. But, as with Jullien's version, this had been developed on a computer platform that was now obsolete and no longer available. In fact, only a hardcopy of the code, rather than a machine readable version had been retained. However, Mingers had recently had the program manually rekeyed from the hardcopy, though had not made any attempt to get it running. He was willing to give me a copy of this, and, indeed, collaborate with efforts to get it running again.

I studied the code from these two independent re-implementations carefully, but could identify no significant difference from that of my own student. It became clear that I would need to see either or both of these actually working if I was to make further progress. Over a period of time, and with assistance from both Jullien and Mingers, I ported both of their programs to a common platform which I had available, and got them ``working'' (Jullien & McMullin, 1995; Mingers & McMullin, 1997). That is, they executed, apparently as their respective authors had intended; but they did not exhibit the autopoietic phenomena described in the original publication. In fact, they behaved in essentially the same flawed manner as the program written by own student, Hyder Aswad!

At this point, frustration, and other demands on my time, meant that I had to put this project aside. Hyder Aswad also moved on to other things. However, I was conscious that these results were deeply unsatisfactory, and certainly intended to return to the project when an opportunity should arise.

After an hiatus of around 18 months, that opportunity did eventually arise when I was enabled to spend an extended sabbatical visit at the Santa Fe Institute (I am grateful especially to Chris Langton and John Holland for facilitating this).

My first step was to build yet another model of the artificial chemistry, this time layered on top of the general purpose simulation system called Swarm, recently developed at SFI, and programmed in Objective-C. This adopted a completely different (agent-based) simulation architecture, ignoring the original algorithm, and attempting to capture only the original qualitative chemistry. Not surprisingly, this again made no substantive difference: the original phenomena could not be reproduced with this model either.

At this point, the failures could be clearly related to a single core problem: a certain reaction of the artificial chemistry (``bonding''), when implemented according to the original specification, was taking effect ``prematurely'' relative to the putative autopoietic network.[*] It seemed that there must be something missing from the model; something that was not included in the published description, but that was present in the original simulation code. But how could this possibly be identified now, a quarter of a century after the original experiments had been carried out?



next 4 The Resolution

up 3 A Case Study: Computational Autopoiesis

[*] 3.1 The Original Model



Document: Modelling Autopoiesis: Harder Than It May Seem!

Copyright © 1997 All Rights Reserved.
Timestamp: 11/3/1997

mcmullin@eeng.dcu.ie