I have made some progress in the project that I have been talking about in the last posts, but it has also taken a lot more effort then I initially thought it would. Although I am enjoying very much doing new exciting research in to all of those things, the extra effort has made me realise that I should step back from this project and get back to the more practical aspects of writing my thesis, at least for a while until things disentangle in my head.
Before I move away from this I will make a couple of notes on the fronts that I am leaving open:
0. Evolve agents on two tasks: (a) pure thermotaxis on a simple two thermal-peak 1D environment and (b) thermotaxis as well as variety of behaviours in the same scenario. This has been quite easy, but I only realised recently how much precision I would have to add to the time-step of integration. Given that I am selecting for systems to be sensitive to initial conditions, I am more or less selecting for instabilities, and if they are more easily found in time-integration errors than in internal dynamics, then artificial evolution will not be kind to me. I usually use a time-step of integration of 0.1 – an order of magnitude smaller than the smallest time-constant allowed. I have had to make the time-step of integration yet an order of magnitude smaller: 0.01 – making evolution very very slow. I have also been trying some experiments where the first 1000 generations are evolved with a 0.1 time-step and then the last 100 generations with 0.01.
1. Reactivity measure and comparison between agents evolved for the two different tasks. I’ll update on this part later.
2. Analysis of the internal dynamics of a best agent that performs task (b). This has been the most interesting part so far. Because the system is non-autonomous, I have been looking at the set of different dynamics that the agent has when the temperature (environment) is fixed and how they change from colder to hotter. For the same agent I have seen how some phase-portraits go from simple periodic orbits, to something that looks awfully close to strange attractors, back to simple cycles. Most interestingly, the most chaotic-looking orbits happen near the more important decision-making regions: the valley between the two thermal peaks.
3. Measuring chaos. I have been reading and implementing several different measures for how chaotic a system is. The goal is to input a CTRNN with certain parameters and generate an index of how divergent and sensitive it is. Although I keep hearing from everybody how easy this should be, I have run into a number of problems. In fact, this has taken me the last 4 days entirely. I have focused on implementing an algorithm to calculate the maximum Lyapunov exponent. The problem here has been mainly to make the technique as automated as possible so that I can generate the measure as I vary one of the parameters (i.e. temperature). But each system can have multiple attractors, with orbits of different periods, and so on, and this generates some trouble for the more manually tunable parameters of the measures that I have been looking at.
I think it probably hasn’t been as bad as I am putting it now. I probably have this feeling just because I am tired from working on it intensively these last days – in the middle of having to move offices as well.