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

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #60 on: October 23, 2005, 03:30:26 PM »
I've always felt kind of weird, cause the ALife people accuse me of not making it ALife enough, and the combat sim people accuse me of not making it combat-sim-y enough...

I think the program has a good balance, but then again, I programmed it didn't I.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #61 on: October 23, 2005, 03:42:09 PM »
imo ...
they are separate ideas ...
the combat bots more an AI, top down, be in control of everything ...
and the ALife a bottom up, provide the space/environment  ... let it evolve idea.
don't think they mix well.
不知
~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 #62 on: October 23, 2005, 04:10:40 PM »
I think so far the balance was pretty good.  Slightly skewed to combat, but still giving enough to evo people.
"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 #63 on: October 23, 2005, 04:13:42 PM »
Au contrare mon ami.

I think the two approaches can be mixed perfectly. IMO, most A-Life sims fail because the actual DNA of the bots is way too simple. More complexity gives better realism.

If what you want is for new exciting behaviours to develop quickly then you need simple rules (unlike DB). Then again if that is what you want then realism is not for you anyway.

DB is quite possibly the most complex A-Life sim out there now and it is getting more and more complex all the time.

The ideal is a highly complex system where almost anything is possible. Programming the bots should be simple for easy behaviour but very difficult for extremely complex behaviour. We also need different niches which can be colonized and this is where DB isn't so good yet. (then again nor are the others). I think we will get there eventually though.
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 #64 on: October 23, 2005, 04:38:22 PM »
Quote
Au contrare mon ami.

I think the two approaches can be mixed perfectly. IMO, most A-Life sims fail because the actual DNA of the bots is way too simple. More complexity gives better realism.

If what you want is for new exciting behaviours to develop quickly then you need simple rules (unlike DB). Then again if that is what you want then realism is not for you anyway.

DB is quite possibly the most complex A-Life sim out there now and it is getting more and more complex all the time.

The ideal is a highly complex system where almost anything is possible. Programming the bots should be simple for easy behaviour but very difficult for extremely complex behaviour. We also need different niches which can be colonized and this is where DB isn't so good yet. (then again nor are the others). I think we will get there eventually though.
I couldn't disagree more.
starting from complex is about controlling ...
a top down notion ...
more the 'intellegent design' approach. ;)
evolution is about keeping it simple ...
and 'allowing' complexity to evolve.
very different ideas ...
and easy to see which way DB is going.
THIS is the reason ALife sims fail, btw ...
from folks trying to make them AI things ...
and 'control' the outcomes.
same thing humans try to do to nature ...
but guess what?
ma nature bats last ...
and never strikes out. ;)

but hey ...
it's your program ...
and obviously you guys are going to do what
you want to realize your own vision.

I'm sure it will become a nice physics/bot combat sim ...
but you aren't going to evolve anything.
不知
~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 #65 on: October 23, 2005, 05:18:00 PM »
The basic design philosophy is that the bots are like a giant switch board, like those old fashioned telephone operators.

The DNA is like the telephone operator.

The DNA connects various bits of memory to other various bits of memory.

Each memory bit is simple, as you say Griz, this is sort of the purpose of compelx adaptive systems.

The memory bits are things like xpos, ypos, amount of body, go forward, shoot, etc.  Really basic, basic building blocks.

The potential complexity comes in the fact that the DNA is Turing Complete (I haven't proven this yet but I believe it to be so...  May be some issues with not being able to access it's own operating memory space...)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #66 on: October 23, 2005, 05:28:20 PM »
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.

As far as I can tell, the worst (any generic, not specifically Griz) you can argue is that our priorities are misplaced, that we waste time working on frivelous features instead of working on core features (that you want).

But the core features themselves aren't regressing, and the adding of new features (minus introduced bugs obviously) doesn't hurt the unworked-on older features.

Darwinbots should be an everything-to-everyone platform.  A kind of swiss-army knife of the ALIfe community.  And I see no reason why it shouldn't be just that.  If a feature you want to see implemented hasn't been, a good place to start is to look at the code yourself.

I'm actually working about 50/50 between adding core things (like a diploid DNA in the future, which the current 2.4 DNA reworking was essential for).
« Last Edit: October 23, 2005, 05:30:29 PM by Numsgil »

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #67 on: October 23, 2005, 05:39:34 PM »
OMG, atleast I got one supporter.

I always thought that I was stupid about thinking DB going more into combat that evolution.

Well atleast I haven't left the DB community to it self, I am the invisible stalker of you scared nightmares combat people... ;)

Okay back to reality. Griz you are saying exactly what I had in mind, but never were able to write. Well it is hard to make ALife simulations, it not just something you just sit down and do overnight, or over week. It takes a very long time.

I think for DB, it has lost the ability to evolve truely interesting behavior. Something like a WOW-experince. But on the other hand, it is very good (or could be) at modeling eco-systems, without interference from mutations. Mutations in DB are almost lethal becuase of the highly complex structure of the vitual bot CPU (the bots internal building, the stack and the memory.) and the DNA language. Mullers Rachet what ever you all put into this haven't even been proven in real biological creatures and have only partial been proven in digital organisms.
I could continue, but in short, when you put more complexity into DB (Griz's term, Intelligent Design, uh I love that word ;)) you only make evolution weaker, hard & lesslikely to produce something useful.

I have high regards about the two main figures in DB now -->
PY & Numsgil.
But we all have different tastes and I think you two (PY & NUM, NOT INSULTING!!!! some please) have worked so long for this project (especially PY) that you have become narrowminded.

Were is the GRID everyone has been talking about since the dawn of time?
Were is the metabolism everyone has been talking about since everyonce began talking about the grid?
Were is this and were is that?
Instead we get --> planteaters singularities, smiliy-mode, shapes-mode, electricity (not implemented yet, but who knows), even Num began discussion Relativity Mode, Zelos began a thread about naming DB-units, Distributed Programming the list goes ever on....

I havent been the best my self, but come on, lets begin discussion the details in the grid, metabolism, no longer have an veggies definition, that bots can turn veggies and vice versa.
Or can it be that it will be confusing with all this to the combat sims, and thereby being left out???

And don't give me an answer about porting the code to C, or that it is boring.


....
« Last Edit: October 23, 2005, 06:02:48 PM by Greven »
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #68 on: October 23, 2005, 06:01:54 PM »
Well Num came first...

Oh crap pushed the back button, and swihcehasfjk all my writing were gone!!!!!
Ah I hate that!

But DB as
Quote
A kind of swiss-army knife of the ALIfe community

Well Num, a swiss-army knife is a nice tool. But how often do you use a swiss-army knife to cut down a tree?
or
Build a brigde?

For  a brigde you need two things (atleast):
-Rope & Tree

If you have the rope, you can use the swiss-army knife to cut it in pieces.
But what about the tree. You could cut down a tree, but it will take you a very long time, and then cut the tree out in planks take even longer.

Well you could cheat and buy some prefabricated tree, then it is easy to make a brigde, but you are cheating. Well an axes would actually have been a better tool for making this brigde.

This is what DB does, cheating, gives out the tree, not letting evolution figure out that it would be better to have an axe and cut down a tree.

In short when generalizing, you lose much specialization ( :P ). 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.
« Last Edit: October 23, 2005, 06:06:58 PM by Greven »
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #69 on: October 23, 2005, 09:00:21 PM »
Carlo the main problem (sorry, I am using vb) is: what if you have:

Quote
If cond then
x = x + 1
End If
If cond2 then
y = y + 1
End If
If cond3 then
moo() 'just to make sure there is no 50 , 50 chance possible
End If
If cond4 then
moo() 'just to make sure there is no 50 , 50 chance possible
End If

If the genes are executed at random then we have:

x = 1 y = 20 , or y = 1 x = 20 , or y = 11  x = 5

but to get  x = 10 y = 10 is almost impossible...

otherwise your method works fine...

A possible solution will be to use some Ensteins stuff:

   Calculate the length of each gene of each robot, and execute some robots more times then others , but execute them with  x = x + 0.1 or somthing. The actual cycles will be actualy 10 cycles for some robots, 20 cycles for some robots , and 2 cycles for some robots. But the end result was that each robot increased there x correctly.

   But here I am moving to what Numsgil is already done brainstorming about. And my method seems more cpu hungry then Numsgils anyway...
« Last Edit: October 23, 2005, 10:03:45 PM by Botsareus »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #70 on: October 23, 2005, 09:41:38 PM »
Quote
(bots like the One will never evolve in an evo sim, so there's simply no problem)

I am not too sure about that from time to time...

Quote
In this I am 100% on the side of complexity. It has always been my beleif that DB is WAY to simplistic and I have always argued for adding more complexity to the system.

I hate that idea Num, and I also hate the fact that you are turning DB into a programers dream vedio game. It is an alife sim after all... I only favor complexity when it gives more solutions then problems. solutions in areas like bioevolution are my main prefereance. (sorry)

Quote
5. And, if you believe what Botsareus keeps going on and on and on and on about, "mutations don't work!!!!1111".

Sorry, Scratch that one, I was confused back in my bad english days that "evolution" and "mutation" is the same thing. Mostly back then I was refering to "evolution" not "mutation".



Quote
Mullers Rachet what ever you all put into this haven't even been proven in real biological creatures

Greven, I don't think anyone intentonaly put muller's into db. It just happend that way.

But I am really really interested in knowning why it is not proven in real life yet. I hope you have some explonations of that....
« Last Edit: October 23, 2005, 10:03:07 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #71 on: October 23, 2005, 09:48:10 PM »
Quote
Mutations in DB are almost lethal becuase of the highly complex structure of the vitual bot CPU (the bots internal building, the stack and the memory.) and the DNA language. Mullers Rachet what ever you all put into this haven't even been proven in real biological creatures and have only partial been proven in digital organisms.
I could be misreading you, but I think you have this totally backwards.

Mueller's ratchet is not explicitly programmed into Darwinbots.  It's simply a fact of life for all asexually reproducing creatures.

That is, Darwinbots is subject to Mueller's ratchet because it's an accurate simulation of asexual organisms.  Which is encouraging-- sort of.

Real organisms are indeed influenced by Mueller's Ratchet, wiki it if you don't believe me.  Most organisms, however, have found ways around it through Sexual reproduction and horizontal gene transfer, which the bots are sort of lacking (sexual repro is disabled in 2.4 because the code needed to be rewritten to conform to the new DNA coding mechanisms).

It is true that many mutations are lethal in DB, but guess what!  This is true of real life to!  Alot of your DNA is coding for basic things like converting glucose into pyruvate, etc.  These have not changed much in millions of years because any mutation in these are quite lethal.

I could be missing the mark, but I'd say that you're really complaining that DB models real life too well.  Real life is boring, and real evolution takes a long, long time.

But I've kind of grown attached to real life.  Darwinbots is emulating the rules of real life, trying to capture the same essence.  Evolution sims take alot of patience.  No one expects their E Coli to evolve overnight, and you shouldn't expect the bots to either.  Shvarz has run some very convincing simulations in the millions of cycles, and his bots definately show evolution at work.

Quote
Were is the GRID everyone has been talking about since the dawn of time?
Were is the metabolism everyone has been talking about since everyonce began talking about the grid?

Bogged down in technical details.  Do you realize how much memory it would take to do the grid like how everyone wanted?  Several hundred megs of RAM.  HUNDRED.  And then if DB is ever expanded into 3D...

It's been in the back of my mind, juggling all the pieces.  I think it's starting to coallesce, and the answer is baby steps towards full metabolism and the grid.  Which is what I've been doing.

Quote
Instead we get --> planteaters singularities, smiliy-mode, shapes-mode, electricity (not implemented yet, but who knows), even Num began discussion Relativity Mode, Zelos began a thread about naming DB-units, Distributed Programming the list goes ever on....

Most of those things take no time.  Planet Eaters was a sort of "I'm redesigning the physics engine, I could totally throw this in".  Took me two hours.  That includes debugging.  Smiley mode was PY's thing, and was him practicing with different drawing things you can do in VB to see how practical adding a dimension of shape would be to DB.

For every silly idea that's just fun, I program 2 hugely sophisticated features that aren't self evident.  Redesigning the DNA system is a huge one.  Redesigning mutations to be more in line with natural modes and other ALife programs (like Avida) another.

Those huge things take many, many hours.  Should I break down the time I spend programming so you guys get an idea of how it works?

Quote
I havent been the best my self, but come on, lets begin discussion the details in the grid, metabolism, no longer have an veggies definition, that bots can turn veggies and vice versa.
Or can it be that it will be confusing with all this to the combat sims, and thereby being left out???

That's what that nice little subforum is for.  In suggestions.  It's so important it gets its own subforum.  Don't blame me if no one posts in there.

Quote
And don't give me an answer about porting the code to C, or that it is boring.

Actually, porting it to C has gotten me two other programmers interested in programming.  It's going to be well worth the effort.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #72 on: October 23, 2005, 10:19:33 PM »
Quote
In short when generalizing, you lose much specialization ( :P ). 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...

I think this is where the metaphor breaks down.  They say proof by example is fraud...  In real life, a swiss army knife can't have, say, a jackhammer attachment.  In code, adding new and larger things only increases download size, and sometimes simulation speed.  Simulation speed much more rarely, and download size...  we're already under 2 megs.  So tiny...

Darwinbots is like a swiss army knife with access to hammer space (wiki hammer space if you don't know what it is).

Point to something that is in Darwinbots that specifically precludes the adding of specialization in something else.

I say there is nothing.  Again, you may think our priorities are misplaced, but I dare say at worst we are simply not advancing the program, not making it worse.

Point to another ALife sim that has a Turing complete DNA language (say Avida or Tierra, etc.) that allows for something that Darwinbots can not possibly do.  Again, I say there is nothing.

There are things that they can do that we aren't doing, but only because we haven't programmed them yet!  Their main advantage is speed.  Avida can run thousands of generations in a single hour.

That said, Darwinbots can never be like Darwinpond/Genepool, and have incredibly fast evolution.  Why?  Because Darwinpond/Genepool only mutate maybe 7 variables.  There is no behavior evolution, only technique.  That is, it's an excercise in optimization.

That is something that Darwinbots is not, and something that any Turing Complete DNA language Alife Sim can never do as well as the simpler simulations.  But that's okay, because optimization is only so impressive.
« Last Edit: October 23, 2005, 10:23:55 PM by Numsgil »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #73 on: October 23, 2005, 10:35:14 PM »
Quote
Quote
In this I am 100% on the side of complexity. It has always been my beleif that DB is WAY to simplistic and I have always argued for adding more complexity to the system.

I hate that idea Num, and I also hate the fact that you are turning DB into a programers dream vedio game. It is an alife sim after all... I only favor complexity when it gives more solutions then problems. solutions in areas like bioevolution are my main prefereance. (sorry)
PY said that, not me  <_< I still agree though...

Everyone thinks I am some rogue programmer, but I'm not!  I understand ALife very well.  I understand biology quite well, better than most that aren't involved in it.  And where I don't know something, I ask.  shvarz has been very good at keeping us on track biologically speaking.

If you had any idea how complex even a simple bacteria is...

Darwinbots is simple.  So painfully simple.  Where you see a jungle I see a desert.  I believe I said this before, in this exact same post even.

I will strive each day to make Darwinbots more complex.

I mean this in the proper definition, as apart from Complicated.

I will strive each day to make Darwinbots less complicated and more complex.

edit: Where I said that.
« Last Edit: October 23, 2005, 10:37:24 PM by Numsgil »

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Non-Determinstic Bot DNA flow
« Reply #74 on: October 23, 2005, 10:55:27 PM »
quoting Greven:
Quote
I always thought that I was stupid about thinking DB going more into combat that evolution.
nope ...
unfortunately, I'm afraid you are correct in your
accessment of DB in it's present incarnation.
I'm with Carlo on this ...
his vision of what an alife/evolution sim should be
is right on, imo, and how I envision it as well.
but ...
it doesn't matter ...
it's not going to happen.

and that doesn't matter either ...
it's just a simulation ...
having nothing to do with reality or real  life ...
and of no real importance.
ole ma nature is running her own experiment ...
and in that one ...
we all get to be part of it and contribute to where it goes. ;)
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]