Alternate Algorithm for DSM Partitioning

Similar documents
Simplification of two-level combinational logic

New Optimal Layer Assignment for Bus-Oriented Escape Routing

Design and Analysis of Algorithms

CSE 101- Winter 18 Discussion Section Week 2

Analysis of Algorithms Prof. Karen Daniels

Module 5 Graph Algorithms

Lecture 22 Tuesday, April 10

Data Organization: Creating Order Out Of Chaos

Chapter 9: Elementary Graph Algorithms Basic Graph Concepts

Digraphs ( 12.4) Directed Graphs. Digraph Application. Digraph Properties. A digraph is a graph whose edges are all directed.

Efficient Rectilinear Steiner Tree Construction with Rectangular Obstacles

Reading. Graph Introduction. What are graphs? Graphs. Motivation for Graphs. Varieties. Reading. CSE 373 Data Structures Lecture 18

Graphs: Connectivity. A graph. Transportation systems. Social networks

System of Systems Complexity Identification and Control

Note. Out of town Thursday afternoon. Willing to meet before 1pm, me if you want to meet then so I know to be in my office

DFS on Directed Graphs BOS. Outline and Reading ( 6.4) Digraphs. Reachability ( 6.4.1) Directed Acyclic Graphs (DAG s) ( 6.4.4)

The University of Sydney MATH 2009

The Need for a Process Mining Evaluation Framework in Research and Practice

MT365 Examination 2007 Part 1. Q1 (a) (b) (c) A

Lesson 22: Basic Graph Concepts

L10 Graphs. Alice E. Fischer. April Alice E. Fischer L10 Graphs... 1/37 April / 37

Abstract objective function graphs on the 3-cube a classification by realizability

A Schedulability-Preserving Transformation Scheme from Boolean- Controlled Dataflow Networks to Petri Nets

CISC 320 Introduction to Algorithms Fall Lecture 15 Depth First Search

Graphs: Definitions and Representations (Chapter 9)

CSE 332: Data Structures & Parallelism Lecture 19: Introduction to Graphs. Ruth Anderson Autumn 2018

Integrated Framework for Automating the Structural Design Iteration

Graphs: Definitions and Representations (Chapter 9)

CHAPTER-2 A GRAPH BASED APPROACH TO FIND CANDIDATE KEYS IN A RELATIONAL DATABASE SCHEME **

Project and Production Management Prof. Arun Kanda Department of Mechanical Engineering Indian Institute of Technology, Delhi

These definitions cover some basic terms and concepts of graph theory and how they have been implemented as C++ classes.

A Geometric Approach to the Bisection Method

Algebraic Graph Theory- Adjacency Matrix and Spectrum

Vertex Magic Total Labelings of Complete Graphs 1

What are graphs? (Take 1)

Understand graph terminology Implement graphs using

3.3 Hardware Karnaugh Maps

Vertex Magic Total Labelings of Complete Graphs

Hybrid Connection Simulation Using Dynamic Nodal Numbering Algorithm

An Application of Prim s Algorithm in Defining a SoS Operational Boundary

1. What is the sum of the measures of the angles in a triangle? Write the proof (Hint: it involves creating a parallel line.)

Enhanced Dependency Structure Matrix

Sample Solutions to Homework #2

SAMPLE. MODULE 5 Undirected graphs

Computational Geometry

Data Structures Lecture 14

CSE 373: Data Structures and Algorithms. Graphs. Autumn Shrirang (Shri) Mare

Routing. Effect of Routing in Flow Control. Relevant Graph Terms. Effect of Routing Path on Flow Control. Effect of Routing Path on Flow Control

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

MT365 Examination 2017 Part 1 Solutions Part 1

Sequence Alignment (chapter 6) p The biological problem p Global alignment p Local alignment p Multiple alignment

Lesson 4.2. Critical Paths

CS.17.A.MachineI.Overview

Motion Planning. O Rourke, Chapter 8

Introduction to Graphs. common/notes/ppt/

CS 561, Lecture 9. Jared Saia University of New Mexico

Data Struct. & Prob. Solving, M.C.Q. BANK, FOR UNIT 3, SECOND YEAR COMP. ENGG. SEM 1, 2012 PATTERN, U.O.P.

Mathematics and Statistics, Part A: Graph Theory Problem Sheet 1, lectures 1-4

Course Introduction / Review of Fundamentals of Graph Theory

DSM (Dependency/Design Structure Matrix)

Functional Block: Decoders

An array is a collection of data that holds fixed number of values of same type. It is also known as a set. An array is a data type.

GRAPH THEORY. What are graphs? Why graphs? Graphs are usually used to represent different elements that are somehow related to each other.

Data Structures - Binary Trees and Operations on Binary Trees

BACKGROUND: A BRIEF INTRODUCTION TO GRAPH THEORY

Parallel Algorithms for (PRAM) Computers & Some Parallel Algorithms. Reference : Horowitz, Sahni and Rajasekaran, Computer Algorithms

Applications of BFS and DFS

Distributed Method Selection and Dispatching of Contingent, Temporally Flexible Plans

A Linear Programming Based Algorithm for Multiple Sequence Alignment by Using Markov Decision Process

Lecture Outine. Why Automatic Memory Management? Garbage Collection. Automatic Memory Management. Three Techniques. Lecture 18

Objectives. In this session, you will learn to:

A Novel Approach of Prioritizing Use Case Scenarios

LATIN SQUARES AND TRANSVERSAL DESIGNS

Algorithms. Definition: An algorithm is a set of rules followed to solve a problem. In general, an algorithm has the steps:

Execution Tracing and Profiling

Abstract Data Types CHAPTER 12. Review Questions

1. (a) O(log n) algorithm for finding the logical AND of n bits with n processors

Today s Outline CSE 221: Algorithms and Data Structures Graphs (with no Axes to Grind)

Machine Learning Lecture 16

Spanning Trees. CSE373: Data Structures & Algorithms Lecture 17: Minimum Spanning Trees. Motivation. Observations. Spanning tree via DFS

Splay tree, tree Marko Berezovský Radek Mařík PAL 2012

Programming Abstractions

CSE 417 Dynamic Programming (pt 4) Sub-problems on Trees

LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

Supplement to. Logic and Computer Design Fundamentals 4th Edition 1

3.1 Basic Definitions and Applications

Analysis of Algorithms. Unit 4 - Analysis of well known Algorithms

Chapter 3 Part 1 Combinational Logic Design

Graph Theory(Due with the Final Exam)

Subject: Computer Science

8th Grade. Slide 1 / 87. Slide 2 / 87. Slide 3 / 87. Equations with Roots and Radicals. Table of Contents

(Refer Slide Time 04:53)

CSE/EE 461 Lecture 7 Bridging LANs. Last Two Times. This Time -- Switching (a.k.a. Bridging)

11/26/17. directed graphs. CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10. undirected graphs

Discovering Reference Models by Mining Process Variants Using a Heuristic Approach

QUICK EXCEL TUTORIAL. The Very Basics

Decision tables. Combinational Models. Necessary Characteristics of the Implementation. Decision tables. Deriving decision tables

Dynamic Maintenance of Majority Information in Constant Time per Update

Transcription:

lternate lgorithm for SM Partitioning Power of djacency Matrix pproach Using the power of the adjacency matrix approach, a binary SM is raised to its n th power to indicate which tasks can be traced back to themselves in n steps; thus constituting a cycle (Yassine et al., ). owever, eo (7) reported that when a matrix is raised to its n th power, the n-zero numbers represent the edge sequence and t a path (an edge may appear more than once in an edge sequence but t in a path). or illustration, consider an activity SM as seen in igure (a). nitially topological sorting is performed to determine the acyclic activities (dependent and independent). This process is achieved by tracing the empty rows and empty columns for identifying the acyclic activities at the start and end of the project respectively (refer igures (b) to (d)). ctivities and does t contain any marks along the rows and hence they are moved to the top of the matrix as shown in igure (b)-(c). Similarly, activities and contain empty columns and they are moved to the bottom of the matrix and omitted from further consideration as seen in igure (d). The active matrix after topological sorting is displayed in igure (e). This active matrix as represented in igure (a) (same as igure (e)) is converted to binary matrix by replacing the cells with marks as and all other empty cells as as shown in igure (b). Now, the binary matrix is raised to its powers till n ( n number of activities in the active matrix). igures (c) to (h) represents the powers of the binary matrix. nalyzing the n-zero value of the diagonal cell for instance, say at power as in igure (f). This implies that the length of edge sequence/cycle formed is. onsider the nzero value along the diagonal for activity is. This implies that there are numbers of edge sequences (of length ) can be formed starting with activity. ence, from the above observation, the numbers of edge sequences of length are and as visualized in igure (f). The five-step cycles formed with activity are t simple cycles ( Simple cycles are the cycles with repetition of des except the first one). s there are repeating edges, the cycles identified from igure (f) are t simple cycles. or matrices with densely populated marks, the diagonal cell values adds confusion and it fails to identify the cycles/blocks. ence, this method cant identify the blocks for any network pattern. ut, the significance of the n-zero value along the diagonal at the n th power can be utilized in detecting minimum length simple cycles. This is because, edges cant occur more than

igure lock iagram to llustrate Topological Sorting igure (a) ctivity SM igure (b) Topological Sorting igure (c) Topological Sorting igure (d) Topological Sorting igure (e) ctive Matrix after Topological Sorting igure (f) raphical Representation of the ctive Matrix

igure lock iagram to llustrate Power of djacency Matrix pproach igure (b) inary Matrix igure (a) ctive Matrix after Topological Sorting igure (c) Power igure (d) Power igure (g) Power 6 igure (f) Power igure (h) Power 7 6 6 8 6 6 igure (e) Power 8 8 8 7

once (other than the first and last) in minimum length edge sequences and hence the cycles formed are always simple. Proposed Partitioning Procedure The algorithm or procedure for the formation of partitioned SM is represented in the form of a flowchart in igure and is explained below:. onsider an activity SM.. heck for the presence of any mark along the upper diagonal of the matrix. f there are marks along the upper diagonal it implies that the matrix is partitioned. ence, stop the procedure or else continue with step. (a) Topological Sorting. heck for empty rows in the matrix and move all those empty rows to the top of the matrix and the corresponding columns to the left of the matrix and omit those activities for further consideration. o The remaining activities in the matrix form the active matrix.. or the reduced (active) matrix, check for any empty columns and move all those empty columns to the right and the corresponding rows to the bottom of the active matrix and block those activities from further consideration.. Repeat steps & until there are empty rows & columns in the active matrix (b) dentification of Loops 6. Select the activities in the active matrix along with the dependency relationships for identifying loops Loops are identified by the repeated process of powers of adjacency matrix and condensation of the strongly connected components. (i) djacency Matrix Multiplication 7. onvert the active matrix into a binary matrix (adjacency matrix) by replacing the marks with and all other empty cells as. 8. Raise the power of the adjacency matrix until you identify any n-zero entry along the diagonal. The maximum power can be anywhere till the order of number of activities in the current active matrix. o o f there occurs any n-zero entry along the diagonal, stop the process or else continue the matrix multiplication until the power is raised to n, where n is the number of activities in the current active matrix. The resultant matrix where the matrix multiplication is stopped is the end matrix.. On analyzing the end matrix, the corresponding power at which the end matrix is identified signifies the length of the cycle and the number formed along the diagonal during the matrix multiplication represents the number of cycles that particular activity is involved in.

Start Matrix Multiplication in detecting cycles/ loops heck for marks above the diagonal? heck for empty rows? Topological Sorting lgorithm onvert the active matrix to binary dentify the activities corresponding to the n-zero entry Raise the powers of the matrix until there occurs an n-zero entry along the diagonal anywhere before power n or else stop at power n heck for empty columns? Move that particular row & column to the top & left respectively & omit those activities for further consideration ondensation of the Strongly onnected omponents heck for individual loops (strongly connected components) for the identified activities ollapse/ merge all the activities in the loop into a single activity Repeat topological sorting Move that particular row & column to the bottom & right respectively & omit those activities for further consideration heck for marks above the diagonal? ighlight the individual condensed loops as blocked activities re there empty rows or columns? Repeat matrix multiplication Partitioned SM n Number of activities in the current matrix Note: ence, the value of n is dynamic igure lowchart for Proposed Partitioning lgorithm

o f the power is square, the corresponding length of the cycle is ; if it is cube, the corresponding cycle length is and so on. onsider an active matrix of size. On raising the binary matrix to its powers, say at cube, if n-zero entry occurred along the diagonal, the matrix multiplication process would be stopped. The cube matrix forms the end matrix. On analyzing the end matrix, if the number along the diagonal for an activity say was it implies that activity is involved in two numbers of three-step cycle. (ii) Strongly onnected omponents & ondensation. Trace out the pairs/cycles among the identified activities.. Move those activities (which form a cycle) together and merge/condense all those activities together o f the cycles are overlapping, bring all those activities together and merge them together (c) dentification of locks. The condensed matrix forms the present active matrix. Repeat topological sorting for the condensed matrix and check for any upper diagonal marks. f there are marks above the diagonal it implies the presence of loops and hence repeat the process from step 7 or else continue to step. The condensed activities represent blocks and the resultant matrix is the partitioned SM. llustration The example shown in igure (a) is used for the present illustration. fter topological sorting, the matrix of activities reduces to 7 activities as shown in igure (d). Remaining activities form the active matrix as revealed in igure (e). This active matrix is converted to a binary matrix as seen in igure (a). On raising the binary matrix to its powers, n-zero value occurred along the diagonal at power as in igure (b) for activities, and. This implies that activities, and are involved in a cycle of length (interdependent). The numbers along the diagonal for the above activities was,, and and it corresponds to the number of cycles each activity is involved in. The above concepts imply that activities and are each involved in one cycle of length two and activity is involved in two cycles of length two. The two two-step cycles are traced out as -- and --. Since activity is common in both the loops; all the three activities had been combined together as a single activity through condensation process and is illustrated in igure (c). Perform topological sorting to detect any acyclic activities. f the matrix still has marks above the diagonal, repeat the steps such as matrix multiplication, condensation and topological

igure lock iagram for ormation of Partitioned SM (Proposed pproach) igure (a) inary (ctive) Matrix igure (b) Power igure (c) ctive Matrix after ondensation & Topological Sorting igure (e) Power igure (f) ctive Matrix after ondensation igure (l) Partitioned SM igure (h) Power igure (i) Power igure (k) inal ondensed Matrix after Topological Sorting igure (j) ctive Matrix after ondensation igure (d) inary Matrix igure (g) inary Matrix

sorting to form the final condensed matrix and is illustrated through igures (d) to (k). Once the matrix multiplication cant identify any loops, the above process is stopped. The condensed activities are unmerged into the rmal activities and this matrix forms the partitioned SM and is as shown in igure (l). This partitioned SM reveals two blocks through the above approach. iscussion & onclusion Mathematical proof for the proposed algorithm is attempted (Maheswari, 6). This algorithm, which is based on powers of adjacency matrix, can partition any matrix OMPLTLY. The drawback with this approach is its incapability in identifying LL the individual cycles/loops (it can identify only the minimum length cycle available in a particular block). urther, it is t as NT as available alternate algorithms. ence, this algorithm is t recommended for developing SM software. References. eo, N. (7) raph Theory with pplications to ngineering and omputer Science, Prentice all ndia.. Maheswari,. U. (6) Modeling ctivity Sequencing for onstruction Projects using ependency Structure Matrix, Ph Thesis, T Madras.. Yassine,.,. alkenburg, and. helst () ngineering esign Management: n nformation Structure pproach. nternational ournal of Production Research, 7 (), 7 7.