Thursday, February 19, 2009

The "alien" technology of life


I finished reading the latest Technium entry about the Unabomber - of all things. As I was reading through the comments I came upon one comment that touched on the all too familiar question of what is natural - is a road that Man makes natural?

This in a very obtuse way triggered my mind to bring to consciousness a recurring personal idea which had laid dormant for a while. The idea is that life consists of "alien technology". This is certainly not a 100% original idea - but then what is? Think of the Arthur C. Clarke classic "2001: A Space Odyssey" for example.

I am not a proponent of the idea that life was imported from some alien civilization. If for no other reason than this doesn't at all solve the problem of the origin of life. That's not my point here at all. My point is that even today, we do not fully understand the technology that supports life. At the lowest and mechanical level we cannot create life from simple molecules. And at the highest and most abstract level we cannot create an artificial intelligence.

In this sense the technology of life is completely "alien" to us. If we view biological organisms as machines, we must admit that they are far beyond our current capability to fully comprehend - even the simplest one celled organism is amazingly complex.

Here is my scenario. Imagine a mechanical robot-like pseudo-human species that possesses our knowledge of technology except that it has never encountered earth-type biological organisms. Suddenly from the sky a spaceship descends and out comes an elephant. Assume for the moment that these pseudo-humans thought of this elephant as some sort of machine rather than a "living being". That elephant would represent a huge technological challenge for them to understand. It would be viewed by them as consisting of a technology that was totally "alien".

We are so conditioned to separate biology from the other sciences, that we under appreciate biology as a technology. I am not trying to trivialize the spiritual aspects of life by saying this. I find that the "miracle of life" when viewed from a purely technological viewpoint is no less "miraculous". It is every bit as awe inspiring and mysterious - but in a different way I suppose. To me the more I learn about biology, the more in awe I become.

These are systems that are far more complicated than the most complicated software systems that we have yet invented. The immense number of interactions that take place in a simple cell are astounding; to create a multi-cell organism is orders of magnitude more complex. Finally, the creation of organs and circulatory systems and nervous systems and endocrine systems absolutely boggles the mind. Add to this the ability to reproduce and I find myself reduced to a reverential state of wonder.

Will any human inspired technology ever be able to surpass the "alien" technology of life?

5 comments:

  1. There's really little reason not to call an elephant 'machine'. Furthermore, isn't an elephant a piece of software with 10 megabytes of source code? (http://genomicron.blogspot.com/2007/11/bacterial-genomes-and-evolution.html)
    People create software of that size, so if the life was 'coded', wouldn't it be equally difficult for the Developer to understand our software?

    ReplyDelete
  2. I don't know how many megabytes of software is in a elephant, but I can tell you that the end result is much more impressive than any human software that exists today. The fact that human generated code is difficult to understand does not necessarily make it interesting or worth understanding.

    What makes biological life interesting and unique is its ability to adapt to its environment. We see this through life's ability to heal from wounds, to learn, to evolve. Life doesn't just replicate. Each individual is unique, yet each individual is able to function fully.

    I have been considering the possibility recently that part of what makes life unique is the "language" in which it is written. In this case I'm using "language" in the sense of a computer "language". I have had in mind for quite a while to write an evolvable language which I call evologic. That's what I'm planning on working on in the near future.

    ReplyDelete
  3. The idea of evolution is of course interesting, but for me what really distinguishes life from technology is individual's ability to adapt its behavior and learn from its experience. An ant might be using not so sophisticated receptors, but it uses the data very effectively, and that's with so little brains!

    I think it is the ability to learn and use the 'actuators' flexibly that is really needed for the technology to proceed to the next level.

    Nevertheless, we need evolutionary mechanisms for long-term self-improvement of machines. And I agree that choice of the language to implement an evolving system is important. But I think it is not the 'language', but rather entire 'runtime environment' that needs to be developed.

    The problem is that in almost all languages programs are executed in sequence. Each instruction has strictly defined behavior. It isn't the 'natural way'. There we have a DNA molecule and lots of stuff floating around. The 'execution' is governed by very complex processes (i.e. electrostatic forces), and the program gets executed as a whole, not in sequence. This can also account for the amazing data compression (as I said 10 MB is enough for almost every organism).

    You probably should try some fractal techniques for execution of programs: in fractal graphics, programs are usually very small yet yield very complex results, and single mutations can significantly change the behavior.

    ReplyDelete
  4. You bring up some very interesting points.

    For me the biggest problem with the current computer architectures is that the data and the program are completely separate. In a brain there is no distinguishing between the data and the program. The memories determine the future behavior. This is what I am trying to imitate in my "evologic" language.

    Perhaps we can think of the functioning of a cell in a similar way with the data and the program (DNA) all floating together. I don't know. I would have to give more thought to that. Is DNA the program, or the data, or both?

    I should also clarify that I think of the learning process as using an evolutionary algorithm. That is why I chose the name "evobrain". The fitness function in this case corresponds to maximizing good feelings while minimizing bad ones. I can get into more details on that if your interested.

    As I've said, I haven't really worked on this project in about a year. And I really need to review my notes in order to get back into the swing of things.

    I appreciate your comments. Its helping me to refocus and recapture the original inspiration I had for this project. Fortunately, I did keep very good notes and can pick up where I left off.

    I don't know about fractal techniques. That's something that would be beyond my abilities at this point.

    One thing about mutations is that it seems to me that there is a fine balance between too much change from a mutation and too little. Nature seems to have worked out that balance. It seems to me that the majority of mutations in a system should not be so radical as to keep the organism from functioning. That is a goal of mine in creating the evologic language.

    Normal programming languages are no good at mutating at all. Just a semi-colon out of place will cause a program to cease to function. I'm trying to create something more like DNA. Perhaps this is more like what you would call a "system" than a "language". But I'm applying that DNA idea to memories. Then the memories become the program and evolve over time based on experiences (new memories).

    That's the basic idea anyway and that is how I am hoping to create an artificial intelligence that can learn and adapt based on its experiences. This is my understanding of what the ant does and this is what I am trying to emulate.

    ReplyDelete
  5. As far as I know, there were such attempts, and the language used was lisp. Indeed, lisp was developed with this goal in mind -- to eliminate any distinctions between data and commands.

    Nevertheless, I think this idea is worth developing: very complex problems are sometimes solved by people who simply hadn't known that they are complex.

    ReplyDelete