Code center > Suggestions

Sexual Reproduction Focus Group

<< < (6/11) > >>

Carlo:

--- Quote from: Elite ---Actually, after some experimentation in 2.37.6 with a .sexrepro-using Animal Minimalis, it doesn't seem that bad at first glance. Slightly buggy in some areas (ie. no reproduction collision detection) but not that bad
--- End quote ---

What do you mean precisely with "reproduction collision"?


--- Quote ---My first worry was that the sexreproing bot would combine with a veg or an entirely different bot, but the code seems to prohibit sexual reproduction if the genomes are two dissimilar
--- End quote ---

Hm, no. The code shoudn't prohibit nothing but, as one would expect, if the dnas are too different the reproduction fails - the child isn't able to do anything and dies rapidly.


--- Quote ---My only concern is that, as PY said, there's no way to choose your 'mate' - you just get your DNA yanked out of you if you're nearest
--- End quote ---

Well, ideally the bots should activate their .sexrepro locations just when they've found a good partner and are in contact with it. Activating it and then keeping roaming waiting for a random collision is just the simplest way to reproduce - not the best one. Also, if I'm not wrong, the procedure requires both the bots have their .sexrepro activated, so the collision should be with one who is also willing to reproduce.


--- Quote ---How about having .sexrepro fire a tie forward, which, on hiting another bot, takes that bot's DNA and mixes it with the original bot in a manner similar to the original .sexrepro
--- End quote ---

(Original sexrepro? What sexrepro are we talking about?) . Anyway, the tie isn't a bad idea. By the way, maybe glue would be even better. Has anybody thought of a glue which makes robots stick together without being actually tied, that is, something that just keeps two robots attached until a slight force divides them?


--- Quote ---That way you can choose your mate by hunting round, say for a bot with more than a certain energy or kills (ie. allows for sexual selection), and then aquiring it's DNA through a sex-tie
--- End quote ---

I'd like better a simmetric process, in which both bots are willing to mate and the offspring just belongs in the same way to both partners.

Griz:
why does a bot have to choose?
isn't the fact they, and their 'mate' ...
have survived in a given enviornment enough?
shoudn't the ablity to survive be the determining factor?
any 'choice' should be based upon that, eh?
can we please keep this sort of anthropomorphism ...
the attribution of human/animal motivation, characteristics,
and behavior to the bots to a minimum?

they don't have to look like or behave or conform
to our expectations and ideas of what it should be.
keep it simple:
what works continues ...
what doesn't ends.
that's evolution.

unless one prefers intelligent design.
as far as I know ...
we ain't in kansas anymore toto.

Carlo:

--- Quote from: Griz ---why does a bot have to choose?
--- End quote ---
Because one of the most important mechanisms of natural selection is called sexual selection. Animals tend to evolve features which can increase the probability of being chosen by a partner for reproduction, even if those features are useless or noxious in everyday's life. The usual example of the results of sexual selection is the peacock's tail, but the examples are countless. It is common opinion that sexual selection may have played a major role in the evolution of the human brain itself, favouring language and other kinds of abilities (musical, for example) much beyond the real needs of the species.

A great artificial life simulator designed to play with sexual selection is Ventrella's Darwin Pond.
http://www.ventrella.com/Darwin/darwin.html

(though I'm sure that everybody here knows it already    )

Elite:

--- Quote from: Carlo ---What do you mean precisely with "reproduction collision"?
--- End quote ---
It's a very minor issue. The bots reproduce whether there's space in front of them or not, while 'normally' bots can only reproduce if there is sufficient space for the offspring.


--- Quote ---Hm, no. The code shoudn't prohibit nothing but, as one would expect, if the dnas are too different the reproduction fails - the child isn't able to do anything and dies rapidly.

Well, ideally the bots should activate their .sexrepro locations just when they've found a good partner and are in contact with it. Activating it and then keeping roaming waiting for a random collision is just the simplest way to reproduce - not the best one. Also, if I'm not wrong, the procedure requires both the bots have their .sexrepro activated, so the collision should be with one who is also willing to reproduce.
--- End quote ---
Ah, that must be the reason. I was wondering why the bots weren't just grabbing veg and nearby bot DNA, but both bots must be sexreproing at the same time, that explains it


--- Quote ---(Original sexrepro? What sexrepro are we talking about?)
--- End quote ---
The one we have now, that you coded

Elite:
Here's a thread from the old DB forum about sexual reproduction
There's some very interesting ideas there to think over

I've had a think, and IMO we need a simple system that doesn't try to model real life too closely, that does the absulute minimum to combine the DNA of two bots, and leave the complicated stuff to evolution and bot-programmers. As Carlo said, sexual reproduction should be a starting point, rather than a result.

You could make a reproduction system that modeled nature exactly, but the only thing you would be able to do with such a system is reproduce in a certain, predetermined way, which may stifle creativity. A simple back-to-basics system that does the bare minimum will undoubtedly have great potential for interesting things which we may not have thought of, for example, as mentioned in the above thread, using .sexrepro as a weapon. Perhaps a bot could use such a system to incorporate the DNA of other species into into it's own, creating deadly hybrids that 'learn' new tricks from other bots.

Responses?

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version