Author Topic: DB works  (Read 3548 times)

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
DB works
« on: November 10, 2005, 05:33:24 PM »
I think I posted something similar before, but once again we have people going around and complaining that DB does not work or that evolution within DB does not work.

Here is a very basic example showing that both of the above statements are not true.  I am attaching a sim that anyone can load in 2.37.5.  What you'll see there is that T_perseverance adapted to the fact that most food lives on the top.  While the original bot was running around like crazy, the mutant sits right next to the food source and does not move much.  Clear case of adaptation to environment.

Note: Look in the left top corner at the big green-white blob.  The perseverances are also green (they mutated), but they are lighter and smaller than the veggies.

The whole thing took 75000 cycles and about 5 hours of running on my laptop (good machine, but not a powerhorse like some newer desktops can be).  Not a very long sim, is it?  Certainly managable.

Maybe we should "stick" this message and point to it every time we get a new bunch of newbies coming and saying "Nothing works, this whole thing is crap".
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7716
    • View Profile
DB works
« Reply #1 on: November 10, 2005, 05:52:42 PM »
Many, many adaptations I've seen happen in less than 100 000 cycles.  These adaptations seem to be of the "changing when I do X" variety.

For instance, bots always shooting.  Reproducing more often.

Bots learning to do new things,  using -6 shots for feeding when they used -1 shots before, learning to tie feed when they never did before, is what takes much more time to develop.

Just throwing in my 2 cents ;)

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
DB works
« Reply #2 on: November 10, 2005, 07:35:07 PM »
Quote
but you'll have to get many species of bots interacting with one another ...
developing simbiotic relationships with one another and the environment ...
all working together as one organism producing long-lived stable simulations

Well, duh...

You sound like you think you invented this.  While we are trying to achieve exactly these things.  And been working on that for the last 2 years (at least me).

Stating what we need to do and what we can call this program is not a constructive and intelligent post.  Why not suggest a specific change in the current program that would help us move in that direction?  Can't?  Then don't bitch and sound so superior.  It is a very difficult problem.  We are working to solve it.  Whining and name-calling does not help.

And again: Instead of saying that you are about to leave and never leaving, why not just leave?  Oh!  that wouldn't be fun, would it?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7716
    • View Profile
DB works
« Reply #3 on: November 10, 2005, 08:56:19 PM »
Cooperative interaction between bots is a holy grail.  It's hard to find the settings necessary to produce it.

And before anyone goes tirading against the program, remember this:  many cooperative bacterial colonies (in real life), if raised in a pitri dish, quickly lose all cooperative behaviors as cheaters take over.

Within relatively few generations.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
DB works
« Reply #4 on: November 10, 2005, 10:18:01 PM »
Quote
Many, many adaptations I've seen happen in less than 100 000 cycles. These adaptations seem to be of the "changing when I do X" variety.

For instance, bots always shooting. Reproducing more often.

Bots learning to do new things, using -6 shots for feeding when they used -1 shots before, learning to tie feed when they never did before, is what takes much more time to develop.

I agree completly. B) Although there is probably an unconsidered(by us) safety factor to some of these "beneficial" mutations. Tiefeeding is probably dangerous from a bot's perspective since offspring are less likely to escape being fed from.

I personally think their evolution is a combination of random mutations, a bot's internal dna, external enviroment, and bot-bot interactions. I've been trying to analyze these factors more in depth, in hopes of being able to predict ahead of time what could happen in any given scenario.

One thing in my opinion, we need to work towards is making new behaviors easier to develop for the bots. For example, I've seen the bots doing fairly interesting things with the new tieports, so think further progress would definitly help. We may not be able to say exactly how the bots will use these commands, but we can make them easier to be used. :)
« Last Edit: November 10, 2005, 10:21:43 PM by Endy »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7716
    • View Profile
DB works
« Reply #5 on: November 10, 2005, 11:30:28 PM »
Definately, I'll probably redesign the tie interface to be smoother for the C++ source when I get that far.

Some features are somewhat complicated rather than complex, so I'm hoping to delineate them to be easier to evolve without losing their power.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
DB works
« Reply #6 on: January 27, 2006, 05:17:33 PM »
Here's an interesting anecdote about DB evolution:

I was testing a virus that I had been designing to make as deadly as possible. I let it free in a simulation and minimised it to do something else. When I checked a few minutes later, I was surprised to see that the virus hadn't killed off the population yet. Hmm, that's funny ... I took a look at the code and it had evolved into a completely harmless strain! The virus was designed to stay dormant inside it's host and only vshoot and make the bot spin madly when the virus had been in the bot for a specified number of cycles. A host had .repro'd with the virus inside it and the virus had been mutated, damaging it's malicious code. The deadly virus was at a disadvantage and the evolved virus did much better since it didn't kill it's hosts. The deadly strain died out and I was left with a completely harmess one.
- Just like what happens in real life with new viruses. They evolve to be more subtle and less species-wipingly deadly (although that is partly the hosts' immune systems)

Just thought I'd share that story with you  :)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
DB works
« Reply #7 on: January 28, 2006, 07:33:19 PM »
Cool, I love to see when DB mirrors natural evolution. B)

I'd love to see what would happen if viruses could mutate independently of the bots. :)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
DB works
« Reply #8 on: January 29, 2006, 06:22:16 AM »
Yes - viruses mutating on firing - you could do virus evosims  :evil:

BTW, has any bot here evolved viruses (.vshoot and .mkvirus)

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
DB works
« Reply #9 on: January 30, 2006, 02:06:09 AM »
Never seen anything stable. Most of what I have seen was very transitory. :(