Start with one firefly. Between flashes, imagine an inner clock filling up. When it reaches the top: blink — then the clock starts again.
The clock is our model — not a tiny dial inside the insect.
A seen flash gives one clock a push. Try it halfway round, then almost full. This practice push is larger so its effect is easy to see.
A pulse can make two clocks flash together. Do they stay together? Start each pair at one shared flash, then let time pass with no more pulses.
Both fields start with 18 clocks in the same positions. Every clock sees every flash. Left clocks tick at one speed. Right clocks have mixed speeds. We watch for 12 normal beats.
Commit your prediction before either field runs.
Which field should hold a shared rhythm more easily under this small-pulse rule?
Watch both fields for 12 beats.
The model behind this run
same starting phases
no delay or noise
mixed: 0.75…1.25
12-beat run
A full clock flashes, resets, and nudges the other clocks.
But real fireflies are more complicated.
What did our ideal model leave out?
Does any tiny nudge always sync any network?
No leader is required when the right interaction lets repeating clocks reshape one another. Always ask: which rule, which connections, how strong, and how much variation?
psst, grown-ups
Model note. This is a deterministic Mirollo–Strogatz-style integrate-and-fire demonstration, not a claim that all firefly species follow one exact algorithm. The 1990 theorem establishes synchronization from almost all initial states for its ideal identical globally pulse-coupled system under suitable assumptions. Biological firefly research instead measures species-specific courtship signals, local visibility, delays, and variability. Exact recipe. Seed 0x5f3759df; 18 clocks per field; dt = 0.001; all-to-all visibility, zero delay and noise; pulse ε = 0.005; equal periods 1.00, mixed periods evenly spaced from 0.75 to 1.25; horizon 12. Between events: φ += dt/T. A received flash adds ε to u(φ) = ln(1 + (e³−1)φ)/3. Reaching u = 1 joins that avalanche, flashes, resets, and sends another pulse. Fired nodes stay reset during that same avalanche. The equal field has five full avalanches by beat 12.