Author Topic: Sexual Reproduction Focus Group  (Read 7578 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Sexual Reproduction Focus Group
« on: July 31, 2006, 02:24:41 PM »
Hiya everyone, just returned from holiday  

Let's get together and decide what we want to do about sexual reproduction in DB

Here's my idea to start things off:

Firstly, meiosis: reproduction that splits the bot into two bots, splitting the DNA of the bot at a certain point and giving each portion to one of the bots. This would be achieved via the sysvar .meio, with the number stored indicating where in the DNA the split occurs

Secondly, give bots the ability to shuffle their genes, moving genes around their genome. This way they can 'line up' their genes into two halves for meiosis.
Bots should also have the ability to copy their own genes. The importance of this will become clear later.

Finally, recombination: two bots can, via a tie, merge into one bot and merge their DNA together, with the bot that initialized the recombination's DNA simply being added to the end of the other bot's DNA
.reco will fire a tie forward, which, if it hits anything, will initiate recombination

*********

Here's how sexual reproduction would work:

First, line up your genes into two halves (if necessary)
Next, split your DNA using meiosis
Then, have each 'half-bot' to find a 'half-bot' of the 'opposite sex'
Then, have the halves recombine into one bot

It works better still for MBs, which can afford to have specialist sex cells

*********

Here's the best part - implications of this system:

1) Different species cannot breed easily

If one bot accidentally recombines with a bot of a different species you're left with a bizare hybrid, which will probably be missing large chunks of vital DNA, and be run by two conflicting DNA 'half-bot' programs

2) Viruses emergy as a natural consequence

A virus would be a single gene (or several) that copied itself, sent the copy to the end of the genome, and split it off with meiosis, only to have the new SG bot recombine with the first bot it saw.

3) Incresed evolutionary benifits of sex, including true speciation

*********

What does everybody think of that?
« Last Edit: August 01, 2006, 01:35:29 PM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7715
    • View Profile
Sexual Reproduction Focus Group
« Reply #1 on: August 01, 2006, 11:51:15 AM »
I have issues giving bots too much information about the structure of its DNA, especially numerically, and doublely especially on the "gene" level.  Insertions and deletions are going to make doing something to the Xth base pair terribly obsolete.  You need a system that's just a set of universal rules that allow the desired behavior to come about.

Ideally you'd have some system that's fairly emergent, without alot of control from the bots.  The trick I think is to decide what we want and go backwards from there, comparing with biology as a base line.

Actual meisos goes something like this: (it's been a while, so point out errors I make) Chromosomes are lined up with each other.  Like chromosomes find each other through their centromeres, which act as a kind of key in groove, only connecting to the sister chromatid.

The sister chromosomes begin zipping up along several sites to each other.  If there isn't a proper match at a zipping up site, the zipping stops.  Crossing over events occur along these zipped up sites only.

After crossing over, the chromosomes are seperated and each goes in one of the new cells.

From this I would imagine something like this for Darwinbots: (assuming a Haploid standard, which seems to be the norm for ALife).  Two DNAs find each other (the specifics change depending on if you're macroscopic or microscopic).  The DNA is lined up, and several random locations start trying to find corresponding matches.  That is, location 1 on DNA A has "stop cond *.eye5 0 > start".  This tries to find a match in DNA B.  If a match is found, the DNA's are "zipped" up, checking the previous and next base pairs for a match.  This continues until it either runs out of DNA to zip or the DNAs don't match anymore, in which case it stops.

The bots would then specify a number of crossing over events (maybe just average the requested crossing over events of the two parents), which would perform crossing over the same way biological DNA does along any zipped up regions.

The two DNAs are then seperated and either put back into the parents (for microscopic) or one is put into a new bot (macroscopic).

This avoids explicitly defining sex, and other abstract concepts (funguses for instance have a very interesting life cycle with some very complex "genders".  Some have hundreds of genders.)

There are a few fudges in this system compared with natural systems.  The largest being that bots are specifically limited to haploidity (polyploidity seems an impossible problem, specifically in deciding how to handle dominant/recessive/codominant in a fair way).  Polyploidity would be easy to add, though, if we ever figured out an adequate system.

If bots could program their zipping up mechanisms, maybe through some sort of codule, you could add quite a bit of control to the bots without giving them explicit information about their DNA.

I do agree that ties would be the logical choice for coupling with a mate.  To mate I imagine it would need to be a double agreement, like launching nuclear missiles.  Both bots have to agree.  Perhaps a single sysvar called .sexrepro (original I know).  0 or negative values imply no consent to mate.  Positive values indicate a number of crossing over events.  I dunno, I might have to think about it.

Ideally there would be a checkbox in the options between macroscopic and microscopic behavior (new child or DNA swap).  If the sysvars behave the same for both, that would be even better.  Bots designed for one could still operate as another.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Sexual Reproduction Focus Group
« Reply #2 on: August 01, 2006, 12:47:19 PM »
How about the DNA matches up by finding regions in which the DNA matches, and then splits the DNA into sections where the DNA doesn't match, then chooses an 'allele' at random from the unmatching parts

This is hard to explain  

Example:

Bot1

h r j d n v r g k h t r e s b j y o g d s w e h g k h p g r e s g p p o r d w t x n t o p l

Bot2

h r j d n o I y t r v j b g h f d w e h p o d v d x b j r d w t x y y r e

Match points colour coded
DNA in-between match points shuffled

Example offspring:

Bot3

h r j d n v r g k h t r e s b j y o g d s w e h p o d v d x b j r d w t x n t o p l

This might be something similar to what you're getting at, although not specifying crossover points
« Last Edit: August 01, 2006, 01:30:16 PM by Elite »

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Sexual Reproduction Focus Group
« Reply #3 on: August 01, 2006, 01:43:25 PM »
Title change: From "Sexual Reproduction (Again)" to "Sexual Reproduction Focus Group"

Are we in agreement that the system should involve meiosis and then fertilisation/recombination, rather than a simpler system whereby bots exchange genes without intermediate meiosis?

Resources:

Sexual Reproduction
Genetic Recombination
« Last Edit: August 01, 2006, 01:43:49 PM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7715
    • View Profile
Sexual Reproduction Focus Group
« Reply #4 on: August 01, 2006, 02:14:46 PM »
Here's how I understand "real" crossing over to work (there are some limitations to my medium, so bear with me):

The two DNA strands couple:
a b c d e f g h I j k l m n o p
A B C D E F G H I J K L M N O P

A site is chosen:

a b c d e f g h I j k l m n o p
A B C D E F G H I J K L M N O P

The DNA strands downstream (or upstream, I'm using downstream without loss of generality) "swap":

a b c d e f g h I j K L M N O P
A B C D E F G H I J k l m n o p

The result doesn't sound too exciting, but if you do that several times the result is a relatively cohesive way to shuffle the DNA that minimizes damage to genetic code.

Elite, your way isn't much different as far as impact to the DNA, I'm just saying this is more or less how actual crossing over goes about its business.  Although your method might have a different effect on Genetic Linkage.
« Last Edit: August 01, 2006, 02:23:00 PM by Numsgil »

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Sexual Reproduction Focus Group
« Reply #5 on: August 01, 2006, 03:14:32 PM »
So the bots find each other and swap?

*********

The general idea behind my first idea:

1) The Bot DNA is cut into two strands and the bot splits into two, with each bot getting a strand

2) Bots of opposite 'sexes' (ie. different halves of DNA) find each other and 'mate'

3) The DNA is recombined

That way, only similar bots can reproduce successfully, since they will have the right gene halves

Bot1

a b c d e f g h I j k l m n o p

Bot1a

a b c d e f g h

Bot1b

I j k l m n o p

Bot2b

I J K L M N O P

Bot1a+Bot2b

a b c d e f g h I J K L M N O P

Something like that?

No harm in collecting a couple of methods together

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7715
    • View Profile
Sexual Reproduction Focus Group
« Reply #6 on: August 01, 2006, 04:57:24 PM »
I'm just a little wary of creating anything that can be construed as "sexes".  Real animals don't have to have sexes.  That they do should be seen as a choice on evolution's part instead of a requirement.

Any bot of the same species as another bot should theoretically be able to mate.  If they can't, it should be a consequence of the decisions the bot has made (size restrictions perhaps) or behavioral limits (self policed genders in effect).
----------------------------------------------------
Cutting a bot's DNA isn't analogous to the split in real DNA, because all bots are at present haploid, hence the need to fudge around a bit.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Sexual Reproduction Focus Group
« Reply #7 on: August 01, 2006, 05:15:41 PM »
Quote from: Numsgil
I'm just a little wary of creating anything that can be construed as "sexes".  Real animals don't have to have sexes.  That they do should be seen as a choice on evolution's part instead of a requirement.
I see your point. OK, let's go for the no meiosis method then. DB doesn't need to be an exact mirror of real life ...
Quote from: Numsgil
Hence the need to fudge around a bit.

*********

OK, let's take your crossover method

How about matching up the sections where the DNA matches ...

h r j d n v r g k h t r e s b j y o g d s w e h g k h p g r e s g p p o r d w t x n t o p l

h r j d n o I y t r v j b g h f d w e h p o d v d x b j r d w t x y y r l

... and using this as a guide to place in a random number of crossover points within the portions where the DNA matches, for each strand. This prevents code from getting accidentally mushed in with an entirely seperate piece of code

If not enough DNA matches are found to accomadate the crossover points (ie. non conspecs) then how about having the program just place the points randomly anyway, mushing the DNA and probably leading to a non-viable offspring?

That sound OK?

BTW, How's the C++ version coming on?

The introduction of codules will make this tons easier. Just swap the coresponding codules arround

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7715
    • View Profile
Sexual Reproduction Focus Group
« Reply #8 on: August 02, 2006, 10:42:30 PM »
Quote
... and using this as a guide to place in a random number of crossover points within the portions where the DNA matches, for each strand. This prevents code from getting accidentally mushed in with an entirely seperate piece of code

That's more or less what I was thinking, so I agree

Quote
If not enough DNA matches are found to accomadate the crossover points (ie. non conspecs) then how about having the program just place the points randomly anyway, mushing the DNA and probably leading to a non-viable offspring?

That sound OK?

That would probably work.

Quote
BTW, How's the C++ version coming on?

The introduction of codules will make this tons easier. Just swap the coresponding codules arround

After I fixed my computer by getting a new motherboard, I started working for my father doing his IT stuff.  Then I started a job at Walgreens.  I hardly have time to eat and sleep, let alone the time and mental faculty needed to code, so it's not progressing very rapidly.  Things should calm down in a week or two and I can get started.

All that's really left to do is ties.  10 or 15 hours of work tops.  I just don't have the time or energy to do it.  Kinda frustrating.
« Last Edit: August 02, 2006, 10:47:29 PM by Numsgil »

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Sexual Reproduction Focus Group
« Reply #9 on: August 06, 2006, 01:39:28 PM »
Quote from: Elite
How about matching up the sections where the DNA matches ...

h r j d n v r g k h t r e s b j y o g d s w e h g k h p g r e s g p p o r d w t x n t o p l

h r j d n o I y t r v j b g h f d w e h p o d v d x b j r d w t x y y r l

... and using this as a guide to place in a random number of crossover points within the portions where the DNA matches, for each strand. This prevents code from getting accidentally mushed in with an entirely seperate piece of code

There is a problem with this in that for populations and genomes as small as what we are using, conspecs are likely to differ by perhaps only one or two base pairs, when they differ at all.  Most of the genome of the individuals within a species will be identical and crossing over these portions will have no effect.  For this reason and for those mentioned about the problems with defining/assuming specific universal genome structures, I prefer cross over without regard to genome structure in all cases (I.e. essentially random in both the number of cross over points and the locations - more on this below).

As previously mentioned, this has the effect of self-defining species in that the crossing over of similar genomes will have a higher probability of resulting in a viable organism then will the cross over of radically disimilar genomes.  That is, it is unlikly that two organismsms of wide genetic distance will be able to produce viable offspring.  Selection will determine how far is too far and we will have a species boundary.  Sterile hybrids between recently branched but distinct species are an intermediate possibility, but selection will strongly favor mating with bots that have similar genomes and wouldn't it be cool if species recognition adaptations evolve one day as a result.   A cross over point in the middle of a gene between two individuals of the same species won't matter much since it is likely that the other half of the gene is the same or sufficiently similar that the resulting gene will still function in the offspring.  In cases where there are off by one type errors due to insertion mutations or other genetic differences between the parents, the resulting offspring may have a modest crossover mutation, which may or may not be deleterious.  This could lead to the evolution of non-coding interons, the purpose of which would be to increase the possibility of retaining the original gene function in the offspring in cases where the crossover does not exactly line up due to differences in parential genomes.   Random crossover also has the fucntion of creating a poor man's version of haplioid alleles.

But this all begs the question as to whether sexual reproduction should be entirely part of the engine, entirely coded for within the genome of sexually reproducing species or perhaps something inbetween.  IMHO, in an ideal world, everything would be evolved and in the genome.  The whole notion of sex and all the mechanisms there of would evolve naturally with the engine providing only the most basic world physics and chemistry necessary to enable it - say the ability of one organism to make it's DNA available to another, via a tie or perhaps as a new shot of type "gamate" which can contain all or part of an organism's DNA.  But the entire notion of sex, sexes, crossover, alleles, diploidity, etc would evolve out of that basic ability naturally if and only if selection favored it.  Crossing over would be under organism control, selection could operate on the number and location of crossover points, whether they were random, whether some genetic structure was assumed in crossover, sex ratios, etc.

Unfortunatly, given the limits of the system in terms of environmental diversity/complexity and of the CPU power available today, I expect we would be waiting a long time for all this to evolve since it is unclear to me at least what selection forces are necessary to favor sex in the first place.  (I'm not the only one BTW.  From what I can tell, what advantage there may be in sexual reproduction is a hot area of research.  At first blush, it would seem that selection should favor asexual reproduction exclusivly since in sexual reproduction, only half of an organism's genes are passed on to an offspring.  All else being equal, genes which favored asexual reproduction over sexual reproduction would become more numerous so there must be some important advantage conveyed by sexual reproduction.   Some of the therories I have read about are nonobvious and involve such things as parasite resistance but I think the jury is still out for sure.)

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.  

This split between what the engine does and what the organims must evolve is consistant by the way with where we draw the line on other engine/genome responsibility splits.  For example, the engine today handles all the various tasks of creating a new organism with the DNA of the parent during asexual reproduction including DNA copying and so on.  An asexual organism need not evolve it's own DNA copying machinery in order to reproduce.   I think it would be inconstistant of us to say that sexual reproduction must evolve in it's entirty but that asexual reproduction need not.
 
So, what remains is to decide on what specific mechanisms are available for bots to decide how and when to have sex.   I suggest two methods:

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....

Note that fertilization could also occur via a new "gamate" shot type if we wanted.  I would suggest this as a V2 feature since 1) it's not necessary initally 2) it's hard to hit really small bots with shots and eggs are likely to be small and 3) I don't know how birth ties and genetic memory should work in such cases.

Sorry to be long winded, but this subject is super interesting.  Nums, I think this topic of sexual v. asexual reproduction in Alife simulators would be a good one for an acedemic paper...
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7715
    • View Profile
Sexual Reproduction Focus Group
« Reply #10 on: August 06, 2006, 04:28:59 PM »
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.

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....

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...

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.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2554
    • View Profile
    • http://kuro-tejina.com
Sexual Reproduction Focus Group
« Reply #11 on: August 07, 2006, 10:09:24 AM »
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?
There are 10 kinds of people in the world

Those who understand binary.

and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7715
    • View Profile
Sexual Reproduction Focus Group
« Reply #12 on: August 07, 2006, 04:17:26 PM »
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'
« Last Edit: August 07, 2006, 04:17:36 PM by Numsgil »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2554
    • View Profile
    • http://kuro-tejina.com
Sexual Reproduction Focus Group
« Reply #13 on: August 08, 2006, 09:12:22 AM »
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.
« Last Edit: August 08, 2006, 09:13:24 AM by PurpleYouko »
There are 10 kinds of people in the world

Those who understand binary.

and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7715
    • View Profile
Sexual Reproduction Focus Group
« Reply #14 on: August 08, 2006, 03:58:09 PM »
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.