Discussion
Noids
titanomachy: > That's the whole mechanism... Local perception. Local action.> 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.
ecto: Thanks for the feedback :)
adammarples: What's the point of training a nnet on outputs from the original 3 rules so it can effectively just relearn them?
kjshsh123: Kinda agree. Training the network with RL instead and penalizing collisions and rewarding collecting something like food would be interesting.
krtab: It's not even only a matter of tone, the content is just.. wrong and incoherent?> 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?
cadamsdotcom: Very cool and I love the visualisations..There’s a saying, “people are smart but crowds are dumb”. One wonders if humans in crowds subconsciously do something like flocking.
catlifeonmars: [delayed]
rdedev: > In 2010, a team led by Andrea Cavagna at the University of Rome tracked individual starlings in 3D using multiple synchronized cameras. And they found something surprising!> 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
ecto: Thanks for the feedback, I flipped the two sections.Sorry about your mouth!
ecto: Thanks I fucked that up! Updated to make the distinction clearer
blademaw: Wow, this post is beautiful. Well done, great read.
maest: Cool idea and explanation, but hampered by the clanker tone of the writing.
ecto: Thanks for the feedback!
ecto: Awesome idea!
brcmthrowaway: Yeah, this is well presented slop.
ecto: Thanks!
delichon: This is an examplar of a science essay in 2026.
jayGlow: based on the article the noida approach has better performance and is able to run on a GPU while the Sterling implementation must run on a cpu.
rdedev: The fact that stampedes happen is evidence against it. At least we are not capable of sticking to some basic rules the birds follow when we are startled
Timon3: I don't think the situations are remotely comparable due to the additional spatial dimension available to birds (and fish). When you have a person on each side, and they get pressed into you with enough force, you have no chance - of course people panic. I'll wager the guess that something like this has never happened to a bird.
fc417fc802: Groups of fish and birds both extend into that "extra" dimension so it's not as though there's additional empty space available to them. Yet both sorts of creature exhibit functional group behavior that coordinates high speed travel while being packed fairly tightly. Humans don't do that.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.
dexwiz: Boids are little lovely simulations. This just looks like a boring force directed graph. I wonder if there is any correlation between the blandness of LLMs and weight based models.
pton_xd: Is this some OpenClaw blogging setup? I've seen similar posts [0] on Twitter lately (not from OpenClaw, but maybe the claw is getting the idea from there).[0] https://x.com/fleetingbits/status/2028669892686438818
ecto: No dude
schlich: Cool stuff! It's an interesting approach to the starling phenomenon. I'm familiar with the phenomenon through the lens of phase transitions and the critical point, which you allude to in the article briefly. Any further thoughts on how your neural-network based approach maps conceptually to the critical point and related models of emergent behavior?
ecto: Fantastic question :) one could extrapolate the possibility space here to see the potential. The interesting core here is the emergent behavior clearly visible in the vizs - what happens when you measure this in higher-dimensional and more connected networks? (What if it’s not noids?) I think this is underexplored in interpretability today
Timon3: I'm not a mathematician, but I've seen many examples of systems where changes to the number of dimensions cause completely different behavior. This feels like such a system to me.There's also an additional big difference: on the ground, you always have a hard body (the ground) constraining you.
friendo_fez: Really great work! I would love to know how this could be extended to handle additional information. Things like walls and other environmental factors, pathfinding, keeping formations, etc.
ecto: Simply expand the observation vector!
fc417fc802: The presence of the ground is equivalent to the absence of a third dimension. Thus irrelevant.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.
Timon3: The presence of the ground is very important because it's a solid body you can get crushed against! The fear of falling down and getting trampled is a major source of panic in bad crowd conditions. That alone makes a big difference.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.
abetusk: This is awesome. I think I've heard of other research that's similar to try and speed up Navier-Stokes or other water/smoke/etc. simulation.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.
jdlshore: I have to second the complaints about LLM writing. The tropes were grating, to the point where I hit the back button before ever learning what the difference between a boid and a noid is.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?
ecto: gpu
fc417fc802: You sure about that answer? Variants of boids have been implemented to leverage the GPU many times. I'm unclear how far typical GPU based examples deviate but then yours doesn't precisely imitate the original either. GPU accelerated boids is even one of the sample programs provided for testing Dawn when you compile it. [0]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...
skolskoly: >Sentence fragment. Sentence fragment. Sentence fragment. That's not X, that's Y.I can't even call this LLM smell at this point it's a stench.