New data on Flocking of Starlings
Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play
"Reducing the world to mathematical equations!"
Seems obvious when you think about it though. Most people are not influenced by the whole world as much as they are influenced by their friends.
The problem is that implementing a nearest neighbor / visual range approach to flocking is that it is CPU intensive with many boids. If anyone has a cute way to cut that down, i'd be interested. I've got a long range project that involves this very problem.
Quote:
Original post by leiavoia
i don't think this is anything strikingly new. Most flocking algorithms use a population-average for determining the individual variables. But i did see one demo that uses a nearest neighbor approach to greater effect. Can't remember where it was though.
The 'newness' is that they did not start out with a k-nearest neighbour algorithm and show that this leads to flocking. They took real images of flocks of starlings, inferred the 3D positions and velocities of birds in the flock and then analysed this data to determine a likely hypothesis to explain the data. The result was that they believe the birds to be using a nearest neighbour method to maintain the flock. That's not to say this IS what the birds are doing... only that it is more likely than using metric distance. Certainly nearest neighbour algorithms are nothing new, nor their use on evaluating local behaviours in multi-agent systems. This is a paper linking the toy problems back to nature and in that it is important and novel.
As for the 'bird-friend' question... I doubt that it would be necessary... but it is possible. The old addage of '6 degrees of separation' has been widely studied across a range of disciplines and it always leads back to a basic principle of connectionism in (biological/social/engineered) networks that has been well studied (and certainly well before the results in the wireless network research mentioned previously... but then engineers are well known for not reading material from other fields before they publish their own results! ;) ). My personal feeling is that there would be too many times that a bird would lose track of several of its friends within the flock making it difficult for a bird to evaluate its position and velocity relative to the flock. If a bird brain could only keep track of 7 or so objects then it makes sense that it keeps track of the nearest 7 birds, rather than working out if the nearest 7 birds are also its friends and then having to assess more candidate neighbours. That seems like wasted computation to me and nature is very good and weeding that out.
On a slightly different but related note I'm interested by the result of 7 objects. Research has shown that humans instinctively understand up to 5 distinct objects (in other words, we can automatically detect how many objects are in a group if the number is 5 or less). We can obviously keep track of more than this, but we use higher brain functions to do it, rather than low level automatically encoded recognition techniques. If birds can recognise more instinctively (because I don't believe a bird would want to waste energy using higher brain functions for basic flight navigation), is that a result of them living in flocks that lead them to evolve more specialised brain functionality in this area? Is 5 an important number in terms of human evolution of social structures? Did we evolve to recognise 5 items because of our social behaviours and capabilities, or did these evolve because we can recognise 5 objects (and if so, how would society differ if we could only recognise 2, or 7)? Food for thought! ;)
Cheers,
Timkin
Also, keep in mind that using 7 overall may only entail 3 or 4 or 5 in any one discrete time slice. If part of the "flocking conciousness" portion of the starling, however, involves checking various combinations of neighbors (different sides, for example), those instantaneous 3 or 4 or 5 may overlap to become an average of 7 over any given short interval. There are lots of different ways that the numbers can match up but short of having the Starlings fill out exit polls after a group event, we may never be able to discern the full process.
Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play
"Reducing the world to mathematical equations!"

Video of starlings
(The video is amusing since there are so many of them they actually bend a cedar tree.)
Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play
"Reducing the world to mathematical equations!"
Quote:
Original post by InnocuousFox
I think that you can not equate the idea of "recognition" of objects and simply using them to keep track of spacing, etc.
I disagree on that point. An animal would want to be able to recognise an object to be able to implement the correct behavioural response to it. If it's another of the same species the reaction would be different to that of a predator. Certainly this doesn't mean that it needs to be able to identify individuals... and perhaps that's what you meant!?
Quote:
If we are in a crowd of people, for example, we can instinctively keep our alignment and separation from the people directly around us - which may or may not have anything to do with recognizing a specific 5.
There's been some interesting research in this area relating movement in crowds to thermodynamic principles. It's quite likely that our local interactions are guided toward a local optima for flow velocity in a positive feedback loop... rather than having anything to do with the fact that it's other people we are trying to 'flock' with.
Quote:
Also, keep in mind that using 7 overall may only entail 3 or 4 or 5 in any one discrete time slice.
Quite possibly... although neural systems don't work on time slices (only our imaging systems do). It's certainly possible though that there is some computation spread over a temporal cycle involving polling of individuals... but what reason would you give for the bird then choosing 7 others to poll? Perhaps minimise cycle time while maximising connectivity?
Quote:
There are lots of different ways that the numbers can match up but short of having the Starlings fill out exit polls after a group event, we may never be able to discern the full process.
True... but it might be fun to try and find out.