Also called AL like AI as in Artificial Intelligence.
A new school of thought. Using a from the ground up approach (evolution), scientists simulate the principles of lifein a simulated environment.
Fascinating. Look at the game of life for the simplest beginnings, check out norns in creatures, a newer game. The darwin approach makes them good air plane fighters in the RAF simulations.

AL has been around 15-20 years now and AFAIK it hasn't turned up anything that you could fairly say proves we've got the principle cracked. I'm afraid I'm not impressed by Norns. Evolution is obviously capable of great things, but I don't think we've properly translated the mechanism into sillicon yet. This is mainly because most ALife researchers have a very simple and crude understanding of it. This runs along the lines of:

  1. Start with a population of random candidate solutions.
  2. Assign each one a fitness score according to some pre-defined criteria.
  3. Increase frequency of high-fitness solution paramters by breeding them or copying with mutation.
  4. repeat as necessary.
This looks like it should work. The only problem is the `repeat as necessary' part. The search space defined by the variable set can be prohibitively large for most non-trivial problems. The standard solution of course is to throw more processing speed at the problem whereas what would really be useful would be to go back and have a proper look at how biology does it. Until this happens AL is in danger of falling into the same trap of AI, i.e. producing lots of systems which are very interesting but are almost completely disparate and don't really go anywhere.

BTW, this whinge does NOT include neural networks which do work well.


I've just re-read this after noticing it pick up negative xp. I still agree with what I said, but to really justify and elaborate it properly would require a much bigger node. Maybe even an alife metanode. Instead I'll try to state succintly where I'm coming from... That's it! I just want to see ALife stuff progress as I know it can...
For an entity to be considered alive, it must display the following properties:

Structure - an organized pattern
Reproduction - the ability to replicate and pass on instructions
Metabolism - the ability to convert energy to different forms
Growth - the ability to change structure
Evolution - the ability to change to a new entity
Irritability - the ability to interact with surroundings
Resilience - resistance to changes in the environment

Is it possible for a man-made object or computer program to display all of these properties?

I believe, at least in the case of software, that it is. The obvious example is a computer virus. Clearly, these have structure, the instructions that form its code. They can reproduce by attaching themselves to the start of any future program that is executed. They can interact with their surroundings, for instance, deleting data, displaying text on the screen, etc. Error handling can offer resilience against the environment. While a computer virus doesn't convert energy to different forms since it draws energy from its very existence as software, it could convert input data to some output which may be considered a type of metabolism.

It would not be hard to give a virus the ability to alter its own code, maybe by stealing random instructions or subroutines from its 'host'. This can lead to evolution. If 'bad code' causes the virus to crash the computer, it will not get the opportunity to reproduce. When the computer is rebooted, that strain of virus will be deleted forever. Viruses that take code that doesn't cause a crash will survive, assuming their ability to reproduce isn't compromised by the change.

Whether creating such a program is a good idea is an interesting question. Releasing these entities out onto the Internet, or simply releasing them as computer viruses, could result in damage to data in computers all over the world. It would be interesting to construct a closed environment to test this theory, though.

Previously, this wu was part of my merrings wu, but I thought it made more sense to move it here.

Jean-yves makes a classic error (at least I would consider it an error) in the writeup above. The list is indeed a standard list of qualifications for "life" used in biology. But it is actually a description of life as we observe it in nature, not particularly useful in the context of artificial life. Take "metabolism"; what does "metabolism" mean in the context of artificial life? What does "energy" mean in Conway's Game of Life, where there isn't even any meaningful conservation of anything? The answer is "Nothing." So obviously the definition of life must be modified. Even in the classical world, these definitions may be too restrictive to be applied to new lifeforms. I have often seen "lifespan" added to that list; would not an "immortal" being still be alive? What about an organism fulfilling all but one of the criteria? (In the literal sense, a eunuch would not be considered alive under those criteria! Of course we would explain that away as capable of reproduction by design and a flawed case. What about a mechanical, electronic organism capable of metabolism, reproduction, irritability, etc., but no growth? Obviously this list is a description of life that we have observed, not a natural law.

The concept of intelligence is an even loftier goal than life, and can at least theoretically be realized as well in a complete simulation as in the "Real World."

In my opinion, it is unproductive to define a word (life) and then enter deep arguments as to whether or not some entity meets the definition. The debate over whether biological viruses are "living" seems senseless. The debate over whether digital software is "living" is even more pointless. For the sake of this writeup, I'll define the term artificial life to mean digital software that grow, reproduce, and evolve in ways analogous to biological life.

It is unclear how important artificial life will be in the future, but it's fun and not too far-fetched to dream about the impact that it could have on humanity. Currently though, the most important utility for artifical life is to model the evolution of biological life. While we have no way of directly observing the biological evolution which occurred over 3.5 billion years, perhaps we can simulate it digitally in short timespans. My interest in this area arose from a discussion with Caltech scientist Christoph Adami. Dr. Adami developed the Avida artifical life program and authored a textbook "Introduction to Artificial Life."

Adami's research team attempts to tackle questions such as "Does evolution lead to increased or decreased complexity?" Their research, based on information theory and automata theory, found (not surprisingly?) that evolution creates additional complexity because more complex organisms contain additional useful information about their environment. Their software also allows research into, among other things, how digital organisms adapt to their environments, how organisms evolve in different ecologies, whether molecular evolution violates thermodynamical principles (e.g. systems tend toward greater disorder), and how robust and evolvable codes (analogous to DNA) are created (analogous to how life originated from the non-living Earth).

For more information on Adami's research group and its work, visit http://dllab.caltech.edu/. For information on a distributed computing project with similar ambitions, see The Golem Project.

Log in or register to write something here or to contact authors.