Author Topic: Photosynthesis  (Read 19094 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Photosynthesis
« Reply #15 on: February 23, 2005, 05:57:23 PM »
Huge step would be an understatement.

We'd have to define the mechanics that govern the cell.  I think that moves into the realm of doctorate dissertation.

Offline Anonomous Guest Person

  • Bot Builder
  • **
  • Posts: 85
    • View Profile
Photosynthesis
« Reply #16 on: February 23, 2005, 06:18:03 PM »
But it would prove more worthwile then specializations would.

Instead of having:

Code: [Select]
'Alga Minimalis UPDATED

spec
5 photo spec
stop

cond
  *.nrg 6000 >
start
  50 .repro store
  15 .aimdx store
stop
end

We could have:

Code: [Select]
'Alga Minimalis UPDATED

body
  1 .photo build
  1 .wharvest build
  1 .wrecycle build
stop

cond
  *.nrg 6000 >
start
  50 .repro store
  15 .aimdx store
stop

cond
start
  50 *.sunlight div .photo store
  50 .wharvest store
  50 .wrecycle store
stop
end

To explain, .sunlight is how much light the bot is getting, .photo is pretty much how I described it in the first post, .wharvest is something that allows you to gather waste from the enviroment easily, and .wrecycle turns waste into energy.

To further explain the mechanics of the latter system, body is what starts a one-time running system that builds the bot's mechanics. It can be affected by mutation as well. It can use the stacking system as it pleases, and any memory locations that exist.
Build takes the last item from the stack, and builds it. If there's a second last item on the stack, it'll build it by that many times.
To see, you would need to build an .eye, as well as any features you want from it (without any special features, it'd tell you simple stuff like .refbody, but not stuff like .refshoot).
What's the advantage of building a mechanic multiple times? It allows more energy to be used.
Why not simply build everything that exists? Because each mechanic you build will cost energy, and generate waste.
If the user set the energy cost to 1 per mechanic, and the waste gain to 0.2 per mechanic, that Alga Minimalis would lose 3 energy per turn, and gain 0.6 waste per turn.
Waste will sooner or later become permanent waste with any particularily efficient robots, which will build up, and give it mortality.
Energy costs mean making a good energy efficient bot will become slightly more complicated.

(Note: Certain mechanics could have unusual functions when building more then one. One eye, for example, could allow the maximum to become 25, or 50. Two would double it. Of course, there'd be a limit to such things, such as 5-10 eyes being built (even though in reality, the bot would only have one, that's 5-10 times as good!))

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
Photosynthesis
« Reply #17 on: February 24, 2005, 02:09:17 AM »
why turn waste to energy? why not make regions that contain something like "organics". organics can be converted to energy whit Photosynthesis. the amount of organics in the region which the plant is in adn the amount of sunlight decied how hard it is for the plants to grow. here is a plant living in a "dessert"
Code: [Select]
'Alga Minimalis Dessert

body
 1 .photo build
 3 .orgharvest build
 2 .orgnrg build
stop

cond
 *.nrg 6000 >
start
 50 .repro store
 15 .aimdx store
stop

cond
start
 50 *.sunlight div .photo store
 50 .orgharvest store
 50 .orgnrg store
stop
end
.orgharvest = this allowe you to harvest organics from the ground
.orgnrg = this allow you to convert organics to energy
in a dessert there is alot of sunlight, but not so much organics, becuase of that this plant has increased its ability to harvest organics (to take the little amount that there is) and also its ability to turn the organics to nrg. what do you think of this "food region" idea?
When I have the eclipse cannon under my control there is nothing that can stop me from ruling the world. And I wont stop there. I will never stop conquering worlds through the universe. All the worlds in the universe will belong to me. All the species in on them will be my slaves. THE ENIRE UNIVERSE WILL BELONG TO ME AND EVERYTHING IN IT :evil: AND THERE IS NOTHING ANYONE OF you CAN DO TO STOP ME. HAHAHAHAHAHAHAHA

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Photosynthesis
« Reply #18 on: February 24, 2005, 02:20:02 AM »
A couple things:

I think a bot that is fixed to its pos should have a greater ability to harvest stuff from the environment (roots.  There are some unicellular plants with roots, such as the marine alga Acetabularia).

Or perhaps silicate and calcium increase the friction of the area they're in, allowing a multibot plant to anchor itself in the substrate with 'roots' cells.

Check out my last post in waste conversion thread.
« Last Edit: February 24, 2005, 02:20:52 AM by Numsgil »

Offline k0zm0

  • Bot Neophyte
  • *
  • Posts: 43
    • View Profile
Photosynthesis
« Reply #19 on: February 24, 2005, 02:59:51 AM »
PY, is there going to be CO2 and O2 in the system? If not, there is no point talking about  photosynthesis, because without CO2 and O2, there is none.

Another thing: I like this point system. About as I can tell, this points should be multipliers. If bot uses all of his 5 points on a photosynthesis, then energy by   photosynthesis would be made more efficiently (more nrg) than energy made by storing only 1 point into photosynthesis.

About specialization. It's all in genes... that's about specialization we need. We set the first 5 points and we have set the specialization.
« Last Edit: February 24, 2005, 03:08:32 AM by k0zm0 »
I'm not crazy and I'm not normal.
If I were normal, I would go crazy.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Photosynthesis
« Reply #20 on: February 24, 2005, 03:15:16 AM »
Will I do?  :rolleyes:

There will be O2 and CO2 in the env grid, but their existence has no bearing on photosynthesis's existance in the simulation.  Vegs already get energy from the system.  That's a simple model of photosynthesis.  Because we don't chose to model something doesn't mean it doesn't exist in the simulation, it just means its taken for granted.

The water cycle, for instance, is taken for granted.  Doesn't mean water doesn't exist in the simulation.


PY's system would make you more efficient as you invested more points in a particular area.

Check out the idea Anon Guest Person and I hammered out.

It's a bit of a read, I admit, but I think it incorporates PY's idea, Anon's idea, and my idea into a single system.  Though instead of 5 points to invest you get 20 or 35 or whatever.  Basically same idea.
« Last Edit: February 24, 2005, 03:15:48 AM by Numsgil »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Photosynthesis
« Reply #21 on: February 24, 2005, 09:52:39 AM »
Quote
Perhaps you could add another section to the bot's DNA file, which gives it it's physical form.


That is pretty much what I am talking about.
The robots would have a definition section in the DNA, a bit like custom variable names now. It is contained in the DNA text file but is not directly accessed by the DNA during activations in the robot's lifetime.
(incidentally we need to be able to read this stuff from the robot console)

When writing a robot DNA file, it will be possible to define it fully but only evolution (mutations) will allow it to change through successive generations.

To keep things backward compatible, all robots without this extra bit of text in their DNA file will be treated as specialized carnivores and the "autotroph" button in the control panel will switch them to specialized veggies (metabolize waste nutrients like NO3 and sunlight)

All sims will have day-mode activated so that sunlight is present. Top down sims (regular mode) will have equal sunlight across the whole field while pondmode sims (side view) will use the sunlight gradient method.

Are we all getting on the same page yet? I think we may be zeroing in on a plan.

 :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
Photosynthesis
« Reply #22 on: February 24, 2005, 01:03:15 PM »
Quote
The robots would have a definition section in the DNA, a bit like custom variable names now. It is contained in the DNA text file but is not directly accessed by the DNA during activations in the robot's lifetime.
(incidentally we need to be able to read this stuff from the robot console)

We all have different ways of doing it, but it looks like we all agree on this point especially.

Quote
When writing a robot DNA file, it will be possible to define it fully but only evolution (mutations) will allow it to change through successive generations.

This is where the debate comes in.  I think I have a solution, using a technique I outlined in another post (which incidentally needs a reply  :rolleyes: ).

We have an array of bit strings (ie: numbers, probably longs) that represent the attributes of the different enzymes/mechanics that the cell has.  We seed a very good randomizer with these values. (something with a very large period).

The number that the randomizer returns is then fed into a function that determines what that enzyme/mechanic does, and how well it does it.

Now, the fun part comes in as these bit patterns are allowed to mutate.  We can have things like bit change, bit shift (frame shift in DNA), etc.

This way, we can still turn on/off mechanics for a bonus, but we can also mutate new mechanics or new enzymes.

I think that mirrors the actual system so well.  I should get some accolades!   :ph43r:

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Photosynthesis
« Reply #23 on: February 24, 2005, 01:31:52 PM »
The mechanics stuff is pretty complex.
I hope we aren't going too far with this. My proposal was a lot simpler.

The setup section of the DNA looks very similar to what I was thinking about so I guess we are all more or less agreed on that part of it.

I still have a big problem with robots changing their feeding specializations during a single lifetime though. I just don't see this happening.
You may be able to get better at something that you can already do by practicing (muscles get bigger with use etc. but I don't care how many pieces of nylon you try to eat, you just ain't gonna metabolize it. The mechanism just isn't there to start with and mutation is the only way it ever will be.
If you are proposing that robots mutate during their own lifetime then that is a different issue entirely and has nothing to do with specialization.

I still maintain that a creature is born with all the specializations it is ever going to get. It may not use them all but they are there and do not change during its lifetime. Getting stronger with practice or by actively discarding certain functions to direct more energy at the ones you want are not specialization in the form that I am talking about. I am refering to the genetic blueprint which sets the initial possibilities to specialize.

A creature born to metabolize cellulose is never going to learn to metabolize sulphides and vice versa, in one generation.

 :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
Photosynthesis
« Reply #24 on: February 24, 2005, 02:10:30 PM »
I think the problem is we are talking about different sides of the same coin. I'm trying to allow multibots' parts to specialize (cellular specialization) and you are working on how a species specializes over time.

Both need to be present in the end system.  Turning off mechanics to improve efficiency allows multibots' cells to specialize, but doesn't really make sense in a single bot.  But we shouldn't artificially impose limitations on singlebots.

I'm hoping the majority of the complexity is behind the scenes.  The bit system I outlined above would allow the kind of frame shift that allowed bacteria to begin digesting nylon.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Photosynthesis
« Reply #25 on: February 24, 2005, 02:24:36 PM »
You may have hit the nail on the head there Num.

I haven't even thought about specialization in different cells within an MB. My thrust (as you say) is entirely toward speciation and evolution of the species as a whole.
But still each part of a multicellular organism can only do what it was programmed to be able to do at birth. Admittedly, cells mutate as they are born so that each cell is not quite a perfect match for those around it but I don't see that radically changing the way the MB works like going from Herbivore to Carnivore. Both possibilities would need to be initially available from birth and since both are present then neither can be fully specialized in. What you have is an omnivore that can go both ways but not as good as either a truly specialized herbivore or a truly specialized carnivore.

So you are suggesting the ability to switch off chunks of existing DNA in certain cells of an MB right? That is a decent enough plan.
Do you have any easy way for a cell within the MB to know what it is supposed to be though.
Take a tadpole or something similar, consiting of maybe four cells that specialize in feeding at various angles (the head) and a string of muscular cells to wiggle back and forth to provide propulsion. How do we tell each cell what it is supposed to do? That has always been the most difficult part of programming MBs

Your bit system looks really good but I still say the bit pattern needs to be fixed at the birth of the cell and never changed during its life except for random mutations due to radiation sickness or some other environmental conditions

 :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
Photosynthesis
« Reply #26 on: February 24, 2005, 02:34:18 PM »
Quote
You may have hit the nail on the head there Num.

I haven't even thought about specialization in different cells within an MB. My thrust (as you say) is entirely toward speciation and evolution of the species as a whole.
But still each part of a multicellular organism can only do what it was programmed to be able to do at birth. Admittedly, cells mutate as they are born so that each cell is not quite a perfect match for those around it but I don't see that radically changing the way the MB works like going from Herbivore to Carnivore. Both possibilities would need to be initially available from birth and since both are present then neither can be fully specialized in. What you have is an omnivore that can go both ways but not as good as either a truly specialized herbivore or a truly specialized carnivore.

So you are suggesting the ability to switch off chunks of existing DNA in certain cells of an MB right? That is a decent enough plan.
Do you have any easy way for a cell within the MB to know what it is supposed to be though.
Take a tadpole or something similar, consiting of maybe four cells that specialize in feeding at various angles (the head) and a string of muscular cells to wiggle back and forth to provide propulsion. How do we tell each cell what it is supposed to do? That has always been the most difficult part of programming MBs

Your bit system looks really good but I still say the bit pattern needs to be fixed at the birth of the cell and never changed during its life except for random mutations due to radiation sickness or some other environmental conditions

 :D  PY  :D
Yeah, the first 'germ cell' of a MB would be the most generalized any final cell can get.  But each of the cells needs a way to remember the original generalized form, so things like tail regeneration is possible.

So a cell should only be able to turn on a mechanism or enzyme it still has the code for.

Quote
Do you have any easy way for a cell within the MB to know what it is supposed to be though.

I can't even find any information on how real cells do this!

Quote
Your bit system looks really good but I still say the bit pattern needs to be fixed at the birth of the cell and never changed during its life except for random mutations due to radiation sickness or some other environmental conditions

I agree.  The bit patterns are what enzymes/mechanisms are actually available to turn on or make, and shouldn't be changed except in extreme cases.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Photosynthesis
« Reply #27 on: February 24, 2005, 03:37:34 PM »
Looks like we have reached a common solution then  B)

I say go with your bit system and give cells the ability to shut down (not delete) sections of DNA that they don't need.

Next thing we need is some way to actually define MB shapes and stuff. That isn't going to be easy

 :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
Photosynthesis
« Reply #28 on: February 24, 2005, 03:50:08 PM »
It doesn't help that every resource I've found on how human embryos develop might as well say 'magic'.

If we can figure out how real cells learn to differentiate and orient themselves maybe we can apply it to DB.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Photosynthesis
« Reply #29 on: February 24, 2005, 03:55:38 PM »
Where is Shvarz when you need him?

Bloody Hawaii! That's where!

Lucky git!  :ph43r:

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

:D PY :D