Warshall s Algorithm: Transitive Closure


 Augustus Edwards
 2 years ago
 Views:
Transcription
1 CS 0 Theory of Algorithms / CS 68 Algorithms in Bioinformaticsi Dynamic Programming Part II. Warshall s Algorithm: Transitive Closure Computes the transitive closure of a relation (Alternatively: all paths in a directed graph) Example of transitive closure: Design and Analysis of Algorithms  Chapter 8 8
2 Warshall s Algorithm Main idea: a path exists between two vertices i, j, iff there is an edge from i to j; or there is a path from i to j going through vertex ; or there is a path from i to j going through vertex and/or ; or there is a path from i to j going through vertex,, and/or 3; or... there is a path from i to j going through any of the other vertices R R R R R Design and Analysis of Algorithms  Chapter 8 8 Warshall s Algorithm On the k th iteration, the algorithm determine if a path exists between two vertices i, j using just vertices among,,k allowed as intermediate { R (k) [i,j] (path using just,,k) R (k) [ij]= [i,j]= or (R (k) [i,k] and R (k) [k,j]) (path from i to k k and from k to i using just,,k) i k th iteration j Design and Analysis of Algorithms  Chapter 8 83
3 Warshall s Algorithm: Transitive Closure Design and Analysis of Algorithms  Chapter 8 8 Warshall s Algorithm (matrix generation) Recurrence relating elements R (k) to elements of R (k) is: R (k) [i,j] = R (k) [i,j] or (R (k) [i,k] and R (k) [k,j]) It implies the following rules for generating R (k) from R (k) : Rule If an element in row i and column j is in R (k), it remains in R (k) Rule If an element in row i and column j is 0 in R (k), it has to be changed to in R (k) if and only if the element in its row i and column k and the element in its column j and row k are both s inr R (k)
4 Warshall s Algorithm: Transitive Closure Design and Analysis of Algorithms  Chapter Design and Analysis of Algorithms  Chapter 8 87
5 Warshall s Algorithm (pseudocode and analysis) Time efficiency: (n 3 ) Space efficiency: Matrices can be written over their predecessors Floyd s Algorithm: All pairs shortest paths Problem: In a weighted (di)graph, find shortest paths between every pair of vertices Same idea: construct solution through series of matrices D (0),, D (n) using increasing subsets of the vertices allowed as intermediate Example: Design and Analysis of Algorithms  Chapter 8 89
6 Floyd s Algorithm (matrix generation) On the kth iteration, the algorithm determines shortest paths between every pair of vertices i, j that use only vertices among,,k as intermediate D (k) [i,j] = min {D (k) [i,j], D (k) [i,k] + D (k) [k,j]} D (k) [i,k] i D (k) [i,j] j k D (k) [k,j] Floyd s Algorithm: All pairs shortest paths Design and Analysis of Algorithms  Chapter 8 8
7 Design and Analysis of Algorithms  Chapter 8 8 Floyd s Algorithm (pseudocode and analysis) Timeefficiency: ce cy: ( (n 3 ) Space efficiency: Matrices can be written over their predecessors
8 Knapsack Problem by DP Given n items of integer weights: w w w n values: v v v n a knapsack of integer capacity W find most valuable subset of the items that fit into the knapsack Consider instance defined by first i items and capacity j (j W). Let V[i,j] be optimal value of such instance. Then V[i,j]= max {V[i,j], v i + V[i,j w i ]} if j w i 0 V[i,j] if j w i < 0 Initial conditions: V[0,j] = 0 and V[i,0] = 0 Knapsack Problem by DP (example) Example: Knapsack of capacity W = 5 item weight value $ $0 3 3 $0 $5 capacity yjj w =, v = w =, v = 0 w 3 = 3, v 3 = 0 3 w =, v = 5?
9 Knapsack Problem V[i, j] = max (V[i, j], V[i, j w i ] + v i ) object i not used object i used Design and Analysis of Algorithms  Chapter Knapsack Problem V[i, j] = max (V[i, j], V[i, j w i ] + v i ) object i not used object i used Design and Analysis of Algorithms  Chapter 8 87
10 Knapsack Problem Memory Function Implement the recurrence recursively Do not calculate a value if it is not needed Do not recalculate a value Row 0 and column 0 of V are initialized to 0, other entries are  MFKnapsack(i, j) if V[i, j]< 0 if j < w[i] value MFKnapsack(i, j) else value max (MFKnapsack(i, j), MFKnapsack(i,j w[i]) + v[i]) V[i, j] value return V[i, j] Design and Analysis of Algorithms  Chapter Knapsack Problem Memory Function Design and Analysis of Algorithms  Chapter 8 89
Relations Graphical View
Relations Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry Introduction Recall that a relation between elements of two sets is a subset of their Cartesian product (of ordered pairs). A binary
More informationApproximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NPCompleteness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
More informationNotes on Matrix Multiplication and the Transitive Closure
ICS 6D Due: Wednesday, February 25, 2015 Instructor: Sandy Irani Notes on Matrix Multiplication and the Transitive Closure An n m matrix over a set S is an array of elements from S with n rows and m columns.
More informationDynamic Programming. Applies when the following Principle of Optimality
Dynamic Programming Applies when the following Principle of Optimality holds: In an optimal sequence of decisions or choices, each subsequence must be optimal. Translation: There s a recursive solution.
More informationGraph. Consider a graph, G in Fig Then the vertex V and edge E can be represented as:
Graph A graph G consist of 1. Set of vertices V (called nodes), (V = {v1, v2, v3, v4...}) and 2. Set of edges E (i.e., E {e1, e2, e3...cm} A graph can be represents as G = (V, E), where V is a finite and
More informationGraphs. Graph G=(V,E): representation
Graphs G = (V,E) V the vertices of the graph {v 1, v 2,..., v n } E the edges; E a subset of V x V A cost function cij is the cost/ weight of the edge (v i, v j ) Graph G=(V,E): representation 1. Adjacency
More informationData Structures and Algorithms Written Examination
Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where
More informationCS2 Algorithms and Data Structures Note 11. BreadthFirst Search and Shortest Paths
CS2 Algorithms and Data Structures Note 11 BreadthFirst Search and Shortest Paths In this last lecture of the CS2 Algorithms and Data Structures thread we will consider the problem of computing distances
More informationWhy? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
More informationDynamic programming. Doctoral course Optimization on graphs  Lecture 4.1. Giovanni Righini. January 17 th, 2013
Dynamic programming Doctoral course Optimization on graphs  Lecture.1 Giovanni Righini January 1 th, 201 Implicit enumeration Combinatorial optimization problems are in general NPhard and we usually
More information5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 General Integer Linear Program: (ILP) min c T x Ax b x 0 integer Assumption: A, b integer The integrality condition
More informationDATA ANALYSIS II. Matrix Algorithms
DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where
More informationMatrix Product. MatrixMultiply (A, B) Cost of multiplying these matrices is p q r.
Dynamic Programming A powerful paradigm for algorithm design. Often leads to elegant and efficient algorithms when greedy or diideandconquer don t work. DP also breaks a problem into subproblems, but
More informationNetwork (Tree) Topology Inference Based on Prüfer Sequence
Network (Tree) Topology Inference Based on Prüfer Sequence C. Vanniarajan and Kamala Krithivasan Department of Computer Science and Engineering Indian Institute of Technology Madras Chennai 600036 vanniarajanc@hcl.in,
More informationMatrixChain Multiplication
MatrixChain Multiplication Let A be an n by m matrix, let B be an m by p matrix, then C = AB is an n by p matrix. C = AB can be computed in O(nmp) time, using traditional matrix multiplication. Suppose
More informationGraph Algorithms. Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar
Graph Algorithms Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar To accompany the text Introduction to Parallel Computing, Addison Wesley, 3. Topic Overview Definitions and Representation Minimum
More information2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]
Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)
More informationEquivalence, Order, and Inductive Proof
chapter 4 Equivalence, Order, and Inductive Proof Good order is the foundation of all things. Edmund Burke (729 797) Classifying things and ordering things are activities in which we all engage from time
More informationLinear Programming. March 14, 2014
Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1
More informationMemoization/Dynamic Programming. The String reconstruction problem. CS125 Lecture 5 Fall 2016
CS125 Lecture 5 Fall 2016 Memoization/Dynamic Programming Today s lecture discusses memoization, which is a method for speeding up algorithms based on recursion, by using additional memory to remember
More informationAllPairs Shortest Paths with Matrix Multiplication
AllPairs Shortest Paths with Matrix Multiplication Chandler Burfield March 15, 2013 Chandler Burfield APSP with Matrix Multiplication March 15, 2013 1 / 19 Outline 1 Seidel s algorithm 2 Faster Matrix
More informationLecture 12: Chain Matrix Multiplication
Lecture 12: Chain Matrix Multiplication CLRS Section 15.2 Outline of this Lecture Recalling matrix multiplication. The chain matrix multiplication problem. A dynamic programming algorithm for chain matrix
More informationGRAPH THEORY and APPLICATIONS. Trees
GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.
More informationLinear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.
Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.
More informationTrees and Fundamental Circuits
Trees and Fundamental Circuits Tree A connected graph without any circuits. o must have at least one vertex. o definition implies that it must be a simple graph. o only finite trees are being considered
More informationIntroduction to Flocking {Stochastic Matrices}
Supelec EECI Graduate School in Control Introduction to Flocking {Stochastic Matrices} A. S. Morse Yale University Gif sur  Yvette May 21, 2012 CRAIG REYNOLDS  1987 BOIDS The Lion King CRAIG REYNOLDS
More informationSubject: Analysis and Design of Computer Algorithms
 Subject: Analysis and Design of Computer Algorithms Paper Code: MCA 403 Author: Sh. Ganesh Kumar Lesson: Divide And Conquer
More informationWeek 5: Binary Relations
1 Binary Relations Week 5: Binary Relations The concept of relation is common in daily life and seems intuitively clear. For instance, let X be the set of all living human females and Y the set of all
More informationLoad balancing in a heterogeneous computer system by selforganizing Kohonen network
Bull. Nov. Comp. Center, Comp. Science, 25 (2006), 69 74 c 2006 NCC Publisher Load balancing in a heterogeneous computer system by selforganizing Kohonen network Mikhail S. Tarkov, Yakov S. Bezrukov Abstract.
More informationDynamic Programming. Lecture 11. 11.1 Overview. 11.2 Introduction
Lecture 11 Dynamic Programming 11.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 informationEdgebetweenness index calculation
BIOINF20060844 R Supplementary Material Edgebetweenness index calculation This supplementary material aims to briefly explain the edge betweenness calculation by illustrating the key steps. The example
More informationAlgorithms and Data Structures (INF1) Lecture 14/15 Hua Lu
Algorithms and Data Structures (INF1) Lecture 14/15 Hua Lu Department of Computer Science Aalborg University Fall 2007 This Lecture Shortest paths Problem preliminary Shortest paths in DAG BellmanMoore
More informationOptimization in R n Introduction
Optimization in R n Introduction Rudi Pendavingh Eindhoven Technical University Optimization in R n, lecture Rudi Pendavingh (TUE) Optimization in R n Introduction ORN / 4 Some optimization problems designing
More information5.1 Bipartite Matching
CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the FordFulkerson
More informationMinimum Spanning Trees
Minimum Spanning Trees Algorithms and 18.304 Presentation Outline 1 Graph Terminology Minimum Spanning Trees 2 3 Outline Graph Terminology Minimum Spanning Trees 1 Graph Terminology Minimum Spanning Trees
More informationZachary Monaco Georgia College Olympic Coloring: Go For The Gold
Zachary Monaco Georgia College Olympic Coloring: Go For The Gold Coloring the vertices or edges of a graph leads to a variety of interesting applications in graph theory These applications include various
More informationExam study sheet for CS2711. List of topics
Exam study sheet for CS2711 Here is the list of topics you need to know for the final exam. For each data structure listed below, make sure you can do the following: 1. Give an example of this data structure
More informationLet's start by analyzing the cost of multiplying 2 matrices:
CHAPTER 11 DYNAMIC PROGRAMMING 123 Matrix Chain Multiplication (MCM) Let's start by analyzing the cost of multiplying 2 matrices: MatrixMultiply(A,B): if columns[a]!= columns[b] then error "incompatible
More informationSolutions to Homework 6
Solutions to Homework 6 Debasish Das EECS Department, Northwestern University ddas@northwestern.edu 1 Problem 5.24 We want to find light spanning trees with certain special properties. Given is one example
More informationClipping polygons the SutherlandHodgman algorithm
Clipping polygons would seem to be quite complex. Clipping polygons would seem to be quite complex. single Clipping polygons would seem to be quite complex. single Clipping polygons would seem to be quite
More informationLecture 3: Linear Programming Relaxations and Rounding
Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can
More informationWhy graph clustering is useful?
Graph Clustering Why graph clustering is useful? Distance matrices are graphs as useful as any other clustering Identification of communities in social networks Webpage clustering for better data management
More informationA permutation can also be represented by describing its cycles. What do you suppose is meant by this?
Shuffling, Cycles, and Matrices Warm up problem. Eight people stand in a line. From left to right their positions are numbered,,,... 8. The eight people then change places according to THE RULE which directs
More informationFinding the Shortest MoveSequence in the GraphGeneralized 15Puzzle is NPHard
Finding the Shortest MoveSequence in the GraphGeneralized 15Puzzle is NPHard Oded Goldreich Abstract. Following Wilson (J. Comb. Th. (B), 1975), Johnson (J. of Alg., 1983), and Kornhauser, Miller and
More informationUsing the Simplex Method in Mixed Integer Linear Programming
Integer Using the Simplex Method in Mixed Integer UTFSM Nancy, 17 december 2015 Using the Simplex Method in Mixed Integer Outline Mathematical Programming Integer 1 Mathematical Programming Optimisation
More informationSECTIONS 1.51.6 NOTES ON GRAPH THEORY NOTATION AND ITS USE IN THE STUDY OF SPARSE SYMMETRIC MATRICES
SECIONS.5.6 NOES ON GRPH HEORY NOION ND IS USE IN HE SUDY OF SPRSE SYMMERIC MRICES graph G ( X, E) consists of a finite set of nodes or vertices X and edges E. EXMPLE : road map of part of British Columbia
More informationDependency Graphs and their Application to Software Engineering
Dependency Graphs and their Application to Software Engineering Pablo Azero Jalasoft pablo.azero@jalasoft.com RESUMEN A dependency graph is a graph that represents dependencies between objects of some
More informationChapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling
Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NPhard problem. What should I do? A. Theory says you're unlikely to find a polytime algorithm. Must sacrifice one
More informationExample 5.5. The heuristics are demonstrated with this example of n=5 vertices and distances in the following matrix:
39 5.3. HEURISTICS FOR THE TSP Notation: f = length of the tour given by the algortihm a f = length of the optimal tour min Most of the following heuristics are designed to solve symmetric instances of
More informationSocial Media Mining. Graph Essentials
Graph Essentials Graph Basics Measures Graph and Essentials Metrics 2 2 Nodes and Edges A network is a graph nodes, actors, or vertices (plural of vertex) Connections, edges or ties Edge Node Measures
More informationAny two nodes which are connected by an edge in a graph are called adjacent node.
. iscuss following. Graph graph G consist of a non empty set V called the set of nodes (points, vertices) of the graph, a set which is the set of edges and a mapping from the set of edges to a set of pairs
More informationHomework 15 Solutions
PROBLEM ONE (Trees) Homework 15 Solutions 1. Recall the definition of a tree: a tree is a connected, undirected graph which has no cycles. Which of the following definitions are equivalent to this definition
More informationOutline. NPcompleteness. When is a problem easy? When is a problem hard? Today. Euler Circuits
Outline NPcompleteness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2pairs sum vs. general Subset Sum Reducing one problem to another Clique
More informationGraph Algorithms using MapReduce
Graph Algorithms using MapReduce Graphs are ubiquitous in modern society. Some examples: The hyperlink structure of the web 1/7 Graph Algorithms using MapReduce Graphs are ubiquitous in modern society.
More informationGood luck, veel succes!
Final exam Advanced Linear Programming, May 7, 13.0016.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam
More informationFUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT MINING SYSTEM
International Journal of Innovative Computing, Information and Control ICIC International c 0 ISSN 3448 Volume 8, Number 8, August 0 pp. 4 FUZZY CLUSTERING ANALYSIS OF DATA MINING: APPLICATION TO AN ACCIDENT
More informationAn Introduction to APGL
An Introduction to APGL Charanpal Dhanjal February 2012 Abstract Another Python Graph Library (APGL) is a graph library written using pure Python, NumPy and SciPy. Users new to the library can gain an
More informationAlgorithm Design for MapReduce
Algorithm Design for MapReduce CprE 419X, Spring 2015 Iowa State University Srikanta Tirthapura 1/29/15 CprE 419 X, Srikanta Tirthapura 1 Problem 0: Sum Find the sum and average of many input integers
More informationComplexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
More information(67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7
(67902) Topics in Theory and Complexity Nov 2, 2006 Lecturer: Irit Dinur Lecture 7 Scribe: Rani Lekach 1 Lecture overview This Lecture consists of two parts In the first part we will refresh the definition
More informationThe Knapsack Problem. Decisions and State. Dynamic Programming Solution Introduction to Algorithms Recitation 19 November 23, 2011
The Knapsack Problem You find yourself in a vault chock full of valuable items. However, you only brought a knapsack of capacity S pounds, which means the knapsack will break down if you try to carry more
More informationCSC2420 Spring 2015: Lecture 3
CSC2420 Spring 2015: Lecture 3 Allan Borodin January 22, 2015 1 / 1 Announcements and todays agenda Assignment 1 due next Thursday. I may add one or two additional questions today or tomorrow. Todays agenda
More informationLong questions answer Advanced Mathematics for Computer Application If P= , find BT. 19. If B = 1 0, find 2B and 3B.
Unit1: Matrix Algebra Short questions answer 1. What is Matrix? 2. Define the following terms : a) Elements matrix b) Row matrix c) Column matrix d) Diagonal matrix e) Scalar matrix f) Unit matrix OR
More informationLecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method
Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming
More informationSection 6.4 Closures of Relations
Section 6.4 Closures of Relations Definition: The closure of a relation R with respect to property P is the relation obtained by adding the minimum number of ordered pairs to R to obtain property P. In
More informationLecture 7: Approximation via Randomized Rounding
Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining
More informationDiscrete Mathematics. Hans Cuypers. October 11, 2007
Hans Cuypers October 11, 2007 1 Contents 1. Relations 4 1.1. Binary relations................................ 4 1.2. Equivalence relations............................. 6 1.3. Relations and Directed Graphs.......................
More informationOctave Graph Theory Toolbox
Octave Graph Theory Toolbox Amanda M. Olsen April 27, 2010 Abstract This research examines possible ways of determining properties of and manipulating graphs in Octave. Graphs are found in every aspect
More informationDiscuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
More informationPart 2: Community Detection
Chapter 8: Graph Data Part 2: Community Detection Based on Leskovec, Rajaraman, Ullman 2014: Mining of Massive Datasets Big Data Management and Analytics Outline Community Detection  Social networks 
More information. 0 1 10 2 100 11 1000 3 20 1 2 3 4 5 6 7 8 9
Introduction The purpose of this note is to find and study a method for determining and counting all the positive integer divisors of a positive integer Let N be a given positive integer We say d is a
More information2.8 An application of Dynamic Programming to machine renewal
ex.6. Foundations of Operations Research Prof. E. Amaldi.6 Shortest paths with nonnegative costs Given the following graph, find a set of shortest paths from node to all the other nodes, using Dijkstra
More informationMANAGEMENT OPTIMIZATION PROBLEMS ON FUZZY GRAPHS
Investigaciones Europeas de Dirección y Economía de la Empresa Vol. 1, W 3,1995, pp. 6369. MANAGEMENT OPTIMIZATION PROBLEMS ON FUZZY GRAPHS Krasnoproshin, V. Obraztsov, V. Belarus State University ABSTRACT
More informationLecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs
CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like
More informationScheduling Shop Scheduling. Tim Nieberg
Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations
More informationStatic Load Balancing
Load Balancing Load Balancing Load balancing: distributing data and/or computations across multiple processes to maximize efficiency for a parallel program. Static loadbalancing: the algorithm decides
More informationHome Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit
Data Structures Page 1 of 24 A.1. Arrays (Vectors) nelement vector start address + ielementsize 0 +1 +2 +3 +4... +n1 start address continuous memory block static, if size is known at compile time dynamic,
More information4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests
4 Basics of Trees Trees, actually acyclic connected simple graphs, are among the simplest graph classes. Despite their simplicity, they still have rich structure and many useful application, such as in
More informationA linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form
Section 1.3 Matrix Products A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form (scalar #1)(quantity #1) + (scalar #2)(quantity #2) +...
More informationAlgorithm for payoff calculation for option trading strategies using vector terminology
MPRA Munich Personal RePEc Archive Algorithm for payoff calculation for option trading strategies using vector terminology Pankaj Sinha and Archit Johar Faculty of Management Studies, University of Delhi,
More informationInformatique Fondamentale IMA S8
Informatique Fondamentale IMA S8 Cours 4 : graphs, problems and algorithms on graphs, (notions of) NP completeness Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytechlille.fr Université
More informationA. V. Gerbessiotis CS Spring 2014 PS 3 Mar 24, 2014 No points
A. V. Gerbessiotis CS 610102 Spring 2014 PS 3 Mar 24, 2014 No points Problem 1. Suppose that we insert n keys into a hash table of size m using open addressing and uniform hashing. Let p(n, m) be the
More informationDirect Methods for Solving Linear Systems. Linear Systems of Equations
Direct Methods for Solving Linear Systems Linear Systems of Equations Numerical Analysis (9th Edition) R L Burden & J D Faires Beamer Presentation Slides prepared by John Carroll Dublin City University
More informationGraph Theory for Articulated Bodies
Graph Theory for Articulated Bodies Alba PerezGracia Department of Mechanical Engineering, Idaho State University Articulated Bodies A set of rigid bodies (links) joined by joints that allow relative
More informationWeek 5 Integral Polyhedra
Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory
More informationApplied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
More informationInstruction Scheduling. Software Pipelining  2
and Software Pipelining  2 Department of Computer Science and Automation Indian Institute of Science Bangalore 560 012 NPTEL Course on Principles of Compiler Design Outline Simple Basic Block Scheduling
More informationIntroduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
More informationMath 443/543 Graph Theory Notes 4: Connector Problems
Math 443/543 Graph Theory Notes 4: Connector Problems David Glickenstein September 19, 2012 1 Trees and the Minimal Connector Problem Here is the problem: Suppose we have a collection of cities which we
More informationCpt S 223. School of EECS, WSU
The Shortest Path Problem 1 ShortestPath Algorithms Find the shortest path from point A to point B Shortest in time, distance, cost, Numerous applications Map navigation Flight itineraries Circuit wiring
More informationChapter 4. Trees. 4.1 Basics
Chapter 4 Trees 4.1 Basics A tree is a connected graph with no cycles. A forest is a collection of trees. A vertex of degree one, particularly in a tree, is called a leaf. Trees arise in a variety of applications.
More informationPractical Graph Mining with R. 5. Link Analysis
Practical Graph Mining with R 5. Link Analysis Outline Link Analysis Concepts Metrics for Analyzing Networks PageRank HITS Link Prediction 2 Link Analysis Concepts Link A relationship between two entities
More informationChapter 2 Paths and Searching
Chapter 2 Paths and Searching Section 2.1 Distance Almost every day you face a problem: You must leave your home and go to school. If you are like me, you are usually a little late, so you want to take
More informationLabVIEW Day 3: Arrays and Clusters
LabVIEW Day 3: Arrays and Clusters Vern Lindberg By now you should be getting used to LabVIEW. You should know how to Create a Constant, Control, or Indicator. I will assume you know how to create a new
More information. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2
4. Basic feasible solutions and vertices of polyhedra Due to the fundamental theorem of Linear Programming, to solve any LP it suffices to consider the vertices (finitely many) of the polyhedron P of the
More informationmost influential member(s) of a social network; key infrastructure nodes; in an urban network; superspreaders of disease;...
Ranking in Networks http://en.wikipedia.org/wiki/centralityi Question: Given a communication network N, how to discover important nodes? How to define the importance of members of the network? The answer
More informationNimble Algorithms for Cloud Computing. Ravi Kannan, Santosh Vempala and David Woodruff
Nimble Algorithms for Cloud Computing Ravi Kannan, Santosh Vempala and David Woodruff Cloud computing Data is distributed arbitrarily on many servers Parallel algorithms: time Streaming algorithms: sublinear
More informationDiscrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131
Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Informatietechnologie en Systemen Afdeling Informatie, Systemen en Algoritmiek
More informationTheorem A graph T is a tree if, and only if, every two distinct vertices of T are joined by a unique path.
Chapter 3 Trees Section 3. Fundamental Properties of Trees Suppose your city is planning to construct a rapid rail system. They want to construct the most economical system possible that will meet the
More information6. Mixed Integer Linear Programming
6. Mixed Integer Linear Programming Javier Larrosa Albert Oliveras Enric RodríguezCarbonell Problem Solving and Constraint Programming (RPAR) Session 6 p.1/40 Mixed Integer Linear Programming A mixed
More information