Author Topic: Non-Determinstic Bot DNA flow  (Read 48982 times)

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #90 on: October 24, 2005, 02:50:49 PM »
As far as the poison and venom goes, I agree. They are arbitrary and somewhat unrealistic. I, too would like them replaced by a system of chemical interactions which can develop according to a set of rules.

My problem though is how we implement the way these chemicals work. The actual interactions (creating proteins and so forth) are not too great a problem (theoretically) but the effect they they have on a bot could be.

For example how does Bot A know that substance d is good but substance x is poisonous? At some point there will still need to be arbitrary definitions of what is good and what isn't.

A way around this could be to have the substances poison a reaction rather than directly hurting the bot. That method has some merit but will still be difficult to implement. IMO this may be becoming way too complicated. We will have to hard code a huge number of chemical interactions. I can see benefits to this but also downfalls.

I prefer a simplified approach (enzymes again) to this. Don't model every metabolic pathway in minute detail. just add a simple set of rules that use maybe 64 bits of information with each bit doing its own thing. Combine them for one heck of a lot of possible effects.
Something like that anyway.

I don't get the impression that Griz was being specific about DNA commands though. I felt it was more general than that.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #91 on: October 24, 2005, 02:53:20 PM »
a question, if we make a simple program, that can use the all the things on a keyboard and is ordered to write those in random sequens (we use radioactive decay now, so its real random) and then tell the program ti try the program when it have used up all space on the computer. and if it worx it change things in it, else it delete it and begin from scratch, with worx I mean no errors come up, it can just come with a box that tells "hi" and work, wouldnt a million of them in time be able to evolve something very complex? of course a computer cant do that if nothing tells it to randomize
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 PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #92 on: October 24, 2005, 02:58:25 PM »
But all you are doing is making a long and pretty useless word with a bunch of characters in it.

It can be as complex as you like but it won't have any behaviour

It will just sit there.

Without rules of interaction, it cannot interact with another such complex character string.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #93 on: October 24, 2005, 02:59:55 PM »
Quote
I would just like to know how exactly we can have complex behaviour from simple rules. Give me an example.
I could well be missing the point entirely here, but emergent behaviour seems to fit the bill. As I find it so interesting I have been reading a bit about it, and it seems to fit exactly what you said [PY] about complexity emerging from a simple set of rules.

Of course, it's "easily" expressed for organisms where interactions are limited. If you think of physics as "emergent physics" where some abstract simple rules built all of the complex rules around us, that's slightly harder to simulate on a computer.

Not really sure if any of this is making sense...  :blink:

If I understand [Griz] right he wants to have some set simple rules from which emerge environmental interactions and functions. Instead of making a bot accumulate waste and dying as a result of not expelling it, impose a general rule governing how substances build up, and another to govern how organisms react to an excess of waste material.

Quite possibly I'm missing the issue, or have just spouted a load of random rubbish. It makes sense in my head anyway.  :pengysmiley:
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #94 on: October 24, 2005, 03:27:30 PM »
What you are saying makes sense Ulc. No problems there.

The unfortunate fact is that within a computer simulation, you simply can't just have stuff start to happen. You have to program the ability for it to happen.

In the real world we have a limited number of possible base pairs that can be joined together in almost any order.
That's great for the real world but a SIM isn't the real world is it

I would love to see emergent behaviour but how is a blob of memory cells in my PC going to learn to move across the screen unless I have already hardwired the physics that allow it to interact with the rest of the computer?

How is it going to learn to metabolize type C food unless Type C food chemistry is well defined and a whole slew of chemical and physical laws are programmed into the software?

The DBs NEED a universe in which to live and laws with which to do so. After that we leave them alone and see what they get up to.

The DNA code of real creatures may well be made up of very simple building blocks but the program (natural laws of the universe) which allow them to interact are more complex than anything we could ever hope to duplicate in DarwinBots.
« Last Edit: October 24, 2005, 03:28:07 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 Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #95 on: October 24, 2005, 03:31:29 PM »
I totally agree. I was just interpreting what Griz though (or what I think he thought  :huh: )

Noone expects rules to emerge from complete nothingness (generally) as you need some basic rules for more complex ones to grow from. I think I agree slightly that the rules imposed in the darwinbots universe are too artificial and not general enough.
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #96 on: October 24, 2005, 03:34:02 PM »
Complex systems have a single rule that is universal to all of them.

They are non-linear.  That is, the change in one element has a disproportionate effect in another.

Anyway, that's my aside

For the metabolism, here's what I'm thinking right this moment:

We descend into the madness of metabolic pathways gradualyl, in baby stpes.

Setp 1: Seperate Body into muscle (that makes shots stronger, bots able to move with less effort, etc.), fat/sugar (nrg storage), and maybe cellulose, maybe not, I'm not 100% sure yet.

Step 2: Implement Mitochondria/Chloroplasts.  Eukaryotic cells actually handle very little of their own metabolism.  Most of the grunt work is handed off to the mitochondria and chloroplasts.

So in DB, chloroplasts would convert light energy and surface area into nrg.

Mitochondria would convert basic substances to/from each other.  The details of how the mitochondria do what they do are entirely hidden from the bots.

This isn't all that incredibly different from the current system.  Our bots strbody, fdbody, mkpoison, etc.  Mitochondria would work in much the same way (I'm expanding the concept of all organelles that construct/destruct materials into the term "mitochondria", even though that's not actually 100% accurate.  But I think doesn't lose any generality in persuing this path.)

Step 3:  Instead of having mitochondria magically turn nrg into muslce, or whatever, we assign enzymes and such that handle all this, and allow these enzymes to mutate and hopefully evolve.

Note that step 3 is entirely hidden from the view of the bot, since the metabolism is all encapsulated (a programming term) in the mitochondria.

I'm open to criticism, of course, this is hardly set in stone.  The idea is that at each step we can try it out and see what happens.  Baby steps.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #97 on: October 24, 2005, 03:39:33 PM »
Yeah a few are a little on the artificial side. Can't deny that

Poison, Venom, Shell, Slime, Ties, Shots (come to that) are all kind of artificial.

Poison and venom are I think eventually destined to be scrapped in favor of a more complex and flavorfull bunch of chemical interactions. Possibly all shots can be replaced with a kind of fired enzyme from within the loosely planned enzyme metabolism system.

Ties? Donno about them. We have to alow some form of MB interaction so perhaps this is just one of the physical laws of DarwinBot world.

It's very tricky trying to get the balance right without artificially changing behaviours. That is the one thing we need to avoid at all costs, direct behavioural modification from the program. Selection has to be down to survival.

I still think the main problem with the whole of DB is that the entire DB universe is a barren desert, completely devoid of niches or any reason to specialize. Wherever they go, they are always in the same environment.
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
Non-Determinstic Bot DNA flow
« Reply #98 on: October 24, 2005, 03:46:38 PM »
Ties I'm thinking are a special hollow tube mesh constructed from nrg arranged in a crystaline matrix.

This mesh can be stretchy (like a spring), sturdy (like a pice of metal), stretchy to a point (like two bots connected by a peice of string), etc.

This mesh, however, can only be bent in one direction (the axis of the vector between the two bots).

That is:

if ____________  is a tie:

____ is valid

Code: [Select]
__
    \___  is not

However, we just have to say that bots can build this magic meshy substance.  Trying to build a ruleset that allows such a mesh to form naturally is beyond the scope of Darwinbots.

There are physical limitations to what can be modelled.  At some level, you have to create abstractions.
« Last Edit: October 24, 2005, 03:46:51 PM by Numsgil »

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #99 on: October 24, 2005, 03:51:13 PM »
Quote
At some level, you have to create abstractions.

For sure. But the more general you go the better, yes?
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #100 on: October 24, 2005, 03:55:47 PM »
Absolutely and therin lies the problem.

In the eyes of the critic, If you allow one abstraction then why not another, then another. More and more until we are over-run with the bloody things.

The kind of sim in which there are no abstractions and everything operates by a simple set of rules is just not feasible if you want any kind of realism.

You can't hope to simulate nature in all its complexity so what choice do we have other than to simplify branches of it like the ties and present them as a done deal. The sim doesn't need to know the physics. They just work. (the physics we do have in them is quite complex enough thanks)
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
Non-Determinstic Bot DNA flow
« Reply #101 on: October 24, 2005, 04:40:21 PM »
Quote
(the physics we do have in them is quite complex enough thanks)
I'll second that.

The amount of stuff that I have learned working on the physics is sickening.  Just sickening!

:puke:
« Last Edit: October 24, 2005, 04:42:57 PM by Numsgil »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #102 on: October 24, 2005, 04:52:59 PM »
:puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:  :puke:

Hehe, physics is fu--  :puke:  can't even get that to come out right.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #103 on: October 24, 2005, 11:17:25 PM »
Quote
I seriously have no idea what you are driving at.
I am fully aware of that ... believe me!
Quote
I would just like to know how exactly we can have complex behaviour from simple rules. Give me an example.
well ... there it is ... right there in that very statement ...
you 'need to know' exactly.
that is an approach ... a way of seeing/interacting with the world.
and you carry it over into your work and programming.
so does Nums. and that's fine ... even essential for programming.
but it can also be limiting if not balanced with a willingness to not
always having to be certain about everything.
I'm no differenct. I recognize it.
I program all of the time doing the raytracing thing ...
so I understand the need for precision and logic and linear thinking ...
for the need to know and control ... etc.
but I also find that the greatest discoveries I make ...
are found 'on my way' to something else ...
that while persuing an idea, I make a mistake in code ...
and end up with something that I would never have thought of doing ...
some idea that never would have entered my mind ...
that would never have occured to me.
and if I am too locked into what I am 'trying' to get to ...
I am then not open to, and likely to miss what is now right in front of me.

I also completely understand what you said about 'fun' at programming ...
that it's not much fun to debug. I hear ya.
and that is part of that discovery thing I am speaking of ...
it's easy to get sidetracked by the 'next' great idea! ;)
I know, I know ... I rarely finish a program ...
as I am constantly discovering some new twist to explore.
I see Num doing that for sure ... so I can relate. ;)
but then there is always the dishes that need to be washed, you know?

so it seems to me that programming  is a bit of a balancing act ...
that there are times to be  tightly/highly focused on the job at hand ...
and other times when we must be willing to pull back and widen that focus ...
to take in a larger picture, to widen our perspective ...
and to take a look at where we are heading ...
see if we're still on course.

anyway ...
here we are ...
discussing all of this ... bringing it to the forefront of our thoughts ...
to the top of the stack, if you will ;) ...
and now we have yourself and hopefully some other folks willing
to pitch in and lend a hand at debugging and getting a stable version ...
while also moving on with the 2.4x stuff.

so ...
we, along with DB ...
continue to evolve.
as it should be.
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #104 on: October 24, 2005, 11:44:54 PM »
yes shvarz ... you've understand my point and articulate it well.

Quote
shvarz:
Griz, I am all for evolution and I absolutely want to see complex things evolving from simple elements. In that sense I absolutely agree with you and I've been always opposed to introduction of arbitrary features for bots.
[...]
...  just an arbitrary feature that was introduced to model something that people wanted bots to do.
yes. well said. the extreme case would be ... people want the bots to look and act like us. ;)

Quote
...   This is what Griz means by "controlling" bots behaviour. His (and my) approach would be to create "substances" or "metabolism" with a bunch of molecules and rules for these molecules and their interaction with bots DNA and stack. Then some of these molecules might turn out to be what we consider "poisonous" - they will mess up bot's behaviour. Then some bots may figure out how to deal with these "poisonous" substances and how to deliver them to other bots, creating what we consider to be "venom".
that's it ... to not introduce 'artificial' behaviors in an attempt to get bots to act how we think
they should act ... but to provide them with the 'material' and allow them to evolve however they do ...
to develope their own stratigies/tactics/defenses.
I also question mutating the current generation .... but do not yet know enough of how you have
it set up to see how it is actually being implimented. the behavior of an individual should not be
altered in any way once that individual is born ... but only the genes once they have been passed
on to the next generation. but perhaps that IS how it works ... I don't know yet.
I'm still trying to get a version to actually work long enough to get some results to look at!. ;)

Quote
But I've known PY and Nums for a while now and I have to tell you that you are not correct - they do understand how evolution works and they put in a lot of effort into making DB evo-friendly.
well ... we might quibble on that. again ... until I understand the code and just what is being mutated
and how/when ... I can't say.  ;)
Quote
The reason they don't understand you is because they are programmers who want to know what feature exactly is wrong and how exactly you propose to fix it. I did not see in your posts these things either, so even I don't understand what exactly pisses you off so much.
I'm not pissed off ... just very disappointed ... esp in the priorities.
Quote
Yes, there are tons of things that can be added, but we only have 1.5 programmers working on this very complex project now - give these 1.5 guys a break
understood. I've had my say ... and whether or not they understand what I am saying ...
it seems to me that at least something is now being done to address the concerns of a great many
of us ... so I see that as progress. you know ... if I have to be devil's advocate to bring something to
the attention of others ... I have no problem doing so.
so ... I do tend to stir up the shit now and then ... always have.
but please know my intentions are good ... and I do indeed want to see people succeed ..,
and DarwinBots succeed as well.

so ...
I'm done sniveling and whining. for now.

here's to Num and PY and all who are part of this ...
it's still the coolest thing I've seen ...
and think of how great it will be when it actually works. ;) lol

cheers to you all.

onward!
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]