Author Topic: Veggie waste feeding  (Read 11217 times)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Veggie waste feeding
« on: September 18, 2005, 09:34:56 PM »
Could you keep the veggies from generating pwaste? I've been playing with my little veggie waste tie feeders and keep seeing their food vanish(some of them even killed themselves while waiting to eat :wacko: ).

Do vegs generate waste themselves?

Thanks Nums for massivly editing the new wiki.
« Last Edit: September 18, 2005, 09:38:52 PM by Endy »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Veggie waste feeding
« Reply #1 on: September 18, 2005, 09:51:58 PM »
My pleasure.  Got sort of sick of it near the end though.

At some point I'm going to go through and redo all the waste code.  It's just not uniform at the moment.

I'll probably make it so that for every 1 nrg you spend, you generate 1 waste (or maybe every 10 nrg.  Anyway, something like that.  Maybe user definable).  And waste and pwaste will be/are being split between child and parent like nrg and body are.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Veggie waste feeding
« Reply #2 on: September 18, 2005, 10:09:03 PM »
I know the feeling. Transfering page after page sucks. After awhile I just began rewriting them to make it more fun.

Do any of the new enzymes allow waste digestion? I think we mentioned it but not sure what actually came of it.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Veggie waste feeding
« Reply #3 on: September 18, 2005, 10:34:01 PM »
I don't even remember.  I think I sort of have an idea of how I want to go about it, and I'll probably allow waste to be digested...

Offline Old Henk

  • Bot Destroyer
  • ***
  • Posts: 229
    • View Profile
Veggie waste feeding
« Reply #4 on: September 19, 2005, 11:56:14 AM »
Quote
I don't even remember.  I think I sort of have an idea of how I want to go about it, and I'll probably allow waste to be digested...

What's the point of waste then? I mean, they call it waste because it is just that: waste, useless...
Digestable waste will lead to make-your-own-waste-then-eat-it-bots, I think.
I am not in favor of digestable waste. But then again, I'm no programmer  :)

I hope you don't take my complaining too personal...  :P

Henk
« Last Edit: September 19, 2005, 11:56:36 AM by Henk »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Veggie waste feeding
« Reply #5 on: September 19, 2005, 12:27:38 PM »
In the real world one creature's waste is another's lunch buffet. Even more so when you include plants into the equation.

What we need to do is have various different nutrient --> energy + waste  pathways that are possible and to some degree mutually exclusive so that no creature can eat its own waste.

The enzyme specialization methods discussed way back will take care of this by only allowing a small number of the total available enzymes to co-exist within any given bot.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
Veggie waste feeding
« Reply #6 on: September 19, 2005, 12:32:51 PM »
But how do you think something up, so a bot dont use its own waste from producing energy to produce new energy. Do you know what I mean? How are you sure on that only specific enzymes can co-exist?
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Veggie waste feeding
« Reply #7 on: September 19, 2005, 01:36:53 PM »
I'm thinking along the lines of PY.  You can digest your own waste, but by doing so you'll be less efficient at digesting real food.

I'm thinking something like:

Every nrg used up produces 1 waste.  10 waste can be digested into 1 nrg.  Permanent waste (remember that, right?) cant be digested or transmitted (as it is now) and is generated by waste that isn't expelled (which would be different.)

Like every 10 cycles 1% of the total waste in the bot becomes permanent waste.  This would mean that bots that eat waste would generate permanent waste faster, which might not be a good thing...

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Veggie waste feeding
« Reply #8 on: September 19, 2005, 03:00:35 PM »
Quote
But how do you think something up, so a bot dont use its own waste from producing energy to produce new energy. Do you know what I mean? How are you sure on that only specific enzymes can co-exist?

I don't want to go into too much of this again but just imagine the following. (this is a very simplified model)

There are two types of food X and Y

A bot eats some food of type X

The bot has 10 possible slots for enzymes to exist in.

Each type of enzyme has a specific efficiency factor for converting either X or Y into energy with a small percentage being converted to waste.

Each enzyme has a maximum efficiency rating of 9.9% food --> energy and 0.1% food --> a different nutrient (waste).

If a bot has 5 enzymes for X and 5 for Y then it will convert 49.5% of its X type food to energy. The rest will be stored as Waste, this waste being a different type of food according to some rule (ie. X becomes energy +Y).

Waste is able to contain both X and Y type food but while stored in the robot as Waste, it is not usable by the bot's metabolism.

When the bot shoots waste out, it is proportionally split between type X and Y (so it is actually a kind of food really) depending on what  is contained in the robot's "waste tank" or "intestines" if you like.

I figure it will be inefficient for any given bot to only have 5 enzymes for a particular type of food so from an evolutionary standpoint they will prefer to have 10 of one type so if he has 10 X enymes then Y type food is inedible.

Now to complicate things add another half dozen types of food source (including photosynthesis) and a bunch more enzyme slots.
Every bot will eat one thing and poop out another. Efficiencies will be different depending on the number of enzymes present. Enzme types are controlled by mutations.

Should make a pretty diverse ecosystem.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
Veggie waste feeding
« Reply #9 on: September 19, 2005, 03:48:00 PM »
But if waste is a kind of food, it will always be possible for a bot to reuse its own waste as food, and thereby having a unlimited energy source, unless you make the pathways of the metabolism extremely complex and long

Something like this: (?)
With CAPITAL letters being food, and lower case enzymes:
A + a --> B
B + b --> C
C + c --> D
D + d --> E
E + e --> F
F + f --> G
G + g --> H
H + h --> J
J +  j --> A
So it is: A <=> J
If a bot has 10 enzyme slots, with 10 food types, the bot will have a unlimited energy supply. Therefore there must be more food types than the bot has enzyme slots, or else it is possible for the bot to do the above.

I HAVE read every little bit in the sub Forum about metabolism etc., and I still have a hard time understanding the basic's of the system, and for me this you state here about enzyme slots contradicts what it says in the other threads!
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Veggie waste feeding
« Reply #10 on: September 19, 2005, 04:04:30 PM »
Quote
But if waste is a kind of food, it will always be possible for a bot to reuse its own waste as food, and thereby having a unlimited energy source, unless you make the pathways of the metabolism extremely complex and long

I don't see it that way at all

For one thing even if the bot's waste has undigested but digestable food in it then it would have to shoot itself with a waste shot before it could eat the stuff. Not too easy to accomplish.

Secondly, even if he did shoot himself then there would be a much lower proportion of food that is usable by that bot, contained in the poop. This means that after a couple of times round the loop of eat --> poop --> eat --> poop, it will cost more to feed on it than the energy that is returned.

If a shot containing food X is eaten by a specialist X-Eating bot then he will be able to use 99.9% of it. The other 1% will be converted to waste as food type Y. When he has saved up 100 waste he poops it out and a Y eating bot intercepts it. This bot uses 99% of it for energy and begins building up waste type Z etc. etc.

There is no way a bot can ever survive on its own waste.
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
Veggie waste feeding
« Reply #11 on: September 19, 2005, 04:10:20 PM »
It's a simple matter of estblishing entropy in converting A to B.  Waste converts to energy at a significant loss.  Then even if you eat your own waste, you're not generating that much energy.

It's mathematically provable that as long as there is some loss from the waste->nrg->waste cycle, the amount of energy you can gain is finite.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Veggie waste feeding
« Reply #12 on: September 19, 2005, 04:30:34 PM »
Quote
I HAVE read every little bit in the sub Forum about metabolism etc., and I still have a hard time understanding the basic's of the system, and for me this you state here about enzyme slots contradicts what it says in the other threads!
Yes it does contradict other posts that I and others have made.

I was oversimplifying the concept of enzyme efficiency to explain it in easier terms.

the reality would be that enzyme would be bit patterns of varying lengths, all held in a binary string. Enzymes would be abble to overlap in such a string so that it would be very hard to program them manually.

Example.

011010110 may be defined as an enzyme that digests food X at an efficiency of 7.3%

The following string

01101011010110

Contains two such enzymes. they overlap and share several digits. If these two are present in a robot's bit pattern then its overall efficiency for converting  food X to energy will be 14.6%

01101011010110

and

01101011010110

Suppose there is another enzyme that converts X to energy at 1.3% efficiency. Its pattern is

101101 (shorter = less efficient)

You can also find one of these in the bit pattern above

01101011010110

so the bot's total efficiency will be 15.9%

Make sense?
« Last Edit: September 19, 2005, 04:30:58 PM by PurpleYouko »
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Old Henk

  • Bot Destroyer
  • ***
  • Posts: 229
    • View Profile
Veggie waste feeding
« Reply #13 on: September 20, 2005, 08:22:15 AM »
Quote
It's mathematically provable that as long as there is some loss from the waste->nrg->waste cycle, the amount of energy you can gain is finite.
Ok, then I'm with it  :)

PY, can a bot 'see' its own enzymes?

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Veggie waste feeding
« Reply #14 on: September 20, 2005, 08:55:34 AM »
Quote
PY, can a bot 'see' its own enzymes?
I am not quite sure which way we are going to go just yet. I would say that the enzymes would not be visible from the DNA directly. (ie. the robot cannot directly read them) However they will be visible to the programmer.

My idea is to put the enzyme bit string at the start of the robot text file a bit like the def command now. The difference is that it will be subject to mutations and will also be saved along with the robot DNA file.

I think enzymes should work behind the scenes automatically and not be directly controllable.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D