Poll

Should DNA flow commands

require a 'stop' to switch between conditions and bodies
1 (12.5%)
assume a stop command upon encountering a cond or body statement
7 (87.5%)

Total Members Voted: 8

Author Topic: Eventual improvements to DNA language  (Read 13591 times)

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Eventual improvements to DNA language
« Reply #15 on: June 08, 2005, 05:47:38 PM »
I don't agree with this theory at all.  It can be argued in reverse too: If you have several genes linked together, then the whole system becomes unflexible to mutations, because any changes would affect multiple genes and lead to a less-fit bot.  Whenever multiple function in organism are regulated by the same gene, that gene becomes much more restricted in its evolution, this is a well known fact.  Some of the very important genes are essentially the same in yeast and in humans, because even small changes in them mess up everything.

I am not saying that this theory is better than your theory, I am just saying that the effect you are expecting is not obvious and you may actually get a reverse of what you are trying to achieve.  It will all depend on what genes in question actually do, what kind of conditions they are using and so on.  This is not a good enough reason to change DNA syntax, IMO.

I also don't buy this:

Quote
That's fine if you don't care how the bot evolves, but if you're trying to watch it get more complex, you'll be disapointed.

and this:

Quote
Mutations select against bad, instead of rewarding good.

I think you are simply wrong here.  Evolution is obviously capable of creating complex organisms through small steps and improvements of individual parts.  Also, removing bad and rewarding good are both important driving forces, you can't ignore either of these.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Eventual improvements to DNA language
« Reply #16 on: June 08, 2005, 06:04:57 PM »
Quote
Whenever multiple function in organism are regulated by the same gene, that gene becomes much more restricted in its evolution, this is a well known fact. Some of the very important genes are essentially the same in yeast and in humans, because even small changes in them mess up everything.

Which is why the Nobel genes don't actually effect storing of values in the bots memeory (and hence the bot's actions) directly.

Noble genes instead effect the expression of a large number of other genes, with this control being forced on the genes in question.

In real organsims there are genes which control the expression of large numbers of other genes (ie: hormones).  This control is forced on real genes in a very real sense, since the cells in question simply won't transcribe them if the hormones don't tell them to.  If these genes mutate to run all the time, they still won't be able to because often times they just won't ever get transcribed in the first place.

The only way for them to escape the control of the hormones is by their regulators malfunctioning, which is outside thier realm of control.  These regulators are sort of like Noble genes.  There are many parallels at least.

That's the idea anyway.
« Last Edit: June 08, 2005, 06:06:54 PM by Numsgil »

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Eventual improvements to DNA language
« Reply #17 on: June 08, 2005, 07:01:15 PM »
Well-well-well, now we are going into the field that I actually understand :)

Hormones act in very different ways on cells.  But they still act on a gene by gene basis.  Here is just one common scenario: Say there is a hormone-sensing receptor in a cell, when it binds the hormone, it activates and goes into the nucleus, where it binds specific sites on the DNA and activates transcription of some genes.  Each gene that is regulated by this hormone has this specific binding site.  If this site is mutated, then hormone receptor would not bind and the gene will not get activated even when hormone is there.
So, it is possible for each individual gene to escape the regulation by the hormone individually.  There is no general signal by which multiple genes are activated simultaneously.

There is an example of non-specific massive activation or inactivation of genes - that is remodeling of chromatin.  Sometimes large sections of chromosomes are simply turned OFF or ON.  But how this whole thing works, what role it plays and the reasons for that ... our knowledge is still very shaky on that.  So, I would not try to model something that we don't understand in real life :)
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Eventual improvements to DNA language
« Reply #18 on: June 08, 2005, 07:12:12 PM »
This is sort of what I'm talking about.

Also this from the same site.

Quote
Given the complexity of multicellular eukaryotes, gene regulation in these organisms needs to be very complex.

Google "hierarchy of genes", and you'll hit quite a few sites.  Real genes are hierarchial.  One gene can control the expression of many others.
« Last Edit: June 08, 2005, 07:29:20 PM by Numsgil »

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Eventual improvements to DNA language
« Reply #19 on: June 08, 2005, 07:42:14 PM »
Quote
One gene can control the expression of many others.

So can genes in DBs already.

Gene 1 can check on a condition "x.mood 1 =" and write 1 in a mem.loc. N.  All downstream genes simply have to check the value in that mem.loc. N in their conditions.

This is actually a better (more realistic) model for real gene hierarchy than the Noble genes.

I am going home know, I'll read the links later.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Eventual improvements to DNA language
« Reply #20 on: June 08, 2005, 07:55:55 PM »
Yes, you can do that.  That's just one technique though, and is highly repetitive, and, as you said, real groups of genes aren't controlled by a single hormone.

In real eukaryotic cells, regulation can occur at any of these steps:


In DB, we only have the one level.  That's find for modelling simple orgnanisms such as bacteria, but more complex multibots become very burdensome.  Attempting to specialize cells into arms, etc. becomes the hardest part, not because the action itself is hard, but because keeping all the conditions consistant is difficult.  While I could create simple DNA writing macros that do all the same thing as Noble genes, there's a reason you'd want the macros in the first place.

My philosophy is that if there's something we'd like to have in the DNA language, the bots should have access to it as well.  More parts, more complexity.  Otherwise we short change the DNA and mutations.  Right now we have a lot of advantages over mutations because we know which sysvar A to stick into which sysvar B, how often to use C, etc.  Mutations don't have that luxury.

Sleep, Noble genes, and select all came from my attempts at writing a multibot.  There's definately need, because it cuts down on repetitive actions and frees the programmer to concentrate on form instead of timing and gene order.

If you can make fire by beating two rocks together, that's great.  If I give you a box of matches you can still bang two rocks together to make fire.  But if you're smart you'll use the matches and move onto something else (like a wheel!).

That said, there are reasons you may want to run a simpler simulation.  I'll probably add something in the options panel that lets you turn on or off the functionality of some DNA commands.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Eventual improvements to DNA language
« Reply #21 on: June 08, 2005, 11:46:37 PM »
OK, I looked through the links.  Basic stuff.  BTW, the idea of "Master genes" does not seem to hold under the current data.  In majority of cases "Master genes" turned out to be wishful thinking.

I don't agree that we have only one regulation step.  You can have tons of regulation:
1. Genes can check for flags set by other genes
2. Genes can check for combinations of flags set by other genes.
3. Genes can use values supplied by other genes.

One can create a very complex regulatory system using our current DNA code.  In fact, it can be even more complex than the regulation of eukaryotic genes.  When you look at that picture you inserted, remember that all those regulation steps are essentially genes regulating genes.  It is very complex, but it is still based on simple rules.  And these rules are the same for all genes in an organism.

I understand your frustration with trying to create complex bots.  But that's the fun part - if it was easy then there would be no challenge.  I am all for adding new commands when they allow something that was not possible to do without them.  The "sleep" command seems to be a good example.  Without that command it is impossible to achieve the needed effect.  But nested conditions are possible.  So we should not take shortcuts.

I don't think bots have to have the tools for programming that we have.  They don't get confused, they don't make mistakes, they don't feel frustrated and they don't spend their valuable time creating complex DNA.  So, I think it is fare for you to create these tools as long as the final result confirms to the standard language.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Eventual improvements to DNA language
« Reply #22 on: June 14, 2005, 07:57:12 PM »
I put up a poll, vote!  I'm implementing that particular part of it now.
« Last Edit: June 14, 2005, 07:57:21 PM by Numsgil »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Eventual improvements to DNA language
« Reply #23 on: June 14, 2005, 08:33:25 PM »
I think assuming a stop whenever it encounters a cond would be great.
Seems much simpler than requiring one.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Carlo

  • Bot Destroyer
  • ***
  • Posts: 122
    • View Profile
Eventual improvements to DNA language
« Reply #24 on: June 15, 2005, 03:40:25 AM »
I just voted for eliminating the stop at the end of the gene. It is useless.  Ah, please, Nums, just eliminate the other little stupid thing of the language, that is, the "end" at the end of the dna.

Offline Sprotiel

  • Bot Destroyer
  • ***
  • Posts: 135
    • View Profile
Eventual improvements to DNA language
« Reply #25 on: June 15, 2005, 07:37:51 AM »
I'd vote for 'if it ain't broke, don't fix it' but the option is not there.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Eventual improvements to DNA language
« Reply #26 on: June 15, 2005, 07:42:14 AM »
Quote
I just voted for eliminating the stop at the end of the gene. It is useless.  Ah, please, Nums, just eliminate the other little stupid thing of the language, that is, the "end" at the end of the dna.
Hmm, I don't see why not.  Might take some doing though.

Quote
I'd vote for 'if it ain't broke, don't fix it' but the option is not there.

That's the sort of thinking that caused the dark ages.  If your VCR ain't broke, pound on it a little until it is, then go out and buy a DVD player.   :D
« Last Edit: June 15, 2005, 08:09:26 AM by Numsgil »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Eventual improvements to DNA language
« Reply #27 on: June 15, 2005, 08:30:45 AM »
I have the same problem with my 30 year old AC unit.

Can't get spares for it any more so I took out an insurance policy against it dying..... Four years ago...... $40 a month....... The bloody thing is still going strong and I could have bought a new one with the money I'm spending.

The second that I cancel the policy it will break so I have to just keep on paying.  :(
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
Eventual improvements to DNA language
« Reply #28 on: June 15, 2005, 08:40:36 AM »
Not that I would suggest any illicit activity, but I know some guys, see.  Maybe your old AC unit has an "accident" coming? :ph43r:

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Eventual improvements to DNA language
« Reply #29 on: June 15, 2005, 09:50:03 AM »
I did consider "accidentally" dropping the odd wall onto it while renovating the basement but my wife wouldn't let me  :(
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D