Code center > Suggestions
gimmic for zerobot evolution
ikke:
--- Quote from: shvarz ---BTW, you can treat each bot at that stage as a puddle of water that is full of pre-biotic material. In that case the evolved replicator (a particular set of DNA commands within that pe-biotic material) does indeed replicate all other stuff along with itself. So it's not self-contained. The abstract nature of bots can be interpreted in many different ways
--- End quote ---
Nice abstraction. However, I would say it is contained by the puddle.
--- Quote from: shvarz ---It's a good point and there is nothing we can do about this - DB is based on the concept of bots.
--- End quote ---
I don't see the concept of bots needs to be broken to implement this. All that is needed is a set of rules to define gene behaviour in uncontainend conditions and defining when the condition applies. As an inprovement to the original suggestion to a new ''close'' command a body could be said to exist when body, slime or shell have been increase by the genome. No new command needed.
--- Quote from: shvarz ---It never was specifically design to ask the question of emergence of life - from the beginning it was always about evolution of existing life. The "zerobot" approach is relatively new here. It was brought in just as a fun challenge.
--- End quote ---
I'm not judging the work done. I like the concept of zerobot evolution and I think this may be a nice extension. I for one am curious about the interaction between containment and replication. Outside that it has no purpose. A gimmick, as the title says
EricL:
--- Quote from: Numsgil ---I am going to disagree and say hand authored bots can give interesting results. Let's assume that the bot is at the top of its fitness landscape. It is simply the most perfect bot ever written by Man. With a sufficiently large population, and low enough mutation rates, you should be able to run a sim of those little buggers for millions of years and have them not change, which is sure an interesting result.
--- End quote ---
There's a difference between being at the top of the fitness lanscape and being on a peak that is actually reachable by evolution. There are many many peaks, some very very high, that are unreachable by evolution (one wonders whether the same is ture for biological DNA - can you say engineered supermen?) but in general, I'll agree with you here. I will point out that the default mutation rate is too high for this to happen currently, probably by orders of magnitude. We need more instrumentation on the evolution of mutation rates relative to the overall rate and selection for stasis, but I don't think I've ever seen anything close to this. Everybody mutates. We don't see stasis. One would expect that in the absense of any other kind of selection pressure, we would see selection for lower mutation rates. I don't think we've seen that but admitably, its hard to tell today.
--- Quote from: Numsgil ---The problem is that we have yet to devise a long term environment that exactly mimics the conditions of a F1 contest, so features that are good in an F1 contest just aren't good in a sparse and safe long term evo sim.
--- End quote ---
I think it's more than this, more than just constructing the environmental conditions so as to provide the right selection pressure to maintain the hand authorred logic. I think it's a function of the richness of the DB DNA. There are so many different ways to code the same thing that the probability that a human will code some functionality in a way that evolution would is bascially zero. I suspect (but cannot prove) that code produced by evolution has "hidden complexity" and represents more than just the functionality it embodies. It represents a specific way of obtaining that functionality, a specific coding style if you will that was produced by evolution and is therefor selected for an evironment where evolution is occurring. I suspect that someday, an analysis of evolved sequences will show things such as a much higher probabiltiy that a point mutation will result in something functional for example, than does a similar hand authored sequence that acheives the same functionality.
--- Quote from: Numsgil ---When a bot develops cannibalism, or whatever, it is evolving. That it comes up so frequently is a sure sign of that. Bots that don't remember how to feed, for instance, die rather quickly. We may not like the sort of mutations that break behavior we built, but it's a valid evolutionary strategy that makes the bot more fit iff it catches on and everyone does it.
--- End quote ---
In my mind, it's more a matter of degrading incrementally. Sure, if you degrade too quickly, your line dies out. The pace of degradation is held in check by the most functional of the failing space shuttles, but the population as a whole is fast degrading and loosing the functionality represented by that hand authorred code (yes, because selection is in operation.) A mutation that increases short term reproductive fitness is perferred over long term because there is no long term stabalizing selection in operation preserving that code, nothing to preserve all that complex code represented by that artificially high peak in the landscape except competition between conspecs for which has the least deleterious mutations. You can think of this as evolution in that the least broken surivies to reproduce, but I would hestiate to call it directional selection. And if you do, surely the direction is towards destroying all that hand authorred code.
--- Quote from: Numsgil ---Destructive adaptations aren't the only things I've seen with hand authored bots. I have also seen alga minimalis evolve to wiggle instead of turn, which caused it to be much harder to eat. That mutation quickly was the only one left, and most of my other bots died from starvation. Zerobots are fun to run, not because they're the only things that are evolutionary, but because they allow us to look at something that is purely evolutionary.
--- End quote ---
Right. To be clear, I'm not saying simple hand authorred bots can't evolve, just that the more complex the hand authorred code, the less one can expect selection to favor and preserve that hand authorred code in the long run.
I will say however that there is one good thing about hand authorred bots and that is they represent a lot of usefull, low level DNA buiding blocks akin to junk DNA. I.e. a genome that already contains a tie sysvar is more likely to to evolve the use of ties than a zerobot genome that does not. But after a few million cycles, it is unlikly that the tie use will have any relationship to the manner the human author intended. Hand authorred code is rarely if ever preserved by selection for very long. Still, I will admit it might be faster to start with hand authorred bots, let them degrade to nothing more than replicators with lots of junk DNA and watch them evolve from there than it would be to start from pure zerobots.
shvarz:
Just my two cents:
I have seen a lot of hand-authored bots becoming better during evolution in DB. The trick is not to use the conditions for which the bot was originally coded. As a result, the hand-coded bot starts with low fitness and then improves over time. Often the improvements are enormous.
As far as bots that fit the environment for which they were designed, I don't think that hand-authored bots break down because their DNA is somehow non-fit to accommodate mutations. I think that much more frequently the coded features are simply not as beneficial as authors think they are. Thus bots loose them. Due to low population sizes and high mutation rates the amount of genetic drift is enormous in DB. When we improve the computation speeds and people start running larger sims we'll see a lot more preservation of hand-authored features and a lot more evolutionary improvements on hand-authored designs.
I'd like to take a minute here and once again call for running IM with pre-set conditions that are identical or very similar for all IM-connected sims. This should reduce the drift a lot and help the evolution.
bacillus:
The unnatural efficiency argument seems to make sense, but I still think there will always be room for improvement, no matter how unlikely. Zerobot are a good example of this; if they learn to feed, won't they have made progress from losing energy so they die a slow death?
On the topic of Zerobots, and now that someone has brought out conspecs, in a high-mutation rate environment, I think consec systems would be a proof of irreducible complexity, unless the environment allowed cumulative mutations through several generations. What we really need is something that picks out the best bots and deletes the rest, kind of a population threshold that when crossed destroys the bots that are least successful.
Numsgil:
What you're talking about is an artificial fitness function. Something like what Avida has. It's not a bad strategy, but IMO what makes Darwinbots work well is that there isn't any divine intervention on selection. Bots are purely selected based on removing bots with 0 nrg. That's the entire fitness function as far as the program is concerned. If you have >0 nrg, you're fit. Otherwise you aren't fit. Any other fitness term is emergent from interactions between the bots and their world.
Also, anything evolving in a high mutation environment would be proof for irreducible complexity Really if you have more than one functional mutation per generation you're in trouble.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version