Code center > Suggestions

Sexual Reproduction Focus Group

<< < (3/11) > >>

Numsgil:

--- Quote from: EricL ---So, I assume for expediecy sake, we want sexual reproduction including crossover to be handled pretty much entirely by the engine in that all an organism need evolve is invocation of .sexrepro or equivalent and the responsibility of doing the crossover and creating the offspring with the resulting DNA will be handled by the engine instead of by the organism.  While it is tempting to say that the genome should be responsible for deciding what parts of it's DNA to combine with another's, this might add considerably to the difficulty of letting a successful cross over strategy evolve naturally.  I'm all for allowing the organism to provide some sort of optional hints to the engine which serve to guide or control cerain aspects of crossover and letting selection operate on these, perhaps average crossover length for example, but I for one cannot come up with good ways for how selection would effectively operate on this.
--- End quote ---

As a relatively easy way to control the amount of "mixing", you can allow the bots to specify the number of crossover events.  A sufficiently large number of crossover events and you have a pretty even 50/50 chance for inheriting either one or the other of an allele.  Lower numbers offer greater cohesion between parents' DNA fragments.


--- Quote ---Mammal sex I.e. tie method.  Both parents have to be in the same place at the same time.  They form a tie.  They both have to be willing to have sex on the same cycle.  If both call .tiesexrepro or equivalent on the same tie on the same cycle, the engine performs crossover and an offspring is formed endowed with the sum of the nrgs passed by its parents.  A birth tie is formed to (and genetic memory loaded from) the one which passed the larger nrg value.

This approach could allow male/femaleness to evolve as bots of the same species can evolve different strategies for how much nrg to invest in fertilization and how often to attempt to have sex (initially, the only difference between males and females would be in the value of a single base pair governing how much nrg to invest in sexually produced offspring).  Females for example, might evolve the strategy of investing a lot of nrg in each offspring but being choosy in the bots they mate with (since they invest so much in each offspring) say only mating with bots with nrg levels above a certain level as a test of fitness.    Males on the other hand may take the differnet approach of investing very little nrg in each offspring, but attempting to mate often and with anything that will allow it.   Selection can favor both strategies.

The delayed fertilization method.  Both parents do not have to be in the same place at the same time.  One parent lays an egg (which would be represented simply be a normal asexually produced offspring but with a couple of flags set that the engine would use and perhaps an "I'm an egg" refvar that others could use for recognition.  That is, unlike say using a shot for the egg, the egg would be visiable, could be eaten by preditors, is subject to costs, can die if not fertilized, repsects corpse mode, etc) using .sexrepro or equivalent endowing it with it's DNA and some amount of energy.  The offspring's DNA DOES NOT EXECUTE (only environmental costs apply - so it can die if not fertilized within some time frame) until it is fertilized by another bot at which time the engine crosses over the DNA of the parents and forms the new offspring with the new DNA and the offspring begins to execute.   Fertilization happens via a tie as above.  In fact, dumb bots need not know the difference between an egg and a mate - the egg can be thought of as calling .sexrepro every cycle (come fertilize me!) - the only difference is that when sex occurs, the egg becomes the offspring, no third bot is created.  Or perhaps we really do kill the egg and create the offspring anew, complete with birth tie....
--- End quote ---

This is basically what I mean when I say "macro" and "micro" sexual reproduction.  Macroscopic sex involves two parents creating one child (at a time, multiple children per litter generally involves multiple eggs).  Microscopic sex involves "fusing" of two cells (sperm and egg, or equivelant for things like fungus spores).

The only thing I would have issue with is that if we allow both systems in the same simulation, they need to be equally weighted.  If one is easier to use, we'll see that one being favored, skewing any conclusions the evosim would allow us to draw.  Which brings up the issue of what to do if one parent wants to fuse and the other wants to mate.  We could have the cell that wants to fuse entirely donate its bodily resources to the child, basically just replacing its DNA, and forming the birth tie with the bot that wanted to mate.

Another option is to use the same sysvars for both, and change the way sex behaves on the options screen.  Wether it creates a new child or fuses.  This has the benefit of directly allowing parallel sims to run that are in every way identical except in how sex works.


--- Quote ---Nums, I think this topic of sexual v. asexual reproduction in Alife simulators would be a good one for an acedemic paper...
--- End quote ---

I definately think so.  I think the real interest is if we can evolve a sexual critter or not.  If we can't, we know that we're missing something in our simulation that spurs real organisms into sex.  If we can, we know we've captured it.  Either way, we'd narrow down a pretty good idea of the possible causes for the evolution of sex.

PurpleYouko:
so how would we initiate the mixing?

In the rather primitive .sexrepro command that has been knocking about in BD since carlo coded it way back, a bot simply takes the DNA of the nearest (physically) bot and splices it with its own.
That doesn't seem right.
I think we could use some kind of modified shot as a sperm cell. it would basically contain a link back to the entire DNA of its originator then each bot could have a kind of mirror DNA slot where recieved sperm could be stored until used. Possibly an incoming sperm shot could displace the existing reference DNA.

Another option would be to do a similar thing via ties. maybe the competing males could grab the females with ties and inject her with their sperm (bit like mating squids). The point that all the bots are most likely heraphrodites will just serve to make this more interesting and a whole lot more confusing  

Any other ideas?

Numsgil:
If we take bots to be microscopic, single celled creatures, shots are too small to be sperm.  If we take bots to be macroscopic creatures, like mice, shots are too big (sort of).

Ties definately make the most since in this case IMO.  A 'coupling'

PurpleYouko:
What if we take the bots to be inorganic or electrical lifeforms with no real analogies to actual biological lifeforms (that we know of) whatsoever?

That is actually the way I think of them mostly. It make things a lot easier to get a handle on if you don't need to completely mirror known natural stuff.

Besides, if a virus can hold a portion or all of a robot's dna then a sperm the same size could also do it.

Numsgil:
If bots are inorganic, sexual reproduction has no analog and we're back to square one.

The thing is, no one knows exactly why sexual reproduction is so nearly universal, especially in higher organisms.  If we start departing too much, I think we're less likely to stumble on the correct combination that makes sexual reproduction more than a curiosity.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version