There Is No “Why” in the World#2
Probabilistic Causation in a Simulation
Let us consider a casino slot machine. The developer who designed the machine set the probability of getting 777 to 1%. One user expected that if he spun the slot machine 100 times, he would get 777 once. So he spun it 100 times. However, it did not appear even once. He went to the developer and complained.
“If the probability is 1%, shouldn’t it appear once in 100 spins? Why didn’t it appear?”
The developer replied:
“A probability of 1% does not mean it must appear once in exactly 100 spins. That is just an average. As the number of trials increases, the results get closer to the probability. With only 100 trials the deviation can be quite large. If you spin it about 1000 times, the result will converge to around ten occurrences.”
The explanation sounded plausible to the user. So he decided to try 1000 spins. But surprisingly, even after 1000 spins, 777 did not appear once.
“I spun it 1000 times and it still did not appear even once. What on earth is going on?”
The user became curious about the principle by which 777 appeared with a probability of 1%. He decided to analyze how the code was written. When he examined it, he discovered something unexpected. The developer had divided one second into 1000 parts. If the action occurred between 0 milliseconds and 9 milliseconds, 777 would appear. If it occurred between 10 milliseconds and 999 milliseconds, it would not.
However, this slot machine had a strange structure. Each game took 10 seconds to complete. If the player repeatedly pressed the play-again button before the game ended, the input was queued. As a result, it became possible to start the next game exactly every 10 seconds.
Therefore, if the user started playing continuously from 00:00:00.015 and played 1000 games in succession, he would never hit 777 even once.
Fortunately, because this was a deliberately implemented model, the flaw could be identified immediately. But how can we understand the underlying principle in a model that has not been implemented?
Usually, one would try the following.
Repeat the same action many times.
Record what kind of pattern appears in the results.
Construct a hypothesis that explains that pattern.
This is a very crude and fragile method. Each of these steps has serious vulnerabilities.
Repeat the same action many times. Was it really the same action?
Record what kind of pattern appears in the results. Would that recorded pattern look the same to everyone else?
Construct a hypothesis that explains the pattern. Did that explanation truly describe the underlying principle? And even if it did, was the explanation transmitted accurately?
In the end, in a world where the code is invisible to us, all we can do is observe repeated events and infer some principle behind them.
But what is it that we are actually seeing?
Are we seeing merely the repetition of events, or the necessity that makes those events occur?








