> In 1986 Craig Reynolds encoded this insight as three rules:
This part just left a really bad taste in my mouth. I am not against using LLMs to write stuff but please proof read what it writes before posting it.
The way it's written it's sounds like Craig Renault travelled in time to 2010 to come up with his rules for boids
I can't even call this LLM smell at this point it's a stench.
- the writing always feels self-important. I would feel a lot more receptive if I perceived that the writer came from a place of humility
- like you pointed out, overuse of writing techniques that work best if used sparingly. Sentence fragments can be effective for emphasizing a point, but if you use it in every. Single. paragraph, the effect is gone. It’s very amateurish.
Ecto, I see that you’re reading and responding to comments. In your own words, concisely, and assuming I know what what boids are: what sets this apart?
Aside from "look ma, machine learning!" I noticed exactly one thing that sets your implementation aside from any other example I've seen before. It seems quite odd to me that you didn't select either neural networks or that feature for this answer.
Also the performance analysis section contains several questionable claims.
[0] https://dawn.googlesource.com/dawn/+/refs/heads/main/src/daw...
There’s a saying, “people are smart but crowds are dumb”. One wonders if humans in crowds subconsciously do something like flocking.
That said, failure likely looks quite a bit different. For both fish and birds there's nothing at the edges constraining the cluster aside from unusual situations such as a net or a cave. Whereas the most notable human failures involve what amount to walls on multiple sides.
It's amusing to visualize a flock of birds failing to maintain distance and all falling out of the sky as a result.
There's also an additional big difference: on the ground, you always have a hard body (the ground) constraining you.
I see no reason to expect additional dimensions to make a fundamental difference here. This isn't a complex topological problem involving the constraints of graph connectivity. It comes down to nothing more than immediately available space, maintaining it as a group and making use of it as an individual.
Consider a tightly packed group of runners. If someone in the center goes down they'll likely be trampled and it's also likely to cause a mass pileup.
If birds were prone to that you'd expect the occasional collision at the center of a dense flock and a bunch of birds falling out of the sky as a direct result. Yet I've never once heard of that. The simple and obvious hypothesis is that they are hardwired for group navigation in a way that the vast majority of other animals aren't.
If you're having trouble seeing the point I'm trying to make here then try swapping out the example with runners for one with a fleet of planes. A swarm of hundreds of modern fighter jets in a dense 3D formation actively maneuvering in randomized arcs without any sort of pre-planning or rehearsal. If something went wrong can you really imagine all of the pilots successfully avoiding collision every single time? The birds around here put on shows like that multiple times every day.
This isn't about complex topological problems, it's about the square-cube law. In a 3d environment, the direction of movement of any individual covers a much smaller portion of their possible movement directions. This means it's much easier to form a "wave" in 2d, and this wave covers a much larger portion of their potential movement options.
Doesn't this obviously mean a 3d crowd is much less likely to crush an individual? And even if we're only talking about bird-on-bird collisions, head-on collisions make up a much smaller portion of all possible movement vectors.
Regarding your plane example - birds don't explode upon most collisions, and I'd assume they can easily recover from many angles a plane couldn't.
Number of adjacent bins versus fraction of unoccupied bins. The latter is what matters (ie density). Plus the physical and mental ability to rapidly and accurately select and maneuver into one of them. Plus (and this is really the crux of the thing) some sort of hardcoded behavior that makes the risk of conflicting independent choices vanishingly small.
A concrete example of that last part is TCAS. [0] That's what birds seem to have built in that other animals lack.
> it's much easier to form a "wave" in 2d, and this wave covers a much larger portion of their potential movement options
Not true. Waves in a 3D medium are themselves 3D. Go check out a fluid dynamics simulation.
I think what you might be trying to get at is dissipation within a volume. Cubed versus squared. But that's not the issue here. Dense pockets will occur from time to time in such a system regardless of dimensionality. The question is collision frequency for a given density. Birds are ~0 whereas humans (and most other animals) are really quite bad.
> birds don't explode upon most collisions
It's a fair point (and humorous) however irrelevant because my entire point there is that I've never seen birds collide to begin with. Even if they did explode it wouldn't matter.
Note that unlike human pilots autonomous aircraft are capable of forming dense swarms without colliding. (At least assuming the software was designed with that in mind.)
[0] https://en.wikipedia.org/wiki/Traffic_collision_avoidance_sy...
In fact even your objection about visible gaps serves as a case in point. A flock of hundreds of thousands of starlings somehow avoids such dangerous densities even in the face of transient "pressure" waves traveling through it. Meanwhile human groups appear to willingly form such densities without thinking twice. Sounds like a hardcoded behavior to me.
If you really want an example with more density then consider schools of fish. Of course unlike birds it's not so easy for most people to observe fish. I don't actually know for certain that they never collide or get injured by being crushed. I seriously doubt it though.
Maybe there’d be bird stampedes too, if they didn’t have wings ;)
But this isn't actually recreating murmurations, is it? This is a neural network that's using the Reynolds criteria as a loss function, with Cavagna's topological neighbors?
As far as I know, there's no good research that reproduces the murmations seen in starling flocks. This seems like it would be a good use case for neural networks but I don't know of any publicly available 3d data of actual starling flocks, aside from some random YouTube videos floating around.
As long as the birds can't change direction too quickly (e.g. output acceleration, not velocity) I'd guess you get flocking.
> it’s not communication. It’s physics.
Dude, if you’re going to go to all the trouble to make something cool why don’t you take like 20 minutes to write in your own voice about it! I’m so tired of reading robot slop.
> Each bird tracks about 6-7 neighbors. Not the closest by distance, but the closest by rank. Bird number 1 through 7, sorted by proximity.
I mean, it sounds like it is exactly the 7 closest birds by distance?