Code center > Suggestions
.sexrepro
AZPaul:
Howdy there.
Some suggestions for .sexrepro
1. Should be .eye5 function only.
When the DNA activates .sexrepro the bot in the .eye5 field should be the one used for the gene mix. If .eye5=0 then nothing should happen. This would be a big bad bug on the bot maker's part but you will need to guard against a programming crash should (when) this happen(s).
Maybe a condition (would need to be documented well) is that .sexrepro will only work if the .eye5 value is >= 80 (or 40 or 95 or whatever) forcing the bot maker to make the bot cozy up to its intended mate. This then gives the intended mate some opportunity (maybe) to "refuse" mating (run away) depending upon DNA determined sexual selection criteria. Yah, I know, the intended victim ... er, mate may not even see her coming after him. That would be a bot maker concern not a programming concern.
2. Species selection.
Except for autotroph/non-autotroph taboos, all partner selection should be left to the bot maker manipulating DNA to achieve .eye5 approachs. This will allow mating simulations between sub-species (and I suppose between disparate species if that's what the bot maker wants. Come to think of it maybe some wierd bot maker wants to do an A/Non-A mating.)
I use .ou1/.out2 and a free mem cell as the "species ID." A condition of mate selection (for my bots, may be different for other bot makers) is that one of the three match my own ID. This will allow simulating geographic separation of groups from the same species coming together as sub-species cousins after x generations. Programming code should not interfere with this selection in any way.
This also allows my use of sexual selection criteria (free mem cells values) to simulate longer/shorter tails, brighter/duller colors, bigger/smaller boobs, or whatever, within the conditionals part of the .sexrepro gene.
Again, all species selection should be DNA driven without programming restriction.
3. Male/Female designation.
Leave these up to the bot maker as well. Again, I use a free memory cell as a sex indicator and populate that indicator when Junior/Junioress is hatched. This acts as a switch to turn on/off different genes. Even though designated males have the .sexrepro gene only females can activate it. Even though the female has the "velocity penalty for tail length" gene, only in the male will it be active.
4. Gene Mixing
Strictly under program control. We now have the two parents (genomes). All genes in the newly created genome are randomly selected from the parents (with attendant mutations as determined by the mutations sections of the program.)
Designate parents as 1 and 2.
For gene #1 generate n = random 1 or 2.
Take gene #1 from parent(n).
Apply mutation rates from parent(n)
Place in new genome.
Repeat for all genes. If (as may occur) some parent has an extra gene the random 1 or 2 will determine if the extra gene (mutated) is added to the new genome or not.
5. Energy transfer to new born.
Keep the "energy %" variable as part of the .sexrepro operation under DNA control. This energy % applies only to the bot activating the .sexrepro command. It should not apply to the selected .eye5 mate.
6. Reduce #cycles of the birth tie.
7. Keep newborn babies from exploding. This would be a good one to fix regardless of all the above.
Appreciate y'alls time and effort.
-P
Botsareus:
--- Quote ---When the DNA activates .sexrepro the bot in the .eye5 field should be the one used for the gene mix. If .eye5=0 then nothing should happen. This would be a big bad bug on the bot maker's part but you will need to guard against a programming crash should (when) this happen(s).
--- End quote ---
I dont see mutch difference between the way it works now ,and the eye5 idea.
Az , please explain why you think this will be more usefull....
Az the main point of .sexrepro working on close range is thats the only way it is fear to the robots who don't want there genomes stolen.
Ok , lets give a real life example: A snake sees a humen walking along across the street, That does not mean that the snake now has the power to become a SnakeMan :boing: , right?
PurpleYouko:
comments on your comments.
1) Big problem with this. If the eye5 value is greater than about 50 there isn't enough physical room to reproduce at all so nothing happens. You have to be facing open space in order to make a baby.
2) I think speciation should be possible. It should be a prerequisite that the DNA of the two bots share at least some similarity before sexrepro is possible. A rat can't mate with a camel.
I haven't given enough thought to this issue to come up with any suggestions on exactly how this can be done so here is an idea off the top of my head.
One possibility is that the DNA of the two is compared and a compatibility percentage obtained. Something like the standard deviation based on the average of the number of referenced sysvars and their value and maybe some other factors. A number from 0 to 100% will be returned.
Using a slider to adjust for compatability thresholds you can set about any compatability you like. Anything from almost exact match of the DNA to an advanced fighter bot mating with a veggie.
3) Completely agree. Make your sexes any way you like within your robot's DNA.
4) Gene mixing is done pretty much this way now only genes that go past the end of one parent's genome are all added (I think). I like your way better.
5) Energy transfer to young works this way now. No plans to change it.
6) Birth tie cycles can easily be cut short from the DNA. I figured out how to do it for Hunter 2.13 a long time back. Have a look at this thread for the way to do it.
7) Newborns typically only explode when their DNA is messed up. It tends to happen when you have a missing "cond", "start" or "stop" in the genome. Pretty much every case of exploding babies that I have ever seen has turned out to be due to some typo in the genome.
:D PY :D
shvarz:
Just copy-paste from some web-site:
The discovery of CONJUGATION, the ability of bacterial cells to transfer DNA between cells that are in physical contact, as a form of DNA exchange between bacteria in the 1950s stunned scientists and lay people alike. Its obvious anthropomorphic similarly to mammalian gene exchange amused some and shocked others. Since its discovery, conjugational exchange of DNA has been shown to be more common and promiscuous than first thought possible. Initially, conjugation was thought to occur only between the SAME or CLOSELY RELATED SPECIES, but data has accumulated which shows that conjugation between bacteria crosses prokaryotic species lines and even occurs between bacteria and some eukaryotic cells. How pervasive this latter situation is remains to be determined.
PurpleYouko:
Well that's all just fine and dandy and all that but what are your views on the subject of DarwinBots speciation.
I don't really run evo sims so I couldn't really give a crap which way we go. I just figured it might be nice for speciation to be able to occur.
:laugh: PY :laugh:
Navigation
[0] Message Index
[#] Next page
Go to full version