Visit Paul's websites:
From Computing to Computational Thinking (computize.org)
Becoming a Computational Thinker: Success in the Digital Age (computize.org/CTer)
We say modern computers are universal machines. That is because a computer can do almost anything as long as a program can be written for it. Here we will focus on using computers to imitate reality through simulation. Computer simulation is a technique that uses computing to build models that mimic or imitate real-life systems in order to investigate, study, understand, gain experience, or otherwise deal with those systems.
Computer simulation has many applications including pilot training, space exploration, weather forecasting, oil/gas production, healthcare, video gaming, creating virtual reality (VR) and much more. An understanding of computer simulation enriches computational thinking (CT) and makes you a better computational thinker.
According to Oxford Languages simulation is defined as “imitation of a situation or process” or “the action of pretending; deception”. In this article it takes the imitation meaning.
In simple terms, computer simulation refers to creating a computer-based representation of a real-world system or situation. It involves building a computational model, a virtual version of a certain real system, to simulate it and understand how it works or behaves, predict outcomes, or test different scenarios without actually doing it in the physical world. The latter alternative can be too expensive, hard to control, dangerous, or downright impossible.
Think of it like playing a video game or using a flight simulator. In a video game, you control characters or objects in a virtual world that mimics reality. Similarly, a flight simulator allows pilots to practice flying in a realistic virtual environment. These are typical examples where computer models are used to simulate the behavior of characters, objects, or systems based on certain rules such as geometry, physics, chemistry, biology, mathematics, logic and so on.
Figure 1 shows a computer simulation of a pool or billiards game. As you can imagine, a model involving the table, balls, and cues as interacting objects must be created. Their behaviors must obey rules governed by mechanics, physics, and geometry. Thus, the pool game model needs to simulate ball speed, momentum, spin, collisions (between balls and with table sides), angles of incidence and reflection, surface friction and so on. Needless to say, a realistic visual display from multiple viewing angles and perspectives must also be provided. Thus, a pool game simulation is much more complicated than simple computer games such as Pac-Man or Angry Birds. Yet, as far as computer simulations go, it is quite simple and straight-forward.
Obviously, a simulation is usually created for specific purposes and has well-defined goals. A combination of hardware, software, and user interface techniques are used to achieve the desired simulation which can collect data and have a mutual reinforcement and feedback relationship with the target real-world system or application.
In addition to billiards, simulations have been used for many different sports for both gaming and training purposes.
Figure 2 shows a baseball simulation. Gaming and sports are just two areas. In fact, computer simulation has wide applicability and is even indispensable in certain situations. Let’s list some example applications:
These examples highlight the wide range of applications where simula- tions have proven to be valuable tools for training, understanding complex systems, optimizing processes, and making informed decisions.
Simulations are indispensable in various situations where other alternatives may be impractical, too costly, dangerous, or simply infeasible. Here are a few situations and reasons where simulation becomes the preferred or only viable option:
In all these situations, simulations offer a controlled and efficient means to gain insights, make informed decisions, and enhance safety without the limitations or risks associated with real-world experimentation. As simula- tion technologies continue to advance, their applications are likely to expand, further revolutionizing industries and problem-solving approaches.
Simulation Methods
Having an idea of computer simulation, its applications and importance, we now turn our attention to “how to do simulations”.
First of all, there are several major simulation methods. Depending on the type and purposes of the desired simulation, an appropriate method can be chosen. Here’s an overview of the major simulation methods:
There are other methods. Each simulation method offers unique advantages and is best suited for particular types of problems. The choice of simulation method depends on the characteristics of the system being modeled, the level of detail required, and the available data and resources. Often, a combination of simulation methods may be used to capture different aspects of a complex system or to address specific modeling requirements.
The heart of any simulation is modeling. Building accurate and efficient models is critical. Creating a simulation model involves several important steps and considerations to ensure its accuracy, reliability, and effectiveness. Here are the essential keys to building simulation models:
Creating a good, efficient and effective computer simulation combines method selection and great modeling. Clearly, it requires computing and application domain experts to cooperate closely. Such cross-disciplinary collaboration also needs enough understanding by one side of the other side, yet another reason why CT is important in all areas.
Computer simulations offer numerous advantages, including risk reduction, cost-effectiveness, time efficiency, flexibility, visualization, reproducibility, scalability, and educational benefits.
These advantages make simulations powerful tools for understanding complex systems, optimizing designs, making informed decisions, and driving innovation in various fields.
At the same time, computer simulation also has drawbacks and limitations. After all, simulated results are not real-world results and computer programs can have bugs or other problems. Overreliance on simulations without careful testing and validation is to be avoided. Here is an example. The Tacoma Narrows Bridge, also known as “Galloping Gertie”, was a suspension bridge in Washington state, USA. It collapsed on November 7, 1940, just a few months after its completion, due to a phenomenon known as aeroelastic flutter.
The bridge’s deck began oscillating violently under the influence of wind, leading to its collapse (Figure 7). Miraculously, no people died.
The design of the bridge did not account for aeroelastic effects, such as wind-induced vibrations. The design team relied on wind tunnel tests and simulations, but these did not accurately capture the behavior of the bridge under specific wind conditions. As a result, the bridge’s oscillations were not adequately considered, leading to its failure.
Generally, to ensure the reliability and usefulness of simulations, best practices include conducting sensitivity analyses, validating models against real-world data, involving domain experts, transparently documenting assumptions, and consistently reviewing and updating the simulation methodology.
Before we end this article, we must say a few words about Virtual Reality
(VR) and its relation with computer simulation.
The purpose of VR is to create a computer-generated, interactive, and three-dimensional environment that immerses users in a virtual world. This sense of immersion and presence is a key characteristic of VR, and it requires the use of 3D simulation techniques to render the virtual environment and objects in three dimensions (Figure 8).
Thus, achieving VR typically involves the following steps:
By combining 3D simulation, motion tracking, and interactive elements, VR technology can create a seamless and immersive experience for users, enabling them to feel like they are physically present in a computer-generated environment. 3D simulation is at the core of creating these rich and interactive virtual worlds in Virtual Reality.
Computer simulation uses a computer-based artificial model to mimic a real-life system or process in order to investigate, understand, and/or improve the real system.
Thus, using the power of computation and clever simulations we can model real systems with virtual ones, making computer simulation a valuable, often indispensable, tool. Building such tools requires collaboration and cross-disciplinary knowledge.
When solving problems in the real world, it is natural to seek real-world solutions and use real-world methods. However, computers and computation offer a virtual alternative which in many cases can be advantageous, effective, and efficient. Thus,
CT concept–Keep computer simulation in mind: When solving problems or achieving certain objectives, do not forget simulation as a possible tool that can bring many advantages.
We all, especially computational thinkers, should keep simulation in mind as a powerful problem solving method. The virtual system and real system also form a mutual feedback loop to inform, validate, affect, and improve each other.
ABOUT PAUL
A Ph.D. and faculty member from MIT, Paul Wang (王 士 弘) became a Computer Science professor (Kent State University) in 1981, and served as a Director at the Institute for Computational Mathematics at Kent from 1986 to 2011. He retired in 2012 and is now professor emeritus at Kent State University.
Paul is a leading expert in Symbolic and Algebraic Computation (SAC). He has conducted over forty research projects funded by government and industry, authored many well-regarded Computer Science textbooks, most also translated into foreign languages, and released many software tools. He received the Ohio Governor's Award for University Faculty Entrepreneurship (2001). Paul supervised 14 Ph.D. and over 26 Master-degree students.
His Ph.D. dissertation, advised by Joel Moses, was on Evaluation of Definite Integrals by Symbolic Manipulation. Paul's main research interests include Symbolic and Algebraic Computation (SAC), polynomial factoring and GCD algorithms, automatic code generation, Internet Accessible Mathematical Computation (IAMC), enabling technologies for and classroom delivery of Web-based Mathematics Education (WME), as well as parallel and distributed SAC. Paul has made significant contributions to many parts of the MAXIMA computer algebra system. See these online demos for an experience with MAXIMA.
Paul continues to work jointly with others nationally and internationally in computer science teaching and research, write textbooks, IT consult as sofpower.com, and manage his Web development business webtong.com