Darwinbots Forum

Code center => Suggestions => Specialization, Metabolism, Digestions and Env Grid => Topic started by: Zelos on February 25, 2005, 12:21:51 PM

Title: Metabolism
Post by: Zelos on February 25, 2005, 12:21:51 PM
hi, we have been talking about metabolism in different ways. for now I know we have come whit is:
H2S + O2 + CO2 -> nrg + S + H20 (unbalanced)
S + H20 + O2 -> SO4 + nrg (unbalanced)
6(H2O) + 6(CO2) + nrg (light) -> C6H12O6 (glucose) + 6(O2) (balanced)
C6H12O6 + 6(O2) -> nrg + 6(H2O) + 6(CO2)

all this reaction dont happen by them self, most of them need nrg to start react. and some even require more nrg than they give, so the cells use enzymes to lower the start nrg. wouldnt our bots need it to if they use chemical reactions as nrg source? (I think so)
and wouldnt be possible for a bot to use a acid and a base to get nrg? I know from school when we mixed to and we got heat nrg from it. what do you think?
we can also use this threat for other possible chemical nrg sources for our bots.
 :D zelos :D
Title: Metabolism
Post by: Numsgil on February 25, 2005, 12:35:37 PM
Add this one to the list:

FeS+H2S ->FeS2+H2+free energy

There are also some nitrogen versions:
NH3 + O2 -> No2 + nrg
NO2 + O2 -> 2NO3 + nrg

(For this one, the NO3 is used to make proteins).

Proteins -> CO2 + NH3

I don't know about the acid/base thing.  If there are life forms that have evolved a way to do this they aren't prevelant.  Though there is something called the citric acid (Krebs) cycle.  Not sure if that's related or not.
Title: Metabolism
Post by: Zelos on February 25, 2005, 12:43:53 PM
NH3 + HNO3 -> NH4(+) + NO3(-) + nrg
if I remember this is right, but im not sure, am I?
btw, when we have chemicals in the simulations, how is it planned to make the right reactions? write the chemical reaction in the DNA or something?
Title: Metabolism
Post by: Numsgil on February 25, 2005, 12:51:59 PM
What I was thinking was something like this:

X is in your stomach.  X has a predefined relationship of X + (O2 and/or CO2) -> Y + nrg + (gases).

We search the enzymes in the bots stomach for one that will act on X.  If there is one, it  performs the reaction with an efficiency based on its properties.  These properties can mutate over time, allowing natural selection to go to work.

So we have to define the reactions, but the enzymes that do them are more open ended and can naturally evolve over time.
Title: Metabolism
Post by: SyndLig on February 26, 2005, 01:04:58 AM
The only thing I'm worried with there is "what happens to older bots"?

If we have to define all the enzymes in the DNA, then everything pre-enzyme will be rendered obsolete until changed.

Unless there's some basic enzymes given at the beginning if no enzyme genes are found.
Title: Metabolism
Post by: Numsgil on February 26, 2005, 03:03:59 AM
Hopfeully we can write default enzymes to give to all the bots if they don't have theirs.

No kids are staying home on this field trip!  Everyone on the bus!
Title: Metabolism
Post by: Zelos on February 26, 2005, 03:47:47 AM
hurray, finaly some who let every1 on baord :bigginangel:  ;)  ;)  but those start enzymes cant be to good, they should only berly keep them alive. so they are forced to evolve new ones :devil:
 :evil: zelos :evil:
Title: Metabolism
Post by: SyndLig on February 26, 2005, 03:49:49 AM
Tell me... how would a bot programmed without any inkling of enzymes evolve to grow such things?  Even DB has its mutational limitations.

 :blueblob:
Title: Metabolism
Post by: Zelos on February 26, 2005, 03:51:59 AM
do you think life had enzymes from the begining? it didnt, it came over time.
 :evil: Zelos :evil:
Title: Metabolism
Post by: Numsgil on February 26, 2005, 04:06:49 AM
The enzymes are built from an array of bits, basically a number.  Mutations would change the bit patterns.  This is very close to how real enzymes are built.

The enzyme's array of bits (a number to those of you who don't speak computer-ese, probably 32 bit (long)) is fed into a random number generator, so 89051 and 89050 could be entirely different enzymes.

Yeah, I was thinking that we could share enzymes we've mutated with each other.  It'd be as easy as sharing a number.

Some enzymes might work on more than one food group, too.
Title: Metabolism
Post by: Old Henk on February 26, 2005, 12:30:45 PM
Is this going to make bot-design more dificult ie do we botmakers need to know the exact enzyme numbers or anything? How will this work?
Title: Metabolism
Post by: PurpleYouko on February 26, 2005, 12:47:02 PM
Quote
The only thing I'm worried with there is "what happens to older bots"?

If we have to define all the enzymes in the DNA, then everything pre-enzyme will be rendered obsolete until changed.

Unless there's some basic enzymes given at the beginning if no enzyme genes are found.
As I mentioned in another thread (can't remember where or I would link it) , any robots that do not have specifically designed enzyme systems can be arbitrarily catagorized as Carnivores and assigned a set of enzymes to suit.
In other word, all their enzymes will be geared toward eating other robots as a default (animal).
If you click the autotroph button in the setup window then this robot will be automatically optimized for using sunlight and waste (plant)

This way any existing robot can still play nice in the new system and can mutate different combinations of enzymes in successive generation.

If you save one of these robots by right click/save option then it will be saved with the enzyme settings attached to the DNA file. That will be fairly easy to do.

That's to say

"OHANA. Nobody gets left behind"
Stitch.

 :D  PY  :D
Title: Metabolism
Post by: Botsareus on February 26, 2005, 02:20:19 PM
nice thinking PY  :Robot1:
Title: Metabolism
Post by: Zelos on February 26, 2005, 03:06:52 PM
wasnt that idea kinda obvius? (I think so) when its about to know the right enzymes, a clever system could make it possible to figure out what enzyme do what. if the programares dont want us makers to know what enzyme do waht we have to wait unitel we see them evolve. then we can put them on this forum so other can see it right?
 :evil: zelos :evil:

stopp jumping
  |
  |
 :shoot:         :boing:
 ;)
Title: Metabolism
Post by: Numsgil on February 26, 2005, 10:53:11 PM
PY, I can't believe you watch everything I watch, and play everything I play!  You're like a 20 year older version of myself :blink:

Backward compatible is the key.  No matter what we add old bots should be able to compete, and on only slightly slanted playing field.

Programmers will have no idea what number applies to what enzyme until they try it out.  With even 32 bits per enzyme that means there's Billion different enzymes to experiment with.

Which means the best way to find better enzymes is to run some mutation sims.

Quick question, if we change a single bit in the enzyme pattern, should it make it into a completely new enzyme or  basically the same one?  The latter means alot more work, so answer carefully.   :ph43r:
Title: Metabolism
Post by: Zelos on February 27, 2005, 02:08:54 AM
well, in reality 2 enzymes which have just 1 aminoacid different is pretty much related and do simulare things. so I would vote for that they should be simulare, but as a first version it would be more vise to make them different becouse thats easier to make. later on we can make 2 enzymes whit 1 different number almost the same. but why so many as 32 bit? 12 would be more than enough. what more than helping whit the food would the enzymes do?
 :evil: zelos :evil:
Title: Metabolism
Post by: Numsgil on February 27, 2005, 08:22:10 AM
Real enzymes have so many forms it isn't funny.  I'm just trying to model real life.  And 32 bits isn't really that many, that's the length of a standard long.
Title: Metabolism
Post by: Zelos on February 27, 2005, 11:05:41 AM
but there is a major different from this and real life, we dont have 4,4 billion years on us to wait for a good enzyme ;)  :laugh:
Title: Metabolism
Post by: Numsgil on February 27, 2005, 11:04:04 PM
Okay, here's what I'm thinking:

Enzymes are defined by 32 bits, like this:

52 E8 A0 96

Then the program takes this, turns it into a string of bits, and shuffles those bits in a predefined way.

So if enzymes were 4 bits instead of 32, it might be rearranged like this:

0110

0 = 1st bit
1 = 2nd bit
1 = 3rd bit
0 = 4th bit

New shuffled version:

1010

1st bit in new number = 3rd bit in old number
2nd bit in new number = 1st bit in old number
3rd bit in new number = 2nd bit in old number
4th bit in new number = 4th bit in old number.

Activation sites (the actual part that does the work) is a defined patterns of bits, say 7-9 bits long.  We search the new bit array for these activation sites.  Then we take 3 bits each from the ends of the activation site.

Like this:

01100100110110010101001100101110 ->new enzyme pattern

11001010 is an activation pattern for digesting elemental sulfur.

We find this at position 12 in the enzyme pattern.  We take bits 9,10,11,20,21,and 22.

We combine these 6 bits, using bit shuffling again, into a number.  (might just feed the 6 bits into a random number generator).  This number is in the range of 0 - 64.  This represents its efficiency, with 0 being not working and 64 being absolutely no energy loss in digestion.

This means one enzyme may work at more than one food type, but in order to find an enzyme that really works well you might break its multicapability.  Also means that its difficult to figure out what the original 8 hex codes do to an enzymes workings, so you'll have to run those mutation sims!  Also means that a single mutation of a bit probably won't break the whole enzyme.

A quick side possibility, I could make the enzyme patterns circular.  This would make it more possible to find activation sites in the code.  Real enzymes can be arbitrarily long, and I can't model that.  The circular enzyme patterns are a compromise.

Wish schvarz was here.  He's going to come back and be like "no no no no no no!  You've got it all wrong."  Too bad, that's what you get for going on vacation   :angry:
Title: Metabolism
Post by: PurpleYouko on February 28, 2005, 08:56:48 AM
Quote
PY, I can't believe you watch everything I watch, and play everything I play! You're like a 20 year older version of myself


Thanks Num

Make me feel old why don't you?

Truth is I have a daughter who is only a few years behind you in school. She is just finishing up year 10 now and is already recieving regular mail from most of the universities and college across the country.

 :D  PY  :D

PS Don't bother growing up. It isn't all it's cracked up to be. I didn't bother and it worked out OK for me  :sly: