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

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #75 on: October 24, 2005, 05:43:30 AM »
Quote
I could be misreading you, but I think you have this totally backwards.

You did. I cant think of anyway to implentment Müller's Rachet (MR for short), you put biological terms /hypothesis onto DB, that is what I meant. Well MR is still just a hypothesis, not a true rule in nature, like the thermodynamics is for physics (you know what I mean). And Num stop lecturing me if I was some sort of imbecil idiot.

I have read hundreds of books about evolution and thereby biology.
Have healthy pile of books about artificial life.
My only problem is that I have a hard time expressing my self (in english) properbly, so the native speaker of english can fully understand me.

Well you see the DB Algorithm (DBA for short), has one problem.
It is extremely fragile and nowhere near robust.

Example placing 10 in memory slots 299 does nothing, placing it in 301, makes the bot reproduce. There are no correlaction between this, but it happens. The search space for DB is multi-multi-dimensional.
For a minute forget about Genepool etc., I havent even mention them, and actually I dont like them becuase of the optimizition algorithme they really are, nothing (reallly) interesting will ever happen here.

Take Avida in has an instruction set with 28 default instructions. Tierra about the same, cant find the documentation.

(Edit: 32, I am so stupid, I knew that Tierra coded its instruction in a binary string of length 5, damn)

But DB has 48 basic instructions, and here we should then add all the possible numbers. Which I will not do no. That smart thing about DB is the stack, were numbers are placed, and instuctions works on. With this it would have been extremely messy. But 1000 memory cells, is way to much, in the way it works has it is. I cant even imagine how the search space looks like in DB, it is easy enough for Avida. But DB there are so many factores that it is impossible to extract any usefull info. Well I will return later, right now I should make my Examination project in functional programming (Moscow ML / SML if anyone knows that)...


But bytheway:
Quote
QUOTE (Greven @ Oct 23 2005, 05:01 PM)
Quote
In short when generalizing, you lose much specialization (  ). You can do a little of this, and a little of that and so on. But nothing more.

And even the above quote don't even give any meaning. Artificial Life is much more that just simulation, what about GP, EP, other GA's etc.

I only recognize GA (genetic algorithm), don't know the other acronyms...

GP ~ Genetic Programming
EP ~ Evolutionary Programmering
EA ~ Evolutionary Algorithm
GA ~ Genetic Algorithm

These are mingled and blend into each other and cannot be, on a certain level, distinguised between exactly.
« Last Edit: October 24, 2005, 06:00:47 AM by Greven »
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #76 on: October 24, 2005, 09:54:06 AM »
Quote
And Num stop lecturing me if I was some sort of imbecil idiot.
Well, when you stop sounding like one...   :lol:

Okay, that was probably a little too  :pokey:  and not enough  :wub:

Quote
But 1000 memory cells, is way to much, in the way it works has it is. I cant even imagine how the search space looks like in DB, it is easy enough for Avida. But DB there are so many factores that it is impossible to extract any usefull info.

Ah, now we're getting to the root of the problem.  1000 memories is probably way too much.  But its had 1000 memory spaces per bot since the beginning of DB time.

So that's not really a criticism of how PY or I have modded the program, more a criticism of the basic architecture of the program.

To change it now would really break alot of bots.  And whenever I make it so that older bots are even slightly less powerful in newer versions I tend to hear whining  <_<  ;)

Maybe I should add tags to the DNA so bot programmers can indicate they want their DNA run a certain way...

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #77 on: October 24, 2005, 11:40:19 AM »
Quote
Maybe I should add tags to the DNA so bot programmers can indicate they want their DNA run a certain way...
LOL. This is about trying to CONTROL ...
and that isn't evolution ... that is  Intelligent Design  ;)

Quote
We may be just arguing over simantics. Griz, perhaps you could point something out specifically that pushes the program in the wrong direction in your opinion, if even slightly.
I wish!!!
no ... it is not at all semantics.
and it isn't a light push ... it's a violent shove, imo. ;)
it is a fundamental difference in how we view the process of 'evolution'.
it is exactly what I said above ... you are attempting to 'control' all aspects ...
to tell bots how to act/react rather than allow alife/evoloution to be simulated ...
for bots to develope the interconnections and interdependency that comes from evolving
together within an environment we provide.
as the programmer/user ... we should be setting them up with an environment ...
and the abilities to sense/exist/reproduce and develop within it ...
and then get out of the way ... let them determine what works and what doesn't.
to not impose our own ideas of how they should behave onto them from the get go ...
rather then setting them up to find what works and what does not.

now if you don't see that ...
then there isn't anything I or anyone is going to be able to say
that will reach you ...  that you will hear.
so it goes.
but I don't want to rain on your parade ...
it is obviously something that interests you ...
that you are passionate about ...
and that's great.
you have your vision, your perception of how evolution works ...
and perhaps it is exactly as you imagine it to be.
or not. ;) lol

not much I can do about it ...
other then to learn VB for starters and play on my own.
so thanks for the glimpse and the motivation to do so.
« Last Edit: October 24, 2005, 11:41:35 AM by Griz »
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #78 on: October 24, 2005, 12:12:44 PM »
Quote
as the programmer/user ... we should be setting them up with an environment ...
and the abilities to sense/exist/reproduce and develop within it ...
and then get out of the way ... let them determine what works and what doesn't.
to not impose our own ideas of how they should behave onto them from the get go ...
rather then setting them up to find what works and what does not.

The unfortunate thing is that I fully agree with this and I am pretty much 100% certain that Num does too.
In my opinion this is precisely what we are doing too. Everything that we change in the program gives the robots new avenues which they can explore, more variables with which they can experiment with, more options, more ways to fail or succeed.

How can this be control?

We aren't telling them what to do. We are merely expanding the possibilities of the things that they might do. The fact that it is possible to artificially write a DNA package merely shows what it is possible for the bots to do. Artificially written DNA code is most definitely ID but that is entirely beside the point.

I have heard it argued before that we should keep the program very simple.
My answer there is that a simple program can only produce a simple lifeform with an extremely limited range of possible interactions with its universe.

A behaviour simply cannot develop unless the universe in which the bots live, allow it as an option.

In the real world, a microbe can evolve a new enzyme that enables it to feed from a new food source. In DarwinBots (or any other computer sim) this is utterly impossible unless the possibility has been specifically allowed for by the program.

How could a multi-celled organism develop muscles unless we specifically program the possibility to do so?

Simple programs are fine if all you want is simplistic and unrealistic sims.
Simple rules are fine provided you want to place artificial limits on what might be achieved.

Num and I are attempting to make everything possible by expanding the possibilities and complexities. Only that way can anything truly complex ever emerge from the gene pool.
With each layer of complexity we add, we lose more of our control over the creatures who inhabit the DB universe. How can that be wrong? It is simply coming closer to reality.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #79 on: October 24, 2005, 12:39:57 PM »
PY ...
I'm sorry ...
it is not about complexity ...
it is about keeping it simple ..
and letting the complexity 'evolve'.

let's look at the results ...
which is really the bottom line.
without going back to 2.21 or before:
do we have a Darwinbots version that actually works ...
one that people can use as an alife/evo sim?
no.
we do not.
 
I'll check back one of these daze and see it anything
has changed.
maybe by version 2.47.b27.fc101 or something.
but I'm not going to hold my breath.
« Last Edit: October 24, 2005, 12:41:31 PM by Griz »
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #80 on: October 24, 2005, 12:45:08 PM »
Again, if you could point to a concrete, single feature PY or I have added...

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #81 on: October 24, 2005, 12:54:39 PM »
Quote
Again, if you could point to a concrete, single feature PY or I have added...
it isn't any one feature Nums ...
it is your philosophy on how evolution works.
it's a basic and fundamental misunderstanding, imo ...
but I also know you are not open to hearing that ..
that you think you have it all figured out.
perhaps you have.
then again? ;)

anyway ...
we will see.
if/when you ever make this work ...
I see it going the wrong way ...
getting farther and farther from being a working program.

ok ...
'nuff said ...
no use beating a dead horse.
it's your project ...
go for it.

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

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #82 on: October 24, 2005, 12:55:37 PM »
Quote
it is not about complexity ...
it is about keeping it simple ..
and letting the complexity 'evolve'.
Complexity CANNOT evolve in a limited, simple system!

The code CANNOT write itself!

Bots in any environment can only do what the environment allows.

Why doesn't anybody get that?  :blink:

Without specific code to allow a robot to reproduce it simply WON'T

If we didn't tell them exactly how fast they could move after sending a movement impulse, based on a complex, realistic set of physical laws, they WOULDN'T move

here is the simplest bit of code you can get...



Let's see you evolve a bot in it.

Nothing happens does it? Because there are no physical laws (or code for that matter)

What? Too simple? See my point?

This is a computer program. Stuff can only happen if it has been specifically programmed to be able to happen.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #83 on: October 24, 2005, 01:03:59 PM »
not at what I am saying ...
we aren't reading from the same page here ...
or even in the same book, PY.
but you are going to see it the way you see it so ...
there's really no point to this.

like I said ...
go for it.

we will see.
« Last Edit: October 24, 2005, 01:05:36 PM by Griz »
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #84 on: October 24, 2005, 01:24:50 PM »
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.  Some of things that went through anyway are examples of this kind of approach, like "poison" and "venom" and "waste".  

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.  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.  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 :)
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #85 on: October 24, 2005, 01:39:36 PM »
Quote
but you are going to see it the way you see it so ...
there's really no point to this.

Of course there is a point.

I want to know what you are talking about.

I seriously have no idea what you are driving at.

I would just like to know how exactly we can have complex behaviour from simple rules. Give me an example.
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 #86 on: October 24, 2005, 01:53:36 PM »
Here is my point of view:

Griz says Darwinbots is headed in the wrong direction.  I disagree.

Griz says that Darwinbots shoudln't try to control bot behavior.  I agree.

Griz says that Darwinbots is headed in the direction of controlled behavior.  I disagree.

Um, there seems to be a logical inconsistancy somewhere.  One of my postulates is wrong.

The most obvious thing that could be wrong is that the program is indeed controlling the bots, and I am wrong in thinking that it doesn't.

Well then, I ask for proof or some counter-example towards this end.

Or is one of my other postulates wrong?

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #87 on: October 24, 2005, 02:04:31 PM »
I dunno. I want to understand his point of view but I just don't get it. To me, if you exponentially increase the number of possible outomes, assign randomness to those outcomes then you must be exerting less direct control of that outcome

I just don't understand how it can be viewed otherwise and I wish somebody could explain it to me. :wacko:
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #88 on: October 24, 2005, 02:39:04 PM »
I'll try to explain what I think Griz means.  We actually discussed it to death before, but I guess one more time is due:

1.  The biggest problem with DB is limited complexity of environments.  Create more environments and even currently available DNA commands are going to combine and form complex structures.  I completely agree with this.

2.  DNA language has to allow such complex interactions that are impossible to program by humans.  Like the non-deterministic DNA structure - it can create very complex beaviours that are not almost impossible to program, but are even almost impossible to understand by looking at the DNA.  I am not sure I agree with this, as one of the most important reasons for making AL sims is to model (and therefore - understand) complex biological systems.

3.  I'll just give an example: Take "venom".  Why is it bad?  What is the mechanism of its action?  How can you develope resistance to it?  It is just an arbitrary feature that was introduced to model something that people wanted bots to do.  They wanted to have poisonous substances that could be used as weapons and you just added it.  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".  I completely agree with this point, but I'm willing to tolerate some shortcuts.  If metabolism is not possible right now, well.. let's at least have some arbitrary "venom" and "poison".  I am expecting these will simply become obsolete at some point...
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #89 on: October 24, 2005, 02:43:49 PM »
I would like to point out at this point that I wasn't around for the creation of Venom, Poison, Waste, Shell, Slime, Ties, Shots, Body, or even nrg.

I inherited all that when I started coding.  If I had been around, I would likely have wished them to be done differently, more complexly, but then everyone would do the same task differently as someone else, wouldn't they?