Swim speed not evolving

Here we report bugs in the beta.
User avatar
wapcaplet
Posts: 363
Joined: Thu Dec 08, 2016 9:52 pm

Swim speed not evolving

Post by wapcaplet » Fri Jan 19, 2018 11:28 pm

I have been trying to evolve some smart swimmers in v91, and noticed that flagello swim speed (a x S1 + b) values "a" and "b" are not changed after many hundreds or even thousands of hours of mutation. I do see some random "c" values, but they are unused by my flagellos.

For example I started with a swimmer having flagello with a=1.15 and b=0.17. Using low radiation (0.009) for a few hundred hours, I then checked a bunch of the swimmers. All had a=1.152 and b=0.171 (exactly where they started after toggling off "snap values").

Several other evolved genomes have flagellos still at a=0.329 and b=0.171, after 10,000s of hours. Seems unlikely that not even a 0.001 change would have mutated during that time.

I can share some substrates if needed.
User avatar
ElNico5
Posts: 97
Joined: Wed May 11, 2016 10:05 pm

Re: Swim speed not evolving

Post by ElNico5 » Sat Jan 20, 2018 6:58 am

I tried in hight radiation and still dont change
Writing from a small house in Agmalarkiia
User avatar
Alast
Posts: 2347
Joined: Thu Jul 02, 2015 9:15 am

Re: Swim speed not evolving

Post by Alast » Sat Jan 20, 2018 8:15 am

If you are using a Kite design then the reason could be that any speed mutation in one of the 2 Föagellocytes would cause an asymmetric swim behavior which generally is inferior to symmetric behavior. There could have been such mutation that then just didn't survive.

The chance that both Flagellocyte simultaneously mutate the exact same swim force values is extremely low. I'd suggest to try it with a linear Myocyte swimmer.
Perfection hasnt reached me yet, but its trying hard!
User avatar
ElNico5
Posts: 97
Joined: Wed May 11, 2016 10:05 pm

Re: Swim speed not evolving

Post by ElNico5 » Sat Jan 20, 2018 3:00 pm

Still dont changing Alast
Writing from a small house in Agmalarkiia
User avatar
wapcaplet
Posts: 363
Joined: Thu Dec 08, 2016 9:52 pm

Re: Swim speed not evolving

Post by wapcaplet » Sat Jan 20, 2018 4:48 pm

So far I have only been looking at kite-based (dual-flagello) organisms. I will try experiments with other types to see if it makes a difference. I know when I have evolved kites in the past, I frequently saw the asymmetrical speed behavior. Usually it is non-beneficial, though sometimes when coupled with an asymmetrical flagello angle, it can be useful and persist in the gene pool.

At any rate, this doesn't explain the lack of change in the "b" variable. Surely 0.171 is not the perfect "b" speed for all kites? EDIT: Yes it does: the lack of "b" changes would also be explained by asymmetry, since one side having significantly higher "b" than the other would yield bad turning behavior.

When evolving simple swimmers, using the "Cell diagnostics" tool makes it easier to compare a bunch of different flagello speeds. For example:
  • Speed 0.092 => 0.35 x 10^-21 N
  • Speed 0.248 => 0.96 x 10^-21 N
  • Speed 1.000 => 3.86 x 10^-21 N (maximum)
Evolving simple swimmers (substrate here) with a fixed speed of 0.25 (or 0.248 unsnapped), for a while I did not see any change in speed, but then this one with maximum speed appeared:
flagello-speed.png
flagello-speed.png (17.24 KiB) Viewed 2870 times
After another couple thousand substrate hours of evolution (substrate here) most had developed their swim speed to 0.513 (1.98x10^-21). So fixed speed evolution is working, at least.
Last edited by wapcaplet on Sat Jan 20, 2018 11:35 pm, edited 1 time in total.
Noughtypixy
Posts: 234
Joined: Tue Jan 31, 2017 1:30 pm

Re: Swim speed not evolving

Post by Noughtypixy » Sat Jan 20, 2018 6:13 pm

Just been testing this and also getting no change in values of swim force controlled by input signal, other values such as split ratio are changing.
Testing with prey from Predetor challenge that I edited so a b and c of flagellum are controlled by s1 a and b with 0.300 and 0.011 swapped on side and back flagellum c 0.015 on both.max radiation only point mutations.
beware the pixys
User avatar
wapcaplet
Posts: 363
Joined: Thu Dec 08, 2016 9:52 pm

Re: Swim speed not evolving

Post by wapcaplet » Sun Jan 21, 2018 3:51 am

I've done more experiments with the simple-swimmer and myocyte-smart-swimmer (both using fixed-speed flagellos). For a long time, there will be no change at all to the predominant swim speed of organisms on the plate. Eventually, a mutation causes a beneficial change that is propagated--but each time, it has been a huge, drastic change to the swim speed value, rather than a small change as I would expect.

For example, in the screenshot of cell diagnostics I posted above, speed jumped from 0.25 to 1.00 all at once. This isn't too surprising, since I was using moderately high radiation = 0.030.

But I did another experiment just now, with similar swimmers, and a starting speed of 0.05--barely moving at all. Any increase in swim speed would be an advantage. But radiation at its lowest 0.001 for 5,000h failed to improve swim speed at all. I bumped radiation up to 0.002, and still got no change for several hundred hours. Then, quite suddenly, a genome with more than double the speed (0.102) appeared and spread. Substrate: before, after

With such low radiation, a mutation that doubles an existing value seems pretty extreme. I would expect to see smaller, more incremental changes before reaching such a big change.

One last example comes from evolving a 4-celled myo smart swimmer. Again starting fairly low at 0.09 swim speed, just barely enough for them to move and reproduce, I evolved with fairly low radiation (0.010) for a few thousand hours, keeping an eye on them for any increase in speed. Again nothing happened, until a radical mutation almost quintupled the speed of one swimmer (to 0.440), making it more viable than its brethren, and spreading across the plate in no time. Substrate after speed increase: https://www.dropbox.com/s/uaynpl1mifq99 ... trate?dl=0

The existence of large mutations to swim speed don't surprise me as much as the apparent lack of small mutations. Throughout these experiments, I regularly checked a sampling of swimmers to see if any had changed. With a starting speed of (say) 0.09, I would expect most to stay at 0.09, some to mutate to 0.08, and some to 0.10. Perhaps fewer might be 0.07 or 0.11, and fewer still outside that range. I am not seeing this kind of incremental mutation to swim speed--only large changes, or none at all. Perhaps this is by design, but it would seem to make fine-tuned optimization more difficult.
User avatar
Petter
Site Admin
Posts: 682
Joined: Mon Dec 08, 2014 11:03 pm

Re: Swim speed not evolving

Post by Petter » Mon Jan 22, 2018 12:11 am

I used a normal non-smart swimmer but with a*x+b programmed setting. I set b too low, inserted it at pretty high radiation and within a minute the b value had improve. Perhaps just lucky or there is something different about our ways of testing. Maybe indeed imbalaced settings are very detrimental to smart swimmers?
User avatar
Petter
Site Admin
Posts: 682
Joined: Mon Dec 08, 2014 11:03 pm

Re: Swim speed not evolving

Post by Petter » Mon Jan 22, 2018 12:17 am

@wapcaplet, I see you did the same. For me the change was smaller though. Radiation amount doesn't affect the size of the mutations, only how often they happen. Mutations to these kinds of values happen in several steps, first it is decided if the type, the a, b or c value is change. The type is just the toss of a three sided dice. The a,b,c values first have a coin toss decide if either we shall draw a new value from a uniform random distribution in the whole allowed range, or, if we should draw a new value from a normal distribution centered around the old value with standard deviation 10% of the allowed range (I decreased that to 3% now, though it is hard to know what is a reasonable value and it probably greatly depends on which setting we talk about).
User avatar
wapcaplet
Posts: 363
Joined: Thu Dec 08, 2016 9:52 pm

Re: Swim speed not evolving

Post by wapcaplet » Mon Jan 22, 2018 12:49 am

@Petter Thanks for the explanation. I should have known it was more complicated than expected; maybe there is no bug, just insufficient understanding.

It makes good sense for both kinds of evolution (small increments or large jumps) to be possible, but like you said it's hard to know how small the increment should be, depending on the setting.
Post Reply