1 / 42

??????? Introduction to Computer Science

??? ?????? ???? www.jiahenglu.net

Simulation and Modeling (?????)

Objectives

- In this class, you will learn about
- Computational modeling
- Running the model and visualizing results

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

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

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

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

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

Figure 12.1 Using a Simulation in an Interactive

Design Environment

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

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

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

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

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 systems behavior

Example Models

- Coin Flipping Example
- Conways Game of Life Example
- Opening a restaurant Example

Conways 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

Conways 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)

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?

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?

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

- Figure 12.3
- System to Be Modeled

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

- Figure 12.4
- Algorithm for New Customer Arrival

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

- Statistical Distribution of Customer Service Time

- Figure 12.6
- Algorithm for Generating Random Numbers That

Follow the Distribution Given in Figure 12.5

- Figure 12.7
- Algorithm for Customer Departure Event

An Example of Model Building (continued)

- Must initialize parameters to the model
- Model must collect data that accurately measures

performance of the McBurgers restaurant

An Example of Model Building (continued)

- When simulation is ready, the computer will
- Run the simulation
- Process all M customers
- Print out the results

- Figure 12.8
- The Main Algorithm of Our Simulation Model

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

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

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 models output

- Figure 12.9
- Using a Two-Dimensional Graph to Display Output

- Figure 12.10 Using a Two-Dimensional Graph to

Display and Compare Two Data Values

- Figure 12.11
- Three-Dimensional Image of a Region of the

Earths Surface

- Figure 12.12
- Three-Dimensional Model of a Methyl Nitrite

Molecule

- Figure 12.13
- Visualization of Gas Dispersion

Running 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

- Figure 12.14
- Use of Animation to Model Ozone Layers in the

Atmosphere

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

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