Docstoc

fritz COM

Document Sample
fritz COM Powered By Docstoc
					Chapter 12: Simulation and
Modeling
    Invitation to Computer Science,
    Java Version, Second Edition
Objectives

In this chapter, you will learn about:


    Computational modeling


    Running the model and visualizing results




Invitation to Computer Science, Java Version, Second Edition   2
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, Java Version, Second Edition   3
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, Second Edition   4
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, Second Edition   5
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, Second Edition     6
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, Second Edition   7
                                                               Figure 12.1
                                                               Using a Simulation in an
                                                               Interactive Design
                                                               Environment




Invitation to Computer Science, Java Version, Second Edition                              8
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, Second Edition        9
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, Second Edition   10
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, Second Edition    11
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, Second Edition   12
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, Second Edition   13
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, Second Edition   14
                                                Figure 12.3
                                           System to Be Modeled

Invitation to Computer Science, Java Version, Second Edition      15
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, Second Edition   16
                                          Figure 12.4
                              Algorithm for New Customer Arrival

Invitation to Computer Science, Java Version, Second Edition       17
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, Second Edition   18
                                      Figure 12.5
                 Statistical Distribution of Customer Service Time

Invitation to Computer Science, Java Version, Second Edition         19
                              Figure 12.6
     Algorithm for Generating Random Numbers That Follow the
                    Distribution Given in Figure 12.5

Invitation to Computer Science, Java Version, Second Edition   20
                                        Figure 12.7
                         Algorithm for Customer Departure Event

Invitation to Computer Science, Java Version, Second Edition      21
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, Second Edition   22
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, Second Edition   23
                                    Figure 12.8
                    The Main Algorithm of our Simulation Model

Invitation to Computer Science, Java Version, Second Edition     24
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, Second Edition   25
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, Java Version, Second Edition   26
Running the Model and Visualizing
Results (continued)
    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

Invitation to Computer Science, Java Version, Second Edition   27
                               Figure 12.9
              Using a Two-Dimensional Graph to Display Output

Invitation to Computer Science, Java Version, Second Edition    28
  Figure 12.10: Using a Two-Dimensional Graph to Display and
                    Compare Two Data Values

Invitation to Computer Science, Java Version, Second Edition   29
                         Figure 12.11
    Three-Dimensional Image of a Region of the Earth’s Surface

Invitation to Computer Science, Java Version, Second Edition     30
                             Figure 12.12
           Three-Dimensional Model of a Methyl Nitrite Molecule

Invitation to Computer Science, Java Version, Second Edition      31
                                           Figure 12.13
                                  Visualization of Gas Dispersion

Invitation to Computer Science, Java Version, Second Edition        32
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, Second Edition   33
                         Figure 12.14
   Use of Animation to Model Ozone Layers in the Atmosphere

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

    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, Second Edition   36

				
DOCUMENT INFO