Title: Introduction to Computer Science
1??????? Introduction to Computer Science
??? ?????? ???? www.jiahenglu.net
2Simulation and Modeling (?????)
3Objectives
- In this class, you will learn about
- Computational modeling
- Running the model and visualizing results
4Introduction
- 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
5Computational 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
6Introduction 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
7Introduction 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
8Introduction 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
9Figure 12.1 Using a Simulation in an Interactive
Design Environment
10Computational 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
11Computational 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
12Computational 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
13An 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
14An 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 systems behavior
15Example Models
- Coin Flipping Example
- Conways Game of Life Example
- Opening a restaurant Example
16Conways 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
17Conways Game of Life
Any live cell with lt 2 live Neighbors dies
(loneliness) Any live cell with gt 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)
18Is 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?
19What 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?
20An 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
21- Figure 12.3
- System to Be Modeled
22An 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
23- Figure 12.4
- Algorithm for New Customer Arrival
24An 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
25- Statistical Distribution of Customer Service Time
26- Figure 12.6
- Algorithm for Generating Random Numbers That
Follow the Distribution Given in Figure 12.5
27- Figure 12.7
- Algorithm for Customer Departure Event
28An Example of Model Building (continued)
- Must initialize parameters to the model
- Model must collect data that accurately measures
performance of the McBurgers restaurant
29An Example of Model Building (continued)
- When simulation is ready, the computer will
- Run the simulation
- Process all M customers
- Print out the results
30- Figure 12.8
- The Main Algorithm of Our Simulation Model
31Running 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
32Running 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
33Running 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 models output
34- Figure 12.9
- Using a Two-Dimensional Graph to Display Output
35- Figure 12.10 Using a Two-Dimensional Graph to
Display and Compare Two Data Values
36- Figure 12.11
- Three-Dimensional Image of a Region of the
Earths Surface
37- Figure 12.12
- Three-Dimensional Model of a Methyl Nitrite
Molecule
38- Figure 12.13
- Visualization of Gas Dispersion
39Running the Model and Visualizing Results
(continued)
- Image animation
- One of the most powerful and useful forms of
visualization - Shows how models output changes over time
- Created using many images, each showing system
state at a slightly later point in time
40- Figure 12.14
- Use of Animation to Model Ozone Layers in the
Atmosphere
41Summary
- 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
42Summary (continued)
- Computational models allow the use of an
interactive design methodology - Scientific visualization Visualizing data to
highlight its important characteristics and
simplify its interpretation