Author Topic: Newbie starting a complex simulation  (Read 2407 times)

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 386
    • View Profile
Re: Newbie starting a complex simulation
« Reply #15 on: April 24, 2014, 11:54:14 PM »
i am still working on a way to keep my bots from over evolving and failing the sim. the predator is now the issue. i upped the prey to evolve a bit faster in hopes to keep up with the predator. now testing. without any mutations they work better than i had hoped though. :D.

i just can't keep the virus going very long before it dies out. i may try a very simple virus with a few 0's in it for evolving some though

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Re: Newbie starting a complex simulation
« Reply #16 on: April 25, 2014, 02:23:45 AM »
Viruses will make it a lot harder to follow what changes in the code.
But I have a feeling this guy might not be back anyway.
Still would like to set up that 3 part sim one day. Maybe when I have a faster computer. (Currently on an old laptop)

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 386
    • View Profile
Re: Newbie starting a complex simulation
« Reply #17 on: April 26, 2014, 12:55:26 AM »
well the settings i have on now seem to work fine for me until the bots start going into the 2000's then it starts to go on average of about 3 cycles a sec. but that is only because of predator mutating much faster than the prey so able to get up that high. but then crashes down to below 500 and the prey rise up to 800 right along with predator and the cycle continues. i will try to get a setting that may work for you. how many bots does it have to be before it starts to slow down to unbearable for you?

these are the sets and bots that are final for the kid just in case. i fixed the issue of the crashing of populations but in a very simple way. disabling mutations no longer work to stop evolution from doing its thing. mrepro in all bots. :dry: :D

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Newbie starting a complex simulation
« Reply #18 on: April 28, 2014, 12:50:16 PM »
Hello everyone, been a while.

pieflavor:

Quote
The idea I was trying to accomplish was somehow simulating the natural genetic variation in populations that exists in the real world, and how that can result in selecting for certain robots to survive. Having looked into it further, though, this might be impossible or far too difficult with Darwinbots, but that is ok because of Darwinbots' potential for interesting coevolution simulations that just rely on the DNA.
My original statement wasn't totally clear regarding what specifically I want for the simulation. Basically, I want coevolution in which there is a prey and predator species in an "evolutionary arms race".

If you go to
Code: [Select]
Settings > Global Settings > Evolution > Survival mode settings you will find this is exactly what I am researching as I write this.



Update, using my latest technique robots learned in chronological order:

Code: [Select]
cond
 start
 -1 .shoot store
 10 .up store
 stop
cond
*.body 1500 >
start
50 .repro store
stop
end

1. Modulate there shot energy to avoid eating each other on reproduction.
2. Figure out what is the best attack angle to sweep the screen. (Still did not evolve to turn for efficiency edit: constantly modify there turn angle, just sweep a wrapped screen)
3. Robots are learning to face the same direction quicker and quicker, but still use weird environmental conditions to turn the same direction. (Maybe there is a hidden advantage to move in the opposite direction, can not figure this behavior out yet)
4. Robots finally learned to break there birth-tie as fast as possible. (As expected, they do not see the need to transfer epigenetic information yet)

Code: [Select]
'#generation: 45
'#mutations: 14
 ~=
 xor
 *-368 sin not
 <
 xor
 <
 *-580 sgn dupbool
 store
 dupbool
 *283 *.tout4 cond
 ceil substore
 !~=
 *.refshoot stop
''''''''''''''''''''''''  Gene:  1 Ends at position  21  '''''''''''''''''''''''
 cos substore
 521 275 pow swapbool
 *.eye6 >
 *756 or
 - ceilstore
 dupbool
 dec
 >
 root -163 *-498 rnd ~=
 abs 546 *-565 80 %=
 rndstore
 -396 *-622 -509 else
 dup !%=
 -233 !~=
 *-115 ceil swapbool
 !=
 inc
 447 *46 -94 *-308 or
 stop
''''''''''''''''''''''''  Gene:  2 Ends at position  66  '''''''''''''''''''''''
 stop
 *.tieang4 sgn rnd start
 substore
 - anglecmp -- *-77 ^ 347 -648 ^ *.aimright *0 angle ceil *-778 mod negstore
 dupbool
 -54 *-619 -130 *.tin3 divstore
 & dist .mass divstore
 or
 or
 stop
''''''''''''''''''''''''  Gene:  3 Ends at position  100  '''''''''''''''''''''''
 %=
 logx swapbool
 multstore
 cond
 mod -86 -891 << *-23 *-171
''''''''''''''''''''''''  Gene:  4 Ends at position  111  '''''''''''''''''''''''
 cond
 *170 *671 stop
''''''''''''''''''''''''  Gene:  5 Ends at position  115  '''''''''''''''''''''''
 clearbool
 >> >
 inc
 start
 -337 <
 dec
 mod -- *153 rndstore
 -- ~=

''''''''''''''''''''''''  Gene:  6 Ends at position  129  '''''''''''''''''''''''
 cond
 >=
 stop
''''''''''''''''''''''''  Gene:  7 Ends at position  132  '''''''''''''''''''''''
 25 xor
 swap swap %=
 sqr 374 dup *.myaimdx divstore
 *.trefnrg -187 pyth pyth stop
 anglecmp & and
 negstore
 sqr start
 =
 *115 1124 ~ * over =
 -- add addstore
 ^ !~=
 * <=
 3 div *31 angle =
 *758 swapbool
 false
 -614 ~ divstore
 *-28 >
 sub xor
 >
 *.eye9dir ~=
 ++
''''''''''''''''''''''''  Gene:  8 Ends at position  186  '''''''''''''''''''''''
 cond
 !~=
 -34 -707 stop
''''''''''''''''''''''''  Gene:  9 Ends at position  191  '''''''''''''''''''''''
 !~=
 31 *-264 !~=
 796 stop
 *.focuseye %=
 & sqr logx or
 ~ stop
 rndstore
 stop
 357 -15 ~=
 start
 stop
''''''''''''''''''''''''  Gene:  10 Ends at position  212  '''''''''''''''''''''''
 ^ logx true
 swap *.eye8 dropbool
 start
 sgn substore
 *69 839 150 overbool
 *.eye4 ceilstore
 !%=
 *.sharenrg dec
 swapbool
 *57 logx *.fertilized ceil rndstore
 & ^ mod root -360 *290 -497 *624 swapbool
 rndstore
 <
 2 165 -256 sub dec
 drop ceil false
 -492 -572 !~=
 << sqr | >> sgnstore
 -384 inc
 drop ~=
 <
 - *242 *.shdn not
 false
 << stop
''''''''''''''''''''''''  Gene:  11 Ends at position  275  '''''''''''''''''''''''
 logx *-32 !%=
 inc
 add drop pyth xor
 -843 stop
 78 *.edge swap mult -239 *.shoot pyth xor
 pow sin *69 & store
 *.mydn >=
 =
 start
 logx 512 abs *-867 ceilstore
 !~=
 -1324 >
 *.aimright >=
 dupbool
 sgnstore
 *740
''''''''''''''''''''''''  Gene:  12 Ends at position  315  '''''''''''''''''''''''
 cond
 <
 619 ceilstore
 << start
 120 stop
''''''''''''''''''''''''  Gene:  13 Ends at position  323  '''''''''''''''''''''''
 -676 stop
 *-608 root dist sgn *.tout5 not
 ~ cond
 *-52 -699 *-252 true
 start
 =

''''''''''''''''''''''''  Gene:  14 Ends at position  339  '''''''''''''''''''''''
 cond
 clearbool
 dec

''''''''''''''''''''''''  Gene:  15 Ends at position  342  '''''''''''''''''''''''
 cond
 *.trefvelmydn dist *295 ^ overbool
 ~ - *583 dupbool
 sin *344 *370 over mod swapbool
 *.myaimdx -263
''''''''''''''''''''''''  Gene:  16 Ends at position  360  '''''''''''''''''''''''
 cond
 dupbool
 *174 true
 *79 ~=
 - xor
 dist xor
 839 sqr abs sgnstore
 295 mod *631 439 else
 mult negstore
 anglecmp dup over xor
 *872 *256 sqrstore
 angle stop
''''''''''''''''''''''''  Gene:  17 Ends at position  390  '''''''''''''''''''''''
 *.refpoison -379 start
 -1 .shoot store

''''''''''''''''''''''''  Gene:  18 Ends at position  396  '''''''''''''''''''''''
 cond
 ++ -99 *-588 10 -7 4 abs >=
 xor

''''''''''''''''''''''''  Gene:  19 Ends at position  406  '''''''''''''''''''''''
 cond
 start
 201 sqr 901 -1 .shoot store
 negstore
 *.tielen3 10 *.mydn -263
''''''''''''''''''''''''  Gene:  20 Ends at position  419  '''''''''''''''''''''''
 cond
 *.fixpos *174 true
 floorstore
 else
 %=
 *79 ~=
 sqr 155 sin * abs *-60 >=
 sqrstore
 mod *631 439 mult negstore
 anglecmp -- >
 166
''''''''''''''''''''''''  Gene:  21 Ends at position  445  '''''''''''''''''''''''
 cond
 dup over xor
 *872 *285 sqrstore
 xor
 angle stop
''''''''''''''''''''''''  Gene:  22 Ends at position  455  '''''''''''''''''''''''
 logx -379 start
 0 .shoot store
 *-588 10 1 ^ abs overbool

''''''''''''''''''''''''  Gene:  23 Ends at position  467  '''''''''''''''''''''''
 cond
 start
 901 -1 .shoot store
 negstore
 store
 stop
''''''''''''''''''''''''  Gene:  24 Ends at position  476  '''''''''''''''''''''''
 stop
 *286 1500 *624 clearbool
 -- >
 start
 overbool
 sgnstore
 pyth addstore
 stop
''''''''''''''''''''''''  Gene:  25 Ends at position  489  '''''''''''''''''''''''
 dup .repro store
 store
 stop
 cond
 *.body 1500 >
 start

''''''''''''''''''''''''  Gene:  26 Ends at position  499  '''''''''''''''''''''''
 cond
 *.body 1500 >
 start
 50 .repro store
 stop
''''''''''''''''''''''''  Gene:  27 Ends at position  508  '''''''''''''''''''''''
 addstore
 substore
 *772

All this research is still ungoing. Sorry, Can only post a revision after all work is complete.  :D

Coming soon:

Internet mode enabled ecosystem survival mode!
« Last Edit: April 28, 2014, 01:20:32 PM by Botsareus »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Newbie starting a complex simulation
« Reply #19 on: April 28, 2014, 01:35:49 PM »
One more thing to add:

My predictor/prey cycles look somewhat like this: attached

File generated using Graph Join (TM)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Newbie starting a complex simulation
« Reply #20 on: April 28, 2014, 01:43:13 PM »
[Bump]

Holy sh*t; robots just learned to use multiple attack angles.

90% are still going close to 45 degrees as before
5% are going 5 degrees
5% are going  355 degrees

And this is not a new trait as I was observing the base species.

Offline Shadowgod2

  • Bot Destroyer
  • ***
  • Posts: 386
    • View Profile
Re: Newbie starting a complex simulation
« Reply #21 on: April 29, 2014, 12:04:35 AM »
hey botsareus how have you been? been wandering when you would get back.

i know this isn't what you want to here now but i found 2 new bugs/crashes with shapes and the mutation oscillator. will be in the bug section.

nice evo like to see where it goes. :D

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Newbie starting a complex simulation
« Reply #22 on: April 30, 2014, 11:59:52 AM »
You guys realize this is done in stages and there is no such thing as a 'base robot' right?  >:D

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Newbie starting a complex simulation
« Reply #23 on: May 06, 2014, 01:16:37 PM »
[Bump]

Found and fixed two bugs. One was in the mutation explanations on any changedna more then one unit long. The other one was in the robot save routine, on some genes the first command was being truncated.