Author Topic: .sexrepro  (Read 9789 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.sexrepro
« Reply #15 on: March 22, 2005, 02:43:50 PM »
Quote
Num, Your ideas are nice and all; but we are simpley discussing .sexrepro here , not some new form of alien species fusion.
(I was thinking start a new thread for that, just my opinion)
What do you think sex reproduction is?  Do you know where it came from?

In primitive plants there's a haploid/diploid life cycle.  Here's a wiki on it.  Basically originally primitive organisms existed 50% of the time as haploid, 50% as diploid.  Over time the haploid generation has shortened to little more than a brief period to transmit DNA.

Now, how does a cell reproduce sexually?  It produces a haploid version of itself that combines with a haploid version of another cell.  Sperm and egg.  The egg tends to be so much bigger than the sperm, so the sperm only contributes DNA and very little in the way of nutrition.

But it doesn't have to be that way.  You can have two equally sized haploid cells fues to form a diploid cell.  It should be something of a process, and entirely voluntary on the part of the two parent cells, but if we allow this kind of thing sexual reproduction arises as a consequence.

That is, we don't write it the rules for how it works.  The rules for how it works arises naturally through emergence.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
.sexrepro
« Reply #16 on: March 22, 2005, 02:46:25 PM »
Duh, ok If you mean multibots , thats a long shot , but atleast now I know were you are going with this.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.sexrepro
« Reply #17 on: March 22, 2005, 02:58:27 PM »
You find a unicellular organism that reproduces sexually, and I'll show you exactly what I outlined above.  It's not multibots only.

Offline AZPaul

  • Bot Builder
  • **
  • Posts: 76
    • View Profile
.sexrepro
« Reply #18 on: March 22, 2005, 04:01:25 PM »
Good discussion. Let me stir this pot a bit more.

Unless the object here is for DB to be a "game" platform then, IMO, every flexibility possible should be given to bot makers (DNA) to acheive whatever evolution simulation we so desire.

What I am looking for is the flexibility, through DNA, to model sexual selection and watch those criteria change over generations.

For instance:  The female "sees" a likely candidate. Using her DNA determined sexual selection criteria (more on this in a second) she determines he is accetable.  For Evo sims, selection of the mate by the bot (not the program) is a must.  Keep your hands off my sims decisions.

I can model the selection criteria very easily in DB at present. Free memory locations are available to the bot maker to define as we see fit. I can have (for instance) 3 sexual traits for the female to test. Memloc/memval allow me to "look" at your sex (memloc 24 = 1, are you male), your tail length (is it within 10% of my selection criteria, memloc 25, value 83 +- 10%) and the brightness of the orange on your crest (is it greater then value 8, memloc 26).

It doesn't matter that in DB we are dealing with single celled bots. I can consider them "birds" or "tyrannosaurs" or "wood ticks" in my imagination, model their behavior (DNA) and simulate NeoDarwinian effects. This is what DB could do for Evo sims.  This is the unique beauty of DB in its present form. With some simple improvements and changes DB fits the evo simulator's dream platform.

Control over various mutation types and rates simulate the time span of the simulation. "Variable" changes happen generation to generation, gene insetion happens once every 20 million (+- 20 million or so) years, and etc. By selecting the rates I can model in my simulation just about any time span I so desire and watch the effect on whatever facet of existance (sexual selection, environmental change, competition, isolation, some combination, etc, etc, etc) I care to study, the programmer's pre-conceived ideas of what should or should not be allowed to happen not withstanding.

In order to accomplish this .sexrepro must (not only work but) be flexible.

From PY:
Quote
And the business of the bot choosing a partner? As I said before, a rat can't choose to mate with a camel (or even a mouse come to that). They just aren't compatible. Speciation needs to be possible and the only way I can see to do it is to set compatibility from within the program, not the DNA. On sliders controllable by the user but definitely not in the DNA

First, if the bot maker sets up his selection genes correctly he won't allow his "rat" species to select a "camel" to mate with. But even if he so chose to set up his simulation in this way, what business is it of the program to interfere? Why should you give a *&^$?

If species control needs to be a program function for the "game" side of DB then I request an option to turn off this control. It is, infact, the DNA that controls all sexual selection in nature. In evo sims, speciation will occur with time (I hope) and "time" is simulated by mutation rate/type.

The DB program should not interfere. I will determine and control the definition and interactions of "species" within my sim. You can make the programming effort a lot easier IMO by staying out of the way.

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

So put the birth tie somewhere else. Why does it have to be .eye5?  

Quote
I would prefer some kind of physical contact to make sexrepro work. You need contact to exchange genes.

Quite true, but for most evo sims "close proximity" (*.eye5 80 >) would simulate the required "contact." And that is up to me to determine and simulate, not you.

This is not really the important point. The important issues are selection, gene mix, and mutation rate/type. You can make your programming efforts easier by being less restrictive.

From Numsgil:

Quote
1. The father shoots the mother with a 'sperm shot', which is simply a piece of its DNA that can be accepted or rejected by the mother. (say, by having 1 .receptive store, or something like that) That solves alot of problems.

I could accept this, it is more rigidly realistic though I think it adds unnecessary complications to the sim and thus to the programming effort.  

Again, for evo sim purposes close proximity would be good enough.  The program shouldn't care how "close" close is. That should be left to the bot maker.

Whether a bot maker's chosen techniques (selction criteria, sex #/types, intra/inter species behavior, definition of what is and is not a "species" or "sub-species", color of the bot, whether it has 16 legs or spits fire) are considered by some/any/all people as "realistic" or not should not be a concern of the program. You are providing a platform for me to build my sims in my own image and your program shouldn't give a rat's patoot what I make it do.

How's them apples?

Finally,  from shvarz:

 
Quote
Bots, it is a funny example, but the way system works now, it is even funnier: You can be absolutely alone, in the middle of Sonora desert. You decide to have a baby and "there you go" - it comes right out. Who's the father? Some guy named Paul, who happened to be the closest person to you. Never mind that he is 100 miles away in Tuscon

I am not!  I wasn't anywhere near Tucson when she got knocked!

Thanks, again, folks.

-P
« Last Edit: March 22, 2005, 04:10:34 PM by AZPaul »

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
.sexrepro
« Reply #19 on: March 22, 2005, 04:41:23 PM »
Using Ties for sexrepro would probably help speciation take place just because of the feeding/delgene ability via ties. If a bot is not of the right species the tie could simply be turned against the originator. This would require bots to be more selective about tieing to their own species.

Endy B)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
.sexrepro
« Reply #20 on: March 22, 2005, 05:00:05 PM »
Quote
First, if the bot maker sets up his selection genes correctly he won't allow his "rat" species to select a "camel" to mate with. But even if he so chose to set up his simulation in this way, what business is it of the program to interfere? Why should you give a *&^$?

If species control needs to be a program function for the "game" side of DB then I request an option to turn off this control. It is, infact, the DNA that controls all sexual selection in nature. In evo sims, speciation will occur with time (I hope) and "time" is simulated by mutation rate/type.

The DB program should not interfere. I will determine and control the definition and interactions of "species" within my sim. You can make the programming effort a lot easier IMO by staying out of the way.

I agree with AZPaul on this 100% , I dont think its up to the program to deside how related the species should be in order for .sexrepro to work.

Quote
Again, for evo sim purposes close proximity would be good enough. The program shouldn't care how "close" close is. That should be left to the bot maker.
I also agree that close procimity is a must. My formula:  (Proximity allowed for repro) must be less then (avrage Diameter of the two robors.)
Paul, you have to understand that we must keep things like this standardized in order to play a fair game in stuff like the legue tabels. But if we are going to add Nums, idea of fully custom Environments , then if we add another slider for .sexrepro distance , I don’t care.

Ok here is a solution:

We have option boxes:

 [*] Use proximity formula for sexrepro.
 [_] Set custom range for sexrepro. [............|......] slider of custom range

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
.sexrepro
« Reply #21 on: March 22, 2005, 05:34:20 PM »
Quote
If species control needs to be a program function for the "game" side of DB then I request an option to turn off this control. It is, infact, the DNA that controls all sexual selection in nature. In evo sims, speciation will occur with time (I hope) and "time" is simulated by mutation rate/type.

No problem there. Remember the slider I suggested earlier that can determine compatability criteria?
I wouldn'd dream of taking control away from the DNA in a restrictive kind of way. What I propose is the ability to restrict sexrepro compatability for a robot.

Set the slider to zero and you have no restrictions at all. Set it to 100 and you can only mate with another robot having a 100% DNA match.
For the most part this extreme would be completely useless unless two robots shared the same mutation.

Likewise we can have a distance limit imposed by a control in the options window, a bit like Bots proposed. Set it long or short as you see fit. Even allow it to evolve if you like. Do the same for selection criteria too.
All this gives is more control and more potential variability for your sims.

Quote
So put the birth tie somewhere else. Why does it have to be .eye5?

Changing this would completely screw up almost every robot ever made (at least in the last year or two anyway). Almost all combat bots rely on the fact that mother and baby face each other at birth.
Without this, you can't fire a tie at age zero to sever the birth tie.
Without this you can't create a Multi-bot.
The exact angle of birth has to be the way it is or a whole load of programming options become useless.

The only option here would be to add a new control a little like .backshot to control birth angle. I am not opposed to that if you like. Say something like .reproangle in a gene like..

Code: [Select]
cond
*.nrg 8000 >
*.eye5 60 >
start
628 .reproangle store
50.sexrepro store
stop

This gene would cause the baby to appear at the back of the mother instead of in front. The default angle will be zero (straight in front) but you could set it at whatever you like.

Quote
Quite true, but for most evo sims "close proximity" (*.eye5 80 >) would simulate the required "contact." And that is up to me to determine and simulate, not you.

FYI When eye5 is equal to exactly 77 and the robots are normal size, they are touching. If eye5 is 80 then your robots are overlapping. That sure meats my definition of physical contact!  :D

 :D  PY  :D

PS it is refreshing to hear your personal views on stuff here. You look at things in a slightly different way than us old-school guys I think.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Old Henk

  • Bot Destroyer
  • ***
  • Posts: 229
    • View Profile
.sexrepro
« Reply #22 on: March 22, 2005, 05:38:35 PM »
I agree with PY and Endy that ties would be a good option for .sexrepro.
It'd be quite simple:
If a bot activates .sexrepro, it automatically reproduces with the bot tied to the tie specified in .tienum

cond
*.numties 1 =
*.tiepres 33 = 'pre-determined number (by botmaker)
start
33 .tienum store
50 .sexrepro store
stop


BTW: I made a Sexrepro bot a while ago. If anyone's intrested: It is located here
« Last Edit: March 22, 2005, 05:39:47 PM by Henk »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
.sexrepro
« Reply #23 on: March 22, 2005, 05:43:01 PM »
PY, its all good what you say but:

My formula: (Proximity allowed for repro) must be less then (avrage Diameter of the two robors.) After that the closest robot determines it.
Should be also an option. I.e. I don't want to gess what the avrage size of the robots going to be, this formula does it for me.

If you still want to leave me gessing at least make the slider in pixels so I dont have to worry about conversion.

P.S.
Whats the point of letting this slider mutate, Obviously the robots will choose the longest possible range. It's just a waste of time in my opinion.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.sexrepro
« Reply #24 on: March 22, 2005, 05:43:14 PM »
I agree with your philosophy 100% Paul.  The gaming platform is a subset of the program, and always will be.

The sperm shot, or sharing of genetic material through ties, is macroscopic sexual reproduction.  It would be used for simulations of large animals.

The fusion of two cells, including their genetic material, is microscopic, and would be used for modeling unicellular or small colony animals.

Both would need to be working with the idea of chromosomes.  My idea for chromosomes, Paul, is that you have multiple strands of DNA that all execute at the same time.

Here's what I said on the subject.

The most simple organism that could sexaully reproduce would be an organism with two identical copies of the same chromosome and that's it.

Sexual reproduction only really makes sense from the framework of diploid organisms.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
.sexrepro
« Reply #25 on: March 22, 2005, 05:50:55 PM »
Num, thats nice, but I want reguler plain old simple .sexrepro to work just how it works now , except for a few Restrictions witch I already explained in my formula. And the fact the it should allow for the most efficient random blending of the two genomes.
« Last Edit: March 22, 2005, 05:52:38 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.sexrepro
« Reply #26 on: March 22, 2005, 05:51:58 PM »
Quote
Whats the point of letting this slider mutate, Obviously the robots will choose the longest possible range. It's just a waste of time in my opinion.
Obviously not.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.sexrepro
« Reply #27 on: March 22, 2005, 05:52:30 PM »
The current sexrepro is broken.  It doesn't make sense.

Offline AZPaul

  • Bot Builder
  • **
  • Posts: 76
    • View Profile
.sexrepro
« Reply #28 on: March 23, 2005, 04:56:00 AM »
I completely agree with everything everybody said about everything.

On species control, from PY:

Quote
No problem there. Remember the slider I suggested earlier that can determine compatability criteria?  I wouldn'd dream of taking control away from the DNA in a restrictive kind of way. What I propose is the ability to restrict sexrepro compatability for a robot.

Set the slider to zero and you have no restrictions at all. Set it to 100 and you can only mate with another robot having a 100% DNA match.
For the most part this extreme would be completely useless unless two robots shared the same mutation.

Sold!

On .sexrepro "close proximity", from PY:

Quote
Likewise we can have a distance limit imposed by a control in the options window, a bit like Bots proposed. Set it long or short as you see fit. Even allow it to evolve if you like. Do the same for selection criteria too.
All this gives is more control and more potential variability for your sims.

Sold!

On changing position of the birth tie, from PY:

Quote
The only option here would be to add a new control a little like .backshot to control birth angle. I am not opposed to that if you like. Say something like .reproangle in a gene like..

CODE  

cond
*.nrg 8000 >
*.eye5 60 >
start
628 .reproangle store
50.sexrepro store
stop
 
This gene would cause the baby to appear at the back of the mother instead of in front. The default angle will be zero (straight in front) but you could set it at whatever you like.

Sold!

I'm not sure who or how makes the final decisions on program function. Everyone has somewhat different ideas on everything. I tell ya, these humans are an ornery bunch. Yet, a stake has to be set in the ground somewhere so something can actually get done. For my own selfish purposes I like the above and would like to see this .sexrepro stake driven deep and set in concrete right here right now. Others may feel more discussion is necessary.

I beseach the powers on high to conference as may be their custom and render a verdict. Is .sexrepro now fixed per the three issues above or is more discussion necessary?

Finally, some general thoughts I neglected to include in my last tome.

I understand what you are trying to do here. I can see the care and concern to get things just so. Though it has been some time since the moniker was applied, I was young myself, once. I understand the drive it takes to work such a never ending project, done pro bono. I understand that to many DB is not just a hobby but a labor of love.  I understand that "the project" is satifaction and appreciation in and of itself. Been there, done that, doing it now in different ways.

Just wanted to let y'all know your efforts are appreciated in other quarters, too.

I'll have a bunch of questions later this week. Some things unclear in their operation from the documentation. I'll get these up on the appropriate board.

As if I haven't wasted enough electrons on this already, one interesting note y'all might find surprising:

In one of S. Jay Gould's National Science essays he mentioned that, in humans, more than half the pregnancies are spontaneously aborted in utero due to genetic mutation, and the mother never even knows it has happened.

It is late. I'm tired. I had a root canal done this morning. Why am I up this late?Why am I here?

I'm not. I'm gone. Bye y'all.

-P
« Last Edit: March 23, 2005, 05:05:45 AM by AZPaul »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
.sexrepro
« Reply #29 on: March 23, 2005, 11:53:23 AM »
Quote
I'm not sure who or how makes the final decisions on program function.

Ideas are put out on the forum, but really the final implementation is decided by whoever programs it.  Which currently means either PY or me.  But I don't think we've added anything yet that wasn't more or less generally accepted.  (Well, schvarz was against some of the new DNA commands to 2.35.  But I added them anyway :P)

Quote
For my own selfish purposes I like the above and would like to see this .sexrepro stake driven deep and set in concrete right here right now.

sex repro has been on my mind for atleast a month and a half.  But other things people want have been given more enthusiasm, so I've concentrated on them.

Quote
I'll have a bunch of questions later this week. Some things unclear in their operation from the documentation. I'll get these up on the appropriate board.

The documentation, well, sucks.  I was going to figure out a help comprehensive help file after the next version is out.