Darwinbots Forum
Code center => Suggestions => Topic started by: Numsgil on February 20, 2005, 02:56:59 AM
-
The problem with any diploid DNA system in DB is that it is very difficult to decide which is dominant and which is recessive.
In real life, dominant and recessive are decided by which gene is more active. If both genes are pumps, the dominant gene is the one that pumps 30000 gallons a minute and the recessive one pumps 100 gallons a minute.
In DB, we have to fudge.
Imagine two synchronous DB DNA strands. For simplicity, we say that gene 1 of strand 1 and gene 1 of strand 2 form a recessive/dominant pair. If strand 1's gene is dominant it entirely eclipses strand 2's, and vice versa.
Pretty standard. How do we decide which is dominant and which is recessive? Each gene is pushed through a hash function. What is a hash function, you ask. (http://dictionary.reference.com/search?q=hash%20function)
A hash function assigns a number to any object based on that objects properties. The idea is that the number assigned to each object is as unique as possible.
So, each gene is now assigned a number based on their properties. Identical genes get identical numbers. The gene with the higher number in the gene pair gets executed, the other does not. In the event of a tie (hopefully a rare occurance) the gene in strand 1 is executed.
Arbitrary? Yes. But I believe it would be worth a shot. Obviously single strand DNA's should still be executed.
-
Arbitary, complicated and less intuitive than I would like. And don't we have Dominant/Recessive functionality in that any gene nearer the end of the DNA sequence overwrites the ones before?
I remember hearing about some problems along those lines, but I haven't been too active lately, so the memory is fuzzy.
-
Was talking to Zelos and he proposed this:
ploidstart
cond
start
stop
1 strength
cond
start
stop
2 strength
ploidstop
This helps keep pairs together. The gene with the higher strength is executed the other isn't.
This also allows more than diploid. We could have triploid or even more.
-
I am not so sure that diploid DNA is really going to get us anywhere in DarwinBots. It could be useful from the point of evolution but is it really worth the effort of developing it?
There are a lot more important things to do with DB at the moment.
:D PY :D
-
This is a distant feature, for maybe DB 3.2. Definately not something I'd work on for quite a while.
The advent of Diploid DNA in real life seems to have allowed the explosive growth of species. Life was pretty vanilla before eukaryotes developed, then BAM! you get multicellular life in a fraction of the time the protists swam around. Right now bots are simple bacteria in complexity.
Also, the lack of the ability for crossing over has been mentioned in reviews from outside the community.
Here's one such source (http://www.itee.uq.edu.au/~comp4001/CxSys%20software/Reviews/s342783-20030825011024/). It's a little outdated but this still applies:
Limitations/Weaknesses
...
The critters can only reproduce asexually, which does not allow crossover and some other useful genetic programming devices. Generally there is not enough user control over this aspect of the simulation.
-
Funny how all these links and reviews are all about 3 years out of date. <_<
:D PY :D
-
Yes this all are good ideas. I also like the one about one part of the dna having more chance to mutate then another one.
I also like the new "Fast Reply" option.
-
fast reply option is only available in some threads.
I figured it might help in the high traffic areas
:D PY :D
-
hte big advantage whit diploid dna is that the sexual reproduction can work like it sould, and that if 1 gene is damage by mutation or viruses it still have something to use.
:evil: zelos :evil:
-
It also allows mutations to gather in recessive genes, so they aren't expressed right away.
It also allows a great deal of diversity even within the same species.
-
yes it certainly do. it allow genes that are bad now to exist, later in a simulation they can suddenly become so much better they change to be the dominant 1. there is alot of advantages whit a X-ploid dna.