Anne Enright. I was slow to read her, I guess because whatever summary I’d seen didn’t stand out, but the execution is so, so good (and much bleaker than I’d expected).
Basic models of flocking behavior are controlled by three simple rules: 1) separation: avoid crowding neighbours (short range repulsion); 2) alignment: steer towards average heading of neighbors; 3) cohesion: steer towards average position of neighbors (long range attraction). With these three simple rules, the flock moves in an extremely realistic way.