chapter 12: simulation and modeling invitation to computer science, java version, third edition

36
Chapter 12: Simulation and Modeling Invitation to Computer Science, Java Version, Third Edition

Upload: angela-collins

Post on 22-Dec-2015

237 views

Category:

Documents


1 download

TRANSCRIPT

Chapter 12: Simulation and Modeling

Invitation to Computer Science,

Java Version, Third Edition

Invitation to Computer Science, Java Version, Third Edition 2

Objectives

In this chapter, you will learn about

Computational modeling

Running the model and visualizing results

Invitation to Computer Science, Java 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, and so on

Invitation to Computer Science, Java 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, Java 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, Java 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, Java 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, Java Version, Third Edition 8

Figure 12.1Using a Simulation in an Interactive Design Environment

Invitation to Computer Science, Java 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, Java 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, Java 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, Java 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, Java 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, Java 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, Java Version, Third Edition 15

Figure 12.3

System to Be Modeled

Invitation to Computer Science, Java 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, Java Version, Third Edition 17

Figure 12.4

Algorithm for New Customer Arrival

Invitation to Computer Science, Java 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, Java Version, Third Edition 19

Figure 12.5

Statistical Distribution of Customer Service Time

Invitation to Computer Science, Java 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, Java Version, Third Edition 21

Figure 12.7

Algorithm for Customer Departure Event

Invitation to Computer Science, Java 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, Java 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, Java Version, Third Edition 24

Figure 12.8

The Main Algorithm of Our Simulation Model

Invitation to Computer Science, Java 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, Java Version, Third Edition 26

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 27

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

Running the Model and Visualizing Results (continued)

Invitation to Computer Science, Java Version, Third Edition 28

Figure 12.9

Using a Two-Dimensional Graph to Display Output

Invitation to Computer Science, Java Version, Third Edition 29

Figure 12.10: Using a Two-Dimensional Graph to Display and Compare Two Data Values

Invitation to Computer Science, Java Version, Third Edition 30

Figure 12.11

Three-Dimensional Image of a Region of the Earth’s Surface

Invitation to Computer Science, Java Version, Third Edition 31

Figure 12.12

Three-Dimensional Model of a Methyl Nitrite Molecule

Invitation to Computer Science, Java Version, Third Edition 32

Figure 12.13

Visualization of Gas Dispersion

Invitation to Computer Science, Java 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, Java Version, Third Edition 34

Figure 12.14

Use of Animation to Model Ozone Layers in the Atmosphere

Invitation to Computer Science, Java 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, Java Version, Third Edition 36

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