General > Biology

Costs and energy usage.

(1/5) > >>

Testlund:
I've been wondering about the default cost settings. How did you come up with those numbers as default values? Why I'm asking is that I whould like the default values to be as realistic as possible compared to how living cells work. I was wondering if anybody know something about what values whould be most realistic. I figure that the various commands in a bot's dna are like the metabolism of a cell, so I want to set up the costs to simulate that.

Energy in the human body is measured in joule, so if 1 energy point whould be 1 joule in a bot, then what should I set the costs to. Shouldn't there be costs in all fields? Of course that doesn't work when starting out with primitive bots that can't even reproduce yet, but later it might be a nice idea.

In the mean time I will do a little research on my own and put some values in there wich might make sense.  

EricL:
The default cost values are those used for the Formula 1 combat bot league.  This is why they are labeled F1 Default.  I have no idea where the specific values came from or why they were chosen as they were.  Before my time.

While we are on the subject, I personally do not favor costs that are directly associated with DNA length, DNA instruction content or specific, lowlevel DNA command execution, at least not for those commands not directly related to a morphological action like all of the current "DNA Command Costs".  Personally, I never use these.  If our goal is to evolve complex behaviour and reward morphological effeciency, then I view DNA command costs as counter productive towards that end in that the selective pressures they create work against the formation of complex cognition.  I much prefer costs on morphology and on morphological actions - taxing the phenotype, not the genotype and not the neurology embodied in the DNA makes more sense to me.

But surely there should be an execution cost you may say.  Thinking longer or more or using more inputs or more calculations to decide on which way to move or face or when to shoot for example, surely that should be taxed more, even if the end morphological result is simply to move or shoot the same as a bot that spent no instructions thinking.  Again, I would disagree.  I want to encourage complex behavior, not select against it.

I am not opposed to say, an abstracted execution cost which taxes cognitive ineffeciency, say a cost on number of genes fired each cylce for example.  After all, there is a biological carrying cost to having more neurons or bigger brains, but that cost should be small relative to morphological actions such as moving or shooting.   I want organisms to be able to evolve a lot of DNA that only rarely gets used, say for mate selection at reproduction time, and not be taxed for simply carrying it around.  The advantages of being smart should far outwiegh the disadvantages.

Testlund:
I think I agree with that. I chosed to have DNA upkeep set to 0.0001 just because once I got bots with so much dna it slowed down the program to a freeze. But I also feel rejected to put cost on DNA. I doubt it works that way in nature. Viruses for instance are just dna capsuls flooting around until they hit a cell. I don't think they spend any energy at all. Just my guess. I think it's the cells that are being infected that do all the job with reproducing new viruses. It's probably very taxing on the cell and they die afterwards.

Hmm... I will think about this a little more and see if I can find something on internet about cell metabolism.

Testlund:
I can't seem to find a way to put costs on movement commands, like .up and .aimdx etc. What are they? basic commands, advanced commands or what? On the wiki it is only categorized as a sysvar. Maybe there should be costs for sysvars?

Testlund:
Ok, the only thing I could find on the internet was an article that mensioned that 10% of energy recieved in a bacteria is used for locomotion. I couldn't find anything about where the other 90% goes. So I decided to go with this: I divided 1 point of energy into the different fields to spread out the costs. The basic and advanced commands will be the 10% energy spent, pretending it's for locomotion, so I put 0.0333 into the basic command field and 0.0666 into the advanced command field. The rest I will divide up into the other fields to the left and for body upkeep on the right on that ui. The other right fields I will go with the default except for dna upkeep wich I will have set to 0.0001 just to prevent dna to become to large for the program to handle.

I'm very interested to know what your appinion is on this.

Navigation

[0] Message Index

[#] Next page

Go to full version