Author Topic: Come join the F1 megaverse!  (Read 66734 times)

Offline asterixx

  • Bot Neophyte
  • *
  • Posts: 48
    • View Profile
Come join the F1 megaverse!
« Reply #120 on: March 29, 2008, 11:19:24 PM »
Quote from: shvarz
Today I have a spike in bot numbers, sim slows down to 0.1-0.3 cycles/sec and all I get are the Time Outs.

≤0.1 cycles/sec occurs mostly when there are 2.5k bots, otherwise the cycles remain around 4/sec. That's for me at least  
« Last Edit: March 31, 2008, 06:02:04 PM by asterixx »
"Tell a man there are 300 billion stars in the universe and he'll believe you.  Tell him a bench has wet paint on it and he'll have to touch it to be sure."

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Come join the F1 megaverse!
« Reply #121 on: April 15, 2008, 04:18:16 AM »
How about we try to run evosims instead in internet mode, starting out with only zerobots or randombots? Wouldn't that be more fun? Different set ups for more selective pressures. Designed bots are boring!

 
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Come join the F1 megaverse!
« Reply #122 on: April 15, 2008, 11:13:43 AM »
Quote from: Testlund
How about we try to run evosims instead in internet mode, starting out with only zerobots or randombots? Wouldn't that be more fun? Different set ups for more selective pressures. Designed bots are boring!
Hmmm..... I don't know about that.  We may have the best of both worlds already without realizing it.

If you look internet mode, the most successful bots are ones which mutate.  A_Supremus has ruled IM for a couple of weeks now.  An inspection of a few individuals shows nearly 300 mutations each.  Bots like Preditor 7 and Flypaper 3.2 had over 1000 mutations at their height.   Mutations provide diversity.   Diversity provides flexibility in the face of challengers and environments.  Many times I've watched the population of the leading bot in IM decline precipitiously following the introduction of a non-mutating hand authorred bot only to recover and wipe the newcomer out after a day or so.

The recent performance improvements and ability to run very large fields have also added a new dimension of environmental diversity I think we have yet to really explore.  My IM sim runs at several cycles per second with a popualtion over 3000 before any costs are applied.  This reduces the ability for bots to effect each other unpredictably through costX spikes.  It's so large that bots teleported in can avoid other species for many hours.  Thus a single sim can support many separate species over time with interactions occurring only at popuatlion boundaries.  Add a bunch of shapes and you have the recipie for a large enough, diverse enough environment that isolated populations can go many many tens of thousands of cycles without coming into direct compitition.  This makes it very difficult for any one species, hand authorred or not, to completly dominate every niche and corner, particularly as we add more sims with more environmental diversity.        

The day is coming when a hand authorred bot will have real problems doing well in IM...
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Come join the F1 megaverse!
« Reply #123 on: April 15, 2008, 11:55:36 AM »
Are you saying larger field sizes will do the job instead of internet mode when it comes to evosims? Several sims connected with different settings could otherwise prevent stagnation. ...maybe.

In any case I agree that we've just begun exploring this, with some new features we didn't have before, so who knows what's the best way to do it?
« Last Edit: April 15, 2008, 11:56:00 AM by Testlund »
The internet is corrupt and controlled by criminally minded people.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Come join the F1 megaverse!
« Reply #124 on: April 15, 2008, 12:57:29 PM »
Quote from: Testlund
Are you saying larger field sizes will do the job instead of internet mode when it comes to evosims? Several sims connected with different settings could otherwise prevent stagnation. ...maybe.
IMHO, most sim settings we have today do not really help create environmental diversity and niches.   Changing the coefficient of friction or y axis gravity or whatever from sim to sim in internet mode or from place to place in a single sim doesn't really do much to encourage organism diversity IMHO.  Not really.   Bot's can't really see or anticipate these settings and the transitions between them are not smooth.   Generally a bot is either adpated to it an environment or it isn't.  Deep oceans and tall peaks are nice, but the interesting stuff happens where you have grandual gradients between environments or even better, lots of different niches int eh same environment   Savannahs that meld into forests, coast lines and tide pools and swamps.   Once in a while the founder effect is important but in general, fish don't compete with mountain goats and thus you don't see organisms from radically different sim conditions survive generally when teleported into other sims in internet mode with radically different sim settings.

I like using shapes for creating environmental diversity because they create the ability for multipel niches in the same environment.  The simple fact of having a shape or two in your sim means that those bots which can distinguish visually between bots and shapes have an advantage if they hang out near a shape.  They can hide in plain sight, using the existance of the shape to confuse a preditor.  Suddenly you have two niches - the roam the open plains niche and the hide aroudn shapes niuche.   They can prey on non-shape aware bots even if they are smaller and inferior while the non-shape aware bots are busy wasting nrg shooting at a wall.  Put a few shapes together and you have physical spaces that can be defended, places to hide, ambush from, places where large bots can't follow or long range eye sight is a disadvantage and so on.  A bot that knows what a shape corner is and how to navigate a quick turn around it can use it to it's advantage to excape an agressor or ambush prey.  Bots can actually hide in shape walls, continually burrowing into the shape, effectively making them invisible.  They can peak out every N cycles to see if there is prey in sight or the preditor is gone.   Add few shapes and suddenly you have dozens of possible niches.

IMHO, environmental diversity is about providing the means for bots to adopt different strategies that work in proximity to other bots with other strategies in the same environment.   You need the physcial artifacts like shapes for this but you also need the geographic space for popualtions to remain isloated for a while so that those strategies can evolve in the first place.  And you if have radically different environments with different physical rules, you need gradual gradients between them.   Both larger fields AND internet mode (combined with shapes) allow all this, but not because they support different sim settings and differenet, seperate environments.  They allow this because they provide population isolation and niche richness of a single environment.
« Last Edit: April 15, 2008, 01:02:20 PM by EricL »
Many beers....

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
Come join the F1 megaverse!
« Reply #125 on: April 15, 2008, 02:11:48 PM »
Quote
Changing the coefficient of friction or y axis gravity......fish don't compete with mountain goats...

I see the connection. A fish swimming through a worm whole ending up falling down a mountain side into the mouth of a waiting goat. Not nice!  

One thing that I see with shapes is that they put bots together into small colonies far away from each other, which could give some interesting results. Otherwise with a very large field size without shapes the bots would be too spread out to interact. Some interaction between bots is likely necessary for the sim to make any progress.
The internet is corrupt and controlled by criminally minded people.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Come join the F1 megaverse!
« Reply #126 on: April 15, 2008, 02:52:08 PM »
IM has been almost not working for me recently. I get one or two bots and then don't get anything for days. I started to turn it off, since all it does is slow down the sim with all this waiting....
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Come join the F1 megaverse!
« Reply #127 on: April 15, 2008, 03:17:02 PM »
Quote from: shvarz
IM has been almost not working for me recently. I get one or two bots and then don't get anything for days. I started to turn it off, since all it does is slow down the sim with all this waiting....
I'm running a really big sim, so my outbound rate is really low since the teleporter is so small relative to the size of the sim.  Bots just don't impact it that often.  I see bots come in from you though...
Many beers....

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Come join the F1 megaverse!
« Reply #128 on: April 15, 2008, 03:22:37 PM »
Speaking of adjusting teleporters for IM: the movement algorithm needs to be adjusted as well: the Brownian motion is OK, but on large sims it means that the teleporter gets stuck in one corner of the sim and does not move away from it for prolonged periods of time. You need to get it moving over long distances now and then
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Come join the F1 megaverse!
« Reply #129 on: April 17, 2008, 07:31:56 PM »
Quick update: My duplo developed "follow the leader" behaviour on their own. At first I thought it was the virus (there used to be one that caused it), but it's not.  Bot DNA is here, pic attached.
Code: [Select]
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 cond
 pyth *.eye3 *.eye5 >
 start
 52 .aimleft store
 stop
''''''''''''''''''''''''  Gene:  1 Ends at position  10  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  2 Begins at position  11  '''''''''''''''''''''''
 cond
 *.eye7 *.eye5 >
 * start
 -52 .aimleft store
 stop
''''''''''''''''''''''''  Gene:  2 Ends at position  20  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  3 Begins at position  21  '''''''''''''''''''''''
 cond
 *.eye1 *.eye5 >

''''''''''''''''''''''''  Gene:  3 Ends at position  24  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  4 Begins at position  25  '''''''''''''''''''''''
 cond
 inc
 104 store
 stop
''''''''''''''''''''''''  Gene:  4 Ends at position  29  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  5 Begins at position  30  '''''''''''''''''''''''
 cond
 *.eye9 *.eye5 >=
 *.eye9 *.eye1 >
 start
 -104 .aimleft store
 and
 >=

''''''''''''''''''''''''  Gene:  5 Ends at position  42  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  6 Begins at position  43  '''''''''''''''''''''''
 cond
 <
 *.eye5 0 stop
''''''''''''''''''''''''  Gene:  6 Ends at position  47  '''''''''''''''''''''''
 >
 *794 9 !=

''''''''''''''''''''''''  Gene:  7 Begins at position  52  '''''''''''''''''''''''
 start
 -1 .shoot store
 stop
''''''''''''''''''''''''  Gene:  7 Ends at position  56  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  8 Begins at position  57  '''''''''''''''''''''''
 cond
 *.eye5 0 >
 *.refeye 13 =
 start
 628 5 <
 stop
''''''''''''''''''''''''  Gene:  8 Ends at position  68  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  9 Begins at position  69  '''''''''''''''''''''''
 cond
 *.nrg 6000 >
 start
 25 .repro store
 628 add stop
''''''''''''''''''''''''  Gene:  9 Ends at position  79  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  10 Begins at position  80  '''''''''''''''''''''''
 cond
 *.eye5 77 =
 *.refaimdx 0 ~=

''''''''''''''''''''''''  Gene:  10 Ends at position  86  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  11 Begins at position  87  '''''''''''''''''''''''
 cond
 .strbody store
 stop
''''''''''''''''''''''''  Gene:  11 Ends at position  90  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  12 Begins at position  91  '''''''''''''''''''''''
 start
 >
 0 *.numties
''''''''''''''''''''''''  Gene:  12 Ends at position  94  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  13 Begins at position  95  '''''''''''''''''''''''
 cond
 |
''''''''''''''''''''''''  Gene:  13 Ends at position  96  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  14 Begins at position  97  '''''''''''''''''''''''
 cond
 *.vel 1 .deltie store
 stop
''''''''''''''''''''''''  Gene:  14 Ends at position  102  '''''''''''''''''''''''
 28 >=
 <

''''''''''''''''''''''''  Gene:  15 Begins at position  106  '''''''''''''''''''''''
 start
 30 *172 sub .up store
 stop
''''''''''''''''''''''''  Gene:  15 Ends at position  112  '''''''''''''''''''''''
 floor swapbool
 =
 =
 0 *.numties
''''''''''''''''''''''''  Gene:  16 Begins at position  119  '''''''''''''''''''''''
 start
 50 .repro store
 stop
''''''''''''''''''''''''  Gene:  16 Ends at position  123  '''''''''''''''''''''''
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Come join the F1 megaverse!
« Reply #130 on: April 17, 2008, 08:01:31 PM »
I even have an idea of why that is beneficial. The food in my sim is very rare, bots have to travel long distances to find it. Walking this way and shooting the person next to you is a way to share the energy along the way. The "head" will die, but the "tail" will survive.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Come join the F1 megaverse!
« Reply #131 on: April 18, 2008, 02:32:09 PM »
What?  No one excited? I thought people would be more enthusiastic about a true "beneficial to group" behavior evolving from scratch....
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Come join the F1 megaverse!
« Reply #132 on: April 18, 2008, 02:49:14 PM »
Quote from: shvarz
What?  No one excited? I thought people would be more enthusiastic about a true "beneficial to group" behavior evolving from scratch....
This is pretty flipping amazing...  Really, this kind of thing leads me to beleive that the reason we don't see faster evolution in general in thigns liek zerobot sims has more to do with us not having all the right elements yet w.r.t. environment, seleciton drivers, etc. than it ibeing some sort of basic limit on how quickly evolution can proceed....
Many beers....

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Come join the F1 megaverse!
« Reply #133 on: April 18, 2008, 03:03:27 PM »
That's more like it!  

By the way, this behavior is still present in my sim, about 30,000 cycles later, which shows that it was not just a fluke. I'm attaching a recent save for anyone interested in running this thing in parallel with me (or just for checking it out).

I have to say Eric that recent improvements to DB performance are really paying off now. I have a huge sim (size 12) with about 1000 bots there on average and it runs at 0.4-5 cycles per second. I don't have exact numbers, but I think a month or so ago it would have run at 0.1-0.2 cycles/sec.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Come join the F1 megaverse!
« Reply #134 on: April 18, 2008, 04:26:04 PM »
Cool, a bot only able to survive as a group in an environment with low food...
Never ran a sim with so litle food, too afraid the sim will just keep dieing out.
I'm thinking it would probably help to have several sims with slightly different setting and different abundance of food, so bots can keep entering tougher environments and have a chance to addapt to them.

I was running a test for a neural network design in a simple small sim with lots of veggies, and the abundance of food had the oposite effect of what you're describing.
You can find the base bot and the evolved bot in the neural network chalenge topic.
It basicly went from a simple neural network with some hand made weights, able to sustain about 50-150 bots that moved around slowly aimed and shot at food.
The evolved bot completely broke the aim and speed related genes, and just went at max speed in one direction while shooting constantly.
This basicly causes fans of bots to form and sweep up all the alge without killing their own too often since everyone is headin int the same direction side by side.
It was sustaining about 1000-1500 bots at that point and had the screen comletely covered in waves of bots.

Anyway the point is it seems that the abundance of food has a lot to say.
Maybe the amount of alge and energy gain could be regulated accoridng to the amount of bots somewhow, to make survival harder if the bots are having an easy time.
But it generaly seems like the best way would just be to have a lot of different environments to get a slow transition between different settings.