# Divide and Conquer Examples. Top-down recursive mergesort. Gravitational N-body problem.

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Divide and Conquer Divide the problem into several subproblems of equal size. Recursively solve each subproblem in parallel. Merge the solutions to the various subproblems into a solution for the original problem. Dividing the problem is usually straightforward. The effort here often lies in combining the results effectively in parallel.

2 Divide and Conquer Examples Top-down recursive mergesort. Gravitational N-body problem.

3 Top-down Mergesort MergeSort(A, low, high) 1. if low < high 2. then mid (low + high)/2 3. MergeSort (A, low, mid) 4. MergeSort (A, mid + 1, high) 4. Merge (A, low, mid, high) Top-down parallelization would be to create two processes that each handle one of the two recursive sort calls. The original process waits for them to finish and then merges the results. Only feasible on a shared memory system.

4 N-Body Problem The N-body problem is concerned with determining the effects of forces between bodies. (astronomical, molecular dynamics, fluid dynamics etc) Gravitational N-body Problem. To simulate the positions and movements of the bodies in space that are subject to gravitational forces from other bodies using the Newtonian laws of physics.

5 Gravitational N-body Problem One of the deepest optical views showing early galaxies starting to form. The image is from the Hubble Telescope operated by NASA.

6 Gravitational N-body Problem A swarm of ancient stars.

7 Gravitational N-body problem Given two bodies with masses m a and m b, the gravitational force is given by F = G m am b r 2, where G is the gravitational constant (which is (± ) kg 1 m 3 s 2 ) and r is the distance between the bodies. A body will accelerate according to Newton s second law: F = ma As a result of the gravitational forces all bodies will move to new positions and have new velocities. For a precise numeric description, differential equations would be used (with F = m dx/dt and v = dx/dt). However an exact closed form solution is not known for n > 3. Instead a discrete event-driven simulation is done.

8 Simulating the Gravitational N-body Problem Suppose the time steps are t 0, t 1, t 2,.... Let the time interval be t, which is as short as possible. Then we can compute the force and velocity in time interval t + 1 as given below. ( v t+1 v t ) F = m t v t+1 = v t + F t m

9 Simulating the Gravitational N-body Problem Suppose the time steps are t 0, t 1, t 2,.... Let the time interval be t, which is as short as possible. Then we can compute the force and velocity in time interval t + 1 as given below. ( v t+1 v t ) F = m t v t+1 = v t + F t m New positions for the bodies can be computed using the velocity as follows: x t+1 x t = v t

10 Simulating the Gravitational N-body Problem Suppose the time steps are t 0, t 1, t 2,.... Let the time interval be t, which is as short as possible. Then we can compute the force and velocity in time interval t + 1 as given below. ( v t+1 v t ) F = m t v t+1 = v t + F t m New positions for the bodies can be computed using the velocity as follows: x t+1 x t = v t Once bodies move to new positions, the forces change and the computation has to be repeated. The velocity is not actually constant over t. Hence an approximate answer is obtained. A leap-frog computation can help smooth out the approximation. In a leap-frog computation the position and velocity are computed alternately. ( ) F t v t+1/2 v t 1/2 = m, v t+1/2 = v t 1/2 + F t t m, x t+1 x t = v t+1/2 t where positions are computed for t, t + 1, t + 2,... and the velocities are computed for t + 1/2, t + 3/2, t + 5/2,....

11 N-body Simulation Example Initial conditions: 300 bodies in a 2-dimensional space

12 N-body Simulation Example 300 bodies after 500 steps of simulation

13 Three-dimensional Space In 3-dimensional space, the position of two bodies a and b are given by (x a, y a, z a ) and (x b, y b, z b ) respectively. Then the distance between the bodies is: r = (x b x a ) 2 + (y b y a ) 2 + (z b z a ) 2 F x = Gm ( ) am b xb x a r 2 r F y = Gm ( ) am b yb y a r 2 r F z = Gm ( ) am b zb z a r 2 r Similarly, the velocity is resolved in three directions. For simulation, we can use a fixed 3-dimensional space.

14 Sequential Code for N-Body Problem nbody(x, y, z, n) for (t=0; t<max; t++) { for (i=0; i<n; i++) { Fx compute force x(i) Fy compute force y(i) Fz compute force z(i) vx[i] new vx[i] + Fx * dt/m vy[i] new vy[i] + Fy * dt/m vz[i] new vz[i] + Fz * dt/m x[i] new x[i] + vx[i] new * dt y[i] new y[i] + vy[i] new * dt z[i] new z[i] + vz[i] new * dt } for (i=0; i < n; i++) { x[i] x[i] new, y[i] y[i] new, z[i] z[i] new v[i] v[i] new } } Θ(n 2 ) per iteration.

15 Improving the Sequential Algorithm A cluster of distant bodies can be approximated as a single distant body with the total mass of the cluster sited at the center of the mass of the cluster.

16 Improving the Sequential Algorithm A cluster of distant bodies can be approximated as a single distant body with the total mass of the cluster sited at the center of the mass of the cluster. When to use clustering? Suppose the original space is of dimension d d d,and the distance to the center of the mass of the cluster is r. Then we want to use clustering when r d, where θ is a constant, typically 1.0 θ

17 Parallel N-Body: Attempt I Each process is responsible for n/p bodies, where p is the total number of processes. Each process computes the new velocity and new position and then sends them to all other processes so they can compute the new force for the next round.

18 Parallel N-Body: Attempt I Each process is responsible for n/p bodies, where p is the total number of processes. Each process computes the new velocity and new position and then sends them to all other processes so they can compute the new force for the next round. Even with clustering, the number of messages will be very high. Also computation of the force is still O(n 2 ).

19 Parallel N-Body: Attempt I Each process is responsible for n/p bodies, where p is the total number of processes. Each process computes the new velocity and new position and then sends them to all other processes so they can compute the new force for the next round. Even with clustering, the number of messages will be very high. Also computation of the force is still O(n 2 ). Sequentially, there is a better algorithm (Barnes-Hut Algorithm) that is O(n lg n) on the average.

20 Barnes-Hut Algorithm Uses a octtree data structure (quadtree for 2-dimensional space) to represent the 3-dimensional space.

21 Barnes-Hut Algorithm Uses a octtree data structure (quadtree for 2-dimensional space) to represent the 3-dimensional space. Using a better data structure cuts down the average run-time to O(n lg n) time!

22 Barnes-Hut Algorithm Uses a octtree data structure (quadtree for 2-dimensional space) to represent the 3-dimensional space. Using a better data structure cuts down the average run-time to O(n lg n) time! A octtree is a tree where each node has no more than eight child nodes. Similarly a quadtree is a tree where each node has no more than 4 child nodes. The octtree is built using the following divide-and-conquer scheme. Create a node to represent the cube for the space. Connect to parent if there is any. Next divide the cube representing the space into eight subcubes (four for a quadtree). If a subcubes does not contain any body, it is eliminated. If a subcube contains one body, then create a leaf node representing that body. If a subcube contains more than one body, then repeat this scheme recursively.

23 Barnes-Hut Algorithm Uses a octtree data structure (quadtree for 2-dimensional space) to represent the 3-dimensional space. Using a better data structure cuts down the average run-time to O(n lg n) time! A octtree is a tree where each node has no more than eight child nodes. Similarly a quadtree is a tree where each node has no more than 4 child nodes. The octtree is built using the following divide-and-conquer scheme. Create a node to represent the cube for the space. Connect to parent if there is any. Next divide the cube representing the space into eight subcubes (four for a quadtree). If a subcubes does not contain any body, it is eliminated. If a subcube contains one body, then create a leaf node representing that body. If a subcube contains more than one body, then repeat this scheme recursively. After the construction of the tree, total mass and center-of-mass information is propagated from the bodies (leaf nodes) towards the root. Reference: simulation

25 Barnes-Hut Algorithm tree-nbody(n) for (t=0; t<max t++) { build octtree() //builds tree top-down compute mass() //works bottom-up on the tree compute force() update() //update positions and velocities } The routines build octtree(), compute mass() and compute force() take O(n lg n) time on an average. The total mass stored at each node is the sum of the total masses at its child nodes. 7 M = The center of mass is based on the positions and masses of the up to eight child nodes of each node. i=0 m i x = 1 M 7 m i x i i=0

26 Parallel N-Body: Attempt II We can partition the octtree among p processes. Each process works on one subtree. The partitioning would have to be done deep enough to have p subtrees. The top few levels can be duplicated on each process. However the octtree is, in general, very unbalanced. So any static partitioning scheme is not likely to be very effective. We will need to use some kind of dynamic load balancing but it may end up requiring a lot of messages. There is another N-body algorithm that also runs in O(n lg n) time but uses a balanced tree by design. In fact, this algorithm was designed for parallel computing. This algorithm is known as Orthogonal Recursive Bisection.

27 Orthogonal Recursive Bisection (ORB) We will describe the orthogonal recursive bisection for the two-dimensional case. Reference: J. Salmon, Ph.D. Thesis. Find a vertical line that divides the area into two areas each with an equal number of bodies. For each area, a horizontal line is found that divides it into two areas with an equal number of bodies. Repeat above two steps until there are as many areas as processes. At that one process is assigned to each area. How to find the vertical/horizontal line that bisects the set of points? See chapter on (Medians and Order Statistics) in Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein.

28 ORB example bodies, 8 processes

### Partitioning and Divide and Conquer Strategies

and Divide and Conquer Strategies Lecture 4 and Strategies Strategies Data partitioning aka domain decomposition Functional decomposition Lecture 4 and Strategies Quiz 4.1 For nuclear reactor simulation,

### Partitioning and Divide-and-Conquer Strategies

Chapter 4 Partitioning and Divide-and-Conquer Strategies In this chapter, we explore two of the most fundamental techniques in parallel programming, called partitioning and divide and conquer, which are

### Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4

Intro. to the Divide-and-Conquer Strategy via Merge Sort CMPSC 465 CLRS Sections 2.3, Intro. to and various parts of Chapter 4 I. Algorithm Design and Divide-and-Conquer There are various strategies we

### Format of Divide-and-Conquer algorithms:

CS 360: Data Structures and Algorithms Divide-and-Conquer (part 1) Format of Divide-and-Conquer algorithms: Divide: Split the array or list into smaller pieces Conquer: Solve the same problem recursively

Load Balancing and Data Locality in Adaptive Hierarchical N-body Methods: Barnes-Hut, Fast Multipole, and Radiosity Jaswinder Pal Singh, Chris Holt, Takashi Totsuka, Anoop Gupta and John L. Hennessy Computer

### Analysis of Algorithms I: Optimal Binary Search Trees

Analysis of Algorithms I: Optimal Binary Search Trees Xi Chen Columbia University Given a set of n keys K = {k 1,..., k n } in sorted order: k 1 < k 2 < < k n we wish to build an optimal binary search

### Merge Sort and Recurrences. COSC 581, Algorithms January 14, 2014

Merge Sort and Recurrences COSC 581, Algorithms January 14, 2014 Reading Assignments Today s class: Chapter 2, 4.0, 4.4 Reading assignment for next class: Chapter 4.2, 4.5 3 Common Algorithmic Techniques

### Merge Sort. 2004 Goodrich, Tamassia. Merge Sort 1

Merge Sort 7 2 9 4 2 4 7 9 7 2 2 7 9 4 4 9 7 7 2 2 9 9 4 4 Merge Sort 1 Divide-and-Conquer Divide-and conquer is a general algorithm design paradigm: Divide: divide the input data S in two disjoint subsets

### Closest Pair Problem

Closest Pair Problem Given n points in d-dimensions, find two whose mutual distance is smallest. Fundamental problem in many applications as well as a key step in many algorithms. p q A naive algorithm

### CMPS 102 Solutions to Homework 1

CMPS 0 Solutions to Homework Lindsay Brown, lbrown@soe.ucsc.edu September 9, 005 Problem..- p. 3 For inputs of size n insertion sort runs in 8n steps, while merge sort runs in 64n lg n steps. For which

### The Selection Problem

The Selection Problem The selection problem: given an integer k and a list x 1,..., x n of n elements find the k-th smallest element in the list Example: the 3rd smallest element of the following list

### Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Sorting revisited How did we use a binary search tree to sort an array of elements? Tree Sort Algorithm Given: An array of elements to sort 1. Build a binary search tree out of the elements 2. Traverse

### Clustering UE 141 Spring 2013

Clustering UE 141 Spring 013 Jing Gao SUNY Buffalo 1 Definition of Clustering Finding groups of obects such that the obects in a group will be similar (or related) to one another and different from (or

### PARALLEL PROGRAMMING

PARALLEL PROGRAMMING TECHNIQUES AND APPLICATIONS USING NETWORKED WORKSTATIONS AND PARALLEL COMPUTERS 2nd Edition BARRY WILKINSON University of North Carolina at Charlotte Western Carolina University MICHAEL

### Fast Sequential Summation Algorithms Using Augmented Data Structures

Fast Sequential Summation Algorithms Using Augmented Data Structures Vadim Stadnik vadim.stadnik@gmail.com Abstract This paper provides an introduction to the design of augmented data structures that offer

### Quicksort is a divide-and-conquer sorting algorithm in which division is dynamically carried out (as opposed to static division in Mergesort).

Chapter 7: Quicksort Quicksort is a divide-and-conquer sorting algorithm in which division is dynamically carried out (as opposed to static division in Mergesort). The three steps of Quicksort are as follows:

### Introduction to Algorithms

Introduction to Algorithms (2 nd edition) by Cormen, Leiserson, Rivest & Stein Chapter 4: Recurrences (slides enhanced by N. Adlai A. DePano) Overview Define what a recurrence is Discuss three methods

### Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations

Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations Roy D. Williams, 1990 Presented by Chris Eldred Outline Summary Finite Element Solver Load Balancing Results Types Conclusions

### Algorithms. Algorithms GEOMETRIC APPLICATIONS OF BSTS. 1d range search line segment intersection kd trees interval search trees rectangle intersection

Algorithms ROBERT SEDGEWICK KEVIN WAYNE GEOMETRIC APPLICATIONS OF BSTS Algorithms F O U R T H E D I T I O N ROBERT SEDGEWICK KEVIN WAYNE 1d range search line segment intersection kd trees interval search

### Biostatistics 615/815

Merge Sort Biostatistics 615/815 Lecture 8 Notes on Problem Set 2 Union Find algorithms Dynamic Programming Results were very ypositive! You should be gradually becoming g y g comfortable compiling, debugging

### I/O-Efficient Spatial Data Structures for Range Queries

I/O-Efficient Spatial Data Structures for Range Queries Lars Arge Kasper Green Larsen MADALGO, Department of Computer Science, Aarhus University, Denmark E-mail: large@madalgo.au.dk,larsen@madalgo.au.dk

### Section 3.7. Rolle s Theorem and the Mean Value Theorem. Difference Equations to Differential Equations

Difference Equations to Differential Equations Section.7 Rolle s Theorem and the Mean Value Theorem The two theorems which are at the heart of this section draw connections between the instantaneous rate

### CAD TOOLS FOR VLSI. FLOORPLANNING Page 1 FLOORPLANNING

FLOORPLANNING Page 1 FLOORPLANNING Floorplanning: taking layout information into account at early stages of the design process. BEHAVIORAL D. STRUCTURAL D. Systems Algorithms Processors Register transfers

APPLIED MATHEMATICS ADVANCED LEVEL INTRODUCTION This syllabus serves to examine candidates knowledge and skills in introductory mathematical and statistical methods, and their applications. For applications

### Solving Recurrences. Lecture 13 CS2110 Summer 2009

Solving Recurrences Lecture 13 CS2110 Summer 2009 In the past Complexity: Big-O definition Non-recursive programs 2 Today Complexity of recursive programs Introduce recurrences Methods to solve recurrences

### Distributed Particle Simulation Method on Adaptive Collaborative System

Distributed Particle Simulation Method on Adaptive Collaborative System Yudong Sun, Zhengyu Liang, and Cho-Li Wang Department of Computer Science and Information Systems The University of Hong Kong, Pokfulam

### Basic Techniques of Parallel Computing/Programming & Examples

Basic Techniques of Parallel Computing/Programming & Examples Fundamental or Common Problems with a very large degree of (data) parallelism: (PP ch. 3) Image Transformations: Shifting, Rotation, Clipping

### MODULE 15 Clustering Large Datasets LESSON 34

MODULE 15 Clustering Large Datasets LESSON 34 Incremental Clustering Keywords: Single Database Scan, Leader, BIRCH, Tree 1 Clustering Large Datasets Pattern matrix It is convenient to view the input data

### Binary Search. Search for x in a sorted array A.

Divide and Conquer A general paradigm for algorithm design; inspired by emperors and colonizers. Three-step process: 1. Divide the problem into smaller problems. 2. Conquer by solving these problems. 3.

### The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!

The Tower of Hanoi Recursion Solution recursion recursion recursion Recursive Thinking: ignore everything but the bottom disk. 1 2 Recursive Function Time Complexity Hanoi (n, src, dest, temp): If (n >

### Computer Algorithms. Merge Sort. Analysis of Merge Sort. Recurrences. Recurrence Relations. Iteration Method. Lecture 6

Computer Algorithms Lecture 6 Merge Sort Sorting Problem: Sort a sequence of n elements into non-decreasing order. Divide: Divide the n-element sequence to be sorted into two subsequences of n/ elements

### Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Distributed Dynamic Load Balancing for Iterative-Stencil Applications G. Dethier 1, P. Marchot 2 and P.A. de Marneffe 1 1 EECS Department, University of Liege, Belgium 2 Chemical Engineering Department,

### Outline BST Operations Worst case Average case Balancing AVL Red-black B-trees. Binary Search Trees. Lecturer: Georgy Gimel farb

Binary Search Trees Lecturer: Georgy Gimel farb COMPSCI 220 Algorithms and Data Structures 1 / 27 1 Properties of Binary Search Trees 2 Basic BST operations The worst-case time complexity of BST operations

### Physics 40 Lab 1: Tests of Newton s Second Law

Physics 40 Lab 1: Tests of Newton s Second Law January 28 th, 2008, Section 2 Lynda Williams Lab Partners: Madonna, Hilary Clinton & Angie Jolie Abstract Our primary objective was to test the validity

### Data Structures and Algorithms

Data Structures and Algorithms CS245-2016S-06 Binary Search Trees David Galles Department of Computer Science University of San Francisco 06-0: Ordered List ADT Operations: Insert an element in the list

### 1 Recursion and the divide-and-conquer approach

CS 7B - Spring 2014 - Assignment 4. 4/17/14 Write responses on paper and submit programs by email. 1 Recursion and the divide-and-conquer approach Many useful algorithms are recursive in structure: to

### Optimal Binary Search Trees Meet Object Oriented Programming

Optimal Binary Search Trees Meet Object Oriented Programming Stuart Hansen and Lester I. McCann Computer Science Department University of Wisconsin Parkside Kenosha, WI 53141 {hansen,mccann}@cs.uwp.edu

### W i f(x i ) x. i=1. f(x i ) x = i=1

Work Force If an object is moving in a straight line with position function s(t), then the force F on the object at time t is the product of the mass of the object times its acceleration. F = m d2 s dt

### Steven Skiena. skiena

Lecture 3: Recurrence Relations (1997) Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Argue the solution to T(n) =

### momentum change per impact The average rate of change of momentum = Time interval between successive impacts 2m x 2l / x m x m x 2 / l P = l 2 P = l 3

Kinetic Molecular Theory This explains the Ideal Gas Pressure olume and Temperature behavior It s based on following ideas:. Any ordinary sized or macroscopic sample of gas contains large number of molecules.

Chapter 7 Load Balancing and Termination Detection Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### Load Balancing and Termination Detection

Chapter 7 Load Balancing and Termination Detection 1 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination detection

### Physics Notes Class 11 CHAPTER 5 LAWS OF MOTION

1 P a g e Inertia Physics Notes Class 11 CHAPTER 5 LAWS OF MOTION The property of an object by virtue of which it cannot change its state of rest or of uniform motion along a straight line its own, is

### Chapter S3 Spacetime and Gravity

Chapter S3 Spacetime and Gravity What are the major ideas of special relativity? Spacetime Special relativity showed that space and time are not absolute Instead they are inextricably linked in a four-dimensional

### Intermediate Value Theorem, Rolle s Theorem and Mean Value Theorem

Intermediate Value Theorem, Rolle s Theorem and Mean Value Theorem February 21, 214 In many problems, you are asked to show that something exists, but are not required to give a specific example or formula

### Chessboard Coverage Teaching Based on Divide-and-Conquer Algorithm

Vol. 4, No. 1 Modern Applied Science Chessboard Coverage Teaching Based on Divide-and-Conquer Algorithm Zhijie Li Institute of Nonlinear Information Technology, Dalian Nationalities University Dalian 116600,

### CS420/520 Algorithm Analysis Spring 2010 Lecture 04

CS420/520 Algorithm Analysis Spring 2010 Lecture 04 I. Chapter 4 Recurrences A. Introduction 1. Three steps applied at each level of a recursion a) Divide into a number of subproblems that are smaller

### Lecture 10: Regression Trees

Lecture 10: Regression Trees 36-350: Data Mining October 11, 2006 Reading: Textbook, sections 5.2 and 10.5. The next three lectures are going to be about a particular kind of nonlinear predictive model,

### F ij = Gm im j r i r j 3 ( r j r i ).

Physics 3550, Fall 2012 Newton s Third Law. Multi-particle systems. Relevant Sections in Text: 1.5, 3.1, 3.2, 3.3 Newton s Third Law. You ve all heard this one. Actioni contrariam semper et qualem esse

### Recurrences. David Kauchak. Recurrence: a function that is defined with respect to itself on smaller inputs.

Recurrences David Kauchak Recurrence: a function that is defined with respect to itself on smaller inputs. Why are we concerned with recurrences? The computational costs of divide and conquer algorithms

### Physics 111: Lecture 4: Chapter 4 - Forces and Newton s Laws of Motion. Physics is about forces and how the world around us reacts to these forces.

Physics 111: Lecture 4: Chapter 4 - Forces and Newton s Laws of Motion Physics is about forces and how the world around us reacts to these forces. Whats a force? Contact and non-contact forces. Whats a

### Computational Geometry

and range trees Lecture 6: and range trees Lecture 7: and range trees Database queries 1D range trees Databases Databases store records or objects Personnel database: Each employee has a name, id code,

### Dynamics. Basilio Bona. DAUIN-Politecnico di Torino. Basilio Bona (DAUIN-Politecnico di Torino) Dynamics 2009 1 / 30

Dynamics Basilio Bona DAUIN-Politecnico di Torino 2009 Basilio Bona (DAUIN-Politecnico di Torino) Dynamics 2009 1 / 30 Dynamics - Introduction In order to determine the dynamics of a manipulator, it is

### Data Warehousing und Data Mining

Data Warehousing und Data Mining Multidimensionale Indexstrukturen Ulf Leser Wissensmanagement in der Bioinformatik Content of this Lecture Multidimensional Indexing Grid-Files Kd-trees Ulf Leser: Data

### 1.3. DOT PRODUCT 19. 6. If θ is the angle (between 0 and π) between two non-zero vectors u and v,

1.3. DOT PRODUCT 19 1.3 Dot Product 1.3.1 Definitions and Properties The dot product is the first way to multiply two vectors. The definition we will give below may appear arbitrary. But it is not. It

### , each of which contains a unique key value, say k i , R 2. such that k i equals K (or to determine that no such record exists in the collection).

The Search Problem 1 Suppose we have a collection of records, say R 1, R 2,, R N, each of which contains a unique key value, say k i. Given a particular key value, K, the search problem is to locate the

### Decision-Tree Learning

Decision-Tree Learning Introduction ID3 Attribute selection Entropy, Information, Information Gain Gain Ratio C4.5 Decision Trees TDIDT: Top-Down Induction of Decision Trees Numeric Values Missing Values

### Clustering & Visualization

Chapter 5 Clustering & Visualization Clustering in high-dimensional databases is an important problem and there are a number of different clustering paradigms which are applicable to high-dimensional data.

### AST 101 Lecture 7. Newton s Laws and the Nature of Matter

AST 101 Lecture 7 Newton s Laws and the Nature of Matter The Nature of Matter Democritus (c. 470-380 BCE) posited that matter was composed of atoms Atoms: particles that can not be further subdivided 4

### Many algorithms, particularly divide and conquer algorithms, have time complexities which are naturally

Recurrence Relations Many algorithms, particularly divide and conquer algorithms, have time complexities which are naturally modeled by recurrence relations. A recurrence relation is an equation which

### Midterm Solutions. mvr = ω f (I wheel + I bullet ) = ω f 2 MR2 + mr 2 ) ω f = v R. 1 + M 2m

Midterm Solutions I) A bullet of mass m moving at horizontal velocity v strikes and sticks to the rim of a wheel a solid disc) of mass M, radius R, anchored at its center but free to rotate i) Which of

Load Balancing Load Balancing Load balancing: distributing data and/or computations across multiple processes to maximize efficiency for a parallel program. Static load-balancing: the algorithm decides

### Acceleration due to Gravity

Acceleration due to Gravity 1 Object To determine the acceleration due to gravity by different methods. 2 Apparatus Balance, ball bearing, clamps, electric timers, meter stick, paper strips, precision

### C relative to O being abc,, respectively, then b a c.

2 EP-Program - Strisuksa School - Roi-et Math : Vectors Dr.Wattana Toutip - Department of Mathematics Khon Kaen University 200 :Wattana Toutip wattou@kku.ac.th http://home.kku.ac.th/wattou 2. Vectors A

### MATH 10550, EXAM 2 SOLUTIONS. x 2 + 2xy y 2 + x = 2

MATH 10550, EXAM SOLUTIONS (1) Find an equation for the tangent line to at the point (1, ). + y y + = Solution: The equation of a line requires a point and a slope. The problem gives us the point so we

### Lecture 4, Data Cube Computation

CSI 4352, Introduction to Data Mining Lecture 4, Data Cube Computation Young-Rae Cho Associate Professor Department of Computer Science Baylor University A Roadmap for Data Cube Computation Full Cube Full

### Lecture L22-2D Rigid Body Dynamics: Work and Energy

J. Peraire, S. Widnall 6.07 Dynamics Fall 008 Version.0 Lecture L - D Rigid Body Dynamics: Work and Energy In this lecture, we will revisit the principle of work and energy introduced in lecture L-3 for

### Wave Hydro Dynamics Prof. V. Sundar Department of Ocean Engineering Indian Institute of Technology, Madras

Wave Hydro Dynamics Prof. V. Sundar Department of Ocean Engineering Indian Institute of Technology, Madras Module No. # 02 Wave Motion and Linear Wave Theory Lecture No. # 03 Wave Motion II We will today

### STATICS. Introduction VECTOR MECHANICS FOR ENGINEERS: Eighth Edition CHAPTER. Ferdinand P. Beer E. Russell Johnston, Jr.

Eighth E CHAPTER VECTOR MECHANICS FOR ENGINEERS: STATICS Ferdinand P. Beer E. Russell Johnston, Jr. Introduction Lecture Notes: J. Walt Oler Texas Tech University Contents What is Mechanics? Fundamental

### Introduction to DISC and Hadoop

Introduction to DISC and Hadoop Alice E. Fischer April 24, 2009 Alice E. Fischer DISC... 1/20 1 2 History Hadoop provides a three-layer paradigm Alice E. Fischer DISC... 2/20 Parallel Computing Past and

### Divide and Conquer My T. UF

Introduction to Algorithms Divide and Conquer @ UF General Approach Divide the problem into a number of subproblems that are smaller instances of the same problem Conquer the subproblems by solving them

### Load Balancing and Termination Detection

Chapter 7 slides7-1 Load Balancing and Termination Detection slides7-2 Load balancing used to distribute computations fairly across processors in order to obtain the highest possible execution speed. Termination

### UCM-Gravity. 2. The diagram shows two bowling balls, A and B, each having a mass of 7 kilograms, placed 2 meters apart.

1. A space probe is launched into space from Earth s surface. Which graph represents the relationship between the magnitude of the gravitational force exerted on Earth by the space probe and the distance

### OPTIMUM PARTITION PARAMETER OF DIVIDE-AND-CONQUER ALGORITHM FOR SOLVING CLOSEST-PAIR PROBLEM

OPTIMUM PARTITION PARAMETER OF DIVIDE-AND-CONQUER ALGORITHM FOR SOLVING CLOSEST-PAIR PROBLEM Mohammad Zaidul Karim 1 and Nargis Akter 2 1 Department of Computer Science and Engineering, Daffodil International

### Mechanics 1: Conservation of Energy and Momentum

Mechanics : Conservation of Energy and Momentum If a certain quantity associated with a system does not change in time. We say that it is conserved, and the system possesses a conservation law. Conservation

### Unit 4: Science and Materials in Construction and the Built Environment. Chapter 14. Understand how Forces act on Structures

Chapter 14 Understand how Forces act on Structures 14.1 Introduction The analysis of structures considered here will be based on a number of fundamental concepts which follow from simple Newtonian mechanics;

### Computer Practical: Solar System Model

Computer Practical: Solar System Model Paul Connolly, September 015 1 Overview In this computer practical, a solar system model implemented in MATLAB is used to demonstrate analysis of time-series data

### DIRECT ORBITAL DYNAMICS: USING INDEPENDENT ORBITAL TERMS TO TREAT BODIES AS ORBITING EACH OTHER DIRECTLY WHILE IN MOTION

1 DIRECT ORBITAL DYNAMICS: USING INDEPENDENT ORBITAL TERMS TO TREAT BODIES AS ORBITING EACH OTHER DIRECTLY WHILE IN MOTION Daniel S. Orton email: dsorton1@gmail.com Abstract: There are many longstanding

### Multi-GPU Load Balancing for Simulation and Rendering

Multi- Load Balancing for Simulation and Rendering Yong Cao Computer Science Department, Virginia Tech, USA In-situ ualization and ual Analytics Instant visualization and interaction of computing tasks

### Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

### A binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:

Binary Search Trees 1 The general binary tree shown in the previous chapter is not terribly useful in practice. The chief use of binary trees is for providing rapid access to data (indexing, if you will)

### Lecture 07: Work and Kinetic Energy. Physics 2210 Fall Semester 2014

Lecture 07: Work and Kinetic Energy Physics 2210 Fall Semester 2014 Announcements Schedule next few weeks: 9/08 Unit 3 9/10 Unit 4 9/15 Unit 5 (guest lecturer) 9/17 Unit 6 (guest lecturer) 9/22 Unit 7,

### HW1. N = ρv/m =

1 HW1 1. Two spheres are cut from a certain uniform rock. One has radius r=5.0 cm. The mass of the other is eight times greater. Find its radius R. Since mass radius 3 R = r 8 1/3 = 10cm 2. The mass of

### Wes, Delaram, and Emily MA751. Exercise 4.5. 1 p(x; β) = [1 p(xi ; β)] = 1 p(x. y i [βx i ] log [1 + exp {βx i }].

Wes, Delaram, and Emily MA75 Exercise 4.5 Consider a two-class logistic regression problem with x R. Characterize the maximum-likelihood estimates of the slope and intercept parameter if the sample for

### Sorting algorithms. Mergesort and Quicksort. Merge Sort. Partitioning Choice 1. Partitioning Choice 3. Partitioning Choice 2 2/5/2015

Sorting algorithms Mergesort and Quicksort Insertion, selection and bubble sort have quadratic worst case performance The faster comparison based algorithm? O(nlogn) Mergesort and Quicksort Merge Sort

### PROVABLY GOOD PARTITIONING AND LOAD BALANCING ALGORITHMS FOR PARALLEL ADAPTIVE N-BODY SIMULATION

SIAM J. SCI. COMPUT. c 1998 Society for Industrial and Applied Mathematics Vol. 19, No. 2, pp. 635 656, March 1998 019 PROVABLY GOOD PARTITIONING AND LOAD BALANCING ALGORITHMS FOR PARALLEL ADAPTIVE N-BODY

### Chapter 4. Forces and Newton s Laws of Motion. continued

Chapter 4 Forces and Newton s Laws of Motion continued 4.9 Static and Kinetic Frictional Forces When an object is in contact with a surface forces can act on the objects. The component of this force acting

### Parallel Algorithms - sorting

Parallel Algorithms - sorting Fernando Silva DCC-FCUP (Some slides are based on those from the book Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers, 2nd

### CS 575 Parallel Processing

Load Balancing in Periodic Wireless Sensor Networks for Lifetime Maximisation Anthony Kleerekoper 2nd year PhD Multi-Service Networks 2011 The Energy Hole Problem Uniform distribution of motes Regular,

### Solving Geometric Problems with the Rotating Calipers *

Solving Geometric Problems with the Rotating Calipers * Godfried Toussaint School of Computer Science McGill University Montreal, Quebec, Canada ABSTRACT Shamos [1] recently showed that the diameter of

Load Balancing Techniques 1 Lecture Outline Following Topics will be discussed Static Load Balancing Dynamic Load Balancing Mapping for load balancing Minimizing Interaction 2 1 Load Balancing Techniques

### Chapter 4. Forces and Newton s Laws of Motion. continued

Chapter 4 Forces and Newton s Laws of Motion continued Clicker Question 4.3 A mass at rest on a ramp. How does the friction between the mass and the table know how much force will EXACTLY balance the gravity

### CS473 - Algorithms I

CS473 - Algorithms I Lecture 4 The Divide-and-Conquer Design Paradigm View in slide-show mode 1 Reminder: Merge Sort Input array A sort this half sort this half Divide Conquer merge two sorted halves Combine

### Practice with Proofs

Practice with Proofs October 6, 2014 Recall the following Definition 0.1. A function f is increasing if for every x, y in the domain of f, x < y = f(x) < f(y) 1. Prove that h(x) = x 3 is increasing, using

### Classifying Large Data Sets Using SVMs with Hierarchical Clusters. Presented by :Limou Wang

Classifying Large Data Sets Using SVMs with Hierarchical Clusters Presented by :Limou Wang Overview SVM Overview Motivation Hierarchical micro-clustering algorithm Clustering-Based SVM (CB-SVM) Experimental

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms