Author Topic: Numsgil's Super Cool Specialization System  (Read 27407 times)

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #15 on: March 07, 2005, 03:50:05 PM »
Actually I would argue that we don't have 1 either except in a very limited sense.

A robot cannot evolve to eat only veggies or to metabolise waste or any of those kind of specializations.

The universe in which they live doesn't have the physical laws to allow this.

 :D  PY  :D
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
Numsgil's Super Cool Specialization System
« Reply #16 on: March 07, 2005, 03:57:45 PM »
You would specialize in turning left, even if you haven't done it yet, in the hope that one day you will need to turn left, and you'll want to do it very well.

Like a fetus's lungs.  They haven't breathed when they come out of the womb, but the lung cells are already specialized to exchange gases between the air and the blood.

The form and shape of a bot can be said to be the sum of all the mechanics that it can do and all the mechanics it can't do.  This is what I'd like specialization to affect.  What a bot chooses to do or not do should be independant (except, of course, it can't choose to do something it can't do).

Wow, that didn't make any sense at all, did it?  Oh well.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #17 on: March 07, 2005, 04:12:56 PM »
Quote
I'd really like to seperate the DNA and the specializations as much as possible. Real life forms define everything about themselves through their DNA. In DB, only behavior is determined in the DNA.

Finaly I catched you Num  :P ,

Thats by far the stupedst thing Num sayed for the lest ±2 weeks.

Let me explain:

Quote
"In DB" , only behavior is determined in the DNA.

DB is not something god maid up right? DB is somthing we maid up (actualy Carlo maid it up and we changed it) There is no sutch a thing as "but in DB" because we can make DB do what ever we want. You sayed yourself that "anything" is possible with programing.

Now as far as I know: Everything about a creature is stored in its DNA exsept the actual movie its going to play out in real life.

I consider "specializations" as a type of behaviur too.

One day I can see DB going 3D and then having the shape of the bot define its "specializations". But for a bot to grow a shape it needs to have it in the DNA first.

One further day I can see us making a factory that builds this bots into real life.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #18 on: March 07, 2005, 04:29:55 PM »
Here's what I'm thinking:

DNA code:

cond
blah
blah
blah
end

MECHANICS:
5B 9E 64 1
etc.

ENZYMES:
97 12 5A 0
etc.

dnaend

The last 0, 1 define if a mechanic is on or off.
If an enzyme is on, it will start to produce enzymes as soon as the substances it can metabolize come into the stomach (or it's prompted to by the bot).

If a mechanic is on, then any commands that use that mechanic will work.  Else they won't.

In schvarz's system, specializations are based more on genes than what the genes do.  I'd much rather have specialization in movement than in gene 4.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #19 on: March 07, 2005, 05:41:18 PM »
This I like too.

Up to now I have been keeping out of this discussion (mostly anyway) but I can see reasons for both sides.

Here are my opinions for what they are worth.

Firstly, specialization in feeding needs to be defined at birth and only by evolutions. To coin a method used in many RPGs, you get a certain number of specialization points to spread between all the possible "enzymes"

Let's say 20 points to split between half a dozen or so different possible metabolism methods.

One robot becomes a veggie and spends 10 points on metabolizing Oxygen and the other 10 on metabolizing waste (Nitrates probably).
These enzyme settings are fixed throughout the robot's life. he doesn't necessarily have to use them but they are available at any time that he comes into contact with the necessary metabolites.

The ONLY way this species can ever become a carnivore is by evolution through successive generations. As each new generation is born the 20 specialization points are slightly mutated. Num's bit activation system will do this very well.


As to physical specialization, that is really 2 different issues.

On the one hand you have practice specialization (muscles becoming stronger with use or atrophying without use) This can be worked by either Num's method or by Shvarz's method. Either one or a combination of both work for me.
Possibly genes placed into groups so that they are all made better if only one of the set is regularly used. Maybe using .up should also increase the efficiency of .dn, .sx and .dx. By grouping types rather than individual genes or functions, the system might become viable. Each type can then be made stronger or weaker via a counter as Shvarz suggested.

On the other you have cell specialization in a Multi-Bot. A cell might become an arm with muscle and dexterity while another is the brain and has to control the Multi-Bot somehow. This is a lot trickier and will require a much better inter-cellular communication system than we have now. The whole MB needs to act as one instead of a whole bunch of self willed bits.
I don't really have an answer for this yet.

Right now I am going to shut up again because this isn't really my favorite area of improvement anyway.

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

:D PY :D

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #20 on: March 07, 2005, 06:26:23 PM »
Makes sense to me BUT!

Quote
Firstly, specialization in feeding needs to be defined at birth and only by evolutions.

... is incorrect.  Nature is full of proof.  We ourselves are proof that it is incorrect.  We, humans, ourselves are a proof that it is incorrect.  If you, PY, right now will switch your diet to pig fat and vodka, then a month or so later you will be much better than me in absorbing that.  You will become "specialized" in that food.  Your whole body will respond to this diet and adjust accordingly.  We humans are omnivores, so we carry genes for a whole lot of different kinds of food.  That is because our survival dependent on being able to eat different crap.  The downpoint for that is that our genomes are so huge and some of these genes are bound to get messed up in some individuals (I.e. the alcohol-intolerance or lactose-intolerance mutations).  Also, we spend a lot of energy to upkeep all these systems.

Other organisms do not have this ability, not because they chose to do so.  Say a bacteria has a gene to utilize glucose.  If it does not ever see glucose (because it lives near underwater volcano), then mutations in glucose-maintaining genes will not matter and eventually glucose-utilizing gene will be completely messed up.  It is not because it distributed "points" to something else.  It is a matter of evolution.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #21 on: March 07, 2005, 06:48:22 PM »
I think what PY is getting at is that if you do not have an appropriate enzyme that you can make to digest a substance, you shouldn't be able to magically come up with it.

But if you have the blueprint for it somewhere in your list of enzymes, then you should be able to digest it.

An analogy:

Imagine the stomach is a hotel.  Each room is for different substances.

First a carb comes in.

"Ah yes, Mr. Carb.  Good to see you again.  Room 315, here's your key."

A new substance comes in.  "I have reservations," it says.

"Name?" asks the receptonist.

"Fat."

"Ah Fat, yes, we've been expecting you.  Your room isn't ready yet.  Can you come back in a few hours?"

Now, imagine something new coming in.

"Name?" asks the receptionist.

"Silicate based shell." responds the substance.

"I'm sorry, Messieur.  Do you have a reservation?  I'll have to ask you to leave."

You get the idea I think.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #22 on: March 07, 2005, 07:38:33 PM »
Quote
QUOTE  
Firstly, specialization in feeding needs to be defined at birth and only by evolutions.  



... is incorrect. Nature is full of proof. We ourselves are proof that it is incorrect. We, humans, ourselves are a proof that it is incorrect. If you, PY, right now will switch your diet to pig fat and vodka, then a month or so later you will be much better than me in absorbing that. You will become "specialized" in that food. Your whole body will respond to this diet and adjust accordingly. We humans are omnivores, so we carry genes for a whole lot of different kinds of food. That is because our survival dependent on being able to eat different crap. The downpoint for that is that our genomes are so huge and some of these genes are bound to get messed up in some individuals (I.e. the alcohol-intolerance or lactose-intolerance mutations). Also, we spend a lot of energy to upkeep all these systems.

That why I used to argue with you before Shvartz, I dont see how the quote and the information in your paragraph contradict!

Quote
Other organisms do not have this ability, not because they chose to do so. Say a bacteria has a gene to utilize glucose. If it does not ever see glucose (because it lives near underwater volcano), then mutations in glucose-maintaining genes will not matter and eventually glucose-utilizing gene will be completely messed up. It is not because it distributed "points" to something else. It is a matter of evolution.

That stuff in the paragraph can work using any method, as long as evolution is enabled for that stuff. If the "Enzimes" change or the "Genes" change wont make a difference.
« Last Edit: March 07, 2005, 07:42:00 PM by Botsareus »

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #23 on: March 07, 2005, 10:42:56 PM »
Well, yeah.   My point exactly  B)
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Jasper

  • Bot Neophyte
  • *
  • Posts: 3
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #24 on: March 31, 2007, 05:48:08 PM »
In my humble outsider opinion (only been making bots for a week), I would suggest being able to specialise at any time. (at pretty high cost and some time) It it probably much simpler to write then having to specify all the specialisations when .repro storing, perhaps with starting default specialisations the same as parent. Or are you suggesting not being able to change specialisations at any time? Wouldnt multibots be unable to have specialised parts then, unless already consisting of a bunch of cells, missing the whole point of specialisations?

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #25 on: September 24, 2007, 03:22:27 PM »
Quote from: Jasper
In my humble outsider opinion (only been making bots for a week), I would suggest being able to specialise at any time. (at pretty high cost and some time) It it probably much simpler to write then having to specify all the specialisations when .repro storing, perhaps with starting default specialisations the same as parent. Or are you suggesting not being able to change specialisations at any time? Wouldnt multibots be unable to have specialised parts then, unless already consisting of a bunch of cells, missing the whole point of specialisations?

In my humble outsider opinion, I don't really see a reason to react on a topic that's not being posted in for 2 jears.

Has there been done anything on specialisation stuff anyway.

Also in my humble outsider opinion I don't now why somebody would post in a topic of 6 months old, just to be ahaid of anybody else  
(it was even the lasted post in the subtopic)
Oh my god, who the hell cares.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #26 on: September 24, 2007, 03:28:05 PM »
I've been doing some conceptual work on speciation and the env grid.  No code work though.

Offline Prsn828

  • Bot Destroyer
  • ***
  • Posts: 139
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #27 on: March 08, 2009, 11:30:30 PM »
Now, since this topic is once again two years old, and since it is relevant to the development of DB3, I would like to revive this long dead discussion with a little bit of my own thinking.

After reading how many of you view the different kinds of specialization, I have decided to try and make a more finite distinction between them.

1. The DNA for the "Brain" of the bot is what exists in DB2, and works quite well for its purpose.  I believe this should remain mostly unchanged.

2. What I think would work best is to introduce and entirely separate DNA for the "Body" of the bot.  This DNA would specify how it grows, depending on its conditions of course, and would determine things like energy use efficiency, poison/venom type, waste disposal, ect.  The problem I envision with this is that it is so flexible that the slightest error in tuning could create a horribly imbalanced simulation.  If even the slightest amount of favor was given to one characteristic, evolution might refuse to take any other path, and the purpose of such a DNA would become non-existent.

I am curious as to what solutions there might be to the second DNA I am proposing here.  Certainly using co-existing physics environments in a simulation is one approach, but other than that, nothing really comes to mind.
So, what will it be? Will you submit to my will, or must I bend reality to suit my needs?
Better answer before I do BOTH!

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #28 on: March 09, 2009, 06:11:00 AM »
At the moment I'm thinking about a Lamarckian adaptation system.  As a bot shoots more, for instance, shooting becomes more efficient.  And those efficiencies are inheritable.  And a bot gets bonus efficiency for sticking to fewer efficiences.  Over time, the factors drop slightly, till they approach 0 (but never reach 0).

Something like shooting efficiency = sqrt(shooting efficiency factor / (sum of all modules' efficiency factors))
« Last Edit: March 09, 2009, 06:18:29 AM by Numsgil »

Offline Prsn828

  • Bot Destroyer
  • ***
  • Posts: 139
    • View Profile
Numsgil's Super Cool Specialization System
« Reply #29 on: March 09, 2009, 11:55:55 AM »
While that may be slightly trivial in a population of single-bot organisms, if the physics allow for interesting multi-bot organisms this would be a very realistic approach.  For instance, the forward bots might specialize in shooting and energy transfer through ties, while the center bots might be digestion specialized, and the rear bots would be waste removal specialized.  This would be amazing if we can work the physics and environment out properly!

I am beginning to think that we are going to have to be very attentive to the details of DB3 so we can get the most out of it.  Just the thought of how wonderful this might be makes me excited.
So, what will it be? Will you submit to my will, or must I bend reality to suit my needs?
Better answer before I do BOTH!