(Meta: Some people had warned me about the possibility of the blog “dying” over time.. I am rescuing it with great difficulty, now that I have less free time than when the semester was on.)
(Meta: This post is slightly technical in nature. For one, it is the about the only thing currently on my mind)
It was one of those magical moments in research, when one is trying to solve a problem, and a completely different branch of concepts, sheds insight..
The research problem I am working on, lead me to study what is called Particle Swarm Optimization(PSO). Basically, the solution space is filled with some hypothetical “particles”. In each iteration, we calculate the cost function at the particles’ current positions, and then all particles move some distance towards the one particle which has the least value. It is hoped (but not guaranteed) that along the way, the “swarm” will crawl through most parts of the solution space, and hence, even though the swarm might initially be trying to converge to a local minimum, eventually it will find a global minimum.
The advantage of this technique is that it does not assume any model for the problem or the cost function we are trying to optimize for (In particular, it does not even rely on knowing the analytical expression or form of the cost function). The disadvantage, of course, is that it does not guarantee a solution.
There is a way to trade off part of the advantage to improve chances of a sure solution: Supposing we knew, for instance, that the density of the inflexion points of the cost function (in other words, the sizes of the “valleys”) was less than a certain value.. then we can flood the space with more particles than the necessary threshold, to hope that no local minimum is missed, and hence, the global minimum is not missed, either. (And in fact, really fast convergence becomes possible)
But there is a very different approach, that works by.. change of variables.
By and large, most of us have used change of variables in JEE integration, but only to conveniently change the form of an objective function. Another aspect that we always overlooked, was that it also changes the geometry of the space. And with the right choices, we could get the geometry to be anything we want..
For instance, if we could change the geometry of the solution space from a sphere to a thin torus, we have made it almost a 1D problem, and we have reduced the number of “directions of approach” to the optimum point. now the swarm can actually crawl the whole length of the torus(a wire like object), which was not possible for a sphere (a voluminous object)
A key thing to note, though, is that from within the space, the particles do not know if it’s a torus or a sphere… they just go about hunting the optimal point. Exactly the way we ourselves feel about our universe, I think.
P.S. I had meant this to be a post on swarm intelligence, and had written the title accordingly. But when I started typing, it became something else altogether.
P.P.S. Rate this!