For the last couple of months I have been spending most time working on my thesis. It has been actually very enjoyable, for the most part. There have been some days where it has been somewhat painful. The quick update is that it is going well and that I still hope to submit very soon. As expected, there are many experiments, and tasks, and analysis that I would like to expand into. But I’m going to have to leave it for later. As Inman keeps reminding me, there is no such thing as a finished thesis…
Before I move on to my daily research routine I will first attempt to reflect on the conference. Hopefully this way I can reduce the chances of forgetting it ever happened. I won’t go into much depth but only some of the things I remember most clearly.
Quick note before I begin: it just so happens that as I wrote this post the disk on my G5 died. I don’t think I have lost anything major, as most of it is backed up. Some of the most recent pictures that I have taken may have gone, because I had failed to backup those in some time (a couple of months maybe). I am re-backing up what I have to a third disk to avoid having the just one copy that I have at this instant, and will seriously consider buying another disk to have more backups. On to the original post!
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.
First some good news, the paper analysing the Hebb learning CTRNN without plastic weights got accepted for oral presentation to IEEE Alife in Hawaii. The reviews were not bad either. Inman thinks we should further that work and convert into a journal publication but unfortunately I don’t see that there is time to do so anytime soon. Surprisingly no complaints on the English – I have mostly Peter to thank for that. Thanks! I am actually very much looking forward to going to that conference and getting some feedback on that work.
The plan is that I will dedicate the months from January to September 2007 to writing my thesis. What this means is that all of the ‘new’ ideas that I will be coming up with I will have to write down as best as possible and put to one side for tackling later. Failure to do so will result in either forgetting them or even worst working on them and delaying the thesis-writing process.
There are two important things that I must finish while I write, however. First, the work that I did over the summer in Indiana. That work is close to being finished but I have lacked the time to see through the end of it. The second thing is the workshop for ECAL, if it gets accepted (fingers crossed).
While getting the usual ‘negative shaking of the head’ from the Mac user login as I type my password incorrectly I wondered, why do we not yet have operating systems that we can train by positive and negative reinforcements? A gentle pad on the side of the monitor (in resemblence to the sony aibo with its padding zones on the head that you can use to let it know that it has done something good), or if you are working alone at home then why not activate the voice recognition system and let it know that it has been a “good boy” after it has open the skype software in reaction to your wife writing you an email that she has arrived home and is ready to speak (say you are away doing research abroad).
Ok. So I’m guessing the reinforcement is the easy part. The interesting part is getting the computer to suggest new things such that they can lead to positive reinforcements more often than negative ones. But surely we could learn something from how infants, dogs, etc. do it. Who knows, we could even learn something about learning in real organisms as that gets done.