Determining Necessity of Optimization in Matrix Chain Multiplication. Quen Parson

Size: px
Start display at page:

Download "Determining Necessity of Optimization in Matrix Chain Multiplication. Quen Parson"

Transcription

1 Determining Necessity of Optimization in Matrix Chain Multiplication Quen Parson

2 Introduction - What is a matrix? Mathematics - set of data Arranged in rows and columns Individual cells called elements Elements can be variables, constants, functions, matrices, etc.

3 Matrix Applications Machine learning (neural networks) Elements represent links between nodes Data mining Operations on large sets of data

4 Matrix Multiplication Associative - Grouping still produces same product Grouping can affect workload (number of multiplication operations) Noncommutative - Order can change product Result matrix dimensions - # ColA x # RowB Result matrix element Elementx,y = (ax,1*b1,y + ax,2*b2,y + ) Total number of operations (multiplication weight): # RowA * # ColA * # ColB Note: # RowA = # ColB 70px- Matrix_multiplication_diagram_2.svg.png

5 Matrix Chain Multiplication and Need for Optimization Matrix Chain Multiplication: Potentially very costly Larger chains can increase multiplication operations exponentially Recall weight calculation: product matrices can grow very quickly in chains Associative property: Matrix chains can be rearranged sometimes for faster calculation

6 Optimization Algorithm Dynamic programming: breaking larger problem into smaller problems that are easier to solve Memoization: algorithm saves intermediate products to memory to speed up future calculations Algorithm: Memoization Optimization Calculates cost of every possible chain grouping Uses dynamic programming to split chains into smaller chains for easier calculation Uses memoization to save products of chains to prevent redundant calculation 12/LCS recurrence- tre e.jp g

7 Optimization Inefficiency Algorithm complexity: O(2 n ), does not run in reasonable time Algorithm can speed up calculations of expensive chains, but can slow down the calculation of others (ex. chains that are already optimized) Solution speed: Optimization time + Solving time

8 Research Goal Determine criteria for when optimization is beneficial Independent Variables: chain length, distribution of weights Dependent Variable: calculation time Weight Distribution Weight distribution measured using average rate of change in weights from beginning to end of chain Calculated by first getting the matrix multiplication weights from left to right, and then getting the average rate of change Language and IDE: Visual C++ using Visual Studio

9 Procedure 1. Implement matrix class, relevant data and methods for project 2. Implement unoptimized solver, solves matrix chain as given without optimization step 3. Implement optimized solver, solves matrix chain after optimization step 4. Implement testing class, automatically runs test cases within given boundaries to speed up testing process 5. Analyze and interpret results

10 Results Test cases generated by test program to automate experimentation 48 million test cases planned Only approx. 20 million tested due to time constraints Chain length values tested: 2 to 6 Average weight slope tested: -30 to 30 Above red line: chain better unoptimized Below red line: chain better optimized

11 of Chain Weights

12 Discussion Time differences only significant when total chain weight is significant (sum of weights > 10,000) For chains with low number of total operations, time difference and total calculation time negligible Below this point, optimization is neither significantly detrimental or beneficial Optimization dependent on average weight slope Average weight slope < 2: chain better optimized Average weight slope > 2: chain better unoptimized

13 Applications Further speed up operations with large matrix chains Minimal change to existing algorithms, but significant performance gain Can be applied on other algorithms Same procedure can find criteria for other algorithms Determining necessity of optimization is O(n), low cost operation Much faster than time wasted in unnecessary optimization Easy to implement: simple conditional

14 Future Research Test using more hardware Determine if findings remain constant on alternative hardware (various industry standards) Run more tests to reduce variance in results More exact criteria Run procedure on other optimization algorithms

15 Acknowledgements Mrs. Yarbrough, Alabama School of Fine Arts Mrs. Chin, Alabama School of Fine Arts Dr. Pirkelbauer, University of Alabama in Birmingham

MGO Tutorial: Plume Management

MGO Tutorial: Plume Management MGO Tutorial: Plume Management Introduction Pumping well optimization technology is used to determine the ideal pumping well locations, and ideal pumping rates at these locations, in order to minimize

More information

ABOUT PIVOTTABLES TABLE OF CONTENTS

ABOUT PIVOTTABLES TABLE OF CONTENTS University of Southern California Academic Information Services Excel 2007 - PivotTables ABOUT PIVOTTABLES PivotTables provide an excellent means of analyzing data stored in database format by rearranging

More information

Dynamic Programming. An Introduction to DP

Dynamic Programming. An Introduction to DP Dynamic Programming An Introduction to DP Dynamic Programming? A programming technique Solve a problem by breaking into smaller subproblems Similar to recursion with memoisation Usefulness: Efficiency

More information

Algorithm Design Techniques part I

Algorithm Design Techniques part I Algorithm Design Techniques part I Divide-and-Conquer. Dynamic Programming DSA - lecture 8 - T.U.Cluj-Napoca - M. Joldos 1 Some Algorithm Design Techniques Top-Down Algorithms: Divide-and-Conquer Bottom-Up

More information

MGO Tutorial - Dewatering Scenario

MGO Tutorial - Dewatering Scenario MGO Tutorial - Dewatering Scenario Introduction 1.0.1 Background Pumping well optimization technology is used to determine the ideal pumping well locations, and ideal pumping rates at these locations,

More information

Data Structures and Algorithms. Dynamic Programming

Data Structures and Algorithms. Dynamic Programming Data Structures and Algorithms Dynamic Programming Introduction Dynamic programming is simply the process of turning recursive calls in to table lookups. If a recursive function does redundant computations,

More information

Column and row space of a matrix

Column and row space of a matrix Column and row space of a matrix Recall that we can consider matrices as concatenation of rows or columns. c c 2 c 3 A = r r 2 r 3 a a 2 a 3 a 2 a 22 a 23 a 3 a 32 a 33 The space spanned by columns of

More information

MGO Tutorial - Dewatering Scenario

MGO Tutorial - Dewatering Scenario MGO Tutorial - Dewatering Scenario Introduction Pumping well optimization technology is used to determine the ideal pumping well locations, and ideal pumping rates at these locations, in order to minimize

More information

Business: Administrative Information Services Crosswalk to AZ Math Standards

Business: Administrative Information Services Crosswalk to AZ Math Standards Page 1 of 1 August 1998 2M-P1 Construct and draw inferences including measures of central tendency, from charts, tables, graphs and data plots that summarize data from real-world situations. PO 4 2.0 Manage

More information

CPSC 695. Methods for interpolation and analysis of continuing surfaces in GIS Dr. M. Gavrilova

CPSC 695. Methods for interpolation and analysis of continuing surfaces in GIS Dr. M. Gavrilova CPSC 695 Methods for interpolation and analysis of continuing surfaces in GIS Dr. M. Gavrilova Overview Data sampling for continuous surfaces Interpolation methods Global interpolation Local interpolation

More information

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

Introduction. Linear because it requires linear functions. Programming as synonymous of planning. LINEAR PROGRAMMING Introduction Development of linear programming was among the most important scientific advances of mid-20th cent. Most common type of applications: allocate limited resources to competing

More information

STAT 311 (3 CREDITS) VARIANCE AND REGRESSION ANALYSIS ELECTIVE: ALL STUDENTS. CONTENT Introduction to Computer application of variance and regression

STAT 311 (3 CREDITS) VARIANCE AND REGRESSION ANALYSIS ELECTIVE: ALL STUDENTS. CONTENT Introduction to Computer application of variance and regression STAT 311 (3 CREDITS) VARIANCE AND REGRESSION ANALYSIS ELECTIVE: ALL STUDENTS. CONTENT Introduction to Computer application of variance and regression analysis. Analysis of Variance: one way classification,

More information

Unit-5 Dynamic Programming 2016

Unit-5 Dynamic Programming 2016 5 Dynamic programming Overview, Applications - shortest path in graph, matrix multiplication, travelling salesman problem, Fibonacci Series. 20% 12 Origin: Richard Bellman, 1957 Programming referred to

More information

3. Replace any row by the sum of that row and a constant multiple of any other row.

3. Replace any row by the sum of that row and a constant multiple of any other row. Math Section. Section.: Solving Systems of Linear Equations Using Matrices As you may recall from College Algebra or Section., you can solve a system of linear equations in two variables easily by applying

More information

Data mining with sparse grids

Data mining with sparse grids Data mining with sparse grids Jochen Garcke and Michael Griebel Institut für Angewandte Mathematik Universität Bonn Data mining with sparse grids p.1/40 Overview What is Data mining? Regularization networks

More information

Natural Language Processing CS 6320 Lecture 6 Neural Language Models. Instructor: Sanda Harabagiu

Natural Language Processing CS 6320 Lecture 6 Neural Language Models. Instructor: Sanda Harabagiu Natural Language Processing CS 6320 Lecture 6 Neural Language Models Instructor: Sanda Harabagiu In this lecture We shall cover: Deep Neural Models for Natural Language Processing Introduce Feed Forward

More information

CS473-Algorithms I. Lecture 10. Dynamic Programming. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 10. Dynamic Programming. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 1 Dynamic Programming 1 Introduction An algorithm design paradigm like divide-and-conquer Programming : A tabular method (not writing computer code) Divide-and-Conquer (DAC):

More information

Forms of Linear Equations

Forms of Linear Equations 6. 1-6.3 Forms of Linear Equations Name Sec 6.1 Writing Linear Equations in Slope-Intercept Form *Recall that slope intercept form looks like y = mx + b, where m = slope and b = y=intercept 1) Writing

More information

Definitions. Spreadsheet. Usefulness of Spreadsheets What do people use it for? Spreadsheet Page. Spreadsheet Cell

Definitions. Spreadsheet. Usefulness of Spreadsheets What do people use it for? Spreadsheet Page. Spreadsheet Cell www.tongatapu.net.to Terms and 18 January 1999 Definitions Spreadsheet A table which displays numbers in rows and columns, used for accounting, budgeting, financial analysis, scientific applications, and

More information

Module 9 : Numerical Relaying II : DSP Perspective

Module 9 : Numerical Relaying II : DSP Perspective Module 9 : Numerical Relaying II : DSP Perspective Lecture 36 : Fast Fourier Transform Objectives In this lecture, We will introduce Fast Fourier Transform (FFT). We will show equivalence between FFT and

More information

Storage and Indexing, Part I

Storage and Indexing, Part I Storage and Indexing, Part I Computer Science E-66 Harvard University David G. Sullivan, Ph.D. Accessing the Disk Data is arranged on disk in units called blocks. typically fairly large (e.g., 4K or 8K)

More information

Constraint (Logic) Programming

Constraint (Logic) Programming Constraint (Logic) Programming Roman Barták Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic bartak@ktiml.mff.cuni.cz Sudoku Combinatorial puzzle, whose goal is to enter

More information

Space Filling Curves and Hierarchical Basis. Klaus Speer

Space Filling Curves and Hierarchical Basis. Klaus Speer Space Filling Curves and Hierarchical Basis Klaus Speer Abstract Real world phenomena can be best described using differential equations. After linearisation we have to deal with huge linear systems of

More information

Intermediate Microsoft Excel 2010

Intermediate Microsoft Excel 2010 P a g e 1 Intermediate Microsoft Excel 2010 ABOUT THIS CLASS This class is designed to continue where the Microsoft Excel 2010 Basics class left off. Specifically, we will cover additional ways to organize

More information

Dynamic Programming. Lecture Overview Introduction

Dynamic Programming. Lecture Overview Introduction Lecture 12 Dynamic Programming 12.1 Overview Dynamic Programming is a powerful technique that allows one to solve many different types of problems in time O(n 2 ) or O(n 3 ) for which a naive approach

More information

Machine Learning / Jan 27, 2010

Machine Learning / Jan 27, 2010 Revisiting Logistic Regression & Naïve Bayes Aarti Singh Machine Learning 10-701/15-781 Jan 27, 2010 Generative and Discriminative Classifiers Training classifiers involves learning a mapping f: X -> Y,

More information

How to speed up a database which has gotten slow

How to speed up a database which has gotten slow Triad Area, NC USA E-mail: info@geniusone.com Web: http://geniusone.com How to speed up a database which has gotten slow hardware OS database parameters Blob fields Indices table design / table contents

More information

Dynamic Programmming: Activity Selection

Dynamic Programmming: Activity Selection Dynamic Programmming: Activity Selection Select the maximum number of non-overlapping activities from a set of n activities A = {a 1,, a n } (sorted by finish times). Identify easier subproblems to solve.

More information

Computer Experiments: Space Filling Design and Gaussian Process Modeling

Computer Experiments: Space Filling Design and Gaussian Process Modeling Computer Experiments: Space Filling Design and Gaussian Process Modeling Best Practice Authored by: Cory Natoli Sarah Burke, Ph.D. 30 March 2018 The goal of the STAT COE is to assist in developing rigorous,

More information

Watch the video below to learn more about freezing panes in Excel. *Video removed from printing pages. To freeze rows:

Watch the video below to learn more about freezing panes in Excel. *Video removed from printing pages. To freeze rows: Excel 06 Freezing Panes and View Options Introduction Whenever you're working with a lot of data, it can be di icult to compare information in your workbook. Fortunately, Excel includes several tools that

More information

Greedy Algorithms Huffman Coding

Greedy Algorithms Huffman Coding Greedy Algorithms Huffman Coding Huffman Coding Problem Example: Release 29.1 of 15-Feb-2005 of TrEMBL Protein Database contains 1,614,107 sequence entries, comprising 505,947,503 amino acids. There are

More information

Trip Distribution Models in TransCAD. Murtaza Haider Tel: , ext. 2480

Trip Distribution Models in TransCAD. Murtaza Haider Tel: , ext. 2480 Trip Distribution Models in TransCAD Murtaza Haider murtaza.haider@ryerson.ca Tel: 416.979.5000, ext. 2480 Trip Distribution Procedures Goal: understand how to use TransCAD to: Generate inputs for trip

More information

CS 231: Algorithmic Problem Solving

CS 231: Algorithmic Problem Solving CS 231: Algorithmic Problem Solving Naomi Nishimura Module 5 Date of this version: June 14, 2018 WARNING: Drafts of slides are made available prior to lecture for your convenience. After lecture, slides

More information

Use of Python in data manipulation and interfacing spreadsheets (Excel)

Use of Python in data manipulation and interfacing spreadsheets (Excel) Use of Python in data manipulation and interfacing spreadsheets (Excel) Boon Kwee Chan School of IT, Republic Polytechnic, Singapore chan_boon_kwee@rp.sg Why is there a need for python when there is already

More information

Lecture 8. Dynamic Programming

Lecture 8. Dynamic Programming Lecture 8. Dynamic Programming T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to Algorithms, 3rd Edition, MIT Press, 2009 Sungkyunkwan University Hyunseung Choo choo@skku.edu Copyright 2000-2018

More information

Chapter 3 Dynamic programming

Chapter 3 Dynamic programming Chapter 3 Dynamic programming 1 Dynamic programming also solve a problem by combining the solutions to subproblems. But dynamic programming considers the situation that some subproblems will be called

More information

University of Florida CISE department Gator Engineering. Clustering Part 5

University of Florida CISE department Gator Engineering. Clustering Part 5 Clustering Part 5 Dr. Sanjay Ranka Professor Computer and Information Science and Engineering University of Florida, Gainesville SNN Approach to Clustering Ordinary distance measures have problems Euclidean

More information

Optimization. Using Analytic Solver Platform REVIEW BASED ON MANAGEMENT SCIENCE

Optimization. Using Analytic Solver Platform REVIEW BASED ON MANAGEMENT SCIENCE Optimization Using Analytic Solver Platform REVIEW BASED ON MANAGEMENT SCIENCE What We ll Cover Today Introduction Frontline Systems Session Ι beta training program goals Overview of Analytic Solver Platform

More information

Information Systems Development COMM005 (CSM03) Autumn Semester 2009

Information Systems Development COMM005 (CSM03) Autumn Semester 2009 Information Systems Development COMM005 (CSM03) Autumn Semester 2009 Dr. Jonathan Y. Clark Email: j.y.clark@surrey.ac.uk Course Website: www.computing.surrey.ac.uk/courses/csm03/isdmain.htm Slide 1 Adapted

More information

y j LCS-Length(X,Y) Running time: O(st) set c[i,0] s and c[0,j] s to 0 for i=1 to s for j=1 to t if x i =y j then else if

y j LCS-Length(X,Y) Running time: O(st) set c[i,0] s and c[0,j] s to 0 for i=1 to s for j=1 to t if x i =y j then else if Recursive solution for finding LCS of X and Y if x s =y t, then find an LCS of X s-1 and Y t-1, and then append x s =y t to this LCS if x s y t, then solve two subproblems: (1) find an LCS of X s-1 and

More information

We augment RBTs to support operations on dynamic sets of intervals A closed interval is an ordered pair of real

We augment RBTs to support operations on dynamic sets of intervals A closed interval is an ordered pair of real 14.3 Interval trees We augment RBTs to support operations on dynamic sets of intervals A closed interval is an ordered pair of real numbers ], with Interval ]represents the set Open and half-open intervals

More information

CS 380 ALGORITHM DESIGN AND ANALYSIS

CS 380 ALGORITHM DESIGN AND ANALYSIS CS 380 ALGORITHM DESIGN AND ANALYSIS Lecture 14: Dynamic Programming Text Reference: Chapter 15 Dynamic Programming We know that we can use the divide-and-conquer technique to obtain efficient algorithms

More information

Highly Efficient Compensationbased Parallelism for Wavefront Loops on GPUs

Highly Efficient Compensationbased Parallelism for Wavefront Loops on GPUs Highly Efficient Compensationbased Parallelism for Wavefront Loops on GPUs Kaixi Hou, Hao Wang, Wu chun Feng {kaixihou, hwang121, wfeng}@vt.edu Jeffrey S. Vetter, Seyong Lee vetter@computer.org, lees2@ornl.gov

More information

Dynamic Programming. Design and Analysis of Algorithms. Entwurf und Analyse von Algorithmen. Irene Parada. Design and Analysis of Algorithms

Dynamic Programming. Design and Analysis of Algorithms. Entwurf und Analyse von Algorithmen. Irene Parada. Design and Analysis of Algorithms Entwurf und Analyse von Algorithmen Dynamic Programming Overview Introduction Example 1 When and how to apply this method Example 2 Final remarks Introduction: when recursion is inefficient Example: Calculation

More information

Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems

Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems Annals of the University of North Carolina Wilmington Master of Science in Computer Science and Information Systems Suppressing Independent Loops in Packing/Unpacking Loop Nests to Reduce Message Size

More information

CS 177. Lists and Matrices. Week 8

CS 177. Lists and Matrices. Week 8 CS 177 Lists and Matrices Week 8 1 Announcements Project 2 due on 7 th March, 2015 at 11.59 pm Table of Contents Lists Matrices Traversing a Matrix Construction of Matrices 3 Just a list of numbers 1D

More information

New Implementation for the Multi-sequence All-Against-All Substring Matching Problem

New Implementation for the Multi-sequence All-Against-All Substring Matching Problem New Implementation for the Multi-sequence All-Against-All Substring Matching Problem Oana Sandu Supervised by Ulrike Stege In collaboration with Chris Upton, Alex Thomo, and Marina Barsky University of

More information

STAT 5200 Handout #25. R-Square & Design Matrix in Mixed Models

STAT 5200 Handout #25. R-Square & Design Matrix in Mixed Models STAT 5200 Handout #25 R-Square & Design Matrix in Mixed Models I. R-Square in Mixed Models (with Example from Handout #20): For mixed models, the concept of R 2 is a little complicated (and neither PROC

More information

Practice Problems for the Final

Practice Problems for the Final ECE-250 Algorithms and Data Structures (Winter 2012) Practice Problems for the Final Disclaimer: Please do keep in mind that this problem set does not reflect the exact topics or the fractions of each

More information

Dynamic Programming part 2

Dynamic Programming part 2 Dynamic Programming part 2 Week 7 Objectives More dynamic programming examples - Matrix Multiplication Parenthesis - Longest Common Subsequence Subproblem Optimal structure Defining the dynamic recurrence

More information

Lesson 15 Working with Tables

Lesson 15 Working with Tables Working with Tables Computer Literacy BASICS: A Comprehensive Guide to IC 3, 4 th Edition 1 Objectives Create a table and insert text. Insert and delete rows and columns. Adjust column width and row height.

More information

Structure of Computer Systems

Structure of Computer Systems 288 between this new matrix and the initial collision matrix M A, because the original forbidden latencies for functional unit A still have to be considered in later initiations. Figure 5.37. State diagram

More information

Computer Graphics Hands-on

Computer Graphics Hands-on Computer Graphics Hands-on Two-Dimensional Transformations Objectives Visualize the fundamental 2D geometric operations translation, rotation about the origin, and scale about the origin Learn how to compose

More information

Lesson 15 Working with Tables

Lesson 15 Working with Tables Working with Tables Computer Literacy BASICS: A Comprehensive Guide to IC 3, 5 th Edition 1 Objectives Create a table and insert text. Insert and delete rows and columns. Adjust column width and row height.

More information

Tutorial 10: Performing What-If Analyses. Microsoft Excel 2013 Enhanced

Tutorial 10: Performing What-If Analyses. Microsoft Excel 2013 Enhanced Tutorial 10: Performing What-If Analyses Microsoft Excel 2013 Enhanced Objectives Explore the principles of cost-volume-profit relationships Create a one-variable data table Create a two-variable data

More information

Lecture 2 Notes. Outline. Neural Networks. The Big Idea. Architecture. Instructors: Parth Shah, Riju Pahwa

Lecture 2 Notes. Outline. Neural Networks. The Big Idea. Architecture. Instructors: Parth Shah, Riju Pahwa Instructors: Parth Shah, Riju Pahwa Lecture 2 Notes Outline 1. Neural Networks The Big Idea Architecture SGD and Backpropagation 2. Convolutional Neural Networks Intuition Architecture 3. Recurrent Neural

More information

Microsoft Office Illustrated. Analyzing Table Data

Microsoft Office Illustrated. Analyzing Table Data Analyzing Table Data Objectives Filter a Table Create a custom filter Filter a Table with Advanced Filter Extract Table data 2 Objectives Look up values in a table Summarize table data Validate table data

More information

Chapter 2. Related Work

Chapter 2. Related Work Chapter 2 Related Work There are three areas of research highly related to our exploration in this dissertation, namely sequential pattern mining, multiple alignment, and approximate frequent pattern mining.

More information

Part II. C. M. Bishop PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 8: GRAPHICAL MODELS

Part II. C. M. Bishop PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 8: GRAPHICAL MODELS Part II C. M. Bishop PATTERN RECOGNITION AND MACHINE LEARNING CHAPTER 8: GRAPHICAL MODELS Converting Directed to Undirected Graphs (1) Converting Directed to Undirected Graphs (2) Add extra links between

More information

INFORMATION SHEET 24002/1: AN EXCEL PRIMER

INFORMATION SHEET 24002/1: AN EXCEL PRIMER INFORMATION SHEET 24002/1: AN EXCEL PRIMER How to use this document This guide to the basics of Microsoft Excel is intended for those people who use the program, but need or wish to know more than the

More information

14 Dynamic. Matrix-chain multiplication. P.D. Dr. Alexander Souza. Winter term 11/12

14 Dynamic. Matrix-chain multiplication. P.D. Dr. Alexander Souza. Winter term 11/12 Algorithms Theory 14 Dynamic Programming (2) Matrix-chain multiplication P.D. Dr. Alexander Souza Optimal substructure Dynamic programming is typically applied to optimization problems. An optimal solution

More information

Probability Models.S4 Simulating Random Variables

Probability Models.S4 Simulating Random Variables Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard Probability Models.S4 Simulating Random Variables In the fashion of the last several sections, we will often create probability

More information

Homework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization

Homework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization ECE669: Parallel Computer Architecture Fall 2 Handout #2 Homework # 2 Due: October 6 Programming Multiprocessors: Parallelism, Communication, and Synchronization 1 Introduction When developing multiprocessor

More information

Guide to Make PowerPoint Files ADA Compliant

Guide to Make PowerPoint Files ADA Compliant Guide to Make PowerPoint Files ADA Compliant Slide Layouts PowerPoint contains a series of highly-accessible slide layouts. PowerPoint is designed to encourage the use of these slide layouts to ensure

More information

AMS526: Numerical Analysis I (Numerical Linear Algebra)

AMS526: Numerical Analysis I (Numerical Linear Algebra) AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 20: Sparse Linear Systems; Direct Methods vs. Iterative Methods Xiangmin Jiao SUNY Stony Brook Xiangmin Jiao Numerical Analysis I 1 / 26

More information

Math 308 Autumn 2016 MIDTERM /18/2016

Math 308 Autumn 2016 MIDTERM /18/2016 Name: Math 38 Autumn 26 MIDTERM - 2 /8/26 Instructions: The exam is 9 pages long, including this title page. The number of points each problem is worth is listed after the problem number. The exam totals

More information

University of Waterloo. Storing Directed Acyclic Graphs in Relational Databases

University of Waterloo. Storing Directed Acyclic Graphs in Relational Databases University of Waterloo Software Engineering Storing Directed Acyclic Graphs in Relational Databases Spotify USA Inc New York, NY, USA Prepared by Soheil Koushan Student ID: 20523416 User ID: skoushan 4A

More information

Taking Apart Numbers and Shapes

Taking Apart Numbers and Shapes Taking Apart Numbers and Shapes Writing Equivalent Expressions Using the Distributive Property 1 WARM UP Calculate the area of each rectangle. Show your work. 1. 6 in. 2. 15 in. 12 yd 9 yd LEARNING GOALS

More information

Lecture 2: Symbolic Model Checking With SAT

Lecture 2: Symbolic Model Checking With SAT Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.

More information

Integrated Math I. IM1.1.3 Understand and use the distributive, associative, and commutative properties.

Integrated Math I. IM1.1.3 Understand and use the distributive, associative, and commutative properties. Standard 1: Number Sense and Computation Students simplify and compare expressions. They use rational exponents and simplify square roots. IM1.1.1 Compare real number expressions. IM1.1.2 Simplify square

More information

New Perspectives on Microsoft Excel Module 5: Working with Excel Tables, PivotTables, and PivotCharts

New Perspectives on Microsoft Excel Module 5: Working with Excel Tables, PivotTables, and PivotCharts New Perspectives on Microsoft Excel 2016 Module 5: Working with Excel Tables, PivotTables, and PivotCharts Objectives, Part 1 Explore a structured range of data Freeze rows and columns Plan and create

More information

Excel 2016 for Mac Financial Analysis with Microsoft Excel, 8 th Edition Mac User Guide

Excel 2016 for Mac Financial Analysis with Microsoft Excel, 8 th Edition Mac User Guide Excel 2016 for Mac Financial Analysis with Microsoft Excel, 8 th Edition Mac User Guide Unfortunately, Mac users of Microsoft Office don t have 100% compatibility with the Windows version. However, the

More information

Dynamic Programming Matrix-chain Multiplication

Dynamic Programming Matrix-chain Multiplication 1 / 32 Dynamic Programming Matrix-chain Multiplication CS 584: Algorithm Design and Analysis Daniel Leblanc 1 1 Senior Adjunct Instructor Portland State University Maseeh College of Engineering and Computer

More information

CS281 Section 3: Practical Optimization

CS281 Section 3: Practical Optimization CS281 Section 3: Practical Optimization David Duvenaud and Dougal Maclaurin Most parameter estimation problems in machine learning cannot be solved in closed form, so we often have to resort to numerical

More information

Dynamic Programming. Introduction, Weighted Interval Scheduling, Knapsack. Tyler Moore. Lecture 15/16

Dynamic Programming. Introduction, Weighted Interval Scheduling, Knapsack. Tyler Moore. Lecture 15/16 Dynamic Programming Introduction, Weighted Interval Scheduling, Knapsack Tyler Moore CSE, SMU, Dallas, TX Lecture /6 Greedy. Build up a solution incrementally, myopically optimizing some local criterion.

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Arif Sari Email: arif@arifsari.net Course Website: www.arifsari.net/courses/ Slide 1 Adapted from slides 2005 John Wiley & Sons, Inc. Slide 2 Course Textbook: Systems Analysis

More information

CPSC 340: Machine Learning and Data Mining. Probabilistic Classification Fall 2017

CPSC 340: Machine Learning and Data Mining. Probabilistic Classification Fall 2017 CPSC 340: Machine Learning and Data Mining Probabilistic Classification Fall 2017 Admin Assignment 0 is due tonight: you should be almost done. 1 late day to hand it in Monday, 2 late days for Wednesday.

More information

Boost ERP/CRM Performance by Reorganizing Your Oracle Database: A Proven Reorganization Strategy Donald Bakels

Boost ERP/CRM Performance by Reorganizing Your Oracle Database: A Proven Reorganization Strategy Donald Bakels Boost ERP/CRM Performance by Reorganizing Your Oracle Database: A Proven Reorganization Strategy Donald Bakels Challenge: Oracle Space management in large, active, business critical ERP/CRM sites Donald

More information

Several sets of parameters and configuration techniques affect communication performance:

Several sets of parameters and configuration techniques affect communication performance: Cyberlogic Knowledge Base KB2010-05: OPTIMIZING THE DHX OPC DRIVER AGENT Cyberlogic s OPC Server Suites include several unique features that you can adjust to achieve superior communication performance.

More information

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism CHAPTER 2 Graphs 1. Introduction to Graphs and Graph Isomorphism 1.1. The Graph Menagerie. Definition 1.1.1. A simple graph G = (V, E) consists of a set V of vertices and a set E of edges, represented

More information

Data mining, 4 cu Lecture 8:

Data mining, 4 cu Lecture 8: 582364 Data mining, 4 cu Lecture 8: Graph mining Spring 2010 Lecturer: Juho Rousu Teaching assistant: Taru Itäpelto Frequent Subgraph Mining Extend association rule mining to finding frequent subgraphs

More information

Partha Sarathi Manal

Partha Sarathi Manal MA 515: Introduction to Algorithms & MA353 : Design and Analysis of Algorithms [3-0-0-6] Lecture 29 http://www.iitg.ernet.in/psm/indexing_ma353/y09/index.html Partha Sarathi Manal psm@iitg.ernet.in Dept.

More information

Tutorial 5: Working with Excel Tables, PivotTables, and PivotCharts. Microsoft Excel 2013 Enhanced

Tutorial 5: Working with Excel Tables, PivotTables, and PivotCharts. Microsoft Excel 2013 Enhanced Tutorial 5: Working with Excel Tables, PivotTables, and PivotCharts Microsoft Excel 2013 Enhanced Objectives Explore a structured range of data Freeze rows and columns Plan and create an Excel table Rename

More information

Dynamic Programming (Part #2)

Dynamic Programming (Part #2) Dynamic Programming (Part #) Introduction to Algorithms MIT Press (Chapter 5) Matrix-Chain Multiplication Problem: given a sequence A, A,, A n, compute the product: A A A n Matrix compatibility: C = A

More information

Multi-Operand Addition Ivor Page 1

Multi-Operand Addition Ivor Page 1 Multi-Operand Addition 1 Multi-Operand Addition Ivor Page 1 9.1 Motivation The motivation for multi-operand adders comes from the need for innerproduct calculations and multiplication (summing the partial

More information

Machine Learning. Topic 5: Linear Discriminants. Bryan Pardo, EECS 349 Machine Learning, 2013

Machine Learning. Topic 5: Linear Discriminants. Bryan Pardo, EECS 349 Machine Learning, 2013 Machine Learning Topic 5: Linear Discriminants Bryan Pardo, EECS 349 Machine Learning, 2013 Thanks to Mark Cartwright for his extensive contributions to these slides Thanks to Alpaydin, Bishop, and Duda/Hart/Stork

More information

A Feasibility Study for Methods of Effective Memoization Optimization

A Feasibility Study for Methods of Effective Memoization Optimization A Feasibility Study for Methods of Effective Memoization Optimization Daniel Mock October 2018 Abstract Traditionally, memoization is a compiler optimization that is applied to regions of code with few

More information

Office 2016 Excel Basics 25 Video/Class Project #37 Excel Basics 25: Power Query (Get & Transform Data) to Convert Bad Data into Proper Data Set

Office 2016 Excel Basics 25 Video/Class Project #37 Excel Basics 25: Power Query (Get & Transform Data) to Convert Bad Data into Proper Data Set Office 2016 Excel Basics 25 Video/Class Project #37 Excel Basics 25: Power Query (Get & Transform Data) to Convert Bad Data into Proper Data Set Goal in video # 25: Learn about how to use the Get & Transform

More information

Job Re-Packing for Enhancing the Performance of Gang Scheduling

Job Re-Packing for Enhancing the Performance of Gang Scheduling Job Re-Packing for Enhancing the Performance of Gang Scheduling B. B. Zhou 1, R. P. Brent 2, C. W. Johnson 3, and D. Walsh 3 1 Computer Sciences Laboratory, Australian National University, Canberra, ACT

More information

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics Numbers & Number Systems Introduction Numbers and Their Properties Multiples and Factors The Division Algorithm Prime and Composite Numbers Prime Factors

More information

Steven Skiena. skiena

Steven Skiena.   skiena Lecture 12: Examples of Dynamic Programming (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Give an O(n 2 )

More information

register allocation saves energy register allocation reduces memory accesses.

register allocation saves energy register allocation reduces memory accesses. Lesson 10 Register Allocation Full Compiler Structure Embedded systems need highly optimized code. This part of the course will focus on Back end code generation. Back end: generation of assembly instructions

More information

Date Lesson TOPIC HOMEWORK. Displaying Data WS 6.1. Measures of Central Tendency WS 6.2. Common Distributions WS 6.6. Outliers WS 6.

Date Lesson TOPIC HOMEWORK. Displaying Data WS 6.1. Measures of Central Tendency WS 6.2. Common Distributions WS 6.6. Outliers WS 6. UNIT 6 ONE VARIABLE STATISTICS Date Lesson TOPIC HOMEWORK 6.1 3.3 6.2 3.4 Displaying Data WS 6.1 Measures of Central Tendency WS 6.2 6.3 6.4 3.5 6.5 3.5 Grouped Data Central Tendency Measures of Spread

More information

We ve done. Now. Next

We ve done. Now. Next We ve done Matroid Theory Task scheduling problem (another matroid example) Dijkstra s algorithm (another greedy example) Dynamic Programming Now Matrix Chain Multiplication Longest Common Subsequence

More information

Register Allocation. Global Register Allocation Webs and Graph Coloring Node Splitting and Other Transformations

Register Allocation. Global Register Allocation Webs and Graph Coloring Node Splitting and Other Transformations Register Allocation Global Register Allocation Webs and Graph Coloring Node Splitting and Other Transformations Copyright 2015, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers class

More information

Fundamentals of Modeling Systems and a System Approach to Simulation Optimization. Jun Ma IEMS, Northwestern University 02/02/2005

Fundamentals of Modeling Systems and a System Approach to Simulation Optimization. Jun Ma IEMS, Northwestern University 02/02/2005 Fundamentals of Modeling Systems and a System Approach to Simulation Optimization Jun Ma IEMS, Northwestern University 0/0/005 Jun Ma, Northwestern University, February 0, 005 1. History and Background

More information

Computational Physics PHYS 420

Computational Physics PHYS 420 Computational Physics PHYS 420 Dr Richard H. Cyburt Assistant Professor of Physics My office: 402c in the Science Building My phone: (304) 384-6006 My email: rcyburt@concord.edu My webpage: www.concord.edu/rcyburt

More information

Lecture 18: DRAM Technologies

Lecture 18: DRAM Technologies Lecture 18: DRAM Technologies Last Time: Cache and Virtual Memory Review Today DRAM organization or, why is DRAM so slow??? Lecture 18 1 Main Memory = DRAM Lecture 18 2 Basic DRAM Architecture Lecture

More information

HARNESSING CERTAINTY TO SPEED TASK-ALLOCATION ALGORITHMS FOR MULTI-ROBOT SYSTEMS

HARNESSING CERTAINTY TO SPEED TASK-ALLOCATION ALGORITHMS FOR MULTI-ROBOT SYSTEMS HARNESSING CERTAINTY TO SPEED TASK-ALLOCATION ALGORITHMS FOR MULTI-ROBOT SYSTEMS An Undergraduate Research Scholars Thesis by DENISE IRVIN Submitted to the Undergraduate Research Scholars program at Texas

More information

Sparse Matrix-Matrix Multiplication on the GPU. Julien Demouth, NVIDIA

Sparse Matrix-Matrix Multiplication on the GPU. Julien Demouth, NVIDIA Sparse Matrix-Matrix Multiplication on the GPU Julien Demouth, NVIDIA Introduction: Problem Two sparse matrices A and B, compute: Sparse matrix: Many zeroes C = AB x Non-zero Zero Only non-zero elements

More information