Docstoc

lecture14

Document Sample
lecture14 Powered By Docstoc
					Chapter 12: Simulation and
Modeling
    Invitation to Computer Science,
    Java Version, Third Edition
Announcements

    Read Chapter 12




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.1
                                                              Using 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
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   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
Example Models

    Coin Flipping Example

    Conway’s Game of Life Example

    Opening a restaurant Example




Invitation to Computer Science, Java Version, Third Edition   15
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   16
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                                    17
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   18
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   19
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   20
                                                Figure 12.3
                                           System to Be Modeled

Invitation to Computer Science, Java Version, Third Edition       21
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   22
                                          Figure 12.4
                              Algorithm for New Customer Arrival

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

Invitation to Computer Science, Java Version, Third Edition          25
                              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    26
                                        Figure 12.7
                         Algorithm for Customer Departure Event

Invitation to Computer Science, Java Version, Third Edition       27
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   28
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   29
                                   Figure 12.8
                   The Main Algorithm of Our Simulation Model

Invitation to Computer Science, Java Version, Third Edition     30
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   31
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   32
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   33
                               Figure 12.9
              Using a Two-Dimensional Graph to Display Output

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

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

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

Invitation to Computer Science, Java Version, Third Edition       37
                                           Figure 12.13
                                  Visualization of Gas Dispersion

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

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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:2/18/2012
language:
pages:42