Author Topic: Simoltaneous DNA execution  (Read 13204 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simoltaneous DNA execution
« on: March 11, 2005, 06:40:20 AM »
A couple of ideas I've had have been short circuited because of the linear nature of DNA in DB.  Gene 1 affects the cell.  Then gene 2 affects the cell.  That's not how real DNA works.  In real DNA gene 1 and gene 2 happen at the same time.

So what if, when a gene effects the cell, it's put into a action list.  After the DNA has executed, the action list is applied to the cell.  Then each gene would seem to be executing at the same time.

If two actions contradict (-6 .shoot store and -1 .shoot store) then we can either:
1. average the values -or-
2. the more numerous command wins (2 -6's override the one -1) -or-
3. some commands take precedance over others.  (-6 takes precedence over -1.)
4. one of the actions is randomly chosen (whichever gene managed to get its signals to the appropriate mechanism first).

We could even make the action sensitive to the command.  Maybe shooting figures out the most numerous while turning averages the values.

There are some subtle implications if we do this.  Alot of things would need to be worked out.  But it would theoretically be the first step in a number of complex additons, such as diploid (or X ploid) DNA and a more complex sexual reproduction.
« Last Edit: March 11, 2005, 09:29:09 AM by Numsgil »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Simoltaneous DNA execution
« Reply #1 on: March 11, 2005, 09:11:00 AM »
I like this concept.

It is how DB was originally designed to be but it fell somewhat short of the goal.

Removal of the linearity would be a very good idea. It is going to seriously screw with most existing robots though. No more using the stack to keep values for later use in the same cycle.

Major changes.

 :unsure:  PY  :unsure:
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simoltaneous DNA execution
« Reply #2 on: March 11, 2005, 09:28:41 AM »
I think we'd have to include a 'run DNA linearly' button in the options menu so older bots could be run, but yeah, huge implications for alot of bots.

After that, though, things like diploid DNA and sexual reproduction come very easily.  Sexual reproduction just becomes finding a way to fuse two cells into one.

The major advantage of this is that the genes become a kind of object-oriented design, allowing genes to be written that don't know anything about other genes.
« Last Edit: March 11, 2005, 09:33:49 AM by Numsgil »

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
Simoltaneous DNA execution
« Reply #3 on: March 11, 2005, 09:50:57 AM »
:evil: first numsgil, -6 is lower than -1, coz -1 is closer to 0 then -6
second, this would be very good.
third, if we use diploid dna and use the system I sugjested whit gene strenghts, we could use simulare here. decied which is gonna be active by the strenght. like:
Code: [Select]
cond
start
-1 .shoot store
stop
strenght 5

cond
start
-6 .shoot store
stop
strenght 1
the first gene would be activated coz it has more strenghts in its command. and when we have diploid dna we could make it like
Code: [Select]
ploidstart
cond
start
-5 .shoot store
stop
strenght 1

cond
start
-2 .shoot store
stop
strenght 6
ploidend

ploidstart
cond
start
5 .shoot store
stop
strenght 4

cond
start
9 .shoot store
stop
strenght 2
ploidend
here would the first ploid be the commanding 1 coz the active gene there is the most powerful 1, I think it should be like that. or it could be like 1+6=7 and 2+4=6 so the first ploid wins thx to the entire strenght is bigger, if they are equal it would be random

 :evil: zelos
When I have the eclipse cannon under my control there is nothing that can stop me from ruling the world. And I wont stop there. I will never stop conquering worlds through the universe. All the worlds in the universe will belong to me. All the species in on them will be my slaves. THE ENIRE UNIVERSE WILL BELONG TO ME AND EVERYTHING IN IT :evil: AND THERE IS NOTHING ANYONE OF you CAN DO TO STOP ME. HAHAHAHAHAHAHAHA

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simoltaneous DNA execution
« Reply #4 on: March 11, 2005, 10:22:36 AM »
First off, I never said -6 was higher than -1.  I just said we could artificially give it precedence.

Second, what I'm thinking doesn't involve any kind of artificial pairing of genes, or anything along those lines.

You'd have DNA threads, each being a chromosome.  Each has a beginning and an end.  These threads then all activate simoltaneously.  If you have multiple copies of the same chromosome, then you have multiplie copies of the same chromosome.  Woop de do.

From this simple system, diploid and Xploid DNA could naturally develop.  Sexual reproduction would simply be combining the DNA of two haploid cells (which is where real sexual reproduction came from).

So, aside from non-linear DNA all we'd have to add is a way for DNA to be divided into threads, and for a way for cells to combine their DNA (maybe some kind of fusing, the opposite of reproducing).

Also, we'd have to add a time delay for DNA reproduction based on the length of the DNA.  Real organisms will reproduce through meiosis if they are stressed because it's much faster (you don't have to reproduce any chromosomes, you just split the diploid DNA and you're good to go.)

Last, we have to add a way for chromosomes to become associated with each other.  Similar to the centromeres in real chromosomes.  Real chromosomes do this with a long series of repeating patterns that somehow keep the two chromosomes together.

As I said before Zelos, genes will just learn to have the highest strength in your system.  That doesn't help us at all.
« Last Edit: March 11, 2005, 12:02:07 PM by Numsgil »

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
Simoltaneous DNA execution
« Reply #5 on: March 11, 2005, 12:28:09 PM »
ok, let us say we have 2 genes, 1 is bad (now) and 1 is good (now). the good 1 have the strenght 8 and the bad 2, if the bad sudenly is mutated to gain 9 it will cause the bot in question to die sooner then it should, coz its so bad. so the gene will keep its strenght down so its allways below the good one. but what if it all of a suddenly happen to be a good gene? then it will gain strenght while the toher, who are bad now, will get lower, both want to exist, so the bad one let the good 1 rule
« Last Edit: March 11, 2005, 12:29:08 PM by zelos »
When I have the eclipse cannon under my control there is nothing that can stop me from ruling the world. And I wont stop there. I will never stop conquering worlds through the universe. All the worlds in the universe will belong to me. All the species in on them will be my slaves. THE ENIRE UNIVERSE WILL BELONG TO ME AND EVERYTHING IN IT :evil: AND THERE IS NOTHING ANYONE OF you CAN DO TO STOP ME. HAHAHAHAHAHAHAHA

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Simoltaneous DNA execution
« Reply #6 on: March 11, 2005, 02:28:31 PM »
Ok people slow down , If we do this, How do you suppose math and loops are going to work in the new system? (I know there is no actual loops, I mean stuff like "every cycle count a++  memory(a) = 20 until a > 200")

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Simoltaneous DNA execution
« Reply #7 on: March 11, 2005, 02:30:36 PM »
I think old robots should not lose there Functionality. There is just has to be a way for the Dna to be liner and non liner at the same time. I say we eather add new nonliner methods to the dna, or change the exsisting robots to use new liner methods in the dna.

Quote
I think we'd have to include a 'run DNA linearly' button

A softwear must always be backwords compatible unless the old virsion is complete jibrish, but in this case its not , in 2.35 math is easyer to do then in what you prapose here.

Making a new "button" makes it no more backwords compatible
« Last Edit: March 11, 2005, 02:33:39 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simoltaneous DNA execution
« Reply #8 on: March 11, 2005, 02:37:05 PM »
That's the implications I'm talking about.

The stack wouldn't work between genes.  It wouldn't affect any kind of counters you have going, though.

Any linearity between genes at all would ruin the system, so it'd have to be all or nothing.

Quote
A softwear must always be backwords compatible unless the old virsion is complete jibrish, but in this case its not , in 2.35 math is easyer to do then in what you prapose here.

That's why I said:

Quote
I think we'd have to include a 'run DNA linearly' button in the options menu so older bots could be run

Am I talking in a vacuum here?
« Last Edit: March 11, 2005, 02:37:24 PM by Numsgil »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Simoltaneous DNA execution
« Reply #9 on: March 11, 2005, 02:39:23 PM »
Quote
Am I talking in a vacuum here?

I am starting to like repeating myself :P

Quote
I think we'd have to include a 'run DNA linearly' button

A softwear must always be backwords compatible unless the old virsion is complete jibrish, but in this case its not , in 2.35 math is easyer to do then in what you prapose here.

Making a new "button" makes it no more backwords compatible

P.S.

The new qustion is How will NUm piss me off tuday? Endy and MP already did.
« Last Edit: March 11, 2005, 02:41:01 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simoltaneous DNA execution
« Reply #10 on: March 11, 2005, 02:56:16 PM »
Quote
A softwear must always be backwords compatible unless the old virsion is complete jibrish, but in this case its not , in 2.35 math is easyer to do then in what you prapose here.

Making a new "button" makes it no more backwords compatible
So when you say something like this, it's a good idea to reference back to the person who said something like it already.

IE:

I agree with Numsgil, A softwear must always be backwords compatible unless the old virsion is complete jibrish, but in this case its not , in 2.35 math is easyer to do then in what you prapose here.

Making a new "button" makes it no more backwords compatible

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Simoltaneous DNA execution
« Reply #11 on: March 11, 2005, 03:09:47 PM »
Num , think about it if we put a new button for liner Dna execution. That means we are seporating the old robots from the new robots. If we have some robots on the screen with liner execution and nonliner in the same time, then there is no fear balance in the simulation. Seporating old robots from new robots does not solve the backwords compatability issue!!@@!!!!!! , you see now?

Hey, I give you credit , at least you agree that "A softwear must always be backwords compatible"

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Simoltaneous DNA execution
« Reply #12 on: March 11, 2005, 06:30:12 PM »
Quote
Seporating old robots from new robots does not solve the backwords compatability issue!

Yes, it does.  Are we talking about the same definition of backward compatible?

backward compatible - able to use old files in the new version

Quote
Hey, I give you credit , at least you agree that "A softwear must always be backwords compatible"

There are some instances where backward compatibility is destructive to the final product.  But I think that most of the time if you can do it, you should.
« Last Edit: March 11, 2005, 06:31:04 PM by Numsgil »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Simoltaneous DNA execution
« Reply #13 on: March 11, 2005, 08:46:59 PM »
backward compatible - able to use old files in the new version and/with new files. Therefore allowing for fear competition between the files.

Yea my definition is a (little bit) more complex.

P.S.

Before I Studied how they made a cadd program backwards compatible; It was fear competition between the old files and new files because the I.o. was the same for both types of files and the user.
« Last Edit: March 11, 2005, 08:47:59 PM by Botsareus »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Simoltaneous DNA execution
« Reply #14 on: March 11, 2005, 08:49:23 PM »
Quote
There are some instances where backward compatibility is destructive to the final product.

I agree 100% , but they [you]some[/you] instances. Not all instances.