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