Rate-Optimal Unfolding of Balanced Synchronous Data-Flow Graphs

Size: px
Start display at page:

Download "Rate-Optimal Unfolding of Balanced Synchronous Data-Flow Graphs"

Transcription

1 Rate-Optimal Unfolding of Balanced Synchronous Data-Flow Graphs Timothy W. O Neil Dept. of Computer Science, The University of Akron, Akron OH USA toneil@uakron.edu Abstract Many common iterative or recursive DSP applications can be represented by synchronous data-flow graphs (SDFGs). Despite claims to the contrary, the unfolding of such graphs proves to be a non-trivial problem. We demonstrated this in our previous work and now specify the properties of the special class of synchronous graphs that satisfy the conditions for unfolding. 1 Introduction Since the most time-critical parts of DSP applications are loops, we must explore the parallelism embedded in the repetitive pattern of a loop. One of the most useful models for representing DSP applications has proven to be the multirate or synchronous data-flow graph (SDFG) first proposed by Lee [5]. The nodes (vertices) of a SDFG represent functional elements, while edges between nodes represent data channels between them. Each node consumes and produces a predetermined fixed number of delays (i.e., data tokens) on each invocation. Additionally, each edge may contain some initial number of delays. This model has proven popular with designers of signal processing programming environments with its use leading to numerous important results regarding DSP programs. A great deal of research has been done attempting to optimize various aspects of an application s execution by applying various graph transformation techniques to the application s flow graph. One of the more effective of these techniques is unfolding [11], which alters the graph by making multiple iterations visible simultaneously. The size of the graph is increased, but we derive some benefit by creating more options for parallel execution. It was assumed in [4] that unfolding of the synchronous model is the same as for the traditional single-rate model but we demonstrated that this is not the case in [8]. In this paper, we will review the basic definitions and results necessary for specifying and manipulating a SDFG, and specify the circumstances under which an SDFG may be unfolded. We will then define a certain class of foldable SDFGs and develop the theory behind such graphs. In the next section, we will formalize the fundamental concepts related to the studies of synchronous data-flow graphs and unfolding. We then develop the theory behind a subclass of synchronous graph that can be unfolded. Finally, we summarize our work and point to future directions for study. 2 Background In this section we review the relevant definitions and ideas regarding synchronous data-flow graphs (balanced and unbalanced) and unfolding in order to formalize these concepts. 2.1.Synchronous Data-Flow Graphs Originally developed in [5], a synchronous data-flow graph (SDFG) is a finite, directed, weighted graph G = V,E,d,t,p,k where 1. V is the vertex set of nodes or actors, which transform input data streams into output streams; 2. E V V is the edge set, representing channels which carry data streams; 3. d : E N { 0 } is a function with d(e) the number of initial tokens (delays) on edge e; 4. t : V N is a function with t(v) the execution time of node v; 5. p : E N is a function with p(e) the number of data tokens produced at e's source node to be carried by e; and 6. k : E N is a function with k(e) the number of data tokens consumed from e by e's sink node. (In this definition N is the set of natural numbers {1, 2, 3,...}.) If p(e) = k(e) = 1 for all edges e, we say that G is a homogeneous data-flow graph (HDFG). HDFGs are also sometimes referred to as single-rate data-flow graphs or simply data-flow graphs. To illustrate, consider the SDFG given in Figure 1 below. Because it does not matter to the topic at hand, we will assume all such graphs given in this paper to be unit / copyright ISCA, CATA 2014 March 24-26, 2014, Las Vegas, Nevada, USA 261

2 time, i.e. ( ) = 1 for all nodes. The small numbers at either end of an edge denote tokens produced or consumed. In this example, the numbers at either end of the edge connecting and indicate that node produces two tokens on this edge when it executes, while node consumes one token from this edge each time it runs. The short bar-lines cutting the edge from node to node, hereafter denoted (A,B), represent initial tokens to be consumed by. Figure 1 Sample balanced SDFG. It is sometimes useful to characterize an SDFG by its topology matrix, an E V matrix similar to an incidence matrix. Each row corresponds to one edge in the graph, while each column corresponds to a node. A positive (i,j) th entry in the topology matrix indicates the number of tokens produced by the j th node on the i th edge, while a negative entry here gives the number of tokens consumed by node j from edge i. All other entries are zero. As an example, the topology matrix of Figure 1 is M For purposes of this representation, nodes A, B and C are designated nodes 0, 1 and 2, respectively, while the edges are numbered in the order (A,B), (B,C) and (C,A). In [5] it was demonstrated that a repeating sequential schedule can be constructed for a SDFG G if the rank of the graph s topology matrix is one less than the number of nodes in the SDFG. If this condition holds there is a positive integer vector q in the null space of the topology matrix called a repetition vector for G. The repetition vector for G with the smallest norm is called the basic repetition vector (BRV) for G [5]. For example, the BRV for the SDFG in Figure 1 is q = [ ] T. The elements of a BRV q indicate that q j copies of node v j must be executed during every iteration of the static schedule. In our example we must schedule two copies of A, one of B and four of C each time. Finally, a SDFG is consistent if it has a BRV. (1) 2.2.Unfolding and Unfolded Data-Flow Graphs The concept of unfolding of homogeneous graphs appears throughout the literature [2, 10]. Let f be a positive integer. We wish to alter our graph so that f consecutive iterations are visible simultaneously. To do this, we create f copies of each node, replacing node u in the original graph by the nodes u 1 through u f in our new graph. This process is known as unfolding the graph G f times and results in the unfolded graph G f = V f,e f,d f,t f. The vertex set V f is simply the union of the f copies of each node in V. Since they are all exact copies, the computation times remain the same, i.e. t f (u f ) = t(u) for every copy u f of u V. Each edge of G also corresponds to f copies in the unfolded graph. However, the delay counts of the copies do not match that of the original edge. It is in the construction of these edges where the complication lies. 2.3.Balanced SDFGs As in [8], if d(e) is divisible by q v k(e) for all edges in an SDFG, the SDFG is balanced. Figure 1 above is an example of a balanced SDFG (BSDFG). Note that singlerate graphs are balanced by default. Our work in [8] demonstrated that the traditional unfolding algorithm operates as commonly understood only when applied to balanced SDFGs. The only required change is to move groups of delays rather than individual ones. This described method, a variation on the O( E ) unfolding algorithm for DFGs from [11], appears as Algorithm 1 below. After verifying that the input SDFG is balanced (and terminating with an error if it is not), copies of nodes and edges are created. Tokens are then distributed in groups among the edges. As an example, consider the balanced SDFG in Figure 1 unfolded twice. After verifying balance and creating node copies, the third loop in Algorithm 1 considers edges. Creating copies of (C,A) is straight-forward. For (A,B), first set and. The first sub-loop then creates an edge (A 0,B 1 ) with no delays, while the second produces (A 1,B 0 ) with 2. Similarly (B,C) is translated into the zero-delay edge (B 0,C 1 ) and the 4-delay edge (B 1,C 0 ), as pictured in Figure 2. It was established in [8] that balanced SDFGs may be legally unfolded via Algorithm 1 as demonstrated. 3 Properties of BSDGFs With the basic paradigm of the balanced SDFG in place, we now develop some simple properties of these graphs. Let G be a balanced SDFG unfolded f times. As with any data-flow model, edges without delay represent intra-iteration dependencies. However, a dependence from the k th iteration to the (k+n) th iteration in G is represented 262

3 Algorithm 1. Unfolding a balanced synchronous dataflow graph. Input: A SDFG G = V,E, d, t, p, k, an integer f Output: The unfolded graph G f = V f,e f, d f, t f, p f, k f Figure 2 Figure 1 unfolded twice via Algorithm 1. by an edge e = (u,v) with nk(e)q v delays. Since f iterations are represented simultaneously in the unfolded graph, every fk(e)q v delays in G are represented by k(e)q v delays in G f. Therefore, for 0 i, j < f, an edge e f = (u i,v j ) in E f with d(e f ) = nk(e)q v delays implies a dependence from node u in iteration i to node v in iteration. This dependence is represented by an edge e = (u,v) in G with groups of k(e)q v delays; thus d(e) = d f (e f ) f + (j i) k(e)q v. Since by this logic, and knowing that there are f copies of (u,v) in the unfolded graph, we see that the f copies are the edges (u i,v j ) where for 0 i < f. The value of d f (e f ) can be derived from Algorithm 1. Finally, summing the delay counts of all copies of e in the unfolded graph yields for all edges e = (u, v) in E do if d(e) mod k(e)q v 0 then return false /* Not balanced; stop. */ end if for all nodes u V do for i = 0 to f 1 do Add a copy of node u as u i to V f t f (u i ) t(u) for all edges e = (u, v) E do for i = 0 to f 1 do Add edge e f = (u i, v i+ ) to E f p f (e f ) p(e) k f (e f ) k(e) d f (e f ) k(e)q v for i = f to f 1 do Add edge e f = (u i, v i+ -f ) to E f p f (e f ) p(e) k f (e f ) k(e) d f (e f ) ( +1)k(e)q v return true since the f occurrences of become zero as a result of the modulus operator and the divisibility of d(e) due to balance. To summarize we have established the following. Theorem 1 Let u, v be nodes in a balanced SDFG G with e = (u,v). 1. For any 0 i, j < f, there is an edge e f = (u i,v j ) in E f if and only if d(e) = d f (e f ) f + (j i) k(e)q v. 2. For any 0 i, j < f with j i d(e) mod f, there is an edge e f = (u i,v j ) in E f with 3. The f copies of edge e in G f consists of the set of edges (u i,v j ) for every 0 i < f, where 4. The total number of delays of the f copies of edge e is d(e), i.e. d(e) = d f (e 0 ) + d f (e 1 ) + + d f (e f-1 ). The analogous result for homogeneous DFGs was proven in [2] and quoted in [8]. 263

4 4 Rate-Optimal Unfolding This line of inquiry began with the erroneous assumption in [10] that generic synchronous graphs could be unfolded for purposes of scheduling. Since we have now defined a class of SDFG that we can unfold, we can ask how much unfolding is necessary for scheduling balanced SDFGs optimally. As in [8, 9], an iteration is simply a single execution of all copies of all nodes of a SDFG. The iteration period of the SDFG is then the average computation time of one iteration. In synchronous graphs containing loops, this figure is bounded from below by the graph s maximum cycle mean or iteration bound [12], denoted B(G). While complicated to derive for SDFGs in general, as shown in [10], its calculation is straight-forward for balanced SDFGs: where the balanced synchronous graph G has a basic repetition vector of [q 0,...,q V -1 ]. Returning to Figure 1, the depicted graph includes one loop with an adjusted delay count of two and node computation times summing to 3; therefore B(G) = 3 ₂ for Figure 1. There are two models we consider when discussing static scheduling, only one of which is relevant to our work. A function s : V {0,1,2,3,} {0,1,2,3,} is an integral schedule for a SDFG G where s(v,i) is the starting time of node v in iteration i (i 0). Such a schedule is legal if for each edge e = (u,v) and iteration i 0 [10], repeating for cycle period c and unfolding factor f if s(v, i + f) = s(v, i) + c for all nodes v and iterations i [2] and rate-optimal if its iteration period equals the graph s iteration bound [10]. Repeating schedules may be characterized by their initial iterations, given the fact that the full legal schedule may be constructed by commencing f new copies of the partial timetable every c clock ticks. Thus, on average, one iteration takes clock ticks to execute, making this fraction the iteration period. Finally, a schedule is static or processor-static if a node s execution is designated to proceed on the same functional unit in every partial schedule instantiation [2]. We are now prepared to derive the smallest unfolding factor f necessary to achieve a rate-optimal schedule for a given balanced SDFG. If c is the corresponding cycle period for such a schedule, we see from our above discussion that c = f B(G). If we write B(G) as where gcd(d,t) = 1, we observe that f must be divisible by D since c is integral by definition. Therefore f = kd for some integer k. (2) In [10] we demonstrated that a legal, repeating static schedule for an SDFG exists under these circumstances provided that t(v) c for all nodes v; thus for all v. Consequently we estimate that, leading to the assertion that (3) is the minimum necessary rate-optimal unfolding factor for any balanced SDFG. Clearly any rate-optimal schedule with this unfolding factor will be legal, repeating and static as argued. We now must demonstrate that f is minimal. By way of contradiction, let be a rate-optimal unfolding factor with < f. As before, the corresponding clock period B(G) must exceed the execution time of any node, so that for some integer. Thus or Since no such integral exists we conclude that f is minimal. The figure in (3) matches the minimum rateoptimal unfolding factor for single-rate DFGs as derived in [3], although the authors there derive a better result if the functional units are pipelined. Considering Figure 1 once more, since all node computation times are 1 and the iteration bound is 3 ₂, we see that the minimum rate-optimal unfolding factor is or 2. Thus Figure 2 represents an optimized graph, leading to the partial schedule in Figure 3. The depicted schedule can be repeated to infinity to create the complete schedule. TIME: B 0 A 0 A 1 C 0 A 0 A 1 C 0 C 1 B 1 C 0 C 1 C 0 C 1 C 1 Figure 3 Partial rate-optimal static schedule for the SDFG of Figure 1. 5 Perfect-Rate SDFGs Finally, in [11], the authors identified a class of DFGs that they dubbed perfect-rate. Due to the importance of these graphs (as established there), we now briefly discuss their analogue in the case of synchronous data flow. A perfect-rate synchronous data-flow graph (PSDFG) is one which satisfies two conditions: (1) any loop l in the PSDFG has all of its delays contained on one critical edge 264

5 (u l,v l ), and (2) the delay count of any critical edge e = (u,v) is k(e)q v. The SDFG in Figure 2 is an example of a perfectrate graph. Clearly the iteration bound of a PSDFG is the maximum sum of node computation times in any loop. PSDFGs are nice in that they can be easily and directly scheduled to achieve this optimal cycle period from the directed acyclic graph (DAG) found by removing all edges containing delays. This leaves only zero-weight edges representing direct precedence relations. As suggested in [11], simply schedule the loop remnants in decreasing order of computation time to derive the rate optimal schedule. For example, in Figure 2, these paths would include B 0 C 1 A 1 and C 0 A 0 B 1. Since the total computation times are the same, they can be scheduled in any order to produce the partial schedule of Figure 3. This scheduling algorithm assumes no resource limitations, although an upper bound on the number of resources can be found by multiplying the total number of loops by the maximum q v for any node v. In the case of Figure 2, there are two loops and a BRV of [ ] T, leading to an anticipated need of 8 functional units, an overestimate of 2. Our work in [9] discusses the more realistic case when we are constrained by a lack of processors. In conclusion, suppose we choose an unfolding factor for a generic balanced SDFG which is the least common multiple of the values for all edges e with non-zero delay counts. By Theorem 1(2), any loop in the unfolded graph will contain exactly one group of k(e)q v delays and thus the unfolded graph will be perfect-rate and quickly schedulable. In a similar vein, the authors in [7] define a slowed circuit as one derived by multiplying the delay counts in a DFG by a fixed integer. The claimed advantage is that such a DFG can often be retimed to have a shorter clock period than any of its reduced forms [7]. Applying a slowdown equal to the least common multiple of the values k(e)q v for all edges e with non-zero delay counts will transform a generic SDFG to become balanced. 6 Example We conclude by considering the modem implementation that appeared originally in [6] and was extensively discussed in [1], pictured in Figure 4 below. For purposes of this illustration we will assume all functional units execute in unit time except for input and output (shaded) which require three clock ticks to complete. As demonstrated in [1] this graph has a BRV with q = q FILT = 16, q HIL = 2 and q v = 1 for all other nodes v. Figure 4 A voice-band data modem. There are only two edges containing delays, and in both cases d(e) = q v k(e), and thus the SDFG of Figure 4 is balanced. Furthermore, there are three loops in the graph, each with a single critical edge, making this BSDFG perfect-rate. We can thus schedule by observing the longest zero-delay path (, FILT, HIL, EQ, PLL, DECI, DECO and OUT) and scheduling executions consecutively in this order. Overlapping the executions of MUL and DECO (as indicated by the graph) yields the final repeating schedule in Figure 5. t FU1 FU2 FU FILT HIL EQ PLL DECI DECO OUT OUT OUT FILT HIL MUL FILT Figure 5 Repeating part of schedule for Figure 4. Of the three loops in Figure 4, two yield an iteration bound of 2: the tight loop between PLL and DECI, and the larger loop EQ PLL DECI MUL EQ with total execution time 4 and adjusted delay count 2. Since and OUT each require three clock ticks to complete, we conclude that the minimum rate-optimal unfolding factor for this PSDFG is or 2. Unfolding Figure 4 twice now produces the PSDFG in Figure 6 and the schedule in Figure 7. The benefits are clear. While the original modem requires 12 clocks cycles to complete a single iteration, the unfolded graph completes two iterations in 14 cycles, an average of 7 clock cycles per iteration. Our work herein also indicates that further unfolding of the graph will require additional functional units without achieving an improved result. 7 Conclusion In this paper and in [8] we have seen that unfolding is problematic for complex data-flow models and specified the circumstances under which it can be performed for 265

6 Acknowledgement Financial support for this work provided by the University of Akron s Buchtel College of Arts and Sciences, with additional support through the university s Professional Development Leave program. References 1. Bhattacharya, S.S., Murthy, P.K. and E.A. Lee, E.A.. Software Synthesis from Dataflow Graphs. Kluwer Academic Publishers, 1996 Figure 6 Figure 4 unfolded twice. t FU1 FU2 FU3 FU4 FU16 FU17 FU HIL0 EQ0 PLL0 DECI0 PLL1 DECI1 MUL1 OUT1 OUT1 OUT1 HIL0 EQ1 MUL0 DECO1 HIL1 DECO0 OUT0 OUT0 OUT0 HIL FILT FILT1 Figure 7 Repeating part of schedule for Figure 6. synchronous DFGs. To quickly summarize, our work in [8] indicates that, in order for a variation on the traditional unfolding algorithm to apply to the more complicated synchronous model, either the SDFG in question must be balanced, or we must assume that the data tokens produced by copies of a node are interchangeable. In the case of the latter, we must also make certain assumptions about the start times of a node s copies. In this paper we have further developed the theory behind the specialized class of balanced SDFGs first defined in [8]. In addition to filling out some basic properties involving the unfolding of these graphs, we have derived the value of the minimum rate-optimal unfolding factor. Finally we have considered the subclass of perfect rate graphs which can always be scheduled rate optimally. While useful, the class of data-flow graphs under consideration is restricted enough for there to be a great deal of room for improvement. One key to extending these results to more general DFGs may be alteration of the basic algorithm, as was briefly outlined in [2]. There remains considerable hope that these ideas can be refined and enhanced so as to be applicable to a wider variety of data flow models. 2. Chao, L.F. Scheduling and Behavioral Transformations for Parallel Systems. Ph.D. thesis : Princeton University, Chao, L.-F. and Sha, E. H.-M. Static Scheduling for Synthesis of DSP Algorithms on Various Models. Journal of VLSI Signal Processing, Vol. 10, pp Geilen, M. Reduction techniques for synchronous dataflow graphs. In Proc. Design Automation Conference, pp , Lee, E.A. and Messerscmitt, D.G. Static scheduling of synchronous data-flow programs for digital signal processing. IEEE Transactions on Computers, Vol. 36, pp Lee, E.A. and Messerschmitt, D.G. Synchronous data flow. Proceedings of the IEEE, 75: , Leiserson, C.E. and Saxe, J.B. Retiming Synchronous Circuitry. Algorithmica, Vol. 6, pp O'Neil, T.W. Unfolding Synchronous Data-flow Graphs. In Proc. IASTED International Conference on Parallel and Distributed Computing and Systems, pp , O'Neil, T.W. Static Scheduling of Synchronous Data-Flow Graphs Under Resource Constraints. Journal of Parallel and Distributed Computing and Networks, Vol. 2, DOI: /Journal O'Neil, T.W., Khasawneh, S.F., Richter, M.E. and Pullaguntla, R.K. Transforming synchronous data-flow graphs to reduce execution time. International Journal of Computers and Their Applications, Vol. 18, pp , Parhi, K.K. and Messerschmitt, D.G. Static Rate-Optimal Scheduling of Iterative Data-Flow Programs via Optimum Unfolding. IEEE Transactions on Computers, Vol. 40, pp Renfors, M. and Neuvo, Y. The maximum sampling rate of digital filters under hardware speed. Transactions on Circuits and Sampling, Vols. CAS-28, pp

STATIC SCHEDULING FOR CYCLO STATIC DATA FLOW GRAPHS

STATIC SCHEDULING FOR CYCLO STATIC DATA FLOW GRAPHS STATIC SCHEDULING FOR CYCLO STATIC DATA FLOW GRAPHS Sukumar Reddy Anapalli Krishna Chaithanya Chakilam Timothy W. O Neil Dept. of Computer Science Dept. of Computer Science Dept. of Computer Science The

More information

ROTATION SCHEDULING ON SYNCHRONOUS DATA FLOW GRAPHS. A Thesis Presented to The Graduate Faculty of The University of Akron

ROTATION SCHEDULING ON SYNCHRONOUS DATA FLOW GRAPHS. A Thesis Presented to The Graduate Faculty of The University of Akron ROTATION SCHEDULING ON SYNCHRONOUS DATA FLOW GRAPHS A Thesis Presented to The Graduate Faculty of The University of Akron In Partial Fulfillment of the Requirements for the Degree Master of Science Rama

More information

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas

FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS. Waqas Akram, Cirrus Logic Inc., Austin, Texas FILTER SYNTHESIS USING FINE-GRAIN DATA-FLOW GRAPHS Waqas Akram, Cirrus Logic Inc., Austin, Texas Abstract: This project is concerned with finding ways to synthesize hardware-efficient digital filters given

More information

Using Retiming to Minimize Inter-Iteration Dependencies

Using Retiming to Minimize Inter-Iteration Dependencies Using Retiming to Minimize Inter-Iteration Dependencies Timothy W. O Neil Edwin H.-M. Sha Computer Science Dept. Computer Science Dept. University of Akron Univ. of Texas at Dallas Akron, OH 44325-4002

More information

REDUCING THE CODE SIZE OF RETIMED SOFTWARE LOOPS UNDER TIMING AND RESOURCE CONSTRAINTS

REDUCING THE CODE SIZE OF RETIMED SOFTWARE LOOPS UNDER TIMING AND RESOURCE CONSTRAINTS REDUCING THE CODE SIZE OF RETIMED SOFTWARE LOOPS UNDER TIMING AND RESOURCE CONSTRAINTS Noureddine Chabini 1 and Wayne Wolf 2 1 Department of Electrical and Computer Engineering, Royal Military College

More information

Synthesis of DSP Systems using Data Flow Graphs for Silicon Area Reduction

Synthesis of DSP Systems using Data Flow Graphs for Silicon Area Reduction Synthesis of DSP Systems using Data Flow Graphs for Silicon Area Reduction Rakhi S 1, PremanandaB.S 2, Mihir Narayan Mohanty 3 1 Atria Institute of Technology, 2 East Point College of Engineering &Technology,

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Star Decompositions of the Complete Split Graph

Star Decompositions of the Complete Split Graph University of Dayton ecommons Honors Theses University Honors Program 4-016 Star Decompositions of the Complete Split Graph Adam C. Volk Follow this and additional works at: https://ecommons.udayton.edu/uhp_theses

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams

Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams Presented at 28th Asilomar Conference on Signals, Systems, and Computers November, 994 Static Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer- Valued Control Streams Joseph T.

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Approximation Algorithms for Wavelength Assignment

Approximation Algorithms for Wavelength Assignment Approximation Algorithms for Wavelength Assignment Vijay Kumar Atri Rudra Abstract Winkler and Zhang introduced the FIBER MINIMIZATION problem in [3]. They showed that the problem is NP-complete but left

More information

General properties of staircase and convex dual feasible functions

General properties of staircase and convex dual feasible functions General properties of staircase and convex dual feasible functions JÜRGEN RIETZ, CLÁUDIO ALVES, J. M. VALÉRIO de CARVALHO Centro de Investigação Algoritmi da Universidade do Minho, Escola de Engenharia

More information

REDUCING GRAPH COLORING TO CLIQUE SEARCH

REDUCING GRAPH COLORING TO CLIQUE SEARCH Asia Pacific Journal of Mathematics, Vol. 3, No. 1 (2016), 64-85 ISSN 2357-2205 REDUCING GRAPH COLORING TO CLIQUE SEARCH SÁNDOR SZABÓ AND BOGDÁN ZAVÁLNIJ Institute of Mathematics and Informatics, University

More information

Ramsey s Theorem on Graphs

Ramsey s Theorem on Graphs Ramsey s Theorem on Graphs 1 Introduction Exposition by William Gasarch Imagine that you have 6 people at a party. We assume that, for every pair of them, either THEY KNOW EACH OTHER or NEITHER OF THEM

More information

RPUSM: An Effective Instruction Scheduling Method for. Nested Loops

RPUSM: An Effective Instruction Scheduling Method for. Nested Loops RPUSM: An Effective Instruction Scheduling Method for Nested Loops Yi-Hsuan Lee, Ming-Lung Tsai and Cheng Chen Department of Computer Science and Information Engineering 1001 Ta Hsueh Road, Hsinchu, Taiwan,

More information

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees.

Definition: A graph G = (V, E) is called a tree if G is connected and acyclic. The following theorem captures many important facts about trees. Tree 1. Trees and their Properties. Spanning trees 3. Minimum Spanning Trees 4. Applications of Minimum Spanning Trees 5. Minimum Spanning Tree Algorithms 1.1 Properties of Trees: Definition: A graph G

More information

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C.

We show that the composite function h, h(x) = g(f(x)) is a reduction h: A m C. 219 Lemma J For all languages A, B, C the following hold i. A m A, (reflexive) ii. if A m B and B m C, then A m C, (transitive) iii. if A m B and B is Turing-recognizable, then so is A, and iv. if A m

More information

Discharging and reducible configurations

Discharging and reducible configurations Discharging and reducible configurations Zdeněk Dvořák March 24, 2018 Suppose we want to show that graphs from some hereditary class G are k- colorable. Clearly, we can restrict our attention to graphs

More information

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS PAUL BALISTER Abstract It has been shown [Balister, 2001] that if n is odd and m 1,, m t are integers with m i 3 and t i=1 m i = E(K n) then K n can be decomposed

More information

Clustering Using Graph Connectivity

Clustering Using Graph Connectivity Clustering Using Graph Connectivity Patrick Williams June 3, 010 1 Introduction It is often desirable to group elements of a set into disjoint subsets, based on the similarity between the elements in the

More information

ACONCURRENT system may be viewed as a collection of

ACONCURRENT system may be viewed as a collection of 252 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 10, NO. 3, MARCH 1999 Constructing a Reliable Test&Set Bit Frank Stomp and Gadi Taubenfeld AbstractÐThe problem of computing with faulty

More information

Rigidity, connectivity and graph decompositions

Rigidity, connectivity and graph decompositions First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you

More information

CMPSCI 311: Introduction to Algorithms Practice Final Exam

CMPSCI 311: Introduction to Algorithms Practice Final Exam CMPSCI 311: Introduction to Algorithms Practice Final Exam Name: ID: Instructions: Answer the questions directly on the exam pages. Show all your work for each question. Providing more detail including

More information

arxiv: v1 [math.ho] 7 Nov 2017

arxiv: v1 [math.ho] 7 Nov 2017 An Introduction to the Discharging Method HAOZE WU Davidson College 1 Introduction arxiv:1711.03004v1 [math.ho] 7 Nov 017 The discharging method is an important proof technique in structural graph theory.

More information

Math 302 Introduction to Proofs via Number Theory. Robert Jewett (with small modifications by B. Ćurgus)

Math 302 Introduction to Proofs via Number Theory. Robert Jewett (with small modifications by B. Ćurgus) Math 30 Introduction to Proofs via Number Theory Robert Jewett (with small modifications by B. Ćurgus) March 30, 009 Contents 1 The Integers 3 1.1 Axioms of Z...................................... 3 1.

More information

Some Upper Bounds for Signed Star Domination Number of Graphs. S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour.

Some Upper Bounds for Signed Star Domination Number of Graphs. S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour. Some Upper Bounds for Signed Star Domination Number of Graphs S. Akbari, A. Norouzi-Fard, A. Rezaei, R. Rotabi, S. Sabour Abstract Let G be a graph with the vertex set V (G) and edge set E(G). A function

More information

Line Graphs and Circulants

Line Graphs and Circulants Line Graphs and Circulants Jason Brown and Richard Hoshino Department of Mathematics and Statistics Dalhousie University Halifax, Nova Scotia, Canada B3H 3J5 Abstract The line graph of G, denoted L(G),

More information

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1 Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming.

Retiming. Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford. Outline. Structural optimization methods. Retiming. Retiming Adapted from: Synthesis and Optimization of Digital Circuits, G. De Micheli Stanford Outline Structural optimization methods. Retiming. Modeling. Retiming for minimum delay. Retiming for minimum

More information

Notes for Lecture 20

Notes for Lecture 20 U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general

More information

Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs

Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs Symbolic Buffer Sizing for Throughput-Optimal Scheduling of Dataflow Graphs Anan Bouakaz Pascal Fradet Alain Girault Real-Time and Embedded Technology and Applications Symposium, Vienna April 14th, 2016

More information

9.1 Cook-Levin Theorem

9.1 Cook-Levin Theorem CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two

More information

Steiner Trees and Forests

Steiner Trees and Forests Massachusetts Institute of Technology Lecturer: Adriana Lopez 18.434: Seminar in Theoretical Computer Science March 7, 2006 Steiner Trees and Forests 1 Steiner Tree Problem Given an undirected graph G

More information

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions

Basic Combinatorics. Math 40210, Section 01 Fall Homework 4 Solutions Basic Combinatorics Math 40210, Section 01 Fall 2012 Homework 4 Solutions 1.4.2 2: One possible implementation: Start with abcgfjiea From edge cd build, using previously unmarked edges: cdhlponminjkghc

More information

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the

More information

6. Advanced Topics in Computability

6. Advanced Topics in Computability 227 6. Advanced Topics in Computability The Church-Turing thesis gives a universally acceptable definition of algorithm Another fundamental concept in computer science is information No equally comprehensive

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

MOST attention in the literature of network codes has

MOST attention in the literature of network codes has 3862 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 8, AUGUST 2010 Efficient Network Code Design for Cyclic Networks Elona Erez, Member, IEEE, and Meir Feder, Fellow, IEEE Abstract This paper introduces

More information

Module 11. Directed Graphs. Contents

Module 11. Directed Graphs. Contents Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................

More information

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE

DO NOT RE-DISTRIBUTE THIS SOLUTION FILE Professor Kindred Math 104, Graph Theory Homework 2 Solutions February 7, 2013 Introduction to Graph Theory, West Section 1.2: 26, 38, 42 Section 1.3: 14, 18 Section 2.1: 26, 29, 30 DO NOT RE-DISTRIBUTE

More information

Paths, Flowers and Vertex Cover

Paths, Flowers and Vertex Cover Paths, Flowers and Vertex Cover Venkatesh Raman M. S. Ramanujan Saket Saurabh Abstract It is well known that in a bipartite (and more generally in a König) graph, the size of the minimum vertex cover is

More information

Optimal Graph Transformation Assuming Alternate Scheduling Models

Optimal Graph Transformation Assuming Alternate Scheduling Models Optimal raph Transformation ssuming lternate Scheduling Models Timothy W. O Neil ept. of omputer Science University of kron, kron O 44325-43 stract Many computation-intensive iterative or recursive applications

More information

Complete Cototal Domination

Complete Cototal Domination Chapter 5 Complete Cototal Domination Number of a Graph Published in Journal of Scientific Research Vol. () (2011), 547-555 (Bangladesh). 64 ABSTRACT Let G = (V,E) be a graph. A dominating set D V is said

More information

An Eternal Domination Problem in Grids

An Eternal Domination Problem in Grids Theory and Applications of Graphs Volume Issue 1 Article 2 2017 An Eternal Domination Problem in Grids William Klostermeyer University of North Florida, klostermeyer@hotmail.com Margaret-Ellen Messinger

More information

DESIGN OF 2-D FILTERS USING A PARALLEL PROCESSOR ARCHITECTURE. Nelson L. Passos Robert P. Light Virgil Andronache Edwin H.-M. Sha

DESIGN OF 2-D FILTERS USING A PARALLEL PROCESSOR ARCHITECTURE. Nelson L. Passos Robert P. Light Virgil Andronache Edwin H.-M. Sha DESIGN OF -D FILTERS USING A PARALLEL PROCESSOR ARCHITECTURE Nelson L. Passos Robert P. Light Virgil Andronache Edwin H.-M. Sha Midwestern State University University of Notre Dame Wichita Falls, TX 76308

More information

In Journal of VLSI Signal Processing Systems, Vol 21, No. 2, pages , June Kluwer Academic Publishers.

In Journal of VLSI Signal Processing Systems, Vol 21, No. 2, pages , June Kluwer Academic Publishers. In Journal of VLSI Signal Processing Systems, Vol 21, No. 2, pages 151-166, June 1999. 1999 Kluwer Academic Publishers. SYNTHESIS OF EMBEDDED SOFTWARE FROM SYNCHRONOUS DATAFLOW SPECIFICATIONS Shuvra S.

More information

arxiv: v4 [math.co] 25 Apr 2010

arxiv: v4 [math.co] 25 Apr 2010 QUIVERS OF FINITE MUTATION TYPE AND SKEW-SYMMETRIC MATRICES arxiv:0905.3613v4 [math.co] 25 Apr 2010 AHMET I. SEVEN Abstract. Quivers of finite mutation type are certain directed graphs that first arised

More information

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1 UNIT I INTRODUCTION CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1. Define Graph. A graph G = (V, E) consists

More information

Exercise set 2 Solutions

Exercise set 2 Solutions Exercise set 2 Solutions Let H and H be the two components of T e and let F E(T ) consist of the edges of T with one endpoint in V (H), the other in V (H ) Since T is connected, F Furthermore, since T

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

On Algebraic Expressions of Generalized Fibonacci Graphs

On Algebraic Expressions of Generalized Fibonacci Graphs On Algebraic Expressions of Generalized Fibonacci Graphs MARK KORENBLIT and VADIM E LEVIT Department of Computer Science Holon Academic Institute of Technology 5 Golomb Str, PO Box 305, Holon 580 ISRAEL

More information

princeton univ. F 15 cos 521: Advanced Algorithm Design Lecture 2: Karger s Min Cut Algorithm

princeton univ. F 15 cos 521: Advanced Algorithm Design Lecture 2: Karger s Min Cut Algorithm princeton univ. F 5 cos 5: Advanced Algorithm Design Lecture : Karger s Min Cut Algorithm Lecturer: Pravesh Kothari Scribe:Pravesh (These notes are a slightly modified version of notes from previous offerings

More information

Matching Theory. Figure 1: Is this graph bipartite?

Matching Theory. Figure 1: Is this graph bipartite? Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to

More information

Math 485, Graph Theory: Homework #3

Math 485, Graph Theory: Homework #3 Math 485, Graph Theory: Homework #3 Stephen G Simpson Due Monday, October 26, 2009 The assignment consists of Exercises 2129, 2135, 2137, 2218, 238, 2310, 2313, 2314, 2315 in the West textbook, plus the

More information

The strong chromatic number of a graph

The strong chromatic number of a graph The strong chromatic number of a graph Noga Alon Abstract It is shown that there is an absolute constant c with the following property: For any two graphs G 1 = (V, E 1 ) and G 2 = (V, E 2 ) on the same

More information

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION

SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION CHAPTER 5 SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/ SECTION 5.5 Application: Correctness of Algorithms Copyright Cengage Learning. All

More information

1 Definition of Reduction

1 Definition of Reduction 1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem

More information

Retiming Arithmetic Datapaths using Timed Taylor Expansion Diagrams

Retiming Arithmetic Datapaths using Timed Taylor Expansion Diagrams Retiming Arithmetic Datapaths using Timed Taylor Expansion Diagrams Daniel Gomez-Prado Dusung Kim Maciej Ciesielski Emmanuel Boutillon 2 University of Massachusetts Amherst, USA. {dgomezpr,ciesiel,dukim}@ecs.umass.edu

More information

On Rainbow Cycles in Edge Colored Complete Graphs. S. Akbari, O. Etesami, H. Mahini, M. Mahmoody. Abstract

On Rainbow Cycles in Edge Colored Complete Graphs. S. Akbari, O. Etesami, H. Mahini, M. Mahmoody. Abstract On Rainbow Cycles in Edge Colored Complete Graphs S. Akbari, O. Etesami, H. Mahini, M. Mahmoody Abstract In this paper we consider optimal edge colored complete graphs. We show that in any optimal edge

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

Graph Theory. Part of Texas Counties.

Graph Theory. Part of Texas Counties. Graph Theory Part of Texas Counties. We would like to visit each of the above counties, crossing each county only once, starting from Harris county. Is this possible? This problem can be modeled as a graph.

More information

LabVIEW Based Embedded Design [First Report]

LabVIEW Based Embedded Design [First Report] LabVIEW Based Embedded Design [First Report] Sadia Malik Ram Rajagopal Department of Electrical and Computer Engineering University of Texas at Austin Austin, TX 78712 malik@ece.utexas.edu ram.rajagopal@ni.com

More information

Interleaving Schemes on Circulant Graphs with Two Offsets

Interleaving Schemes on Circulant Graphs with Two Offsets Interleaving Schemes on Circulant raphs with Two Offsets Aleksandrs Slivkins Department of Computer Science Cornell University Ithaca, NY 14853 slivkins@cs.cornell.edu Jehoshua Bruck Department of Electrical

More information

COVERING SPACES AND SUBGROUPS OF THE FREE GROUP

COVERING SPACES AND SUBGROUPS OF THE FREE GROUP COVERING SPACES AND SUBGROUPS OF THE FREE GROUP SAMANTHA NIEVEEN AND ALLISON SMITH Adviser: Dennis Garity Oregon State University Abstract. In this paper we will use the known link between covering spaces

More information

Recognizing Interval Bigraphs by Forbidden Patterns

Recognizing Interval Bigraphs by Forbidden Patterns Recognizing Interval Bigraphs by Forbidden Patterns Arash Rafiey Simon Fraser University, Vancouver, Canada, and Indiana State University, IN, USA arashr@sfu.ca, arash.rafiey@indstate.edu Abstract Let

More information

Vertex Magic Total Labelings of Complete Graphs 1

Vertex Magic Total Labelings of Complete Graphs 1 Vertex Magic Total Labelings of Complete Graphs 1 Krishnappa. H. K. and Kishore Kothapalli and V. Ch. Venkaiah Centre for Security, Theory, and Algorithmic Research International Institute of Information

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 009) Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching Lecturer: Mohammad R. Salavatipour Date: Sept 15 and 17, 009

More information

H. W. Kuhn. Bryn Mawr College

H. W. Kuhn. Bryn Mawr College VARIANTS OF THE HUNGARIAN METHOD FOR ASSIGNMENT PROBLEMS' H. W. Kuhn Bryn Mawr College The author presents a geometrical modelwhich illuminates variants of the Hungarian method for the solution of the

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Given a simple directed graph G = (V, E), a cycle cover is a set of vertex-disjoint directed cycles that cover all vertices of the graph. 1. Show that there

More information

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS

LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS LATIN SQUARES AND THEIR APPLICATION TO THE FEASIBLE SET FOR ASSIGNMENT PROBLEMS TIMOTHY L. VIS Abstract. A significant problem in finite optimization is the assignment problem. In essence, the assignment

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

Speed-up of Parallel Processing of Divisible Loads on k-dimensional Meshes and Tori

Speed-up of Parallel Processing of Divisible Loads on k-dimensional Meshes and Tori The Computer Journal, 46(6, c British Computer Society 2003; all rights reserved Speed-up of Parallel Processing of Divisible Loads on k-dimensional Meshes Tori KEQIN LI Department of Computer Science,

More information

ARITHMETIC operations based on residue number systems

ARITHMETIC operations based on residue number systems IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS II: EXPRESS BRIEFS, VOL. 53, NO. 2, FEBRUARY 2006 133 Improved Memoryless RNS Forward Converter Based on the Periodicity of Residues A. B. Premkumar, Senior Member,

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Fundamental Properties of Graphs

Fundamental Properties of Graphs Chapter three In many real-life situations we need to know how robust a graph that represents a certain network is, how edges or vertices can be removed without completely destroying the overall connectivity,

More information

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Weizhen Mao Department of Computer Science The College of William and Mary Williamsburg, VA 23187-8795 USA wm@cs.wm.edu

More information

An Approach to Task Attribute Assignment for Uniprocessor Systems

An Approach to Task Attribute Assignment for Uniprocessor Systems An Approach to ttribute Assignment for Uniprocessor Systems I. Bate and A. Burns Real-Time Systems Research Group Department of Computer Science University of York York, United Kingdom e-mail: fijb,burnsg@cs.york.ac.uk

More information

Diversity Coloring for Distributed Storage in Mobile Networks

Diversity Coloring for Distributed Storage in Mobile Networks Diversity Coloring for Distributed Storage in Mobile Networks Anxiao (Andrew) Jiang and Jehoshua Bruck California Institute of Technology Abstract: Storing multiple copies of files is crucial for ensuring

More information

Cache-Oblivious Traversals of an Array s Pairs

Cache-Oblivious Traversals of an Array s Pairs Cache-Oblivious Traversals of an Array s Pairs Tobias Johnson May 7, 2007 Abstract Cache-obliviousness is a concept first introduced by Frigo et al. in [1]. We follow their model and develop a cache-oblivious

More information

Maximum flows & Maximum Matchings

Maximum flows & Maximum Matchings Chapter 9 Maximum flows & Maximum Matchings This chapter analyzes flows and matchings. We will define flows and maximum flows and present an algorithm that solves the maximum flow problem. Then matchings

More information

Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs.

Advanced Combinatorial Optimization September 17, Lecture 3. Sketch some results regarding ear-decompositions and factor-critical graphs. 18.438 Advanced Combinatorial Optimization September 17, 2009 Lecturer: Michel X. Goemans Lecture 3 Scribe: Aleksander Madry ( Based on notes by Robert Kleinberg and Dan Stratila.) In this lecture, we

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

Modelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system

Modelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system Modelling and simulation of guaranteed throughput channels of a hard real-time multiprocessor system A.J.M. Moonen Information and Communication Systems Department of Electrical Engineering Eindhoven University

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Acyclic Edge Colorings of Graphs

Acyclic Edge Colorings of Graphs Acyclic Edge Colorings of Graphs Noga Alon Ayal Zaks Abstract A proper coloring of the edges of a graph G is called acyclic if there is no 2-colored cycle in G. The acyclic edge chromatic number of G,

More information

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge. 1 Graph Basics What is a graph? Graph: a graph G consists of a set of vertices, denoted V (G), a set of edges, denoted E(G), and a relation called incidence so that each edge is incident with either one

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information