Slashdot Log In
Digital Darwin
Posted by
michael
on Thu May 08, 2003 09:44 AM
from the it's-alive dept.
from the it's-alive dept.
An anonymous reader writes "Using genetic algorithms to breed strings of computer code graphically, this week's Nature magazine describes results from Caltech and Michigan State. Their program is Avida. While they mainly mimic mutation, not genetic cross-over [or inheritance (thus wiping away much memory of initial conditions)], their simulations show how a short-term backward step in survival strategies can generate innovative advances. It is not unlike running a maze which necessarily involves testing alot of dead-ends, and thus shares the graphical look of Conway's classic Game of Life." Here's a National Geographic story about this as well, or see their press release.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
I've used genetic algorithms (Score:5, Interesting)
Re:I've used genetic algorithms (Score:4, Interesting)
Parent
Re:I've used genetic algorithms (Score:4, Insightful)
Very true. And, in the case of using genetic algorithms as a point of evidence in an argument, this assumption works against you. For many people computers are a black box. If you say, "I have a computer program that models mysterious process X" it's just replacing something mysterious with something incomprehensible.
And, before you do that, you have to assume that arguing is a productive activity in the first place. With many evolution deniers, it is not. But since they've wandered into my cave (the realm of logical, rational thought) I find it's my duty to eat them alive.
Parent
Re:I've used genetic algorithms (Score:3, Insightful)
I don't know why I bother because this is too easy. One of the facts that best support evolution is tha
Re: I've used genetic algorithms (Score:5, Interesting)
> I think the minor problem of the small number of noisy anti-evolutionists would become even more minor. I mean, it's kind of hard to say that an algorithm doesn't work when you can compile a few thousand lines of c and then watch it work.
Yeah, as soon as I saw the article I thought, "How many evolution deniers will we dredge up this time?".
It would be nice if someone had an on-line hub linking to all the GAs that are free and source-available, so that people could download one and try it themselves, look at the code if they suspected the answer was cheated in, and maybe tweak some parameters to see that both mutation and selection are actually needed for such systems to work. (The evolution deniers on talk.origins are fond of attacking mutation and selection independently, as if one or the other should be sufficient according to the theory of evolution.)
Of course, some puppies would deny peeing on the floor even as you rubbed their nose in it, but we might as well inform those who are informable on matters of science.
Parent
Re: I've used genetic algorithms (Score:5, Interesting)
The first thought I had when I saw the article (presented on Space.com as "Darwin Proved Right
For the record, I am not anti-evolution, though I may occassionally be noisy...
Parent
Re: I've used genetic algorithms (Score:2)
> The first thought I had when I saw the article (presented on Space.com as "Darwin Proved Right ...") was that simulating something in a computer does not necessarily prove anything about the physical world. We can synthesize all sorts of things that have no analogy in nature. EA, AI, are fascinating fields inspired by evolutionary theory, but I fail to see how executing a computer program that assumes evolution in its infrastructure proves anything but that modelling evolution in software works.
Yes,
Re: I've used genetic algorithms (Score:2)
Well said, and I assume you would put "irreducible complexity" cheif among them.
It's ridiculous that in the 21st century we have to tread so carefully over the biases, misconceptions, and agendas in presenting science.
Re:I've used genetic algorithms (Score:4, Insightful)
I've done some GA work myself, and it is quite fascinating. E.g., too high a mutation rate and the system destabilizes, but too low a rate and it never (or very slowly) finds its optimum fitness. Throw in some genetic recombination (simulating sexual reproduction) and evolution to higher mean levels of fitness accelerates considerably as useful "genes" are conserved while others quickly disappear. It's very cool.
Modern creationists are in the same place that official Christiandom was in the time of Galileo, I think. If you're religious, nothing in modern biology (which largely is evolution) really denies a role for a deity in kickstarting the whole shebang. Setting up the system to run itself unattended, in fact, would have been the smart way to do it. Those who insist that God would create a system far inferior to this -- i.e., that requires endless hand-tweaking of every minute detail -- are really delivering Him a kind of insult, aren't they?
Parent
Re:I've used genetic algorithms (Score:4, Interesting)
A point seemingly lost on a lot of right-wing fundamentalists. When you study religion, you notice certain trends, and one of these trends is that the oldest and most well established religions don't ask their believers to deny their intellectual capacities. The problem with "creation scientists" is the same problem with "evolutionary biologists" - each firmly believes in their position regardless of the weakness of the position or evidence to the contrary.
Weak minds often have a hard time with the intelligent design arguments of creation. While we don't specifically deny evolution, we posit that there was a Creator who started the process, and has and does attend to his creation. When one looks at the complexity of living things compared to that of inanimate objects, one can't help but be struck by the difference in complexity between what merely exists and those things that grow.
Interestingly, while this study can show the merits of evolution, it does more to bolster the intelligent design theory than to destroy it. While the experiment was very interesting, we must remember that the digital organisms did have an intelligent designer - it's not like the programs sprang to life on their own!
Parent
Re: I've used genetic algorithms (Score:4, Insightful)
> The problem with "creation scientists" is the same problem with "evolutionary biologists" - each firmly believes in their position regardless of the weakness of the position or evidence to the contrary.
Could I trouble you to summarize the weakness of the position of evolutionary biologists and the contrary evidence? Presumably you have something beyond the same old tripe that has been refuted hundreds of times, or you wouldn't be saying that.
> Weak minds often have a hard time with the intelligent design arguments of creation. While we don't specifically deny evolution, we posit that there was a Creator who started the process, and has and does attend to his creation.
And that position is completely worthless as a way of understanding the universe, because it is compatible with any observation whatsoever.
> When one looks at the complexity of living things compared to that of inanimate objects, one can't help but be struck by the difference in complexity between what merely exists and those things that grow.
What measure of complexity are you using? I'd like to see your calculations showing the complexity of a squirrel and the complexity of the Nile delta.
But maybe before we get into that too deeply... What has complexity got to do with anything? Are you making an underlying claim that complexity can only come about as a result of intelligent design? Is the Nile delta the result of intelligent design? Are intelligent designers the result of intelligent design? (Where did the first intelligent designer come from?)
> Interestingly, while this study can show the merits of evolution, it does more to bolster the intelligent design theory than to destroy it. While the experiment was very interesting, we must remember that the digital organisms did have an intelligent designer - it's not like the programs sprang to life on their own!
Yes, and our simulations of continental drift are written by humans too. Are we to conclude that humans are pushing the continents around?
Study up on the concept of "non sequitur" when you have a little spare time.
Parent
Re:I've used genetic algorithms (Score:2)
Re: I've used genetic algorithms (Score:2)
> Here's what this and all genetic algrorithms do NOT address: Getting the genetic code initially from a bunch of extremely unstable chemicals that do NOT want to combine naturally.
a) That's called abiogenesis, and the theory of evolution doesn't say anything about it.
b) To the extent that chemicals "want" to do anything, the chemicals used in life are in fact very eager to combine. Or do you suggest a miracle for every chemical reaction that happens in your body over the course of your life?
> Lo
Re:I've used genetic algorithms (Score:2)
- 'a few thousand lines of c',
- a well-defined 'parameter space',
- 'filtering the bad missteps'
compare with the real world, where we started with absolutely nothing?
How about starting with
- 'the entire universe',
- 'all possible paramater spaces' (see above)
- 'filtering the bad missteps'
We didn't start with "absolutely nothing" as you assert. We started with absolutely everything.
Go Red Guys! (Score:2, Funny)
I like the red guys the best... kill them blue guys! Go red guys!
M@
Other interesting ALife projects (Score:5, Interesting)
Re:Other interesting ALife projects (Score:5, Informative)
Parent
Re:Other interesting ALife projects (Score:3, Interesting)
Tierra (Score:3, Interesting)
Each "organism" would compete for RAM, the idea being to -- if not survive -- at least replicate itself. This was a pretty ambitious project at one point, but petered out at some point. I notice the Avida creators do give the original Tierra author, (Tom Ray) credit.
Got to have cool graphics (Score:3, Funny)
I'm not sure why the high CPU requirement is needed, but it seems true. As always, the real question is: Will it make a cool t-shirt?
Uh, hello there Boss! (Score:2)
I'm...um, writing code! Yeah, that's right! It's self-replicating and evolutionary stuff. No, sir, it's not a virus! It's just a game! Ah...I mean, integrated development environment.
game of life (Score:5, Informative)
especially because it demonstrates some of the classice patterns that have been identified that lead to long lasting/ interesting cellular automata.
their little java applet is really nice too because of the way it works: you can populate it with some of the notable pattern generators (hit open in the upper left corner) and then play it out in superspeed and watch the magic.
i am not affiliated with them at all btw!
Re:game of life (Score:2)
but, in today's world/ at the present time in history, this little game is as close as mathematicians have come to defining life from their pov.
I mean in TGOL the patterns follow some fairly basic rules.
well, isn't that the point? the whole point is to figure out how such complex and amazing things such as life can evolve from simple rules. that's the whole point of TGOL: complexity from simple rules.
look at us... human beings, we are basicly just one giant chemistry set. chemistry is just a
Web as database for AI (Score:3, Interesting)
If anybody else has any useful links, please pass them on.
Commonsense -- Web Based Human Input to Create AI (Allows download of sample of database) [mit.edu]
AI and AL source code [clg-net.com]
Web interface for synonym sets [princeton.edu]
Ohh! (Score:2)
Re:Ohh! (Score:2)
So we're still playing with dots (Score:5, Insightful)
What saddens me is how little progress is being made in this area. We still seem to be playing games drawing coloured dots in 2D space. When I was into this stuff, I envisaged we'd be designing cars, bridges, language translators, even soap powder boxes with evolution techniques by today. But it hasn't happened.
Let me tell you, when you design a system that evolves, and you see it doing stuff you didn't intentionally program it to do, it gives you a real headrush. Evolution is a tool that we haven't learnt to use yet. The sad thing is, we don't even seem to be trying too hard. Perhaps I should get back into it...
Re:So we're still playing with dots (Score:2)
Damnit I've just read the summary of the article in Nature and I cannot believe that Nature published this. Or rather, I can't believe that they haven't published anything like this in the last few decades!
God, this really makes me wish I'd stayed in the field. Do you know how many scientists long to get a paper published in Nature? Careers are built on it. And they get one published doing stuff that people have been doing for years.
Damn and blast. Now I'
"Evolve money fast!!!" (Score:2)
And it hasn't stopped there. They've patented at least six new useful circuits that their algorithm has discovered.
So, while genetic programming is not yet exactly widespread, I thought you'd be interested to know that those who are plying t
Re:So we're still playing with dots (Score:2)
When you scale up to larger problems, like trying to evolve a program to parse a piece of code, you either have problems determining what kind of "fitness function" to use, or find that your evolved programs are fragile and only work for specific input, not generic.
The real kicker, is to figure out how to make evolved programs less fragile and specialized.
Re:So we're still playing with dots (Score:2)
I agree in the sense that we've only been able to map it to simple problems, but that's just because we're doing it wrong.
The real kicker, is to figure out how to make evolved programs less fragile and specialized.
Agreed.
Re:So we're still playing with dots (Score:2)
They [engineous.com] are used for many things, including tweeking the design of turbine airfoils (personal experience).
The main reason they are not used more is that the analysis tools that have to be used with the EA are not perfect, you will almost always (without severe limitations on the available solution space) end up way of in some corner of the space where your pre
Re:So we're still playing with dots (Score:4, Insightful)
When I was into this stuff, I envisaged we'd be designing cars, bridges, language translators, even soap powder boxes with evolution techniques by today. But it hasn't happened.
Imagine "evolving" a language translator. How do you gauge the "effectiveness" of the perspective genomes? Compare their output to a "known good" output? Okay-- so do we have enough "known good outputs" that we can realistically test the performance of a perspective genome over a large set of problem cases? Who decides what is "good output"? How do you qualify that into a fitness factor? Language translation has too much subtlety and nuance to be gauged by simple fitness measurements. ("Oh, I know-- we'll just do a string comparasion between the perspective output and the 'known good'.")
It would seem to me that in cases where the relative fitness of the perspective output is a function of many, many variables, that testing for fitness would become computationally unwieldy or impossible, and negate any positive benefit of using genetic algorithms.
Problems that have easy, simply defined fitness factors are good candidates for GA's (think optimizing functions for execution speed or size, designing a structure to have the maximum possible load-bearing capacity), but problems that are not simply defined do not lend themselves well to GA's-- like, say, language translation.
I think that GA's can provide novel solutions to reasonably simple problems, but the larger, harder problems, need to be decomposed into smaller problems, where possible, rather than being approached as a composite problem.
From an esthetic perspective, I think GA's are especially interesting, though. It's quite fun to make 'evolutionary decisions' in a GA-based image-creation program and see [netlink.co.uk] the results, or to listen to GA-based music creation [columbia.edu].
Parent
Biomorphs (Score:5, Informative)
example [syr.edu] on the web.
mutation (Score:2)
While they mainly mimic mutation, not genetic cross-over [or inheritance (thus wiping away much memory of initial conditions)
Mutation?
no genetic Cross over?
Sounds like a lot of coders that I know.
In EDA software, it's called simulated annealing.. (Score:3, Interesting)
While the specifics are different, the general concept is the same.
Re:In EDA software, it's called simulated annealin (Score:3, Interesting)
Another self-modifying piece of engineering was discussed recently which was an attempt to give a computer that could self-modify circuitry to "evolve" an oscillator, by giving it the waveform as a goal.
It
Tierra, Avida, MS - a short story (Score:5, Interesting)
Network Tierra was Ray's response to this. It was supposed to allow a "Cambrian explosion" of biodiversity, by providing tons of (networked computer) space for the little creatures to explode into, and then specialize, in. This led to interesting migration behavior, and one of my all-time favorite web-pages [atr.co.jp], but it too failed to spark that je ne sais quois, that spark of life.
Anyways, it did spark Avida and the Digital Life Lab at Cal Tech. Avida is essentially a deeper look at the fundamentals behind AL. In Tierra, I think the design philosophy was something like "make it look a lot like a living ecological system and the life-force will appear out of the ether", and actually, Tierra was a great leap forward beyond more mundane genetic programming a la John Koza.
Avida, on the other hand, is much more systematic in exploring the parameter space (which is large and sensitive) for setting up an AL system. This turned out to be fruitful, as Adami found that only when certain, very narrow, environmental conditions were met would the little creatures start outsmarting that Creationist boogeyman, the Second Law of Thermodynamics.
Turns out that Tierra didn't have spatiality (needed to be more restrictive on who could sleep with who) and mutation rates (some power law math that's way over my head) set right.
But the real punch-line to this whole story is that the direct beneficiary of these insights in Microsoft! Hah!
Microsoft was funding Adami's work because Windoze crashed too much. They were searching for a way of programming - in this case using closed instruction sets like Avida's (another deep topic) - that would be inherently robust to problems like seg faults and illegal instructions.... e.g. Adami's instruction set was engineered so that little programs (creatures) couldn't crash the Avida VM when they mutated into new, unknown programs.. or in Windoze's case, when a coder did something stoopid. It's funny that MS was researching this, since releatively low-tech solutions such as protected memory and QA take care of this. (not to mention Java
Interesting but sort of scary (Score:3, Interesting)
I read a magazine article about this a while back. (probably Sci Am.)
One researcher setup a problem to be solved with an analog circut. The problem was to distinguish between the words yes and no.
Nobody can explain how the circut that evolved actually works. Like us, there were parts of the circut that seemed redundant or unnecessary. Sort of like the appendix.
This whole thing makes me wonder just what we don't know that we think we do.
Scientific American (Score:2)
Good Intro Resources on ALife/Complexity (Score:3, Informative)
Especially: Evolution, Ecology and Optimization of Digital Organisms [atr.co.jp] and Zen and the Art of Creating Life [atr.co.jp]
2)The Santa Fe Institute [santafe.edu]
3)Kevin Kelly's Out of Control: The New Biology of Machines, Social Systems and the Economic World [amazon.com]
Computer Evolution (Score:3, Insightful)
Its wonderful how these things can find odd and interesting solutions to problems in some cases and completely miss them in others.
One of the things that anyone learns who has tried this kind of method is that you can't hurry things to a result - that you often need to actively intervene to slow the evolutionary march, or even back it up (as in the article) or the system can easily get stuck exploring an area with a local optimimum extensively and miss a better one thats just a ways away.
Wonderfully fun stuff though and well worth investigating.
forget the anti-evolution argument (Score:4, Insightful)
Where to get Avida (Score:4, Informative)
We recently released Avida version 2.0, with a new GUI and complete with god mode where you can inspect and edit the genome of any organism at any point.
We encourage you to play with Avida yourself. You can get information and a Mac OS X binary at:
Avida's Hompeage [caltech.edu]. Older versions for linux and windows are available there as well.
The intrepid can build the current version for OS X or Linux from source, please see Avida's Sourceforge Project [sourceforge.net]. If you want the nice GUI, you'll need QT.
Other information about Avida, our lab's research, and artificial life in general can be found at:
The Digital Life Lab Homepage [caltech.edu]
Our sister lab at MSU, run by Professors Charles Ofria [msu.edu] and Richard Lenski [msu.edu].
The Int'l Society For Artificial Life [alife.org]
a practical application - antenna design (Score:3, Informative)
Re:Runs on a beowulf too (Score:3, Funny)
Re: Runs on a beowulf too (Score:2, Interesting)
Re:Misdirection (Score:2, Insightful)
I've notived a trend lately in the biology journals. They keep bringing up this same old, tired, worn-out "explain the eye" argument to discredit evolutionary critics.
I've still seen it used by creationists et al.
The challenge being issued by critics right now has to do with irreducible complexity, and it blows a hole right through the entire macroevolutionary paradigm.
Would you be prepared to give examples of 'irreducable complexity' that have been published in the scientific literature?
The sys
Re: Misdirection (Score:5, Informative)
> I've notived a trend lately in the biology journals. They keep bringing up this same old, tired, worn-out "explain the eye" argument to discredit evolutionary critics. ... This argument hasn't been seriously proposed by evolution critics in 10 years...
However, the rank and file still believe it, and propose it almost weekly on talk.origins.
> Of course, I understand why they're doing it. The challenge being issued by critics right now has to do with irreducible complexity, and it blows a hole right through the entire macroevolutionary paradigm.
Utter bunkum.
> Macroevolution cannot explain an irreducibly complex system.
Sure it can, and in at least two ways.
A system is irreducibly complex if you can't remove any part without breaking it. Behe (the champion of IC based evolution denial) jumps immediately from the definition to his desired conclusion that evolution doesn't work. However -
1) Arches made of blocks of stone are IC, yet we still build them one block at a time. We do that by creating a scaffold to hold the blocks up until the keystone is in place, and then removing the scaffold. The result is an IC system, but it was emphatically not "created" as a whole. Can Behe (or you) give an argument that evolution cannot make use of scaffolding and get an IC system as a result?
2) The IC argument ignores the fact that biological structures and processes can undergo a change of function during the course of evolution. Thus Behe may point out a structure or process that is IC, but a close examination reveals that although removing one part (or step) breaks its current function, it is only one step away from a structure or process that formerly served a different function. (Ask on talk.origins if you want specific examples.)
> The system has to arise either by chance or by design. If by chance, then the probablilities get ridiculous very quickly
No, because evolution is a matter of chance, but it's a stacked-deck kind of chance where not all outcomes are equally probable. Rolling 2d6 also gives a chance result, but every game player knows that some chances are more likely than others.
If you are using 'chance' to mean "random configuration of matter with all configurations equally probable" then you are offering a false dichotomy, and if you are using 'chance' to mean "matter shaped by the ordinary processes of nature, such as gravity and chemisty" then your probability argument falls down anyway.
If you would like to visit this in more detail, please pick a biological structure or process and show us your calculations for its rise by chance.
> and if by design, well, that's probably the worst thing an evolutionist can envision because it might mean there is a God looking over their shoulders
That's nothing but an ad hominem attack slurring the motives of scientists. It's also an asinine argument, because there is a very large number of biologists who are also Christians, don't have the faintest problem with the notion that God might be looking over their shoulders, and still recognize the validity of biological evolution.
> even though Design never tries to identify the designer.
Of course not. If they say the designer is God then their fig leaf of secularity falls away and they can't be invoked as scientists in court. But if they say the designer isn't God then someone will ask where designers come from, and they can only offer God, natural causes, or "designers all the way down". The "God" answer is problematic for reasons already stated, the "natural causes" answer would be to abandon their own argument altogether, and the "designers all the way down" answer isn't going to be taken seriously by anyone. So the only feasible solution for the proponents of Intelligent Design is to refuse to answer the question and refuse to make any inquires in that direction a
Parent
Re: Quake bot + genetic algorithms (Score:4, Informative)
> I've always wanted to do a genetic algorithms for like game AI.
FWI, there is going to be a special session on games [nus.edu.sg] at the Congress on Evolutionary Computing [adfa.edu.au] in Sydney this December. It will be interesting to see what kind of papers come out of it.
Maybe Slashdot can revisit the topic in December. (Hey, maybe they'll send me to cover it for them!)
Parent