Why should I simulate the real world?

This is the root of a tree of questions aimed at programmers and non-technical readers wanting to learn the fundamentals of simulation technology and how it can be useful to the world.

So, why simulate real-world systems at all?

The answer in short: simulations can help us discover better actions to take in our decision-making and interrogate the reasoning behind a decision in ways other predictive AI approaches cannot match.

To understand this answer properly, we can build up our understanding in layers.

State partitions and timesteps give us a way to describe how a system evolves in time; these are the fundamental building blocks.

Probabilistic thinking gives us a way to reason about its possible trajectories without enumerating them.

Objectives and learning algorithms give us a way to fit parameters to data.

Decisions
The simulation is run to support a decision.
Building blocks
Time and state advance one step.
Probabilities
The states have probabilities.
Learning
Parameters are updated using those probabilities.

References and further reading

Box, George E. P. 1976. “Science and Statistics.” Journal of the American Statistical Association 71 (356): 791–99. https://doi.org/10.1080/01621459.1976.10480949.
Cranmer, Kyle, Johann Brehmer, and Gilles Louppe. 2020. “The Frontier of Simulation-Based Inference.” Proceedings of the National Academy of Sciences 117 (48): 30055–62. https://doi.org/10.1073/pnas.1912789117.
Epstein, Joshua M. 2008. “Why Model?” Journal of Artificial Societies and Social Simulation 11 (4): 12. https://www.jasss.org/11/4/12.html.
Hardwick, Robert J. 2022. “Stochadex: A Simulation Engine Written in Go.” GitHub. https://stochadex.github.io/.
Jumper, John et al. 2021. “Highly Accurate Protein Structure Prediction with AlphaFold.” Nature 596: 583–89. https://doi.org/10.1038/s41586-021-03819-2.
Law, Averill M., and W. David Kelton. 2014. Simulation Modeling and Analysis. 5th ed. McGraw-Hill.