Ulam and von Neumann, 1946 — when you cannot compute the distribution, run the process ten thousand times
In 1946, recovering from illness and playing solitaire, the mathematician Stanisław Ulam wondered what the chances were that a given deal would come out. The combinatorics were hopeless — far too many arrangements. Then the thought: rather than compute it, deal a hundred hands and count how many succeed. He described the idea to John von Neumann and the two of them soon had it running on neutron diffusion at Los Alamos. The code name came from the casino in Monaco, where an uncle of Ulam's used to gamble.
The question it addresses: when a system's distribution of outcomes has no closed form, how do you find out what it looks like? In complex systems that is the norm rather than the exception — thresholds, feedback and path dependence between the inputs and the outcome leave nothing to solve analytically.
There is a harder version too. Some quantities are not properties of a distribution at all but of a path — the probability of going bust along the way, of touching a floor before day 30, of three consecutive failures. Those cannot be computed even from a known distribution, because they ask how the process travelled rather than where it ended. Simulation answers them directly, since travelling is exactly what it does.
Ensemble simulation is the same idea worn differently: one model, run repeatedly from slightly different initial conditions and parameters, producing a bundle of futures. Ensemble weather forecasting works exactly this way — the uncertainty comes from sensitive dependence on initial conditions, so a bundle of trajectories is more honest than a single one. What both share: a crowd of samples in place of one answer.
Take a situation everyone has met: a project of five sequential tasks, each "most likely" taking 5 days, each able to run long (rarely early, occasionally very late). Add the five most-likely values and you get 25 days — the schedule almost anybody would commit to.
Run it twenty thousand times and this is what is actually there:
The median is 30 days and the 90th percentile is 36. 25 days is not the average case; it is the lucky case. The reason is plain once seen: delay is right-skewed (a task can run very long but rarely finishes very early), and five skewed tasks do not cancel each other out, they add. Intuition has almost no chance with this. One simulation shows it immediately.
Two other regularities show up every time. Convergence is slow and has a fixed rhythm: accuracy improves roughly as 1/√N, so halving the error costs four times the runs. And tails are far more expensive than middles: a few hundred runs pin down a median, while a 99.9th percentile needs orders of magnitude more — the tail is the rarest part of the sample and simulation does not manufacture extra copies of it.
Strictly it explains nothing. It is a machine for translating assumptions into consequences. Its value is threefold:
It returns a distribution instead of a point. Schedules, capacity plans, budgets — anywhere a single number gets promised, the promise can become a percentile ("90% confident of delivery within 36 days"), and that sentence can only be said by someone who ran it.
It computes path properties. Probability of ruin, of touching a floor, of at least one occurrence within a year — none of these come out of an expected-value formula, and they are usually the variables the decision actually turns on.
It makes uncertainty portable. Ensemble weather forecasting (the ECMWF runs dozens of members), option pricing, engineering reliability, particle transport, supply-chain break analysis — all the same loop. Their shared predicament: the mechanism is clear, the analytic solution is absent, and the tail is what matters.