#### Overview of this book

Simulation modeling helps you to create digital prototypes of physical models to analyze how they work and predict their performance in the real world. With this comprehensive guide, you'll understand various computational statistical simulations using Python. Starting with the fundamentals of simulation modeling, you'll understand concepts such as randomness and explore data generating processes, resampling methods, and bootstrapping techniques. You'll then cover key algorithms such as Monte Carlo simulations and Markov decision processes, which are used to develop numerical simulation models, and discover how they can be used to solve real-world problems. As you advance, you'll develop simulation models to help you get accurate results and enhance decision-making processes. Using optimization techniques, you'll learn to modify the performance of a model to improve results and make optimal use of resources. The book will guide you in creating a digital prototype using practical use cases for financial engineering, prototyping project management to improve planning, and simulating physical phenomena using neural networks. By the end of this book, you'll have learned how to construct and deploy simulation models of your own to overcome real-world challenges.
Preface
Section 1: Getting Started with Numerical Simulation
Free Chapter
Chapter 1: Introducing Simulation Models
Chapter 2: Understanding Randomness and Random Numbers
Chapter 3: Probability and Data Generation Processes
Section 2: Simulation Modeling Algorithms and Techniques
Chapter 4: Exploring Monte Carlo Simulations
Chapter 5: Simulation-Based Markov Decision Processes
Chapter 6: Resampling Methods
Chapter 7: Using Simulation to Improve and Optimize Systems
Section 3: Real-World Applications
Chapter 8: Using Simulation Models for Financial Engineering
Chapter 9: Simulating Physical Phenomena Using Neural Networks
Chapter 10: Modeling and Simulation for Project Management
Chapter 11: What's Next?
Other Books You May Enjoy

# Summary

In this chapter, we learned how to define stochastic processes and understand the importance of using them to address numerous real-world problems. For instance, the operation of slot machines is based on the generation of random numbers, as are many complex data encryption procedures. Next, we introduced the concepts behind random number generation techniques. We explored the main methods of generating random numbers using practical examples in Python code. The generation of uniform and generic distributions was discussed. We also learned how to perform a uniformity test using the chi-squared method. Finally, we looked at the main functions available in Python for generating random numbers: `random,` `seed,` `uniform,` `randint,` `choice,` and `sample`.

In the next chapter, we will learn the basic concepts of probability theory. Additionally, we will learn how to calculate the probability of an event happening after it has already occurred, and then we will learn how to work with discrete...