Author Topic: 'Gardener' bots for evosims  (Read 5153 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
'Gardener' bots for evosims
« on: April 28, 2006, 03:21:16 PM »
You could use sterile bots that exert selective pressures and maintain your sim in real time

I had an idea of introducing an artificial 'predator' into some of my evosims that culled the weak bots, big berthas and other 'undesirables' so as to push evolution along.

You could even have some that fire energy at 'good' bots

Interesting concept?

Ideas? Possibilities?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
'Gardener' bots for evosims
« Reply #1 on: April 28, 2006, 03:36:33 PM »
You don't even necessarily need to use sterile bots.

Assuming for a moment that scripts were working, you could dump a predator species like DIN or something in the sim for like 200 cycles, then kill off all bots that are descended from DIN.  Do that every few thousand cycles.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
'Gardener' bots for evosims
« Reply #2 on: April 28, 2006, 03:46:05 PM »
... and then reward those that defeated/damaged DIN with a massive boost of energy

I wonder if that would work?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
'Gardener' bots for evosims
« Reply #3 on: April 28, 2006, 03:59:47 PM »
You might not even need to reward bots, so long as you consider running and hiding a viable strategy.

Dead bots are sort of punished after all.

You could do this manually in the current system, it would just take more patience than anyone I know has.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
'Gardener' bots for evosims
« Reply #4 on: April 28, 2006, 04:06:07 PM »
Quote from: Numsgil
could do this manually in the current system, it would just take more patience than anyone I know has.
I think a better way would be to program your own bots that automatically 'back off' when they're causing too much carnage and don't mutate

I haven't actually tried this yet but I would have them:
  • Kill weak bots
  • Kill fixed bots (ie. big berthas)
  • Harass everyone
At the moment they're more flexible than scripts

They can provide a selection pressure that you can control

I'll see about programming one ...
« Last Edit: April 28, 2006, 04:06:17 PM by Elite »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
'Gardener' bots for evosims
« Reply #5 on: April 28, 2006, 04:11:35 PM »
Having them not mutate is a good idea.

Could be as simple as making one of the top bots hibernate 9/10ths of their life.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
'Gardener' bots for evosims
« Reply #6 on: April 28, 2006, 04:16:44 PM »
Quote from: Numsgil
Could be as simple as making one of the top bots hibernate 9/10ths of their life.

Oooooh, yeah, that would come in handy  

But have them wake if attacked

The 'countdown' until sleep again
« Last Edit: April 28, 2006, 04:17:18 PM by Elite »

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
'Gardener' bots for evosims
« Reply #7 on: April 28, 2006, 04:45:21 PM »
Vegs store 86 in .out1
Doesn't use hibernation yet, just exerts a constant selective pressure

' Gardener

' Exerts a selection pressure
' on evolving bots

cond
*.eye5 0 >
*.refeye *.myeye !=
*.in1 86 !=
start
*.refvelup 40 add .up store
*.refxpos *.refypos angle .setaim *.robage sgn mult store
stop

cond
*.eye5 50 >
*.refeye *.myeye !=
*.in1 86 !=
start
-1 .shoot store
*.refxpos *.refypos angle .setaim *.robage sgn mult store
stop

cond
start
500 *.refnrg 100 div *.refkills 10 mult add *.reffixed 1000 mult sub sub rnd
stop
cond
0 =
*.eye5 0 >
start
628 .aimdx store
stop

cond
*.eye5 0 =
*.refeye *.myeye = or
*.in1 86 = or
start
5 .up store
stop

cond
start
50 rnd
stop
cond
0 =
*.eye5 0 =
*.refeye *.myeye = or
*.in1 86 = or
start
628 rnd 314 sub .aimdx store
stop

end

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
'Gardener' bots for evosims
« Reply #8 on: April 28, 2006, 05:04:16 PM »
I would make the gardner bots cannibalistic for two reasons:

1.  Self limiting population, meaning you could maybe let them reproduce.

2.  the refeye = myeye is going to be the first thing the bots you're gardening will learn to avoid, somewhat spoiling the experiment.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
'Gardener' bots for evosims
« Reply #9 on: April 28, 2006, 05:14:27 PM »
How about multiple conspec recognition systems?

In my last gardenerbot I tried giving each 'farmed' bot a 'fitness score' and killing off the lowest ranked ones. The higher the 'fitness score', the higher the chance of the gardenerbot leaving it alone.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
'Gardener' bots for evosims
« Reply #10 on: April 28, 2006, 06:33:13 PM »
Whatever floats your bot