Download presentation
1
Chapter 12: Simulation and Modeling
Invitation to Computer Science, Java Version, Third Edition
2
Announcements Read Chapter 12
Invitation to Computer Science, Java Version, Third Edition
3
Objectives In this chapter, you will learn about
Computational modeling Running the model and visualizing results Invitation to Computer Science, Java Version, Third Edition
4
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, and so on Invitation to Computer Science, Java Version, Third Edition
5
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, Java Version, Third Edition
6
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, Java Version, Third Edition
7
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, Java Version, Third Edition
8
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, Java Version, Third Edition
9
Using a Simulation in an Interactive Design Environment
Figure 12.1 Using a Simulation in an Interactive Design Environment Invitation to Computer Science, Java Version, Third Edition
10
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, Java Version, Third Edition
11
Computational Models, Accuracy, and Errors (continued)
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 Invitation to Computer Science, Java Version, Third Edition
12
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, Java Version, Third Edition
13
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, Java Version, Third Edition
14
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, Java Version, Third Edition
15
Example Models Coin Flipping Example Conway’s Game of Life Example
Opening a restaurant Example Invitation to Computer Science, Java Version, Third Edition
16
Conway’s Game of Life Von Neumann wondered if it was possible for a machine to build copies of itself Conway created a simple zero-person game that is a complete von-neumann machine. Game is “played” on a grid Invitation to Computer Science, Java Version, Third Edition
17
Conway’s Game of Life Any live cell with < 2 live
Neighbors dies (loneliness) Any live cell with > 3 live Neighbors dies (overcrowding) Any live cell with 2 or 3 live Neighbors continues living Any empty cell with exactly 3 live neighbors comes alive (birth) Invitation to Computer Science, Java Version, Third Edition
18
Is it Possible? Create an initial condition that does not change from generation to generation? Create an initial condition that oscillates from generation to generation? Create an initial condition that moves through space from generation to generation? Invitation to Computer Science, Java Version, Third Edition
19
What additional Hypotheses?
Will all initial conditions eventually All die out? Reach some stable state (no changes)? Reach some state of oscillation? Is it possible to make an initial state that will grow indefinitely? Is it possible to make an initial state that will create copies of itself? Invitation to Computer Science, Java Version, Third Edition
20
An Example of Model Building (Restaurant)
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, Java Version, Third Edition
21
Figure 12.3 System to Be Modeled
Invitation to Computer Science, Java Version, Third Edition
22
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, Java Version, Third Edition
23
Algorithm for New Customer Arrival
Figure 12.4 Algorithm for New Customer Arrival Invitation to Computer Science, Java Version, Third Edition
24
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, Java Version, Third Edition
25
Statistical Distribution of Customer Service Time
Figure 12.5 Statistical Distribution of Customer Service Time Invitation to Computer Science, Java Version, Third Edition
26
Figure 12.6 Algorithm for Generating Random Numbers That Follow the Distribution Given in Figure 12.5 Invitation to Computer Science, Java Version, Third Edition
27
Algorithm for Customer Departure Event
Figure 12.7 Algorithm for Customer Departure Event Invitation to Computer Science, Java Version, Third Edition
28
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, Java Version, Third Edition
29
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, Java Version, Third Edition
30
The Main Algorithm of Our Simulation Model
Figure 12.8 The Main Algorithm of Our Simulation Model Invitation to Computer Science, Java Version, Third Edition
31
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, Java Version, Third Edition
32
Running the Model and Visualizing Results (continued)
Scientific visualization is concerned with Data extraction: Determine 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, Java Version, Third Edition
33
Running the Model and Visualizing Results (continued)
Output of a computer model can be represented visually using A two-dimensional graph A three-dimensional image Visual representation of data helps identify important features of the model’s output Invitation to Computer Science, Java Version, Third Edition
34
Using a Two-Dimensional Graph to Display Output
Figure 12.9 Using a Two-Dimensional Graph to Display Output Invitation to Computer Science, Java Version, Third Edition
35
Figure 12.10: Using a Two-Dimensional Graph to Display and Compare Two Data Values
Invitation to Computer Science, Java Version, Third Edition
36
Three-Dimensional Image of a Region of the Earth’s Surface
Figure 12.11 Three-Dimensional Image of a Region of the Earth’s Surface Invitation to Computer Science, Java Version, Third Edition
37
Three-Dimensional Model of a Methyl Nitrite Molecule
Figure 12.12 Three-Dimensional Model of a Methyl Nitrite Molecule Invitation to Computer Science, Java Version, Third Edition
38
Visualization of Gas Dispersion
Figure 12.13 Visualization of Gas Dispersion Invitation to Computer Science, Java Version, Third Edition
39
Running the Model and Visualizing Results (continued)
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 Invitation to Computer Science, Java Version, Third Edition
40
Use of Animation to Model Ozone Layers in the Atmosphere
Figure 12.14 Use of Animation to Model Ozone Layers in the Atmosphere Invitation to Computer Science, Java Version, Third Edition
41
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, Java Version, Third Edition
42
Summary (continued) Computational models allow the use of an interactive design methodology Scientific visualization: Visualizing data to highlight its important characteristics and simplify its interpretation Invitation to Computer Science, Java Version, Third Edition
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.