Sunday, November 2, 2008

Creating life

If you accept the definition of life as I presented in my previous posts, we can use it to create 'life'. Life can be created at two levels: software simulation and hardware (live robots). Since both of them are related, i.e., robots too will be driven by software, we could simply concentrate on software. The definition given in the earlier post can be conceivably implemented in software.
The first part of this effort will be about defining environment that will host the life in terms of all its chemical and physical properties. It is roughly like defining an environment in a Playstation game. Then, at the same time, we need to define the implementation of our artificial life -- the living being. We have to define what is this being made up of, what is its structure and how does it remain functional (Remaining functional should be a core part of definition of life and it is mentioned in my definition by reference to life's self organising properties. Anything that is not functional can't be alive.)
Let me deviate for a moment to say something about being functional. This gets a little philosophical. The question is, what should be the being functional for? It should be functional towards what end? My definition of life says that the function of life is nothing but to sustain itself. Take any living being and examin various functionalities within that being, such as blood circulation system, digestive system, reproduction, foraging, socialising, etc. All these functionalities do nothing but help the being sustain itself and continue its existence -- the survival instinct. That way, if we are creating a life on our own, the issue becomes cyclical like chicken and egg problem. Life must have at least some functionality and that functionality must be to sustain itself.
Coming back to defining life functionality, we could pick up any arbitrary functionalities that help keep our living being functional. We could perhaps start with the form -- choose the shape and colour of this being and then see what functionalities are needed to develop and maintain that form over this being's life cycle. The functionalities of this being need to be in sync with the environment, i.e., the functionalities should be able to take sustenance from various cycles in the environment (like day/night, seasons, etc.) and supplies made available.