CS302 Topics: * More on Simulation and Priority Queues * Random Number Generation

Size: px
Start display at page:

Download "CS302 Topics: * More on Simulation and Priority Queues * Random Number Generation"

Transcription

1 CS302 Topics: * More on Simulation and Priority Queues * Random Number Generation Thursday, Oct. 5, 2006 Greetings from Salvador, Brazil!! (i.e., from my recent trip to present a plenary lecture on multi-robot systems) First IFAC Workshop on Multivehicle Systems (MVS'06) October 2-3, 2006 Centro de Convenções da Bahia Salvador - Bahia - Brazil

2 Announcements Lab 4 (Algorithm Analysis) due next Wed., Oct. 11 Lab 5 (Stock Reports) now available; due Wed., Oct. 25 Don t procrastinate!! You may delay, but time will not. -- Benjamin Franklin Midterm: Tuesday, Oct. 1 Open book, open notes, no electronic devices [Review during Tuesday s class (Oct. 10)]

3 Recall: Discrete Event Simulations Here, we re interested in procesess and systems that change at discrete instants. We re interested in discrete events, which occur at an instant of time. Because some systems are complex, we can t model them and derive an analytical solution. Thus, we can simulate them to answer interesting questions.

4 Recall: The Banking Simulation We have a bank: Customers arrive and wait in a line until one of k tellers is available Customer arrival governed by probability distribution Service time governed by a probability distribution We want to know: How long (on average) does a customer have to wait? How long (on average) is the line? What is the optimal number of tellers? Enough so that customers don t have to wait too long Not so many that we waste our money paying tellers

5 Recall: The general process for discrete event simulation loop State : all variables that describe a system Initialize (State) Time 0 Generic Simulation Program: Initialize (futureeventset) While (futureeventset not empty) do: Event next event in futureeventset (i.e., deletemin) Time Time (Event) State function of old state and event Update(futureEventSet)

6 Event Generation Tricky part of simulation: Choosing how to generate random events Example: Say we want transaction times to average 10 minutes. Here are 2 sequences that average 10: But, these have very different characteristics we need to define the distribution we re interested in

7 Event Generation (con t.) The distribution defines the characterization of the data in ways other than just the mean (average) Here are some common distributions: Uniform Gaussian/Normal Exponential

8 Distributions: Uniform Distribution: Defines characterization of random numbers in more specific ways than just an average value Mean m Uniform distribution: For our purposes, we ll have random numbers 0 r 2m, with every value between 0 and 2m equally likely f( x) = 1 ( ) for b a a x b 0 otherwise

9 Uniform Distribution in Banking Example Service time: represented by uniform distribution

10 Uniform distributions in C++ (pseudo-random number generators) srand48(i): takes integer i and uses it as a seed to the random number generator (just do this once) drand48(): returns a double uniformly distributed in range [0,1) drand is a random number generator that follows a uniform distribution with a mean of 0.5 What do you do if you want a mean of m? Multiply the result of drand48 by 2m.

11 Note on how pseudo-random number generators work drand48() generates a sequence of 48-bit integers X i according to following: X = n 1 ( ax + n c) mod m, for n + 0 a = 0x5DEECE66D c = 0xB srand48(seedval) sets the high order 32-bits of X i to the argument seedval Low order 16-bits are set to arbitrary value 0x330E Note: these numbers aren t really random. Sequence repeats Numbers are predictable

12 Example of generating random numbers from uniform distribution /* generate 20 random numbers using a uniform distribution with a mean of mean */ srand48(3); // provide an initial "seed" to random generator for (i = 0; i < 20; i++) { d = drand48()*mean*2; printf("%d \t %lf \n", i, d); }

13 Distributions: Exponential Exponential distribution λ = = 1 1 mean 120 f( x) = e λx Exponential distribution plotted on log axis In our bank simulation, customer arrivals are modeled using an exponential distribution Here, mean = 120

14 How to generate non-uniform random numbers in C++? Unfortunately, there is no C++ standard library implementation of a general random number generator (at least yet) drand() just generates a uniform distribution But there are lots of probability distributions: Poisson e f( k, λ) = k! λ k λ Exponential f ( x) = e λx Gaussian 1 f( x, µσ, ) = e σ 2π ( x µ ) 2 2σ 2

15 How do we implement an arbitrary probability distribution in C++? General idea: Come up with a mapping from a uniform distribution to our arbitrary distribution Bigger chunks of uniform distribution map to numbers that are more likely to occur in our arbitrary distribution arbitrary distribution uniform distribution

16 Use histogram to represent arbitrary distribution Histogram: bins values along x axis Rather than use the continuous representation, we use a discrete representation (with the bins)

17 Bin width of histogram is important Here s an example using a distribution describing the eruption durations of the Old Faithful geyser in Yellowstone Nat l. Park:

18 How to create histogram file? Evaluate function describing distribution at discrete values (representing center of bins) Output bin-number and function value to a file Example: exponential function with mean of 120 λ = = 1 1 mean 120 f( x) = e λx So that we can just deal with integers, we ll multiply by and round gx ( ) = f( x) output file (e.g., expon_120)

19 How do we generate random numbers matching arbitrary distribution? General idea: Come up with a mapping from a uniform distribution to our arbitrary distribution Bigger chunks of uniform distribution map to numbers that are more likely to occur in our arbitrary distribution arbitrary distribution uniform distribution

20 We ll store this mapping in a red-black tree Create red-black tree total 0 Do following for each line of histogram file Get x and y value total total + y insert (key,value) = (total, x) into redblack tree arbitrary distribution uniform distribution

21 Example Distribution that models our system (e.g., arrival time): Resulting histogram file:

22 Example (con t.) Create red-black Tree total 0 Do following for each line of histogram file Get x and y value total total + y insert (key,value) = (total, x) into redblacktree Histogram file: x y Resulting (key, value) pairs:

23 Example (con t.) (key, value) pairs: Resulting Red-black tree:

24 Example (con t.) When you want a random # according to original distribution: Generate random number from uniform distribution between 0 and total (i.e., uniform distribution with mean total/2) Find node in red-black Tree with next greater value Return value of this node (this will be your rand. # from orig. distribution)

25 Example (con t.) Random numbers from uniform distribution [0,113): Generated random numbers from original distribution (using rbtree lookup):

26 Example (con t.) Generated random numbers from original distribution (using red-black tree lookup): Notice how generated numbers match distribution (as more and more numbers are generated, it will match the original distribution more closely)

27 Summarizing histogram random number generator Step 1 Generate histogram file: Evaluate function describing distribution at discrete values (representing center of bins) Output bin-number and function value to a file Step 2 Create red-black tree: total 0 Do following for each line of histogram file Get x and y value total total + y insert (key,value) = (total, x) into red-black tree Step 3 Generate random numbers: Generate random number from uniform distribution between 0 and total (i.e., uniform distribution with mean total/2) Find node in red-black tree with next greater value Return value of this node (this will be your random number from the original distribution)

28 Another example Here is original distribution: What are values in histogram file? x y

29 Another example, con t. Histogram file: What are resulting (key, value) pairs? What do we do next? Put into a red-black tree

30 Another example, con t What next? Generate random number from uniform distribution in what range? [0,121) Lookup next greater value in red-black tree Value = new random number 10 9

31 Another example, con t. Random numbers from uniform distribution [0,121): Generated random numbers from original distribution (using red-black Tree lookup):

32 Another example, con t. Compare to original distribution: Generated random numbers from original distribution (using red-black Tree lookup): Again, notice how generated numbers match distribution (as more and more numbers are generated, it will match the original distribution more closely)

33 Keep in mind how this histogram generator works General idea: Come up with a mapping from a uniform distribution to our arbitrary distribution Bigger chunks of uniform distribution map to numbers that are more likely to occur in our arbitrary distribution arbitrary distribution uniform distribution

CS302 Topic: Simulation, Part II

CS302 Topic: Simulation, Part II CS302 Topic: Simulation, Part II Thursday, Oct. 6, 200 Gone out Here is a computer simulation of your dinner Announcements Lab 4 (Stock Reports); due this Friday, Oct. Lab (Algorithm Analysis) now available;

More information

Lecture 2: Introduction to Numerical Simulation

Lecture 2: Introduction to Numerical Simulation Lecture 2: Introduction to Numerical Simulation Ahmed Kebaier kebaier@math.univ-paris13.fr HEC, Paris Outline of The Talk 1 Simulation of Random variables Outline 1 Simulation of Random variables Random

More information

Hot springs that erupt intermittently in a column

Hot springs that erupt intermittently in a column L A B 1 MODELING OLD FAITHFUL S ERUPTIONS Modeling Data Hot springs that erupt intermittently in a column of steam and hot water are called geysers. Geysers may erupt in regular or irregular intervals

More information

ECE SPRING NOTE; This project has two parts which have different due dates.

ECE SPRING NOTE; This project has two parts which have different due dates. DATA STRUCTURES ECE 368 - SPRING 208 PROJECT : Event Driven Simulation for a Multiprocessor System Using a Priority Queue (It is a team project. Note: 2 students/team) ASSIGNMENT DATE: January 23, 208

More information

LAB 1: Graphical Descriptions of Data

LAB 1: Graphical Descriptions of Data LAB 1: Graphical Descriptions of Data Part I: Before Class 1) Read this assignment all the way through; 2) Know the terms and understand the concepts of: - scatterplots - stemplots - distributions - histograms

More information

EECS 203 Spring 2016 Lecture 8 Page 1 of 6

EECS 203 Spring 2016 Lecture 8 Page 1 of 6 EECS 203 Spring 2016 Lecture 8 Page 1 of 6 Algorithms (3.1-3.3) Algorithms are a huge topic. In CSE we have 2 theory classes purely dedicated to algorithms (EECS 477 and EECS 586) and a number of classes

More information

What We ll Do... Random

What We ll Do... Random What We ll Do... Random- number generation Random Number Generation Generating random variates Nonstationary Poisson processes Variance reduction Sequential sampling Designing and executing simulation

More information

CS3: Introduction to Symbolic Programming. Lecture 5:

CS3: Introduction to Symbolic Programming. Lecture 5: CS3: Introduction to Symbolic Programming Lecture 5: Spring 2006 Nate Titterton nate@berkeley.edu Announcements Nate's office hours this week only: - Thursday, 2-4, in 329 Soda - (Usually, they are Wed

More information

The Plan: Basic statistics: Random and pseudorandom numbers and their generation: Chapter 16.

The Plan: Basic statistics: Random and pseudorandom numbers and their generation: Chapter 16. Scientific Computing with Case Studies SIAM Press, 29 http://www.cs.umd.edu/users/oleary/sccswebpage Lecture Notes for Unit IV Monte Carlo Computations Dianne P. O Leary c 28 What is a Monte-Carlo method?

More information

Sampling from distributions

Sampling from distributions Sampling from distributions December 17, 2015 1 Sampling from distributions Now that we are able to sample equally distributed (pseudo-)random numbers in the interval [1, 0), we are now able to sample

More information

CMSC 341 Hashing (Continued) Based on slides from previous iterations of this course

CMSC 341 Hashing (Continued) Based on slides from previous iterations of this course CMSC 341 Hashing (Continued) Based on slides from previous iterations of this course Today s Topics Review Uses and motivations of hash tables Major concerns with hash tables Properties Hash function Hash

More information

iscrete-event System Simulation of Queues with Spreadsheets Combined with Simple VBA Code: A Teaching Case

iscrete-event System Simulation of Queues with Spreadsheets Combined with Simple VBA Code: A Teaching Case Nithipat Kamolsuk D iscrete-event System Simulation of Queues with Spreadsheets Combined with Simple VBA Code: A Teaching Case Chairperson, Department of General Science Faculty of Engineering and Technology

More information

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit IV Monte Carlo

Scientific Computing with Case Studies SIAM Press, Lecture Notes for Unit IV Monte Carlo Scientific Computing with Case Studies SIAM Press, 2009 http://www.cs.umd.edu/users/oleary/sccswebpage Lecture Notes for Unit IV Monte Carlo Computations Dianne P. O Leary c 2008 1 What is a Monte-Carlo

More information

Queuing Networks. Renato Lo Cigno. Simulation and Performance Evaluation Queuing Networks - Renato Lo Cigno 1

Queuing Networks. Renato Lo Cigno. Simulation and Performance Evaluation Queuing Networks - Renato Lo Cigno 1 Queuing Networks Renato Lo Cigno Simulation and Performance Evaluation 2014-15 Queuing Networks - Renato Lo Cigno 1 Moving between Queues Queuing Networks - Renato Lo Cigno - Interconnecting Queues 2 Moving

More information

Monte Carlo Integration and Random Numbers

Monte Carlo Integration and Random Numbers Monte Carlo Integration and Random Numbers Higher dimensional integration u Simpson rule with M evaluations in u one dimension the error is order M -4! u d dimensions the error is order M -4/d u In general

More information

UNIT 9A Randomness in Computation: Random Number Generators Principles of Computing, Carnegie Mellon University - CORTINA

UNIT 9A Randomness in Computation: Random Number Generators Principles of Computing, Carnegie Mellon University - CORTINA UNIT 9A Randomness in Computation: Random Number Generators 1 Course Announcements We are in the process of setting up the tutoring help system. PS7 is due Wednesday 3/20 in class Midterm 2 (written) is

More information

Graphs of Exponential

Graphs of Exponential Graphs of Exponential Functions By: OpenStaxCollege As we discussed in the previous section, exponential functions are used for many realworld applications such as finance, forensics, computer science,

More information

Will Monroe July 21, with materials by Mehran Sahami and Chris Piech. Joint Distributions

Will Monroe July 21, with materials by Mehran Sahami and Chris Piech. Joint Distributions Will Monroe July 1, 017 with materials by Mehran Sahami and Chris Piech Joint Distributions Review: Normal random variable An normal (= Gaussian) random variable is a good approximation to many other distributions.

More information

Monte Carlo Techniques. Professor Stephen Sekula Guest Lecture PHY 4321/7305 Sep. 3, 2014

Monte Carlo Techniques. Professor Stephen Sekula Guest Lecture PHY 4321/7305 Sep. 3, 2014 Monte Carlo Techniques Professor Stephen Sekula Guest Lecture PHY 431/7305 Sep. 3, 014 What are Monte Carlo Techniques? Computational algorithms that rely on repeated random sampling in order to obtain

More information

Assignment 2. Unsupervised & Probabilistic Learning. Maneesh Sahani Due: Monday Nov 5, 2018

Assignment 2. Unsupervised & Probabilistic Learning. Maneesh Sahani Due: Monday Nov 5, 2018 Assignment 2 Unsupervised & Probabilistic Learning Maneesh Sahani Due: Monday Nov 5, 2018 Note: Assignments are due at 11:00 AM (the start of lecture) on the date above. he usual College late assignments

More information

Probability and Statistics for Final Year Engineering Students

Probability and Statistics for Final Year Engineering Students Probability and Statistics for Final Year Engineering Students By Yoni Nazarathy, Last Updated: April 11, 2011. Lecture 1: Introduction and Basic Terms Welcome to the course, time table, assessment, etc..

More information

Programming Assignment #3 Event Driven Simulation

Programming Assignment #3 Event Driven Simulation CS-2303, System Programming Concepts, A-term 2012 Project 3 (45 points) Assigned: Friday, September 7, 2012 Due: Friday, September 14, 2012, 11:59 PM Abstract Programming Assignment #3 Event Driven Simulation

More information

Meeting 1 Introduction to Functions. Part 1 Graphing Points on a Plane (REVIEW) Part 2 What is a function?

Meeting 1 Introduction to Functions. Part 1 Graphing Points on a Plane (REVIEW) Part 2 What is a function? Meeting 1 Introduction to Functions Part 1 Graphing Points on a Plane (REVIEW) A plane is a flat, two-dimensional surface. We describe particular locations, or points, on a plane relative to two number

More information

Objectives. 1 Basic Calculations. 2 Matrix Algebra. Physical Sciences 12a Lab 0 Spring 2016

Objectives. 1 Basic Calculations. 2 Matrix Algebra. Physical Sciences 12a Lab 0 Spring 2016 Physical Sciences 12a Lab 0 Spring 2016 Objectives This lab is a tutorial designed to a very quick overview of some of the numerical skills that you ll need to get started in this class. It is meant to

More information

Queuing Systems. 1 Lecturer: Hawraa Sh. Modeling & Simulation- Lecture -4-21/10/2012

Queuing Systems. 1 Lecturer: Hawraa Sh. Modeling & Simulation- Lecture -4-21/10/2012 Queuing Systems Queuing theory establishes a powerful tool in modeling and performance analysis of many complex systems, such as computer networks, telecommunication systems, call centers, manufacturing

More information

Discrete-Event Simulation:

Discrete-Event Simulation: Discrete-Event Simulation: A First Course Section 2.2: Lehmer Random Number Generators: Implementation Section 2.2: Discrete-Event Simulation c 2006 Pearson Ed., Inc. 0-13-142917-5 Section 2.2: Lehmer

More information

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014

Objectives. 1 Running, and Interface Layout. 2 Toolboxes, Documentation and Tutorials. 3 Basic Calculations. PS 12a Laboratory 1 Spring 2014 PS 12a Laboratory 1 Spring 2014 Objectives This session is a tutorial designed to a very quick overview of some of the numerical skills that you ll need to get started. Throughout the tutorial, the instructors

More information

Practical 4: The Integrate & Fire neuron

Practical 4: The Integrate & Fire neuron Practical 4: The Integrate & Fire neuron 2014 version by Mark van Rossum 2018 version by Matthias Hennig and Theoklitos Amvrosiadis 16th October 2018 1 Introduction to MATLAB basics You can start MATLAB

More information

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 7 Lecturer: David Wagner February 13, Notes 7 for CS 170

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 7 Lecturer: David Wagner February 13, Notes 7 for CS 170 UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 7 Lecturer: David Wagner February 13, 003 Notes 7 for CS 170 1 Dijkstra s Algorithm Suppose each edge (v, w) of our graph has a

More information

Scientific Computing: An Introductory Survey

Scientific Computing: An Introductory Survey Scientific Computing: An Introductory Survey Chapter 13 Random Numbers and Stochastic Simulation Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright

More information

(More) Fun with Pointers and Linked Lists! CS 16: Solving Problems with Computers I Lecture #17

(More) Fun with Pointers and Linked Lists! CS 16: Solving Problems with Computers I Lecture #17 (More) Fun with Pointers and Linked Lists! CS 16: Solving Problems with Computers I Lecture #17 Ziad Matni Dept. of Computer Science, UCSB Administrative Homework situation: Labs: NO MORE HOMEWORK! J Lab10

More information

Programming Languages and Techniques (CIS120e)

Programming Languages and Techniques (CIS120e) Programming Languages and Techniques (CIS120e) Lecture 10 Sep 29, 2010 Abstract Stack Machine & First- Class FuncGons Announcements Homework 3 is due tonight at 11:59:59pm. Homework 4 will be available

More information

Chapter 6: Comparing Two Means Section 6.1: Comparing Two Groups Quantitative Response

Chapter 6: Comparing Two Means Section 6.1: Comparing Two Groups Quantitative Response Stat 300: Intro to Probability & Statistics Textbook: Introduction to Statistical Investigations Name: American River College Chapter 6: Comparing Two Means Section 6.1: Comparing Two Groups Quantitative

More information

61A Lecture 7. Monday, September 15

61A Lecture 7. Monday, September 15 61A Lecture 7 Monday, September 15 Announcements Homework 2 due Monday 9/15 at 11:59pm Project 1 deadline extended, due Thursday 9/18 at 11:59pm! Extra credit point if you submit by Wednesday 9/17 at 11:59pm

More information

Inference and Representation

Inference and Representation Inference and Representation Rachel Hodos New York University Lecture 5, October 6, 2015 Rachel Hodos Lecture 5: Inference and Representation Today: Learning with hidden variables Outline: Unsupervised

More information

Bigger Isn t Necessarily Better

Bigger Isn t Necessarily Better Bigger Isn t Necessarily Better There is a reason cells are small! There seems to be a limit to the size they can grow. Consider your little toe: it is made of about 2-3 billion cells! A newly-made cell

More information

Final Exam Spring 2003

Final Exam Spring 2003 .8 Final Exam Spring Name Instructions.. Please answer all questions in the exam books that are provided.. Please budget your time carefully. It is often a good idea to read the entire exam first, so that

More information

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. - Statistical Methods -

Physics 736. Experimental Methods in Nuclear-, Particle-, and Astrophysics. - Statistical Methods - Physics 736 Experimental Methods in Nuclear-, Particle-, and Astrophysics - Statistical Methods - Karsten Heeger heeger@wisc.edu Course Schedule and Reading course website http://neutrino.physics.wisc.edu/teaching/phys736/

More information

You ve already read basics of simulation now I will be taking up method of simulation, that is Random Number Generation

You ve already read basics of simulation now I will be taking up method of simulation, that is Random Number Generation Unit 5 SIMULATION THEORY Lesson 39 Learning objective: To learn random number generation. Methods of simulation. Monte Carlo method of simulation You ve already read basics of simulation now I will be

More information

Exercises Lecture III: Random numbers with non uniform distributions; simulations of simple random processes

Exercises Lecture III: Random numbers with non uniform distributions; simulations of simple random processes Exercises Lecture III: Random numbers with non uniform distributions; simulations of simple random processes 1. Random numbers with non uniform distributions: Inverse Transformation Method (a) With the

More information

MA 1128: Lecture 02 1/22/2018

MA 1128: Lecture 02 1/22/2018 MA 1128: Lecture 02 1/22/2018 Exponents Scientific Notation 1 Exponents Exponents are used to indicate how many copies of a number are to be multiplied together. For example, I like to deal with the signs

More information

Massachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science Fall Semester, Introduction to EECS 2

Massachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science Fall Semester, Introduction to EECS 2 Massachusetts Institute of Technology Dept. of Electrical Engineering and Computer Science Fall Semester, 2006 6.082 Introduction to EECS 2 Lab #9: Link-state Routing Goal: Using a network simulator written

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17 01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are

More information

CS61B Lectures # Purposes of Sorting. Some Definitions. Classifications. Sorting supports searching Binary search standard example

CS61B Lectures # Purposes of Sorting. Some Definitions. Classifications. Sorting supports searching Binary search standard example Announcements: CS6B Lectures #27 28 We ll be runningapreliminarytestingrun for Project #2 on Tuesday night. Today: Sorting algorithms: why? Insertion, Shell s, Heap, Merge sorts Quicksort Selection Distribution

More information

CS510 \ Lecture Ariel Stolerman

CS510 \ Lecture Ariel Stolerman CS510 \ Lecture02 2012-10-03 1 Ariel Stolerman Midterm Evan will email about that after the lecture, at least 2 lectures from now. The exam will be given in a regular PDF (not an online form). We will

More information

CS47300: Web Information Search and Management

CS47300: Web Information Search and Management CS47300: Web Information Search and Management Web Search Prof. Chris Clifton 18 October 2017 Some slides courtesy Croft et al. Web Crawler Finds and downloads web pages automatically provides the collection

More information

Verification and Validation of X-Sim: A Trace-Based Simulator

Verification and Validation of X-Sim: A Trace-Based Simulator http://www.cse.wustl.edu/~jain/cse567-06/ftp/xsim/index.html 1 of 11 Verification and Validation of X-Sim: A Trace-Based Simulator Saurabh Gayen, sg3@wustl.edu Abstract X-Sim is a trace-based simulator

More information

Data organization. So what kind of data did we collect?

Data organization. So what kind of data did we collect? Data organization Suppose we go out and collect some data. What do we do with it? First we need to figure out what kind of data we have. To illustrate, let s do a simple experiment and collect the height

More information

Design Lab Fall 2011 I Walk the Line

Design Lab Fall 2011 I Walk the Line Design Lab 13 6.01 Fall 2011 I Walk the Line Goals: In this lab you implement a system for estimating the location of a robot as it moves down a hallway starting from an uncertain location. You will: Understand

More information

Digital image processing

Digital image processing Digital image processing Image enhancement algorithms: grey scale transformations Any digital image can be represented mathematically in matrix form. The number of lines in the matrix is the number of

More information

CS 100: Simulation and Randomness

CS 100: Simulation and Randomness CS 100: Simulation and Randomness Chris Kauffman Week 12-1 Logistics HW6 Due in 1 week Security Upgrades Term Paper Topics Reading Pattern: Ch 8 Machines that Learn Zyante: Ch 7 Privacy Schilling s Segregation

More information

Chapter 10 Verification and Validation of Simulation Models. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation

Chapter 10 Verification and Validation of Simulation Models. Banks, Carson, Nelson & Nicol Discrete-Event System Simulation Chapter 10 Verification and Validation of Simulation Models Banks, Carson, Nelson & Nicol Discrete-Event System Simulation Purpose & Overview The goal of the validation process is: To produce a model that

More information

Lecture 23: Priority Queues 10:00 AM, Mar 19, 2018

Lecture 23: Priority Queues 10:00 AM, Mar 19, 2018 CS18 Integrated Introduction to Computer Science Fisler, Nelson Lecture 23: Priority Queues 10:00 AM, Mar 19, 2018 Contents 1 Priority Queues 1 2 Binary Heaps 2 3 Heaps 4 4 Aside: The Ordered Trait 5 5

More information

Chapter 6: Simulation Using Spread-Sheets (Excel)

Chapter 6: Simulation Using Spread-Sheets (Excel) Chapter 6: Simulation Using Spread-Sheets (Excel) Refer to Reading Assignments 1 Simulation Using Spread-Sheets (Excel) OBJECTIVES To be able to Generate random numbers within a spreadsheet environment.

More information

EECS 470. Branches: Address prediction and recovery (And interrupt recovery too.) Lecture 7 Winter 2018

EECS 470. Branches: Address prediction and recovery (And interrupt recovery too.) Lecture 7 Winter 2018 EECS 470 Branches: Address prediction and recovery (And interrupt recovery too.) Lecture 7 Winter 2018 Slides developed in part by Profs. Austin, Brehob, Falsafi, Hill, Hoe, Lipasti, Martin, Roth, Shen,

More information

CS4620/5620. Professor: Kavita Bala. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner)

CS4620/5620. Professor: Kavita Bala. Cornell CS4620/5620 Fall 2012 Lecture Kavita Bala 1 (with previous instructors James/Marschner) CS4620/5620 Affine and 3D Transformations Professor: Kavita Bala 1 Announcements Updated schedule on course web page 2 Prelim days finalized and posted Oct 11, Nov 29 No final exam, final project will

More information

Modeling and Simulation (An Introduction)

Modeling and Simulation (An Introduction) Modeling and Simulation (An Introduction) 1 The Nature of Simulation Conceptions Application areas Impediments 2 Conceptions Simulation course is about techniques for using computers to imitate or simulate

More information

Computational Foundations of Cognitive Science. Inverse. Inverse. Inverse Determinant

Computational Foundations of Cognitive Science. Inverse. Inverse. Inverse Determinant Computational Foundations of Cognitive Science Lecture 14: s and in Matlab; Plotting and Graphics Frank Keller School of Informatics University of Edinburgh keller@inf.ed.ac.uk February 23, 21 1 2 3 Reading:

More information

This lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order.

This lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order. 6.1 6.2 This lecture presents ordered lists. An ordered list is one which is maintained in some predefined order, such as alphabetical or numerical order. A list is numerically ordered if, for every item

More information

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab

MATH (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab MATH 495.3 (CRN 13695) Lab 1: Basics for Linear Algebra and Matlab Below is a screen similar to what you should see when you open Matlab. The command window is the large box to the right containing the

More information

CS 221 Lecture. Tuesday, 4 October There are 10 kinds of people in this world: those who know how to count in binary, and those who don t.

CS 221 Lecture. Tuesday, 4 October There are 10 kinds of people in this world: those who know how to count in binary, and those who don t. CS 221 Lecture Tuesday, 4 October 2011 There are 10 kinds of people in this world: those who know how to count in binary, and those who don t. Today s Agenda 1. Announcements 2. You Can Define New Functions

More information

Area and Perimeter EXPERIMENT. How are the area and perimeter of a rectangle related? You probably know the formulas by heart:

Area and Perimeter EXPERIMENT. How are the area and perimeter of a rectangle related? You probably know the formulas by heart: Area and Perimeter How are the area and perimeter of a rectangle related? You probably know the formulas by heart: Area Length Width Perimeter (Length Width) But if you look at data for many different

More information

% Close all figure windows % Start figure window

% Close all figure windows % Start figure window CS1112 Fall 2016 Project 3 Part A Due Monday 10/3 at 11pm You must work either on your own or with one partner. If you work with a partner, you must first register as a group in CMS and then submit your

More information

Sampling random numbers from a uniform p.d.f.

Sampling random numbers from a uniform p.d.f. Some tools for statistics: I. Random Numbers II. Tools for Distributions III. Histograms Printing pdf-file of Mathematica Notebook To make a pdf - file of a mathematica notebook (needed for handing in

More information

CMSC 341 Lecture 16/17 Hashing, Parts 1 & 2

CMSC 341 Lecture 16/17 Hashing, Parts 1 & 2 CMSC 341 Lecture 16/17 Hashing, Parts 1 & 2 Prof. John Park Based on slides from previous iterations of this course Today s Topics Overview Uses and motivations of hash tables Major concerns with hash

More information

CS 4110 Programming Languages & Logics. Lecture 27 Recursive Types

CS 4110 Programming Languages & Logics. Lecture 27 Recursive Types CS 4110 Programming Languages & Logics Lecture 27 Recursive Types 4 November 2016 Announcements 2 My office hours are at the normal time today but canceled on Monday Guest lecture by Seung Hee Han on Monday

More information

Administrative. Web crawlers. Web Crawlers and Link Analysis!

Administrative. Web crawlers. Web Crawlers and Link Analysis! Web Crawlers and Link Analysis! David Kauchak cs458 Fall 2011 adapted from: http://www.stanford.edu/class/cs276/handouts/lecture15-linkanalysis.ppt http://webcourse.cs.technion.ac.il/236522/spring2007/ho/wcfiles/tutorial05.ppt

More information

Random numbers program

Random numbers program Fundamentals of Computer Science 2010-2011 Laboratory 11 Vectors (1) Objectives: Acquire abilities in the use of vectors (one-dimensional arrays) Get to know the generation of pseudo-random numbers Lower

More information

Density Curves Sections

Density Curves Sections Density Curves Sections 3.1-3.2 Lecture 8 Robb T. Koether Hampden-Sydney College Wed, Jan 27, 2016 Robb T. Koether (Hampden-Sydney College) Density CurvesSections 3.1-3.2 Wed, Jan 27, 2016 1 / 18 Outline

More information

Hi. I m a three. I m always a three. I never ever change. That s why I m a constant.

Hi. I m a three. I m always a three. I never ever change. That s why I m a constant. Lesson 1-1: 1 1: Evaluating Expressions Hi. I m a three. I m always a three. I never ever change. That s why I m a constant. 3 Real life changes, though. So to talk about real life, math needs things that

More information

Programming with Arrays Intro to Pointers CS 16: Solving Problems with Computers I Lecture #11

Programming with Arrays Intro to Pointers CS 16: Solving Problems with Computers I Lecture #11 Programming with Arrays Intro to Pointers CS 16: Solving Problems with Computers I Lecture #11 Ziad Matni Dept. of Computer Science, UCSB Thursday, 5/17 in this classroom Starts at 2:00 PM **SHARP** Please

More information

Read Chapter 4 of Kurose-Ross

Read Chapter 4 of Kurose-Ross CSE 422 Notes, Set 4 These slides contain materials provided with the text: Computer Networking: A Top Down Approach,5th edition, by Jim Kurose and Keith Ross, Addison-Wesley, April 2009. Additional figures

More information

Fast Lookup: Hash tables

Fast Lookup: Hash tables CSE 100: HASHING Operations: Find (key based look up) Insert Delete Fast Lookup: Hash tables Consider the 2-sum problem: Given an unsorted array of N integers, find all pairs of elements that sum to a

More information

More About WHILE Loops

More About WHILE Loops More About WHILE Loops http://people.sc.fsu.edu/ jburkardt/isc/week04 lecture 07.pdf... ISC3313: Introduction to Scientific Computing with C++ Summer Semester 2011... John Burkardt Department of Scientific

More information

Data Structures - CSCI 102. CS102 Hash Tables. Prof. Tejada. Copyright Sheila Tejada

Data Structures - CSCI 102. CS102 Hash Tables. Prof. Tejada. Copyright Sheila Tejada CS102 Hash Tables Prof. Tejada 1 Vectors, Linked Lists, Stack, Queues, Deques Can t provide fast insertion/removal and fast lookup at the same time The Limitations of Data Structure Binary Search Trees,

More information

LAB 2: DATA FILTERING AND NOISE REDUCTION

LAB 2: DATA FILTERING AND NOISE REDUCTION NAME: LAB TIME: LAB 2: DATA FILTERING AND NOISE REDUCTION In this exercise, you will use Microsoft Excel to generate several synthetic data sets based on a simplified model of daily high temperatures in

More information

Memory Bandwidth and Low Precision Computation. CS6787 Lecture 9 Fall 2017

Memory Bandwidth and Low Precision Computation. CS6787 Lecture 9 Fall 2017 Memory Bandwidth and Low Precision Computation CS6787 Lecture 9 Fall 2017 Memory as a Bottleneck So far, we ve just been talking about compute e.g. techniques to decrease the amount of compute by decreasing

More information

Lecture 13 Notes Sets

Lecture 13 Notes Sets Lecture 13 Notes Sets 15-122: Principles of Imperative Computation (Fall 2015) Frank Pfenning, Rob Simmons 1 Introduction In this lecture, we will discuss the data structure of hash tables further and

More information

Pre- Defined Func-ons in C++ Review for Midterm #1

Pre- Defined Func-ons in C++ Review for Midterm #1 Pre- Defined Func-ons in C++ Review for Midterm #1 CS 16: Solving Problems with Computers I Lecture #6 Ziad Matni Dept. of Computer Science, UCSB Announcements Homework #5 due today Homework #6 issued

More information

Lecture 13 Hash Dictionaries

Lecture 13 Hash Dictionaries Lecture 13 Hash Dictionaries 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning, Rob Simmons, Iliano Cervesato In this lecture, we will discuss the data structure of hash tables further

More information

MODIFIED VERSION OF: An introduction to Matlab for dynamic modeling ***PART 3 ***

MODIFIED VERSION OF: An introduction to Matlab for dynamic modeling ***PART 3 *** MODIFIED VERSION OF: An introduction to Matlab for dynamic modeling ***PART 3 *** Stephen P. Ellner 1 and John Guckenheimer 2 1 Department of Ecology and Evolutionary Biology, and 2 Department of Mathematics

More information

Lagrange multipliers October 2013

Lagrange multipliers October 2013 Lagrange multipliers 14.8 14 October 2013 Example: Optimization with constraint. Example: Find the extreme values of f (x, y) = x + 2y on the ellipse 3x 2 + 4y 2 = 3. 3/2 1 1 3/2 Example: Optimization

More information

STAT STATISTICAL METHODS. Statistics: The science of using data to make decisions and draw conclusions

STAT STATISTICAL METHODS. Statistics: The science of using data to make decisions and draw conclusions STAT 515 --- STATISTICAL METHODS Statistics: The science of using data to make decisions and draw conclusions Two branches: Descriptive Statistics: The collection and presentation (through graphical and

More information

Overview of the Simulation Process. CS1538: Introduction to Simulations

Overview of the Simulation Process. CS1538: Introduction to Simulations Overview of the Simulation Process CS1538: Introduction to Simulations Simulation Fundamentals A computer simulation is a computer program that models the behavior of a physical system over time. Program

More information

Teletraffic theory I: Queuing theory

Teletraffic theory I: Queuing theory Teletraffic theory I: Queuing theory Lecturer: Dmitri A. Moltchanov E-mail: moltchan@cs.tut.fi http://www.cs.tut.fi/kurssit/tlt-2716/ 1. Place of the course TLT-2716 is a part of Teletraffic theory five

More information

SIMULATION SYSTEMS PART 1: RANDOM NUMBER GENERATION. Prof. Yasser Mostafa Kadah

SIMULATION SYSTEMS PART 1: RANDOM NUMBER GENERATION. Prof. Yasser Mostafa Kadah 1 SIMULATION SYSTEMS PART 1: RANDOM NUMBER GENERATION Prof. Yasser Mostafa Kadah Introduction to Simulation 2 Simulating the process can be useful as a validation of a model or a comparison of two different

More information

Computer Architecture and Engineering CS152 Quiz #5 May 2th, 2013 Professor Krste Asanović Name: <ANSWER KEY>

Computer Architecture and Engineering CS152 Quiz #5 May 2th, 2013 Professor Krste Asanović Name: <ANSWER KEY> Computer Architecture and Engineering CS152 Quiz #5 May 2th, 2013 Professor Krste Asanović Name: This is a closed book, closed notes exam. 80 Minutes 15 pages Notes: Not all questions are

More information

More on Arrays CS 16: Solving Problems with Computers I Lecture #13

More on Arrays CS 16: Solving Problems with Computers I Lecture #13 More on Arrays CS 16: Solving Problems with Computers I Lecture #13 Ziad Matni Dept. of Computer Science, UCSB Announcements Homework #12 due today No homework assigned today!! Lab #7 is due on Monday,

More information

Chapter Four: Loops II

Chapter Four: Loops II Chapter Four: Loops II Slides by Evan Gallagher & Nikolay Kirov Chapter Goals To understand nested loops To implement programs that read and process data sets To use a computer for simulations Processing

More information

CS4961 Parallel Programming. Lecture 12: Advanced Synchronization (Pthreads) 10/4/11. Administrative. Mary Hall October 4, 2011

CS4961 Parallel Programming. Lecture 12: Advanced Synchronization (Pthreads) 10/4/11. Administrative. Mary Hall October 4, 2011 CS4961 Parallel Programming Lecture 12: Advanced Synchronization (Pthreads) Mary Hall October 4, 2011 Administrative Thursday s class Meet in WEB L130 to go over programming assignment Midterm on Thursday

More information

Lagrange multipliers 14.8

Lagrange multipliers 14.8 Lagrange multipliers 14.8 14 October 2013 Example: Optimization with constraint. Example: Find the extreme values of f (x, y) = x + 2y on the ellipse 3x 2 + 4y 2 = 3. 3/2 Maximum? 1 1 Minimum? 3/2 Idea:

More information

Project 1. Implementation. Massachusetts Institute of Technology : Error Correcting Codes Laboratory March 4, 2004 Professor Daniel A.

Project 1. Implementation. Massachusetts Institute of Technology : Error Correcting Codes Laboratory March 4, 2004 Professor Daniel A. Massachusetts Institute of Technology Handout 18.413: Error Correcting Codes Laboratory March 4, 2004 Professor Daniel A. Spielman Project 1 In this project, you are going to implement the simplest low

More information

Slides 11: Verification and Validation Models

Slides 11: Verification and Validation Models Slides 11: Verification and Validation Models Purpose and Overview The goal of the validation process is: To produce a model that represents true behaviour closely enough for decision making purposes.

More information

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations

Linear transformations Affine transformations Transformations in 3D. Graphics 2009/2010, period 1. Lecture 5: linear and affine transformations Graphics 2009/2010, period 1 Lecture 5 Linear and affine transformations Vector transformation: basic idea Definition Examples Finding matrices Compositions of transformations Transposing normal vectors

More information

Graphing Linear Equations

Graphing Linear Equations Graphing Linear Equations Question 1: What is a rectangular coordinate system? Answer 1: The rectangular coordinate system is used to graph points and equations. To create the rectangular coordinate system,

More information

Notes on PS1 and IO. CPSC 427/527 Donya Quick September 17, 2011

Notes on PS1 and IO. CPSC 427/527 Donya Quick September 17, 2011 Notes on PS1 and IO CPSC 427/527 Donya Quick September 17, 2011 Outline Assignment & e-mail mechanics General feedback on PS1 IO example Turning in Assignments For PS1: DO NOT RESUBMIT. The information

More information

Lecture Notes on Interfaces

Lecture Notes on Interfaces Lecture Notes on Interfaces 15-122: Principles of Imperative Computation Frank Pfenning Lecture 14 October 16, 2012 1 Introduction The notion of an interface to an implementation of an abstract data type

More information

Organizing and Summarizing Data

Organizing and Summarizing Data 1 Organizing and Summarizing Data Key Definitions Frequency Distribution: This lists each category of data and how often they occur. : The percent of observations within the one of the categories. This

More information

Arrays 2 CS 16: Solving Problems with Computers I Lecture #12

Arrays 2 CS 16: Solving Problems with Computers I Lecture #12 Arrays 2 CS 16: Solving Problems with Computers I Lecture #12 Ziad Matni Dept. of Computer Science, UCSB Material: Post- Midterm #1 Lecture 7 thru 12 Homework, Labs, Lectures, Textbook Tuesday, 11/14 in

More information

MATH11400 Statistics Homepage

MATH11400 Statistics Homepage MATH11400 Statistics 1 2010 11 Homepage http://www.stats.bris.ac.uk/%7emapjg/teach/stats1/ 1.1 A Framework for Statistical Problems Many statistical problems can be described by a simple framework in which

More information