Upload
lehanh
View
223
Download
0
Embed Size (px)
Citation preview
Chapter 12: Simulation and
Modeling
Invitation to Computer Science,
C++ Version, Third Edition
Invitation to Computer Science, C++ Version, Third Edition 2
Objectives
In this chapter, you will learn about:
� Computational modeling
� Running the model and visualizing results
Invitation to Computer Science, C++ Version, Third Edition 3
Introduction
� Simulation and modeling
� Probably the single most important scientific use
of computing today
� Having an impact on quantitative fields, such as chemistry, biology, medicine, meteorology,
ecology, geography, economics, etc.
Invitation to Computer Science, C++ Version, Third Edition 4
Computational Modeling:
Introduction to Systems and Models
� The scientific method
� Observe the behavior of a system
� Formulate a hypothesis about system behavior
� Design and carry out experiments to prove or disprove the validity of the hypothesis
� Often a model of the system is used
Invitation to Computer Science, C++ Version, Third Edition 5
Introduction to Systems and Models
(continued)
� A model
� An abstraction of the system being studied that
we claim behaves much like the original
� Computer simulation
� A physical system is modeled as a set of mathematical equations and/or algorithmic procedures
Invitation to Computer Science, C++ Version, Third Edition 6
Introduction to Systems and Models
(continued)
� Computer simulation (continued)
� Model is translated into a high-level language and executed on the Von Neumann computer
� Computational models
� Also called simulation models
� Used to:
� Design new systems
� Study and improve the behavior of existing systems
Invitation to Computer Science, C++ Version, Third Edition 7
Introduction to Systems and Models
(continued)
� Computational models (continued)
� Allow the use of an interactive design
methodology (sometimes called computational steering)
� Used in most branches of science and
engineering
Invitation to Computer Science, C++ Version, Third Edition 8
Figure 12.1
Using a Simulation in an
Interactive Design Environment
Invitation to Computer Science, C++ Version, Third Edition 9
Computational Models, Accuracy, and
Errors
� Proper balance between accuracy and
complexity must be achieved
� A model must be both:
� An accurate representation of the physical system
� Simple enough to implement as a program and solve on a computer in a reasonable amount of
time
Invitation to Computer Science, C++ Version, Third Edition 10
� To build a model
� Include important factors that act on the system
� Omit unimportant factors that only make the model harder to build, understand, and solve
Computational Models, Accuracy, and
Errors (continued)
Invitation to Computer Science, C++ Version, Third Edition 11
Computational Models, Accuracy, and
Errors (continued)
� Continuous model
� A set of equations that describe the behavior of a
system as a continuous function of time t
� Models that use statistical approximations
� Needed for systems that cannot be modeled using precise mathematical equations
Invitation to Computer Science, C++ Version, Third Edition 12
An Example of Model Building
� Discrete event simulation
� One of the most popular and widely used techniques for building computer models
� The behavior of a system is modeled only at an explicit and finite set of times
� Only the times when an event takes place are modeled
� Event: an activity that changes the state of the
system
Invitation to Computer Science, C++ Version, Third Edition 13
An Example of Model Building
(continued)
� To process an event
� Change the state of the simulated system in the same way that the actual system would change if
the event had occurred in real life
� Once finished, move to the next event
� When simulation is complete, the program
displays results that characterize the system’s
behavior
Invitation to Computer Science, C++ Version, Third Edition 14
An Example of Model Building
(continued)
� Problem
� You are the owner of a new take-out restaurant,
McBurgers, currently under construction
� You want to determine the proper number of
checkout stations needed
� You decide to build a model of McBurgers to determine the optimal number of servers
Invitation to Computer Science, C++ Version, Third Edition 15
Figure 12.3
System to Be Modeled
Invitation to Computer Science, C++ Version, Third Edition 16
An Example of Model Building
(continued)
� First: identify the events that can change the
system
� A new customer arriving
� An existing customer departing after receiving food and paying
� Next: develop an algorithm for each event
� Should describe exactly what happens to the system when this event occurs
Invitation to Computer Science, C++ Version, Third Edition 17
Figure 12.4
Algorithm for New Customer Arrival
Invitation to Computer Science, C++ Version, Third Edition 18
An Example of Model Building
(continued)
� The algorithm for the new customer arrival event
uses a statistical distribution (Figure 12.5) to
determine the time required to service the
customer
� Can model the statistical distribution of customer
service time using the algorithm in Figure 12.6
Invitation to Computer Science, C++ Version, Third Edition 19
Figure 12.5
Statistical Distribution of Customer Service Time
Invitation to Computer Science, C++ Version, Third Edition 20
Figure 12.6
Algorithm for Generating Random Numbers That Follow the Distribution Given in Figure 12.5
Invitation to Computer Science, C++ Version, Third Edition 21
Figure 12.7
Algorithm for Customer Departure Event
Invitation to Computer Science, C++ Version, Third Edition 22
An Example of Model Building
(continued)
� Must initialize parameters to the model
� Model must collect data that accurately
measures performance of the McBurgers
restaurant
Invitation to Computer Science, C++ Version, Third Edition 23
An Example of Model Building
(continued)
� When simulation is ready, the computer will
� Run the simulation
� Process all M customers
� Print out the results
Invitation to Computer Science, C++ Version, Third Edition 24
Figure 12.8
The Main Algorithm of our Simulation Model
Invitation to Computer Science, C++ Version, Third Edition 25
Running the Model and Visualizing
Results
� Scientific visualization
� Visualizing data in a way that highlights its
important characteristics and simplifies its interpretation
� An important part of computational modeling
� Different from computer graphics
Invitation to Computer Science, C++ Version, Third Edition 26
Running the Model and Visualizing
Results (continued)
� Scientific visualization is concerned with:
� Data extraction: which data values are important to display and which are not
� Data manipulation: convert the data to other forms
or to different units to enhance display
Invitation to Computer Science, C++ Version, Third Edition 27
� Output of a computer model can be represented
visually, such as through:
� A two-dimensional graph
� A three-dimensional image
� Visual representation of data helps identify
important features of the model’s output
Running the Model and Visualizing
Results (continued)
Invitation to Computer Science, C++ Version, Third Edition 28
Figure 12.9
Using a Two-Dimensional Graph to Display Output
Invitation to Computer Science, C++ Version, Third Edition 29
Figure 12.10: Using a Two-Dimensional Graph to Display and
Compare Two Data Values
Invitation to Computer Science, C++ Version, Third Edition 30
Figure 12.11
Three-Dimensional Image of a Region of the Earth’s Surface
Invitation to Computer Science, C++ Version, Third Edition 31
Figure 12.12
Three-Dimensional Model of a Methyl Nitrite Molecule
Invitation to Computer Science, C++ Version, Third Edition 32
Figure 12.13
Visualization of Gas Dispersion
Invitation to Computer Science, C++ Version, Third Edition 33
� Image animation
� One of the most powerful and useful forms of
visualization
� Shows how model’s output changes over time
� Created using many images, each showing
system state at a slightly later point in time
Running the Model and Visualizing
Results (continued)
Invitation to Computer Science, C++ Version, Third Edition 34
Figure 12.14
Use of Animation to Model Ozone Layers in the Atmosphere
Invitation to Computer Science, C++ Version, Third Edition 35
Summary
� A model is an abstraction of a system that
behaves much like the original
� Computer simulation:
� Physical system is modeled using mathematical equations and/or algorithmic procedures
� Model is translated into a high-level language
program and executed
Invitation to Computer Science, C++ Version, Third Edition 36
Summary
� Computational models allow the use of an
interactive design methodology
� Scientific visualization: visualizing data to
highlight its important characteristics and
simplify its interpretation