Firing Squad Synchronization, Computer Science’s Most Macabre-Sounding Problem

EAI PACE TR-48 Analog Computer. Mat Chan/flickr
EAI PACE TR-48 Analog Computer. Mat Chan/flickr
You’d think that the question of how to get everyone in a firing squad line to fire at the same time is best left to states desperate to keep capital punishment going without lethal injection drugs, but it might be a surprise to find that the question was also studied in the early days of computer science.


Of course, in a world where something called the “prisoner’s dilemma” is invoked for social sciences and economics, bizarre or macabre-sounding thought problems pop up with some regularity. But man, the firing squad synchronization problem has got to be one of the bleakest.

To get a better grasp on the problem, the solution, and why it was ever a problem to begin with, I called up Darin Goldstein, a computer science professor in California State University Long Beach’s computer science and computer engineering school, who has published papers on the problem, and remains in thrall of the problem’s elegance.

He described the firing squad synchronization problem like this: Imagine a firing squad, all standing in a line, with a general on one end, who needs to tell the squad when to all shoot their guns at once. Firing at the same time was paramount for execution squads, so that no one would know who fired the fatal shot. This notion was so important thatat some points in history, some bullets would be substituted with blanks, and the riflemen wouldn’t even know which they were firing.

read more