Poll

DNA

It is imperitive
5 (11.6%)
Pretty important
7 (16.3%)
A nice addition
6 (14%)
Doesn't matter
4 (9.3%)
Not even a good idea
0 (0%)
Why would anyone want that?
0 (0%)
Other (please elaborate)
0 (0%)
Should be able to evolve into animals somehow, at a certain point.
14 (32.6%)
Should have restricted DNA.
2 (4.7%)
Other(s) (Please elaborate)
5 (11.6%)

Total Members Voted: 21

Author Topic: DB3 Questions  (Read 21506 times)

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
DB3 Questions
« Reply #45 on: January 24, 2010, 12:45:50 AM »
Will there be an option for disabling these new features?

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
DB3 Questions
« Reply #46 on: January 24, 2010, 04:38:02 AM »
Maybe it has been suggested before but is something like allowing a bot to select a single command to be performed more efficiently (against lower cost) not a better option? like:  .up . specialization store resulting in .up performed at half cost. The multiplier may be adjustable. In order to balance you might want to increase other cost.

Quote from: jknilinux
Will there be an option for disabling these new features?
I have suggested the ability to disable all commands individually in a sim in the past.

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #47 on: January 24, 2010, 11:41:57 AM »
Would it be a bad idea to have a slider control specialization costs. If you had it set at 1 youd get 1 species of veggie like bots. 2 would adjust it so you got 2 species of say a animal bot and a veggie bot. 3 gives you 3 species and so on.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #48 on: January 24, 2010, 02:50:15 PM »
Quote from: jknilinux
Will there be an option for disabling these new features?

You mean just nix all specialization?  Yeah, I suppose that's doable.  If you're talking about the substances (fat, muscle, etc.) probably not.  That's pretty central.

Quote from: ikke
Maybe it has been suggested before but is something like allowing a bot to select a single command to be performed more efficiently (against lower cost) not a better option? like:  .up . specialization store resulting in .up performed at half cost. The multiplier may be adjustable. In order to balance you might want to increase other cost.

The problem here is that bots would probably need some meta information about their DNA that I sort of want to avoid (how many .up do I have?  How many were executed last cycle).  And a sort of slippery slope argument: if we give them the meta information, and the bots behave optimally (always specialize towards most expensive operations), we essentially have the system I was proposing anyway.  Just with the added difficulty of managing the specialization from within the DNA.

The way the DNA works right now, it's almost like we're modeling instinct, with very little low level body control.  Every layer of body management we add is another layer of logic that has to be in sync with the rest of the DNA.  Like a veggie that changes from motility to shooting for defense.  The specialization needs to change, too, for this to be effective but the probability of that happening with a hard coded specialization is rather small.

I've been thinking of it like this: most real life shares something like 80% of their genome (I'm making this figure up, and it depends how far up the tree of life you climb, but it's something like that), because these are well established, well conserved, very low level metabolic genes.  Things like converting glucose to energy.  So it's like the operating system of life.  The remaining different genes are the user level software the differentiates life.  For Darwinbots, the we hide a lot of that complexity without exposing it to the bots (reproduction, converting body to nrg, etc.) because doing it incorrectly results in death instead of interesting behavior.  I can appreciate wanting to expose more things to the DNA, but I just think it'll result in "lock in" where a species can't adapt because to do so it would need to change behavior and specialization at the same time.

Quote from: Houshalter
Would it be a bad idea to have a slider control specialization costs. If you had it set at 1 youd get 1 species of veggie like bots. 2 would adjust it so you got 2 species of say a animal bot and a veggie bot. 3 gives you 3 species and so on.

I'm not sure what you mean.

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #49 on: January 24, 2010, 03:01:33 PM »
Quote
I'm not sure what you mean.
I mean that it would be like the dynamic costs. If you set it to  2 it will make specialization more favorable and generalization less favorable than if you just set it to one. You might also have to have a sensitivity slider to define how sensitive it would be to classifiying species.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #50 on: January 24, 2010, 03:10:41 PM »
Quote from: Houshalter
Quote
I'm not sure what you mean.
I mean that it would be like the dynamic costs. If you set it to  2 it will make specialization more favorable and generalization less favorable than if you just set it to one.

Oh, yes, we can do a slider.  It wouldn't be an integer slider like that, though.  It'd be more a continuous [0,1] multiplier or something like that.

Quote
You might also have to have a sensitivity slider to define how sensitive it would be to classifiying species.

The core program doesn't really understand the concept of "species".  That's more a high level concept we use for graphs and starting conditions and such.

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
DB3 Questions
« Reply #51 on: January 24, 2010, 04:16:43 PM »
I think that calculations involving mutations should be avoided if unnecessary. Evosims are already slow enough without having to make a global cost highly individualized.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #52 on: January 24, 2010, 05:25:36 PM »
I just meant that it would loosely define species, at least for the purposes of this slider, by the type of specialization they had, not by analyzing there entire genome or mutation details. Anyways that might work for multibots if you average the entire bots specialization, but antbots and butterflys might not work as well.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #53 on: January 24, 2010, 07:27:11 PM »
Quote from: Houshalter
I just meant that it would loosely define species, at least for the purposes of this slider, by the type of specialization they had, not by analyzing there entire genome or mutation details. Anyways that might work for multibots if you average the entire bots specialization, but antbots and butterflys might not work as well.

I guess I'm missing something. Let's say the simulation determines that there are currently 3 different "species", and the slider is set to 2.  What happens?

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #54 on: January 24, 2010, 07:42:36 PM »
Quote
I guess I'm missing something. Let's say the simulation determines that there are currently 3 different "species", and the slider is set to 2. What happens?
Generalization becomes cheaper, specialization becomes more expensive or at least less beneficial than it would normally be. But do we really need to be worrying about there being less species. If you could get it to evolve a small ecosystem it would great.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #55 on: January 24, 2010, 08:07:06 PM »
Ah, okay, I see.  Like with bac's suggestion, I want to try and avoid substances costing more the more you have.  Instead I'd like to see it being an issue of opportunity cost.  Eg: given that you want to be a certain size, to cut down on your visibility and movement costs (from drag), what's the optimal distribution of muscles, fat, chloroplasts, shell, etc.

Like if anyone's ever played Magic the Gathering (a card game).  If you add too many awesome cards to your deck you end up with an 80 card deck and your cards don't really work together very well.  But if you pick a smaller subset of that you can make a lean and mean 45 card deck.

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
DB3 Questions
« Reply #56 on: January 25, 2010, 01:30:48 AM »
Since this thread has become pretty broad, I think I'll stick my suggestion in here. It would be nice to have some strictly "aesthetic" robot features that other bots could possibly use to recognize a species or individual bot. Some of these could be worked into how the bot is displayed.
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #57 on: January 25, 2010, 02:27:52 AM »
I think something like a serial number for individual bots would work.  Have a refid and myid.

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
DB3 Questions
« Reply #58 on: January 25, 2010, 02:44:16 AM »
Quote from: Numsgil
Like if anyone's ever played Magic the Gathering (a card game).  If you add too many awesome cards to your deck you end up with an 80 card deck and your cards don't really work together very well.  But if you pick a smaller subset of that you can make a lean and mean 45 card deck.

Ah, that makes everything sooo much clearer. Randomness isn't the solution though. What other limiting factors can we introduce?

Quote from: Numsgil
Instead I'd like to see it being an issue of opportunity cost. Eg: given that you want to be a certain size, to cut down on your visibility and movement costs (from drag), what's the optimal distribution of muscles, fat, chloroplasts, shell, etc.

This seems to me to be a good place to start, but also a very risky approach. This could be a nightmare to learn and remember, like some form of grand-scale paper-scissors-rock. The best way to handle this would be to define a standard set of aspects (eg. weight, cost, bulk) which would handle the downside part of the materials easily, then have specific traits which define the material (eg. energy production, movement efficiency, motion). This would cut down on complexity greatly while still allowing a lot of flexibility for different materials.



While on the topic of materials, I thought I'd throw in a rough summary of basic materials that would probably be baseline:

-Chloroplasts (energy production)
-Cilia (Linear Motion)
-Muscle (Rotational Motion-as cells will be bonded on the surface and non-spherical, rotational forces will have to be much greater than in DB II.)
-Photosensitive (Horrible fill-in name for vision cell)
-Enzyme Gland (Shot power)
-Poison/Slime/Shell etc.

There's probably others that will be needed, but that seems to cover most necessary bot functions.
« Last Edit: January 25, 2010, 04:09:58 AM by bacillus »
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #59 on: January 25, 2010, 12:29:11 PM »
Quote from: bacillus
This seems to me to be a good place to start, but also a very risky approach. This could be a nightmare to learn and remember, like some form of grand-scale paper-scissors-rock. The best way to handle this would be to define a standard set of aspects (eg. weight, cost, bulk) which would handle the downside part of the materials easily, then have specific traits which define the material (eg. energy production, movement efficiency, motion). This would cut down on complexity greatly while still allowing a lot of flexibility for different materials.

Primarily I was thinking these:

  • payload (eg: what it actually does.  Usually positive)
  • volume
  • mass

With maybe some other special characteristics.  But mostly it's a matter of volume and mass.

Quote
While on the topic of materials, I thought I'd throw in a rough summary of basic materials that would probably be baseline:

-Chloroplasts (energy production)
-Cilia (Linear Motion)
-Muscle (Rotational Motion-as cells will be bonded on the surface and non-spherical, rotational forces will have to be much greater than in DB II.)
-Photosensitive (Horrible fill-in name for vision cell)
-Enzyme Gland (Shot power)
-Poison/Slime/Shell etc.

There's probably others that will be needed, but that seems to cover most necessary bot functions.

I'm including things like cilia and "enzyme gland" as part of the muscles.  Maybe vision organelles as well (add more, increase your sensitivity).