16
Suggestions / Sexual Reproduction Focus Group
« on: August 10, 2006, 09:27:50 AM »
By the way, could anybody tell me what's so wrong with .sexrepro?
Thanks
Thanks
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
I would say my primary motive for desiring sexual reproduction is that others desire it. It is quite common for people to want to run a simulation experimenting with sex. I've seen several users come and go for this reason.
Allowing the sexual reproduction to be created from more basic commands has a problem with backwards compatibility. Not impossible to resolve, but still quite noteworthy. .repro is a perfect reproduction method, as opposed to Avida where the entire genome is concerned with reproduction. If sexrepro is orders of magnitude more complex than .repro, we have a problem of a slanted fitness landscape where sex is concerned.
To resolve it, should we wish, we could generate a sequence of very basic commands to operate on the DNA, and have .repro act as a modifiable macro, perhaps using codules or some such.
I am of the strong opinion that we need to move as much of the program away from the gene as a fundamental unit. DNA should be treated more as a long strip of magnetic tape and less like a collection of pearls on a necklace, if that makes sense. Especially since modern gene structure can be quite peculiar and convoluted.
let's take my two examples and apply a mutation that extracts 3 BPs and moves them to a different point in the genome.Well, you're right. Though this would count as an increase in the mutation rate of the portion of code you considered - and we were talking about methods to increase the mutation rates of code portions.
In the original example, you could extract add 2 div and move it somewhere else.
In the modified example with muts, it would be mut 2 mut.
The first has more cohesion to what the original equation was. Mutations are less likely to destroy equations by moving them around.
3 5 mut mut add mut 2 mut divWhat do you mean precisely with "less homogeneous effects from mutations" and "different selective pressures"? Could you make an example?
The computational complexity of the equation hasn't changed one iota, but its elements have become more sparse, leading to less homogenous effects from mutations, and different selective pressures.
Yup, I hear ya. Eventually, I'd love to see both atomic instruction level and module 'area' level mutation encoded inside the genome but I fully understand how the latter is more involved.Just add some new token (instruction) to the dna code (say , for example, 'mut') which has no effect but increasing the mutation rate of the surrounding code. Say that the mutation rate of the surrounding code increases proportionally with the proximity to the mut tokens. And that the influence of the mut tokens is addictive. The token moves with the code, as it is subject to deletions, transpositions, etc. It is subject itself to mutations, and it can be inserted, deleted, etc.
If you have not read it yet, it is time (well, it's been almost 40 years since it was written). It is one of the best sci-fi works ever written and I put it up on our web-site for a while. Grab it here, read it and then post your thoughts. It is fairly short, about long-story or short-novella size.It is definitely one of my favourites sci-fi novels. I read it for the first time probably 15 years ago, and immediately loved it. It is funny, prophetic, and the premises are very interesting (what would look like a world without the need to work, where everybody is free to develop his own inclinations). Some of the things I liked most: the tv with thousands of channels where you can watch shit all the time but also gain a degree-level culture, that reminds me of the www. And the phone that rings with the sound of a rare frog grabbed from a tv show, also reminds me of today's world. The motivational analysis used to study the actions of the main characters, is the same used by modern advertising companies to study the promotional campaigns. And the pessimistic, but credible, prediction about the degradation of people just wasting their time playing cards and watching tv - it has much to say about the world we live in, too.
The first and foremost effect of that would be the blurred line between veggies and non-veggies. Bots could evolve to become either. The second effect is that bots can become a lot more diverse: they can be lean and muscular or they can be slow and fat or they can be large and tough (and any variation in between).
Currently bots are made up of body and nrg. We'd subdivide body into muscle and fat (fat stores nrg, muscle makes the bot stronger). There'd be animal fat and plant fat (ie: cellulose). I don't remember how we decided, but plants are allowed to produce animal fat, and animals are allowed to produce cellulose, but there are incentives for bots to produce what is best for their given situation.So, in the beginning there were DNAs, memory, and energy. Vegs were simply robots which received food for free.
That gives 4 basic bot substanes. Then you add substances that occur in the grid, and that bots can use for either production of stuff or producing energy. For instance, elemental sulfur can be combined with water to produce hydrogen sulfide and nrg. Wether its sulfur or we call it glimglam 96 doesn't matter. For producing stuff, we would have something like silicone -> shell.
Carlo,The system you outlined in your post (with carbs doing this, fats doing that) and only the few reactions needed to obtain just one or the other, well, seemed to me really far from being open ended. DNAs are programs, you can make whatever you want with them: even use them to calculate greatest common divisors, or sorting an array.
if we follow your logic, then limiting bots only to DNA commands that we give them is also not good. From this point of view bots should be able to create their own DNA commands, because re-arranging DNA commands is "optimization, not evolution".
What we came up with was either a use it or lose it kind of specialization, where omnivores in a meat free environment, over time, tend to lose tha ability to digest meat as the enzymes, which aren't important anymore, are lost.So, what's wrong in the system with an array? You have an array of values, with the first stating the ability to digest element x, the second to digest element y, etc. The total sum of the array (better: of the square of the values) has a fixed cap.
-Or- a system where specializing in A causes a despecialization in B. This is how most games deal with class speciation.
Our goal is not to model biochemical reactions and chemistry. It would be too ambitions and actually a step away from the original goal of looking at evolution. Instead, we want to allow bots to make choices on how to utilize thier energy in best way to survive.
So we'll provide functionality directly, without giving bots access to all possible chemical reactions. We can give them protein, fat, carbs and some intermediates and a way to convert these molecules into one another. Each molecule would have different properties and affect bots in different ways: proteins require a lot of energy, but they allow cheaper/more efficient functionality, fats are a good long-term energy storage, carbs are good short-term energy storage and provide turgor.
There are (at least) two possible approaches to model biochemistry in DBs:
1. Take real biochemistry as an example, copy reactions and allow bots to do only those reactions that we introduce. This is a fairly easy approach and I think we managed to come up with a system, which would be open-ended - we can start with a small subset of reactions and slowly introduce new steps/pathways in a way that is backwards compatible.
2. The second approach is not to rely on real chemistry at all, but instead invent our own set of molecules and rules through which these molecules can interact. Then allow bots figure out the biochemistry on their own.
Right now we are almsot set on the first approach, although I do like the second one too ( I am sure Carlo would go with the second approach as well, if that matters to anyone).