Collective movement is ubiquitous across many fields of science. An oft cited example is bird flocks, but everything from pedestrian movement to movement of droplets in a micro-channel can be viewed through the lens of collective motion. A central theme in collective dynamics is that agents, governed by simple movement rules, give rise to complex phenomena as a group level. For instance, in these mesmerizing flocks of birds and schools of fish, the individual birds or fish are not moving based on some global rule to create these magnificient shapes: the individual organisms in fact have very little global perspective, and are moving based on very simple local rules of motion. The complex patterns and shapes are what scientists call an emergent phenomenon.
In researching collective behaviour, one often has to ask the reverse question: can we observe the movement of a group, and figure out what rules the individuals are following to give rise to these collective phenomena? Indeed, there is a good amount of existing work on this problem. However, it’s worthwhile to ask how much information can actually be recovered by observing the group. Does movement-data of an individual contain enough information to fully identify its intrinsic characteristics? Is it possible to quantify the effect of neighbouring individuals on the movement of an individual?
In a recently published preprint, we (myself and Danny Raj) tackle this question. We explore this in a simplified setting, consisting of two types of individuals (agents). Take a look at the following video. There are blue-coloured agents trying to move towards the left, and red-coloured agents trying to move towards the right. During their movement, they bump into each other, push each other around, and do all sorts of interesting things.
Here are some of the interesting things that the agents can do.
Now suppose we don’t know the agent identities, i.e. which agents are blue and which are red. Can we infer the agent identities just by looking at how they move? Watch the movie below and convince yourselves that this problem is not as easy as you may first think. Since an agent’s movement is affected by interactions with agents around it, inferring its true desired direction of motion is not straightforward.
Here is a straightforward approach: see where the agents are going on average (over a small window of time). Whoever is going right, classify them as blue, and whoever going right, classify them as red (recall that blue agents want to go right and red ones want to go left). Mathematically, this amounts to looking at the horizontal velocity (averaged within a small time-window), and classifying the agent as blue if this velocity is positive and red if it is negative:
: classify as blue.
: classify as red.
This approach kind of works—but not very well, as you can probably guess. Here is a plot of the (window-averaged) velocity over time, for an example blue agent. Notice the regions marked red where the velocity dips below zero? During these times, the agent will misclassified as a red agent.
Can we do better?
An agent gets misclassified when it is moving opposite to its desired direction of motion. This happens only when the agent is being pushed by its neighbours. Thus, if we can somehow quantify the effect of the neighbourhood on an agent, that may be able to improve classification. We can compute a ‘neighbourhood parameter’ that encodes how the neighbourhood of an agent affects its movement. The neighbourhood parameter is computed from the movement information of the neighbours, and captures how the neighbourhood helps or hinders movement. See the manuscript for the full details on how is computed.
The neighbourhood parameter, in a sense, captures the strength and direction of the ‘push’ on an agent by its neighbourhood. If the push is along the agent’s desired direction of motion, it simply facilitates the movement of the agent. On the other hand, if the push is opposite to the agent’s desired direction, the agent will be blocked (or pushed against its will). Therefore, we can identify if an agent is moving by its own volition by comparing $v$ and .
This intuition can give us a new classification criterion:
: classify as blue
: classify as red
The crucial point is that can vary with time, unlike our fixed classification boundary from the earlier classifier. As mentioned before, the gap between and is a measure of how much the agent is moving by its own volition. And sure enough, using results in better improved classification results. Here is the same velocity plot from above, now with both and plotted. The new neighbourhood classifier, which compares and , is able to classify the agent correctly as blue the whole time!
But why care about any of this?
Although the model we discussed is a simplified toy-model, similar dynamics occur on a wide range of real-world systems. Examples include crowded cross-walks and railway platforms, and charged colloidal particles moving under an external force. In the railway platform example for instance, an agent (person) being pushed can have dangerous consequences; so timely identification of individuals being pushed is important. Besides, collective movement is ubiquitous across different areas of science, from animal groups, to droplet assemblies, to crowds of people, to robot swarms. In all these fields, it is common to track the movement of the group to make inferences about individual properties. Our study demonstrates a way to disentangle an individual’s intrinsic motion from the neighbourhood effects on the individual’s movement.
The approach is also attractive because it is ‘data-agnostic’ in a sense. The problem at hand is a classification problem: however, instead of using supervised models to solve it, we use the idea a neighbourhood parameter, which is computed purely from physical insights. An approach like this is attractive in settings where we may not have access to clean, labeled training data beforehand.
There is a lot more detail in the preprint, including details on how the neighbourhood parameter is computed, and a discussion on how the agent properties affect classification performance. Do check it out if you are interested.
Blog-post by Danny, who tells the story of how the work came about: The journey that began in Bombay railway station