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 21571 times)

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #30 on: January 21, 2010, 04:15:57 PM »
Quote
Given the behavior of a bot's germline over the last, say, 100K cycles, there is an optimal muscle distribution which would have minimized the energy cost of those actions. That's true regardless of how we approach specialization.

What if the bot doesn't live 100k cycles?

Offline Panda

  • Global Moderator
  • Bot Destroyer
  • *****
  • Posts: 476
  • Computer Science Undergraduate (nerd)
    • View Profile
DB3 Questions
« Reply #31 on: January 21, 2010, 05:27:36 PM »
Quote from: Numsgil
Quote from: Panda
Quote from: Numsgil
Veggies mostly build mass, so I imagine any "muscles" a veggie has would be to allow them to build more chlroplasts/chlorophyl at a higher efficiency.  Or maybe I treat chloroplasts like a muscle that can become more efficient, so each chloroplast provides more energy or something like that.

What I meant was the ammount of energy a veggie gets depends on the amount of chloroplasts and surface area or circumfrance.

Dependent on the amount of chloroplasts, but chloroplasts have a large volume so bots with lots of chloroplasts will be larger as well.

I understand now, thanks. I was wondering how they would work.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #32 on: January 21, 2010, 05:30:01 PM »
It's a running average carried over generations.  If it's the start of a sim you could still seed your bots with a given profile, though.  So league bots could still be tweaked for a given specialization, either by hand or by running it through some mock leagues and saving out the running average every round and averaging those together.

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #33 on: January 21, 2010, 06:55:37 PM »
Why can't specialization be controlled the same way everything else is. A veggie might have the gene "10 .mkchloroplast store". Sure its more fragile, harder to evolve, and makes hand coding bots more complicated, but thats true for everything else in darwinbots. If you want to change the fundamental way bots' input, output, and mutations work, thats an entirely different subject. It seems to me like the only way to do it without destroying multibots and leagues.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #34 on: January 21, 2010, 07:12:27 PM »
You still make muscle, fat, chloroplasts, shell, slime, etc. manually.  This is more how the muscles specialize (shooting muscles vs. more general purpose muscles).  Or maybe the efficiency with which your chloroplasts can convert sunlight in to nrg.  Or how efficiently you can convert stored fat in to energy.  Things like that.

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
DB3 Questions
« Reply #35 on: January 21, 2010, 08:48:12 PM »
I have two gripes with this idea that aren't on your list:

1) In internet mode or in something like EricL's island sim, a bot may change environments and hence behave differently. The bot would be penalized for this.
2) A bot's behavior in non-critical situations can hamper it's ability to respond to critical ones.

An example of 2 would be a bot that runs from things that are bigger than it. If it becomes a big bertha for a while and then reproduces and loses the size advantage, the ability to run away well is lost for the original bot (and maybe even the offspring!). DB3 simply can't know beforehand what muscle distribution a bot will need to survive, so letting a bot make it's own informed guesses seems a lot more fair.
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 Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #36 on: January 21, 2010, 09:09:49 PM »
Heres an idea. What if the bots can manually change there specializiation but also have the ability to adapt over time like what you mentioned. "100000 .adapt store" would let the bot adapt its muscles over the course of 100,000 cycles based on what it does and doesn't do. It would be a fair shortcut, not so arbitrary as just saying "you and your children will only be good at doing what you did over the last x cycles". For multibots or ant bots, the bots could choose what kind of muscles there children inhereted, not nessacarily there own.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #37 on: January 22, 2010, 01:04:04 AM »
Quote from: abyaly
I have two gripes with this idea that aren't on your list:

1) In internet mode or in something like EricL's island sim, a bot may change environments and hence behave differently. The bot would be penalized for this.

 I think that's like the caterpillar/butterfly analogy.  If you're in a new environment and want to dramatically change specializations, you need to go through some sort of transformation phase.
 
 
Quote
2) A bot's behavior in non-critical situations can hamper it's ability to respond to critical ones.

An example of 2 would be a bot that runs from things that are bigger than it. If it becomes a big bertha for a while and then reproduces and loses the size advantage, the ability to run away well is lost for the original bot (and maybe even the offspring!). DB3 simply can't know beforehand what muscle distribution a bot will need to survive, so letting a bot make it's own informed guesses seems a lot more fair.

Specialization here is less to do with how strong of a force you can produce, and more to do with how much that force costs you.  So when you .5 up, it means you accelerate forward 5 units/cycle^2, and not that you spend 5 nrg to move forward.  So your specializations won't prevent you from doing actions that are uncharacteristic, it just means they'll be more expensive.
 
Quote from: Houshalter
Heres an idea. What if the bots can manually change there specializiation but also have the ability to adapt over time like what you mentioned. "100000 .adapt store" would let the bot adapt its muscles over the course of 100,000 cycles based on what it does and doesn't do. It would be a fair shortcut, not so arbitrary as just saying "you and your children will only be good at doing what you did over the last x cycles". For multibots or ant bots, the bots could choose what kind of muscles there children inhereted, not nessacarily there own.

The running average I mentioned doesn't really cut off after 100000 cycles or anything like that.  Past signals are just slowly degraded towards zero as each new datum is recieved.  So values from indefinitely long ago still factor in, it's just a matter of how much.  The equation does have a value to tweak which controls how strongly weighted towards present activities the average is.  That could certainly be exposed to DNA.

Ant bots are another example of something like a somatic specialization.  I don't have a good plan for that just yet.
« Last Edit: January 22, 2010, 01:05:07 AM by Numsgil »

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
DB3 Questions
« Reply #38 on: January 22, 2010, 07:59:04 AM »
Quote from: Numsgil
Specialization here is less to do with how strong of a force you can produce, and more to do with how much that force costs you.
My statements were based on this assumption. How much an action costs limits how much the bot can perform that action. It may be that accelerating at full tilt has become an almost suicidal idea due to energy constraints and atrophy. Especially in situations involving reproduction, where a bot suddenly has much less energy to play around with than it did before.
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 jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
DB3 Questions
« Reply #39 on: January 22, 2010, 12:50:32 PM »
Quote from: Numsgil
Specialization will be more of the Lamarckian variety.  Ie: inheritable improvement through exercise.  Not quite biologically sound, but I think it'll make for the behavior we want.

Wait a sec, didn't someone else and I post a response to this? Was it deleted? Well, anyway, it just said I don't think that's a good idea.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #40 on: January 22, 2010, 01:01:06 PM »
Quote from: jknilinux
Quote from: ikke
Quote
Specialization will be more of the Lamarckian variety.  Ie: inheritable improvement through exercise.  Not quite biologically sound, but I think it'll make for the behavior we want.
Quote
Yeah, something like that. You shoot a lot and you get better at shooting, etc.
Sounds very wrong. If you want your bot to learn, program a feedback loop.

I am entirely with ikke on this. At least provide an option to turn lamarckian selection off.

Not deleted, it's up there

Quote from: )--
[div class=\'quotetop\']QUOTE ( @ Jan 22 2010, 04:59 AM) [a href=\"index.php?act=findpost&pid=1381398\"][{POST_SNAPBACK}][/a][div class=\'quotemain\'][!--quotec--][!--quoteo(post=1381397:date=Jan 22 2010, 12:04 AM:name=Numsgil]Specialization here is less to do with how strong of a force you can produce, and more to do with how much that force costs you.
My statements were based on this assumption. How much an action costs limits how much the bot can perform that action. It may be that accelerating at full tilt has become an almost suicidal idea due to energy constraints and atrophy. Especially in situations involving reproduction, where a bot suddenly has much less energy to play around with than it did before.
[/quote]

I'll have to build a model to be sure, but I think the moving average will still result in the best energy usage over the long haul.  Even if short life/death burn through a lot of energy.

If you think about real life, right after reproduction is the perfect time for a predator to attack.
« Last Edit: January 22, 2010, 01:09:21 PM by Numsgil »

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
DB3 Questions
« Reply #41 on: January 22, 2010, 06:10:58 PM »
Well, in real life the atrophy/exercise system that you intend to simulate really is there in more complex things. I also think it's going to be closer to a long-haul best than any bot is likely to achieve.

I think on a gut level I just don't like shifting control of a bot away from its DNA and into DB itself.
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 #42 on: January 22, 2010, 06:44:15 PM »
Quote from: abyaly
Well, in real life the atrophy/exercise system that you intend to simulate really is there in more complex things. I also think it's going to be closer to a long-haul best than any bot is likely to achieve.

I think on a gut level I just don't like shifting control of a bot away from its DNA and into DB itself.

Yeah, I can understand where you're coming from.  In the end it'll probably need to be something of a hybrid system to handle the butterfly/somatic cells.

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
DB3 Questions
« Reply #43 on: January 23, 2010, 10:50:18 PM »
I think that the amount of material should not really be a bottleneck for development. Using the butterfly logic, There is still a need for the capacity to turn specialized materials into base resources, so a good way to balance this would be a weighted cost system that allowed exponential-decay costs (another idea is to make the accumulation rate increase), that allowed specialization, and perhaps an increasing cost to develop body mass, which would act as storage space for fitting in more materials. This would mean that a bot with plenty of muscle would have trouble developing fat (but still has the ability to do so), but could still convert that muscle into fat with vastly reduced cost. In this case, the bottleneck for development should either be a.)making more free space or b.)the conversion of resources (which could have other benefits, eg. fat can be digested faster than chlorophyll, so can act as a space/energy holder).

I have a feeling I failed to address about a dozen arguments. Feel free to remind me of anything I may have ignored.
« Last Edit: January 23, 2010, 10:51:49 PM 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 #44 on: January 23, 2010, 11:30:38 PM »
Quote from: bacillus
I think that the amount of material should not really be a bottleneck for development. Using the butterfly logic, There is still a need for the capacity to turn specialized materials into base resources

I think caterpillars do it by storing up a lot of fat.  The end butterfly is much less massive than the starting caterpillar, because the transformation is extremely expensive to perform.

Quote
so a good way to balance this would be a weighted cost system that allowed exponential-decay costs (another idea is to make the accumulation rate increase), that allowed specialization, and perhaps an increasing cost to develop body mass, which would act as storage space for fitting in more materials. This would mean that a bot with plenty of muscle would have trouble developing fat (but still has the ability to do so), but could still convert that muscle into fat with vastly reduced cost. In this case, the bottleneck for development should either be a.)making more free space or b.)the conversion of resources (which could have other benefits, eg. fat can be digested faster than chlorophyll, so can act as a space/energy holder).

I don't necessarily want the system to favor bots who choose a "middle way" approach.  If anything, it should reward bots who specialize.  So I don't want to make fat comparatively cheaper to produce even if the bot already has lots and lots of muscle.

My thinking is that muscle is expensive to produce but you don't get much energy back from it if you try to unmake it.  This encourages, if not specialization, than at least inertia in not changing specialization on a whim.  Fat lets you get back all or most of the energy you spent producing it, but it doesn't actually provide much or any benefit beyond that energy storage.  Chloroplasts are like muscle: they require nrg to produce but don't give much nrg back when you unmake them.

I was playing with the idea of body size.  I'll probably relate it to shell.  If you produce shell beyond a certain point you sort of "lock" yourself in and you'll have to molt the shell to actually get any bigger.  Most cells can grow larger (to a point) just by letting more water in.  Ideally I'd like to have "soft shell", which all bots have, which would mimic a cell wall/membrane.  If it becomes too thin the cell ruptures, but within that bound the cell can change volume at will.  In addition there would be "hard shell", which would add protection but at the "cost" that the cell can't change size until the hard shell is molted.  I just haven't entirely decided how best to make that work and how the bot would control it.