The two key ingredients mentioned earler are present here: The following program accomplishes all the necessary tasks: Binary Search: Method A

Size: px
Start display at page:

Download "The two key ingredients mentioned earler are present here: The following program accomplishes all the necessary tasks: Binary Search: Method A"

Transcription

1 Improving Binary Search Techniques Robert Virgile, A vco Systems Textron Abstract Binary search is an efficient method for locating a specific observation in a large, sorted master file. In a binary search program, each iteration through the DATA step (or through a portion of the DATA step) eliminates half the remaining master file observations from those that might be the sought after observation. With a master file of 2**n observations, a maximum of n+l iterations are required to locate any particular observation. This paper develops two improvements to binary search techniques applicable when a number of records must be located. The examples locate 200 to 1000 target records out of a SAS data set with 100,000 obserr vations. Sorting the targets before beginning the search makes possible two improvements over a standard binary search. First, since the targets are sorted, the kth target must be positioned in the master file after the k l target. Therefore it is necessary to search the entire master file for the first target only. Second, sorting implies that it is not statistically optimum to look halfway through the remaining observations each time. This paper develops a program that selects a more efficient test point in the master file. Background Theory An information system should allow you to extract a small amount of information from a large file, without running up a tremendous bill. Binary search is one technique which allows this to happen. The object of binary search is to locate one particular observation in a large, sorted master file.* The sort variable (KEY) in the master file takes on a unique value for each observation. The following diagram portrays the structure of the master file. Given a master file with 100,000 observations, sequential sear~h using a SET statement would necessitate examining 50,000 observations on average in order to locate one particular observation. A binary search would locate an observation faster by initially examining the midpoint of the master file instead of the first observation. Each iteration through a DATA step (or through a section of a DATA step) eliminates half the remaining observations in the master file from those that might be thc sought after record. A simplified initial pass through the data might look like this: DATA HALF; LOW = 1; HIGH = TOTALOBS; SET MASTER POINT=POINTTO NOBS=TOTALOBS; IF KEY < 'Searched For Value' THEN LOW=POINTTO; ELSE HIGH = POINTTO; STOP; [Il <HIGH I 100,000. (100,000) observations <\""?;- <e:;0i NTTOI each. having i~s I a unique 1+ \I" (50001) value for,\ ' KEY <::#>"W:::J (1) LOW = the lowest observation number that could possibly correspond to the observation we are trying to locate. HIGH = the highest observation that could correspond to the observation being sought. 100,000 observations each having a unique value for KEY value Lowest value KEY I KEY::;; a variable whose value equals the searched for value when we have found the correct observation. The master file is sorted by KEY. POINTTO = the number of the observation being examined where the variable KEY will be compared to some searched for value. TOTALOBS = the total number of observations in the master file. Note: SAS is a registered trademark of SAS Institute, Inc., Cary, NC. *Binary search programs can be modified to accurately process cases where the master file does not contain the sought after record. In order to simplify the programs and analyses, and in order to emphasize the major points of this paper, we will deal with examples where the master file is guaranteed to contain the record that we are seeking. This program selects an observation halfway through the master file and examines the value of KEY on that Observation. If KEY is less than the searched for value, the program eliminates all Observations before the POINTTQ observation from further consideration. Otherwise, the program eliminates all observations after the POINTTO observation. Note that the value of TOTALOBS is detcrmined when the DATA step is compiled. The proper value is available by the time HIGH=TOTALOBS is executed. 433

2 To turn the above code into a workable program, two key ingredients must be added. First, the searching code must be repeated, each time eliminating half the remaining observations from consideration. Second, some method for ending the search must be incorporated. That is, the program must discern when the POINTTO observation's KEY matches the target value. The following program accomplishes all the necessary tasks: Binary Search: Method A SET FINDME 1* Contains the variable TARGET *1 ; LOW - I; HIGH - TOTALOBS; ITERATE - I; POINTTO - CEIL«HlGH + LOW) / 2);... DO UNTIL (COWS-'COME HOME');... SET ENTIRE.MASTER POINT-POINTTO NOBS-TOTALOBS;... IF KEY < TARGET THEN LOW-POINTTO+I;... ELSE IF KEY> TARGET THEN HlGH-POINTTO-I;... POINTTO - CEIL«HIGH + LOW) / 2); ITERATE - ITERATE + I; IF POINTTO - HIGH THEN DO; SET ENTIRE.MASTER POINT-HIGH; IF KEY - TARGET THEN DO; ITERATE - ITERATE + I; SET ENTIRE.MASTER POINT_LOW; 1* End of IF POINTTO - HIGH loop * /... 1* End of DO UNTIL loop * / Where the first program tried to locate Searched for Value, this program reads the variable TARGET from the data set FINDME in order to determine the value to be located. The two key ingredients mentioned earler are present here: I. The search is repeated, each time halving the number of potentially matching observations. The six flagged statements above are the guts of this binary search, the repetitive process of (1) selecting a search point halfway through the master file, (2) reading the selected observation, and (3) eliminating half the remaining observations from consideration. 2. The program takes steps to identify a match between the value of KEY in the master file and the target value being sought (the condition which signifies the end of the search). There are two steps taken to identify this match. First, the ELSE DO statement (five lines into the DO UNTIL loop) is executed when KEY equals TARGET. Second, the loop beginning with IF POINTTO = HIGH THEN DO indicates a near match. Since the formula for POINTTO is CEIL«HlGH+LOW)/2), the condition -of POINTTO=HIGH is met whenever the binary search has eliminated all but one or two adjacent observations as potential matches. At that point, binary search becomes irrelevant, and we examine the remaining observation(s) directly. Enhancements When a number of observations are to be located in the master file, sorting the target data set permits streamlining the search process. Once a target has been matched to an observation in the master file, the following searches should look in the master file from that point onward. For example, if we locate the first of 1000 targets at observation 157 in the master file, then there is no need to examine the first 156 observations when searching for the second target. The following program incorporates this feature by adding a variable GLOBALOW, which is the observation number at which the previous target was located. The flagged statements have been added or changed compared to the previous program. This program contains three additional variables: TARGET = read from the data set FINDME, and corresponds to the searched for value. When KEY in the master file is equal to TARGET, we have located the correct observation. ITERATE = the number of SET statements executed in order to locate the correct observation. This variable measures program efficiency, and is not needed to perform the searching operation. COWS = a dummy variable never referenced outside the DO UNTIL loop. (The DO UNTIL condition' is never satisfied; the loop is exited via RETURN statements inside the loop.) 434

3 Binary Search: Method B SET FINDME 1* Contains IOOO'sorted observations */ ;... RETAIN GLOBALOW I;... LOW = GLOBALOW; HIGH = TOTALOBS; ITERATE = I; DO UNTIL (COWS = 'COME HOME'); SET ENTIRE.MASTER POINT=POINTTO NOBS=TOT ALOBS; IF KEY < TARGET THEN LOW=POINTTO+I; ELSE IF KEY> TARGET THEN HIGH=POINTTO-I;... GLOBALOW = POINTTO; IF POINTTO = HIGH THEN DO; SET ENTIRE.MASTER POINT=HIGH; IF KEY = TARGET THEN DO;... GLOBALOW = HIGH; SET ENTIRE.MASTER POINT=LOW;... GLOBALOW = LOW; END' /* End of IF POINTTO=HIGH loop * / /* End of DO UNTIL loop * / Up until this point, these programs have always selected the midpoint of the remaining observations as the ne'xt observation to be examined. However, when the targets have been sorted, this midpoint is not the most efficient record to search. In fact, the probabilities are overwhelming that the first target out of 1000 will be located within the first 1% of the master file. A further modification to the program would initially examine a closer point than the midpoint. Binary Search: Method C... IF _N_=I THEN SET FINDME POINT=GLOBALOW NOBS=NT ARGETS; SET FINDME 1* Contains 1000 sorted observations *1 ;... RETAIN GLOBALOW I NFOUND 0; LOW = GLOBALOW; HIGH = TOT ALOBS; ITERATE = I;... POINTTO = LOW + CEIL«HIGH-LOW)/(NTARGETS-NFOUND»; DO UNTIL (COWS = 'COME HOME'); SET ENTIRE.MASTER POINT=POINTTO NOBS=TOTALOBS; IF KEY < TARGET THEN LOW=POINTTO+I; ELSE IF KEY> TARGET THEN HIGH=POINTTO-I; GLOBALOW = POINTTO; IF POINTTO = HIGH THEN DO; SET ENTIRE.MASTER POINT=HIGH; IF KEY = TARGET THEN DO; GLOBALOW = HIGH; ITERATE = ITER A TE + I; SET ENTIRE.MASTER POINT=LOW; GLOBALOW = LOW; END' /* End of IF POINTTO=HIGH loop' / /* End of DO UNTIL loop' / NTARGETS ::: the total number of targets to be located FOUND"" the number of targets already located Thus NT ARGETS - NFOUND is the number of targets yet to be located. This program will replace the POINTTO formula with LOW + CEIL«HIGH-LOW)/(NTARGETS-NFOUND)) (instead of the midpoint (HIGH+LOW)/2) as an intuitive approximation of a reasonable search point. Since this new formula typically selects a point less than the midpoint, a good outcome would be KEY> TARGET. That would mean we have located a small block of observations that contains the observation we want. Notice that this program proceeds with a binary search regardless of the" outcome of the first search, This is a desirable method if the first search is "successful", that is, if the target is positioned before the searched key in the master file. What about the opposite case, when the target lies in the larger, unexplored section of the master file? In that case, the same principle applies, which is,that the target is very likely to lie in the first portion of the remaining observations. Repeated non-binary searches are called for until we locate a relatively small block thitt contains the target. The following program performs such a search: 435

4 Binary Search: Method D IF N =1 THEN SET FINDME POINT=GLOBALOW - - NOBS=NTARGETS; SET FINDME 1* Contains 1000 sorted observations */ ~ RETAIN GLOBALOW I NFOUND 0; LOW = GLOBALOW; HIGH = TOT ALOBS; ITERATE = I;... INCRMENT CEIL«HIGH-LOW)/(NTARGETS-NFOUND));... POINTTO = LOW + INCRMENT;... DO WHILE (POINTTO < HIGH);... SET ENTIRE.MASTER POINT=POINTTO NOBS=TOTALOBS;... IF KEY < TARGET THEN LOW=POINTTO+l;... ELSE IF KEY> TARGET THEN HIGH=POINTTO-I; GLOBALOW = POINTTO; END'... POINTTO = POINTTO + INCRMENT; POINTTO - CEIL«HiGH + LOW) / 2); DO UNTIL (COWS = 'COME HOME'); SET ENTIRE.MASTER POINT=POINTTO NOBS=TOTALOBS; IF KEY < TARGET THEN LOW=POINTTO+I; ELSE IF KEY> TARGET THEN HIGH=POINTTO-I; GLOBALOW = POINTTO; NFOUND = NFOUND + I; END' IF POINTTO = HIGH THEN DO; SET ENTIRE.MASTER POINT=HIGH; IF KEY = TARGET THEN DO; GLOBALOW = HIGH; NFOUND = NFOUND + I; SET ENTIRE.MASTER POINT=LOW; GLOBALOW = LOW; NFOUND = NFOUND + I;!* End of IF POINTTO=HIGH loop' / /* End of the DO UNTIL loop * / Notice the logic of the first loop (DO WHILE) accomplishes two purposes. First, it keeps searching small block after small block until it locates a block containing the target key. Second, it automatically branches to the binary search (DO UNTIL) if the direct access formula for POINTTO suggests a search point larger than the total number of observations in the master file. Four programs have now been presented, employing four similar methods of searching through a master file. The first program, which we call Method A, performs a standard binary search for each target. The second program (Method B) first sorts the targets and then performs a standa rd binary search for each target. However, Method B searches a smaller portion of the master file for each successive target by eliminating all master file observations that lie before the previously found target. The third program (Method C) is the same as Method B, except that the first search attempt for each target is nonmbinary. The fourth program (Method D) is the same as Method B, except that all search attempts are nonmbinary until a relatively small block containing the target is located. Tests of all four programs were conducted using five sample sets of targets. The five samples contained from 200 to 1000 targets to be located in a master file of 100,000 observations. The four methods are compared on the basis of (1) number of iterations per target locateq, and (2) CPU time, breaking out separm ately the CPU time required to sort the targets. The following table presents test results. Interpretation of Results The test results show, as expected, that each enhancement to the search program reduced the number of iterations per target and the total CPU time. The best results show a reduction of over 75% of CPU time. What makes these enhancements so effective? In particular, why is the binary search ineffective compared to nonbinary searching that uses the formula for POINTTO of: LOW + CEIL«HIGH-LOW)/(NTARGETS-NFOUND)) What makes this a good point? Why are the probabilities overwhelming that the first of 1000 targets will be located within the first 1% of the master file? Two factors determine the relative effectiveness of a non-binary search point: (1) What is the probability that the TARGET value lies at or before the search point?, and (2) Compared to a binary search, how many iterations will be saved if the TARGET value does indeed lie before the search point? This section considers principles of probability theory that underlie the answers to the above questions. If we select observation n from the master file of 100,000 observations, what is the probability that the first of 1000 (sorted) targets lies at or before observation n? In general, the formula is: Probability that first Probability that all target is located BEFORE::: 1 M targets are located observation n AFTER observation n The amount on the right hand side of this equation is easy to compute. Assuming that the 1000 targets have been randomly selected: Probability that ANY given target is located AFTER observation n Probability that ALL 1000 targets are located AFTER observation n (100,000 - n) / 100,000 PI PI'*IOO,OOO 436

5 Test Program Results Number of Taraets It em M easure d Metho d A Method B Method C Method D 200 CPU Time: Seconds Percent Iterations: Average Percent CPU Time: Seconds Percent i Iterations: Average Percent I i 600 CPU Time: Seconds Percent Iterations: Average i Percent CPU Time: Seconds Percent Iterations! Average Percent f i 1000 CPU Time: Seconds ! Percent ! Iterations: Average I Percent CPU Tlme = Search Tlme + Sorting Time (using PROC SORTT) Iterations = Number of SET Statements Executed All percents based on comparison to Method A To get a feeling for the implications of these equations, let's figure out the probability that the first of 1000 targets will be located within the first 1000 observations (i.e., the first 1%) of a master file of 100,000 observations. Probability that the = I (99,000/100,000)"1000 first target is located BEFORE observation 1000 '" Similar computations for other sample values of n produce the following results: Observation Number (n) in the Master File Probability that the First Key is Located Before n (= ) In round numbers, it would take 7 binary search iterations to narrow down the location of the first target to the first 800 records (800 is approximately 100,000 divided by 2**7). More than 99% of the time, we would be saving 6 iteratipns by beginning to search at the 800th record instead of the 50,000th. The other less than 1 % of the time, we would be wasting 1 iteration. On average, the net gain is approximately: ' iterations saved We would average a similar net savings by selecting a cutoff point of 400: ' ' iteration's saved These numbers appear to be somewhat "robust." That is, the expected savings won't vary considerably from one good search formula to the next. Thus our nonbinary search formula can attempt to select a "good" search point, but need not select an "optimum" one. That ~s a fortunate result, since selection of an optimum search point may require some exceedingly complex mathematics. One "good" search point was located at: LOW + CEIL«HIGH LOW)/(NT ARGETS NFOUND)) Experiments were also run using variations on this formula: LOW + FACTOR CEIL«HIGH.LOW)/(NT ARGETS-NFOUND)) where FACTOR ranged in value from 0.9 to 1.1. These experiments showed negligible differences from the original formula (FACTOR=I), with variations typically running in the hundredths of an iteration per target. One further question remains. Why is the fall in CPU time steeper than the fall in the average number of iterations? The answer lies in the fact that some searches require more CPU time than others. In general terms, each direct access search spins the disk to the location of the desired observation. An observation that lies 50,000 records distant takes more spinning (=more computer resources, =more CPU time) than an observation that is 1000 records distant. The binary search examines more distant records than the non-binary search, hence CPU time per search is greater. 437

6 Finally. tests were run on a small data set consisting of only 10 target keys. The results are listed below. While there is some improveme,nt in the number of iterations required, the CPU time actually rises. This rise means that the reduction in iterations required is not sufficient to offset the increased overhead incurred by the combination of sorting and increased complexity of the s'earch program. Also contributing to this result is the fact that a smaller number of targets causes each search to cover a larger block of records in the maser file. When implementing these techniques, programmers should consider the relative sizes of the data sets. Given the size of the master file, different search techniques may be appropriate for different sizes of target data sets. TEST RESULTS FOR 10 TARGETS Method CPU Time Iterations A % 100% B % 96.8% C % 91.0% D ; % 87.8% The last comparison that needs to be made is comparing the direct access searches (binary or non-binary) with a sequential search. This progra,m performs a sequential search and requires the target keys to be sorted: SET FINDME; DO UNTIL (KEY=TARGET); IF KEY = TARGET THEN SET ENTIRE.MASTER; The RETURN statement is necessary when two targets have the same value. Test programs produced results as follows: Back to Reality Having completed all this work, the final step would be to examine how it can be put to use. Certainly I was able to say to my boss, "You've got to send me to SUGI 11. I'm presenting a paper!" But are there other useful applications? How often will the necessary criteria be met: 1. A large, sorted master file contains one observation per value of a KEY variable. 2. The objective is to extract a significant fraction of the observations. 3. The criteria for selecting observations are supplied from information outside the master file. To satisfy myself as to the usefulness of these search programs, I listed half a dozen potential applications: l. Master file"" Customers Target file = With overdue accounts KEY:: Customer ID 2. Master file"" Credit cards issued Target file:: Stolen credit cards KEY"", Credit card number 3. Master file = Tapes in a large tape library Target file = Containing unneeded data KEY = Tape VOLSER 4. Master file = Checking accounts Target file = Bounced checks KEY = Checking account number 5. Master file"" Taxpayers Target file = To be audited KEY = Social Security Number 6. Master file = Drivers Target file = Involved in an accident KEY = License number In addition,.inverted lists based on a single key would be candidates for a binary search. See the reference articles for details on the structure of a SAS database using inverted lists. Number of Target Keys CPU Time (Not Including Sorting) Anyone wishing to apply these programs is welcome to contact the author by writing to: Robert Virgile Avco Systems Textron 201 Lowell Street, Room 4159 Wilmington, MA References Howard, Neil, and Linda Williams Pickle, "Efficient Data Retrieval: Direct Access Using the Point Option," Proceedings.of the Ninth Annu_a! SAS Users Group International Conference. 1984, PP Ramsay, Alec, "Keyed Access to SAS Data Sets," Proceedings of the Ninth Annual SAS Users Group International Conference, 1984, pp

DesignDirector Version 1.0(E)

DesignDirector Version 1.0(E) Statistical Design Support System DesignDirector Version 1.0(E) User s Guide NHK Spring Co.,Ltd. Copyright NHK Spring Co.,Ltd. 1999 All Rights Reserved. Copyright DesignDirector is registered trademarks

More information

How MERGE Really Works

How MERGE Really Works How MERGE Really Works Bob Virgile Robert Virgile Associates, Inc. Overview Do your MERGEs produce unexpected results? Three basic DATA step concepts resolve the complexities of MERGE: compile and execute,

More information

Gary L. Katsanis, Blue Cross and Blue Shield of the Rochester Area, Rochester, NY

Gary L. Katsanis, Blue Cross and Blue Shield of the Rochester Area, Rochester, NY Table Lookups in the SAS Data Step Gary L. Katsanis, Blue Cross and Blue Shield of the Rochester Area, Rochester, NY Introduction - What is a Table Lookup? You have a sales file with one observation for

More information

Stephen M. Beatrous, SAS Institute Inc., Cary, NC John T. Stokes, SAS Institute Inc., Austin, TX

Stephen M. Beatrous, SAS Institute Inc., Cary, NC John T. Stokes, SAS Institute Inc., Austin, TX 1/0 Performance Improvements in Release 6.07 of the SAS System under MVS, ems, and VMS' Stephen M. Beatrous, SAS Institute Inc., Cary, NC John T. Stokes, SAS Institute Inc., Austin, TX INTRODUCTION The

More information

Clipping Points Consider a clip window which is rectangular in shape. P(x, y) is a point to be displayed.

Clipping Points Consider a clip window which is rectangular in shape. P(x, y) is a point to be displayed. Usually only a specified region of a picture needs to be displayed. This region is called the clip window. An algorithm which displays only those primitives (or part of the primitives) which lie inside

More information

David S. Septoff Fidia Pharmaceutical Corporation

David S. Septoff Fidia Pharmaceutical Corporation UNLIMITING A LIMITED MACRO ENVIRONMENT David S. Septoff Fidia Pharmaceutical Corporation ABSTRACT The full Macro facility provides SAS users with an extremely powerful programming tool. It allows for conditional

More information

Handling Numeric Representation SAS Errors Caused by Simple Floating-Point Arithmetic Computation Fuad J. Foty, U.S. Census Bureau, Washington, DC

Handling Numeric Representation SAS Errors Caused by Simple Floating-Point Arithmetic Computation Fuad J. Foty, U.S. Census Bureau, Washington, DC Paper BB-206 Handling Numeric Representation SAS Errors Caused by Simple Floating-Point Arithmetic Computation Fuad J. Foty, U.S. Census Bureau, Washington, DC ABSTRACT Every SAS programmer knows that

More information

Test Bank Ver. 5.0: Data Abstraction and Problem Solving with C++: Walls and Mirrors, 5 th edition, Frank M. Carrano

Test Bank Ver. 5.0: Data Abstraction and Problem Solving with C++: Walls and Mirrors, 5 th edition, Frank M. Carrano Chapter 2 Recursion: The Mirrors Multiple Choice Questions 1. In a recursive solution, the terminates the recursive processing. a) local environment b) pivot item c) base case d) recurrence relation 2.

More information

4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING

4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING 4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING 4.1.2 ALGORITHMS ALGORITHM An Algorithm is a procedure or formula for solving a problem. It is a step-by-step set of operations to be performed. It is almost

More information

DS1845 Dual NV Potentiometer and Memory

DS1845 Dual NV Potentiometer and Memory www.maxim-ic.com FEATURES Two linear taper potentiometers -010 one 10k, 100 position & one 10k, 256 position -050 one 10k, 100 position & one 50k, 256 postition -100 one 10k, 100 position & one 100k, 256

More information

Lecture 6 Sorting and Searching

Lecture 6 Sorting and Searching Lecture 6 Sorting and Searching Sorting takes an unordered collection and makes it an ordered one. 1 2 3 4 5 6 77 42 35 12 101 5 1 2 3 4 5 6 5 12 35 42 77 101 There are many algorithms for sorting a list

More information

A Review on Cache Memory with Multiprocessor System

A Review on Cache Memory with Multiprocessor System A Review on Cache Memory with Multiprocessor System Chirag R. Patel 1, Rajesh H. Davda 2 1,2 Computer Engineering Department, C. U. Shah College of Engineering & Technology, Wadhwan (Gujarat) Abstract

More information

IBM 3850-Mass storage system

IBM 3850-Mass storage system BM 385-Mass storage system by CLAYTON JOHNSON BM Corporation Boulder, Colorado SUMMARY BM's 385, a hierarchical storage system, provides random access to stored data with capacity ranging from 35 X 1()9

More information

Memory. Objectives. Introduction. 6.2 Types of Memory

Memory. Objectives. Introduction. 6.2 Types of Memory Memory Objectives Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured. Master the concepts

More information

Version 8 Base SAS Performance: How Does It Stack-Up? Robert Ray, SAS Institute Inc, Cary, NC

Version 8 Base SAS Performance: How Does It Stack-Up? Robert Ray, SAS Institute Inc, Cary, NC Paper 9-25 Version 8 Base SAS Performance: How Does It Stack-Up? Robert Ray, SAS Institute Inc, Cary, NC ABSTRACT This paper presents the results of a study conducted at SAS Institute Inc to compare the

More information

PLD Semester Exam Study Guide Dec. 2018

PLD Semester Exam Study Guide Dec. 2018 Covers material from Chapters 1-8. Semester Exam will be built from these questions and answers, though they will be re-ordered and re-numbered and possibly worded slightly differently than on this study

More information

CHAPTER 6 Memory. CMPS375 Class Notes Page 1/ 16 by Kuo-pao Yang

CHAPTER 6 Memory. CMPS375 Class Notes Page 1/ 16 by Kuo-pao Yang CHAPTER 6 Memory 6.1 Memory 233 6.2 Types of Memory 233 6.3 The Memory Hierarchy 235 6.3.1 Locality of Reference 237 6.4 Cache Memory 237 6.4.1 Cache Mapping Schemes 239 6.4.2 Replacement Policies 247

More information

Chapter 1. Introduction to Indexes

Chapter 1. Introduction to Indexes Chapter 1 Introduction to Indexes The Index Concept 2 The Index as a SAS Performance Tool 2 Types of SAS Applications That May Benefit from Indexes 4 How SAS Indexes Are Structured 4 Types of SAS Indexes

More information

Andrew H. Karp Sierra Information Services, Inc. San Francisco, California USA

Andrew H. Karp Sierra Information Services, Inc. San Francisco, California USA Indexing and Compressing SAS Data Sets: How, Why, and Why Not Andrew H. Karp Sierra Information Services, Inc. San Francisco, California USA Many users of SAS System software, especially those working

More information

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 20 Dr. Kuo-pao Yang

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 20 Dr. Kuo-pao Yang CHAPTER 6 Memory 6.1 Memory 341 6.2 Types of Memory 341 6.3 The Memory Hierarchy 343 6.3.1 Locality of Reference 346 6.4 Cache Memory 347 6.4.1 Cache Mapping Schemes 349 6.4.2 Replacement Policies 365

More information

DRAM Refresh Control with the

DRAM Refresh Control with the APPLICATION BRIEF DRAM Refresh Control with the 80186 80188 STEVE FARRER APPLICATIONS ENGINEER August 1990 Order Number 270524-002 Information in this document is provided in connection with Intel products

More information

Box It Up (A Graphical Look)

Box It Up (A Graphical Look) . Name Date A c t i v i t y 1 0 Box It Up (A Graphical Look) The Problem Ms. Hawkins, the physical sciences teacher at Hinthe Middle School, needs several open-topped boxes for storing laboratory materials.

More information

Sorting: Overview/Questions

Sorting: Overview/Questions CS121: Sorting and Searching Algorithms John Magee 24 April 2012 1 Sorting: Overview/Questions What is sorting? Why does sorting matter? How is sorting accomplished? Why are there different sorting algorithms?

More information

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) TETCOS Transmission Control Protocol (TCP) Comparison of TCP Congestion Control Algorithms using NetSim @2017 Tetcos. This document is protected by copyright, all rights reserved Table of Contents 1. Abstract....

More information

Learning from Math Library Testng for C Marcel Beemster Solid Sands

Learning from Math Library Testng for C Marcel Beemster Solid Sands Learning from Math Library Testng for C Marcel Beemster Solid Sands Introduction In the process of improving SuperTest, I recently dived into its math library testing. Turns out there were some interesting

More information

Data Abstraction & Problem Solving with C++: Walls and Mirrors 6th Edition Carrano, Henry Test Bank

Data Abstraction & Problem Solving with C++: Walls and Mirrors 6th Edition Carrano, Henry Test Bank Data Abstraction & Problem Solving with C++: Walls and Mirrors 6th Edition Carrano, Henry Test Bank Download link: https://solutionsmanualbank.com/download/test-bank-for-data-abstractionproblem-solving-with-c-walls-and-mirrors-6-e-carrano-henry/

More information

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology

Intermediate Algebra. Gregg Waterman Oregon Institute of Technology Intermediate Algebra Gregg Waterman Oregon Institute of Technology c 2017 Gregg Waterman This work is licensed under the Creative Commons Attribution 4.0 International license. The essence of the license

More information

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

ECE 610: Homework 4 Problems are taken from Kurose and Ross. ECE 610: Homework 4 Problems are taken from Kurose and Ross. Problem 1: Host A and B are communicating over a TCP connection, and Host B has already received from A all bytes up through byte 248. Suppose

More information

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction

Chapter 6 Memory 11/3/2015. Chapter 6 Objectives. 6.2 Types of Memory. 6.1 Introduction Chapter 6 Objectives Chapter 6 Memory Master the concepts of hierarchical memory organization. Understand how each level of memory contributes to system performance, and how the performance is measured.

More information

1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals.

1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals. 1. Define Peripherals. Explain I/O Bus and Interface Modules. Peripherals: Input-output device attached to the computer are also called peripherals. A typical communication link between the processor and

More information

EXTERNAL MEMORY (Part 1)

EXTERNAL MEMORY (Part 1) Eastern Mediterranean University School of Computing and Technology ITEC255 Computer Organization & Architecture EXTERNAL MEMORY (Part 1) Introduction When external memory is discussed, one should consider

More information

Lecture 26. Introduction to Trees. Trees

Lecture 26. Introduction to Trees. Trees Lecture 26 Introduction to Trees Trees Trees are the name given to a versatile group of data structures. They can be used to implement a number of abstract interfaces including the List, but those applications

More information

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD

SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD Paper BB-7 SAS Macro Dynamics - From Simple Basics to Powerful Invocations Rick Andrews, Office of the Actuary, CMS, Baltimore, MD ABSTRACT The SAS Macro Facility offers a mechanism for expanding and customizing

More information

IUSE Knowledge Test. 1. Demographic Questions. IUSE Knowledge Test. 2. Computational Thinking Knowledge Test

IUSE Knowledge Test. 1. Demographic Questions. IUSE Knowledge Test. 2. Computational Thinking Knowledge Test IUSE Knowledge Test 1. Demographic Questions Your student ID number will be erased from the data file after this survey is linked to the other surveys you have taken or will be taking. * 1. Please enter

More information

Section 4 General Factorial Tutorials

Section 4 General Factorial Tutorials Section 4 General Factorial Tutorials General Factorial Part One: Categorical Introduction Design-Ease software version 6 offers a General Factorial option on the Factorial tab. If you completed the One

More information

13 File Structures. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

13 File Structures. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to: 13 File Structures 13.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define two categories of access methods: sequential

More information

Debugging 101 Peter Knapp U.S. Department of Commerce

Debugging 101 Peter Knapp U.S. Department of Commerce Debugging 101 Peter Knapp U.S. Department of Commerce Overview The aim of this paper is to show a beginning user of SAS how to debug SAS programs. New users often review their logs only for syntax errors

More information

2012 Mathematics. Intermediate 2 Units 1, 2 and 3, Paper 2. Finalised Marking Instructions

2012 Mathematics. Intermediate 2 Units 1, 2 and 3, Paper 2. Finalised Marking Instructions 01 Mathematics Intermediate Units 1, and 3, Paper Finalised Marking Instructions Scottish Qualifications Authority 01 The information in this publication may be reproduced to support SQA qualifications

More information

File Size Distribution on UNIX Systems Then and Now

File Size Distribution on UNIX Systems Then and Now File Size Distribution on UNIX Systems Then and Now Andrew S. Tanenbaum, Jorrit N. Herder*, Herbert Bos Dept. of Computer Science Vrije Universiteit Amsterdam, The Netherlands {ast@cs.vu.nl, jnherder@cs.vu.nl,

More information

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute

Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Design and Analysis of Algorithms Prof. Madhavan Mukund Chennai Mathematical Institute Module 07 Lecture - 38 Divide and Conquer: Closest Pair of Points We now look at another divide and conquer algorithm,

More information

Control Structures. Code can be purely arithmetic assignments. At some point we will need some kind of control or decision making process to occur

Control Structures. Code can be purely arithmetic assignments. At some point we will need some kind of control or decision making process to occur Control Structures Code can be purely arithmetic assignments At some point we will need some kind of control or decision making process to occur C uses the if keyword as part of it s control structure

More information

Downloaded from

Downloaded from UNIT 2 WHAT IS STATISTICS? Researchers deal with a large amount of data and have to draw dependable conclusions on the basis of data collected for the purpose. Statistics help the researchers in making

More information

Hashing. Hashing Procedures

Hashing. Hashing Procedures Hashing Hashing Procedures Let us denote the set of all possible key values (i.e., the universe of keys) used in a dictionary application by U. Suppose an application requires a dictionary in which elements

More information

Final Exam Search Engines ( / ) December 8, 2014

Final Exam Search Engines ( / ) December 8, 2014 Student Name: Andrew ID: Seat Number: Final Exam Search Engines (11-442 / 11-642) December 8, 2014 Answer all of the following questions. Each answer should be thorough, complete, and relevant. Points

More information

Number Systems (2.1.1)

Number Systems (2.1.1) Number Systems (2.1.1) Concept of a register. Operations of register, Complementation, Ranges, Left and right shifts, Addition of two binary number, Numerical overflow, 2 s complement representation, Binary

More information

1 Introduction RHIT UNDERGRAD. MATH. J., VOL. 17, NO. 1 PAGE 159

1 Introduction RHIT UNDERGRAD. MATH. J., VOL. 17, NO. 1 PAGE 159 RHIT UNDERGRAD. MATH. J., VOL. 17, NO. 1 PAGE 159 1 Introduction Kidney transplantation is widely accepted as the preferred treatment for the majority of patients with end stage renal disease [11]. Patients

More information

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide

Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide SAS447-2017 Step through Your DATA Step: Introducing the DATA Step Debugger in SAS Enterprise Guide ABSTRACT Joe Flynn, SAS Institute Inc. Have you ever run SAS code with a DATA step and the results are

More information

CS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS

CS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS CS6303 Computer Architecture Regulation 2013 BE-Computer Science and Engineering III semester 2 MARKS UNIT-I OVERVIEW & INSTRUCTIONS 1. What are the eight great ideas in computer architecture? The eight

More information

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Structure Page Nos. 2.0 Introduction 4 2. Objectives 5 2.2 Metrics for Performance Evaluation 5 2.2. Running Time 2.2.2 Speed Up 2.2.3 Efficiency 2.3 Factors

More information

Indicate the answer choice that best completes the statement or answers the question. Enter the appropriate word(s) to complete the statement.

Indicate the answer choice that best completes the statement or answers the question. Enter the appropriate word(s) to complete the statement. 1. C#, C++, C, and Java use the symbol as the logical OR operator. a. $ b. % c. ^ d. 2. errors are relatively easy to locate and correct because the compiler or interpreter you use highlights every error.

More information

Parallel prefix scan

Parallel prefix scan Parallel prefix scan Now we consider a slightly different problem: Given an array , we want to compute the sum of every possible prefix of the array:

More information

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between

PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between MITOCW Lecture 10A [MUSIC PLAYING] PROFESSOR: Last time, we took a look at an explicit control evaluator for Lisp, and that bridged the gap between all these high-level languages like Lisp and the query

More information

DOWNLOAD PDF BIG IDEAS MATH VERTICAL SHRINK OF A PARABOLA

DOWNLOAD PDF BIG IDEAS MATH VERTICAL SHRINK OF A PARABOLA Chapter 1 : BioMath: Transformation of Graphs Use the results in part (a) to identify the vertex of the parabola. c. Find a vertical line on your graph paper so that when you fold the paper, the left portion

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 14 Scan Converting Lines, Circles and Ellipses Hello everybody, welcome again

More information

Samuel Coolidge, Dan Simon, Dennis Shasha, Technical Report NYU/CIMS/TR

Samuel Coolidge, Dan Simon, Dennis Shasha, Technical Report NYU/CIMS/TR Detecting Missing and Spurious Edges in Large, Dense Networks Using Parallel Computing Samuel Coolidge, sam.r.coolidge@gmail.com Dan Simon, des480@nyu.edu Dennis Shasha, shasha@cims.nyu.edu Technical Report

More information

A Balanced Introduction to Computer Science

A Balanced Introduction to Computer Science A Balanced Introduction to Computer Science David Reed, Creighton University 2005 Pearson Prentice Hall ISBN 0-13-046709-X Chapter 8 Algorithms and Programming Languages 1 Algorithms the central concept

More information

Creating Icons for Leopard Buttons

Creating Icons for Leopard Buttons Creating Icons for Leopard Buttons Introduction Among the new features that C-Max 2.0 brings to the Ocelot and Leopard controllers, one of the more sophisticated ones allows the user to create icons that

More information

3 The L oop Control Structure

3 The L oop Control Structure 3 The L oop Control Structure Loops The while Loop Tips and Traps More Operators The for Loop Nesting of Loops Multiple Initialisations in the for Loop The Odd Loop The break Statement The continue Statement

More information

Transportation Engineering - II Dr.Rajat Rastogi Department of Civil Engineering Indian Institute of Technology - Roorkee

Transportation Engineering - II Dr.Rajat Rastogi Department of Civil Engineering Indian Institute of Technology - Roorkee Transportation Engineering - II Dr.Rajat Rastogi Department of Civil Engineering Indian Institute of Technology - Roorkee Lecture 18 Vertical Curves and Gradients Dear students, I welcome you back to the

More information

Contents. Overview How SAS processes programs Compilation phase Execution phase Debugging a DATA step Testing your programs

Contents. Overview How SAS processes programs Compilation phase Execution phase Debugging a DATA step Testing your programs SAS Data Step Contents Overview How SAS processes programs Compilation phase Execution phase Debugging a DATA step Testing your programs 2 Overview Introduction This section teaches you what happens "behind

More information

Algorithm Efficiency & Sorting. Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms

Algorithm Efficiency & Sorting. Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms Algorithm Efficiency & Sorting Algorithm efficiency Big-O notation Searching algorithms Sorting algorithms Overview Writing programs to solve problem consists of a large number of decisions how to represent

More information

CS 2506 Computer Organization II Test 2. Do not start the test until instructed to do so! printed

CS 2506 Computer Organization II Test 2. Do not start the test until instructed to do so! printed Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted fact sheet, with a restriction: 1) one 8.5x11 sheet, both sides, handwritten

More information

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,

More information

Contents GENERAL OVERVIEW 3. User Profile and Permissions... 3 Regional Manager... 3 Manager... 3 User... 4 Security... 4

Contents GENERAL OVERVIEW 3. User Profile and Permissions... 3 Regional Manager... 3 Manager... 3 User... 4 Security... 4 SYNERGY USER GUIDE Contents GENERAL OVERVIEW 3 User Profile and Permissions... 3 Regional Manager... 3 Manager... 3 User... 4 Security... 4 Budgets... 4 Spending Limits... 5 PO Hold Review... 5 Regional

More information

A nodal based evolutionary structural optimisation algorithm

A nodal based evolutionary structural optimisation algorithm Computer Aided Optimum Design in Engineering IX 55 A dal based evolutionary structural optimisation algorithm Y.-M. Chen 1, A. J. Keane 2 & C. Hsiao 1 1 ational Space Program Office (SPO), Taiwan 2 Computational

More information

20-EECE-4029 Operating Systems Spring, 2013 John Franco

20-EECE-4029 Operating Systems Spring, 2013 John Franco 20-EECE-4029 Operating Systems Spring, 2013 John Franco Second Exam name: Question 1: Translation Look-aside Buffer (a) Describe the TLB. Include its location, why it is located there, its contents, and

More information

SOPHISTICATED DATA LINKAGE USING SAS

SOPHISTICATED DATA LINKAGE USING SAS SOPHISTICATED DATA LINKAGE USING SAS Philip J. d' Almada, Battelle Memorial Institute, Atlanta, Georgia ABSTRACT A by-product of the very-iow-birthweight project at the Centers for Disease Control and

More information

ANNUAL REPORT OF HAIL STUDIES NEIL G, TOWERY AND RAND I OLSON. Report of Research Conducted. 15 May May For. The Country Companies

ANNUAL REPORT OF HAIL STUDIES NEIL G, TOWERY AND RAND I OLSON. Report of Research Conducted. 15 May May For. The Country Companies ISWS CR 182 Loan c.l ANNUAL REPORT OF HAIL STUDIES BY NEIL G, TOWERY AND RAND I OLSON Report of Research Conducted 15 May 1976-14 May 1977 For The Country Companies May 1977 ANNUAL REPORT OF HAIL STUDIES

More information

Computing and compilers

Computing and compilers Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program

More information

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T. Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement

More information

Possibilities of Voting

Possibilities of Voting Possibilities of Voting MATH 100, Survey of Mathematical Ideas J. Robert Buchanan Department of Mathematics Summer 2018 Introduction When choosing between just two alternatives, the results of voting are

More information

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong) Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong) References: [1] http://homepages.inf.ed.ac.uk/rbf/hipr2/index.htm [2] http://www.cs.wisc.edu/~dyer/cs540/notes/vision.html

More information

lecture notes September 2, How to sort?

lecture notes September 2, How to sort? .30 lecture notes September 2, 203 How to sort? Lecturer: Michel Goemans The task of sorting. Setup Suppose we have n objects that we need to sort according to some ordering. These could be integers or

More information

Dual-Frame Sample Sizes (RDD and Cell) for Future Minnesota Health Access Surveys

Dual-Frame Sample Sizes (RDD and Cell) for Future Minnesota Health Access Surveys Dual-Frame Sample Sizes (RDD and Cell) for Future Minnesota Health Access Surveys Steven Pedlow 1, Kanru Xia 1, Michael Davern 1 1 NORC/University of Chicago, 55 E. Monroe Suite 2000, Chicago, IL 60603

More information

Sorting. There exist sorting algorithms which have shown to be more efficient in practice.

Sorting. There exist sorting algorithms which have shown to be more efficient in practice. Sorting Next to storing and retrieving data, sorting of data is one of the more common algorithmic tasks, with many different ways to perform it. Whenever we perform a web search and/or view statistics

More information

External Sorting. Why We Need New Algorithms

External Sorting. Why We Need New Algorithms 1 External Sorting All the internal sorting algorithms require that the input fit into main memory. There are, however, applications where the input is much too large to fit into memory. For those external

More information

Information Criteria Methods in SAS for Multiple Linear Regression Models

Information Criteria Methods in SAS for Multiple Linear Regression Models Paper SA5 Information Criteria Methods in SAS for Multiple Linear Regression Models Dennis J. Beal, Science Applications International Corporation, Oak Ridge, TN ABSTRACT SAS 9.1 calculates Akaike s Information

More information

Optimizing System Performance

Optimizing System Performance 243 CHAPTER 19 Optimizing System Performance Definitions 243 Collecting and Interpreting Performance Statistics 244 Using the FULLSTIMER and STIMER System Options 244 Interpreting FULLSTIMER and STIMER

More information

Enhancing Linux Scheduler Scalability

Enhancing Linux Scheduler Scalability Enhancing Linux Scheduler Scalability Mike Kravetz IBM Linux Technology Center Hubertus Franke, Shailabh Nagar, Rajan Ravindran IBM Thomas J. Watson Research Center {mkravetz,frankeh,nagar,rajancr}@us.ibm.com

More information

Chapter 13. Recursion. Copyright 2016 Pearson, Inc. All rights reserved.

Chapter 13. Recursion. Copyright 2016 Pearson, Inc. All rights reserved. Chapter 13 Recursion Copyright 2016 Pearson, Inc. All rights reserved. Learning Objectives Recursive void Functions Tracing recursive calls Infinite recursion, overflows Recursive Functions that Return

More information

having any value between and. For array element, the plot will have a dot at the intersection of and, subject to scaling constraints.

having any value between and. For array element, the plot will have a dot at the intersection of and, subject to scaling constraints. 02/10/2006 01:42 AM Class 7 From Wiki6962 Table of contents 1 Basic definitions 2 Bubble Sort 2.1 Observations 3 Quick Sort 3.1 The Partition Algorithm 3.2 Duplicate Keys 3.3 The Pivot element 3.4 Size

More information

Chapter Twelve. Systems Design and Development

Chapter Twelve. Systems Design and Development Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many

More information

Applied Algorithm Design Lecture 3

Applied Algorithm Design Lecture 3 Applied Algorithm Design Lecture 3 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 3 1 / 75 PART I : GREEDY ALGORITHMS Pietro Michiardi (Eurecom) Applied Algorithm

More information

(Refer Slide Time: 00:02:00)

(Refer Slide Time: 00:02:00) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 18 Polyfill - Scan Conversion of a Polygon Today we will discuss the concepts

More information

METAL OXIDE VARISTORS

METAL OXIDE VARISTORS POWERCET CORPORATION METAL OXIDE VARISTORS PROTECTIVE LEVELS, CURRENT AND ENERGY RATINGS OF PARALLEL VARISTORS PREPARED FOR EFI ELECTRONICS CORPORATION SALT LAKE CITY, UTAH METAL OXIDE VARISTORS PROTECTIVE

More information

(Refer Slide Time: 00:02:02)

(Refer Slide Time: 00:02:02) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 20 Clipping: Lines and Polygons Hello and welcome everybody to the lecture

More information

Going Under the Hood: How Does the Macro Processor Really Work?

Going Under the Hood: How Does the Macro Processor Really Work? Going Under the Hood: How Does the Really Work? ABSTRACT Lisa Lyons, PPD, Inc Hamilton, NJ Did you ever wonder what really goes on behind the scenes of the macro processor, or how it works with other parts

More information

MASS Modified Assignment Algorithm in Facilities Layout Planning

MASS Modified Assignment Algorithm in Facilities Layout Planning International Journal of Tomography & Statistics (IJTS), June-July 2005, Vol. 3, No. JJ05, 19-29 ISSN 0972-9976; Copyright 2005 IJTS, ISDER MASS Modified Assignment Algorithm in Facilities Layout Planning

More information

LIGHT: Two-slit Interference

LIGHT: Two-slit Interference LIGHT: Two-slit Interference Objective: To study interference of light waves and verify the wave nature of light. Apparatus: Two red lasers (wavelength, λ = 633 nm); two orange lasers (λ = 612 nm); two

More information

Introduction to ANSYS DesignXplorer

Introduction to ANSYS DesignXplorer Lecture 5 Goal Driven Optimization 14. 5 Release Introduction to ANSYS DesignXplorer 1 2013 ANSYS, Inc. September 27, 2013 Goal Driven Optimization (GDO) Goal Driven Optimization (GDO) is a multi objective

More information

of Nebraska - Lincoln

of Nebraska - Lincoln University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln MAT Exam Expository Papers Math in the Middle Institute Partnership -007 The Polygon Game Kyla Hall Follow this and additional

More information

Tracking Changing Extrema with Particle Swarm Optimizer

Tracking Changing Extrema with Particle Swarm Optimizer Tracking Changing Extrema with Particle Swarm Optimizer Anthony Carlisle Department of Mathematical and Computer Sciences, Huntingdon College antho@huntingdon.edu Abstract The modification of the Particle

More information

I 1 mile -J Rice Creek Blythewood Quadrangle South Carolina

I 1 mile -J Rice Creek Blythewood Quadrangle South Carolina FIBONACCI DRAINAGE PATTERNS W.E.SHARP University of, Columbia, 1. INTRODUCTION Some 25 years ago, an engineer, Robert E Horton, developed the notion of stream o r- der or class [1] as a measure of the

More information

Computer Science 1000: Part #2. Algorithms

Computer Science 1000: Part #2. Algorithms Computer Science 1000: Part #2 Algorithms PROBLEMS, ALGORITHMS, AND PROGRAMS REPRESENTING ALGORITHMS AS PSEUDOCODE EXAMPLE ALGORITHMS ASSESSING ALGORITHM EFFICIENCY ... To Recap... The fundamental task

More information

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO

Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO Using PROC SQL to Calculate FIRSTOBS David C. Tabano, Kaiser Permanente, Denver, CO ABSTRACT The power of SAS programming can at times be greatly improved using PROC SQL statements for formatting and manipulating

More information

Lecture 6 Binary Search

Lecture 6 Binary Search Lecture 6 Binary Search 15-122: Principles of Imperative Computation (Spring 2018) Frank Pfenning One of the fundamental and recurring problems in computer science is to find elements in collections, such

More information

Effective Team Collaboration with Simulink

Effective Team Collaboration with Simulink Effective Team Collaboration with Simulink A MathWorks Master Class: 15:45 16:45 Gavin Walker, Development Manager, Simulink Model Management 2012 The MathWorks, Inc. 1 Overview Focus: New features of

More information

CHAPTER 1. Introduction

CHAPTER 1. Introduction ME 475: Computer-Aided Design of Structures 1-1 CHAPTER 1 Introduction 1.1 Analysis versus Design 1.2 Basic Steps in Analysis 1.3 What is the Finite Element Method? 1.4 Geometrical Representation, Discretization

More information

North Carolina Fire and Rescue Commission Certification Programs POLICY FOR TESTING

North Carolina Fire and Rescue Commission Certification Programs POLICY FOR TESTING North Carolina Fire and Rescue Commission Certification Programs POLICY FOR TESTING Third Edition, August 2000 POLICY FOR TESTING CERTIFICATION PROGRAMS NC FIRE AND RESCUE COMMISSION ARTICLE I SCOPE It

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information