Optimal register allocation for SSA-form programs in polynomial time
|
|
- Logan Morrison
- 5 years ago
- Views:
Transcription
1 Information Processing Letters 98 (2006) Optimal register allocation for SSA-form programs in polynomial time Sebastian Hack, Gerhard Goos Institut für Programmstrukturen und Datenorganisation, Adenauerring 20a, Karlsruhe, Germany Received 11 February 2005; received in revised form 23 November 2005 Available online 17 February 2006 Communicated by F. Meyer auf der Heide Abstract This paper gives a constructive proof that the register allocation problem for a uniform register set is solvable in polynomial time for SSA-form programs Elsevier B.V. All rights reserved. Keywords: Combinatorial problems; Graph algorithms 1. Introduction Register allocation is the task in a compiler, which maps (temporary) variables to processor registers. The most prominent approach is to map this task to a graph coloring problem. The nodes of the so-called interference graph are formed by the temporaries of the program. Whenever the compiler finds out, that two temporaries cannot be held in the same register (due to interference), an edge is drawn between the corresponding nodes in the interference graph. Colors correspond to processor registers. Thus, having k registers, a k-coloring of the interference graph forms a correct register assignment. Chaitin et al. [4] show that for each undirected graph a program can be given which has this graph as its interference graph. So, since graph coloring is NP-complete, * Corresponding author. addresses: hack@ipd.info.uni-karlsruhe.de (S. Hack), ggoos@ipd.info.uni-karlsruhe.de (G. Goos). register allocation must also be. However, if one only considers programs in SSA-form (e.g., refer to [5]) the situation changes. It turns out, that interference graphs of SSA-form programs belong to the class of chordal graphs, which is in turn a subset of the class of perfect graphs. It is well known, that chordal graphs can be colored in quadratic time. This also answers the question posed by Andersson [1] whether interference graphs are perfect. This paper is structured as follows: First, we describe the model of a program used in this paper. Then we give a new definition of liveness for SSA-form programs. After quoting basic facts from graph theory, we will prove that interference graphs of SSA-form programs always have perfect elimination orders and show how they are determined. 2. SSA-form programs Here, we consider a program (in SSA-form) given by its control flow graph (CFG) whose nodes are made up of labeled single instructions. We will therefore identify /$ see front matter 2006 Elsevier B.V. All rights reserved. doi: /j.ipl
2 S. Hack, G. Goos / Information Processing Letters 98 (2006) if...then l 2 : x l 3 : x l 4 : y x + 1 if... then l 2 : x 1 l 3 : x 2 l 4 : x 3 φ(x 1,x 2 ) l 4 : y 1 x l 1 : a if...then l 2 : l 3 : b l 4 : y φ (a, b) Fig. 1. Program fragment and its equivalent in SSA-form. Fig. 2. Liveness at φ -functions. the node and its label in the following. Let us call the set of labels L. The CFG has one distinct start node which has no predecessor nodes and is denoted by start. The instruction corresponding to a node is of the following form: l : (d 1,...,d m ) τ(u 1,...,u n ). We denote the operation τ at a label l by Op l. We call Res l ={d 1,...,d m } the ordered set of result values and Arg l ={u 1,...,u n } the ordered set of argument values at the label l. Alld 1,...,d m and u 1,...,u n are elements of the set of (abstract) values V of the considered program. Given a label l, let us denote Arg l (i) the ith argument to the operation at l. Each label has an ordered set of k predecessor labels which we will denote by Pl 1,...,Pk l. We will also write l i l if l = Pl i.ifwedo not care about the position, we simply write l l to denote that l is a predecessor to l. A path p is an ordered set {l 1,...,l n } of at least two nodes, for which l 1 l 2,l 2 l 3,...,l n 1 l n holds. To indicate that a set p ={l 1,...,l n } is a path, we write p : l 1 l n. Finally, we say a label l dominates another label l if each path from start to l contains l, writing l l. Note, since is reflexive, l l. We require the program to be given in SSA-form, which means that each variable is statically only assigned once. Usually, when a program is transferred into SSA-form, for each definition of a non-ssa variable x, a SSA variable x i is created. The usages of the variables then have to be adjusted to refer to the corresponding SSA variable. This is not always possible. It might be depent on the control flow, which definition of the variable is applicable at the usage. Consider the left program in Fig. 1. At label l 4, it is depent on the control flow whether the definition at l 2 or the one at l 3 is relevant for l 4. In SSA-form programs, a special instruction, called φ-function is used to disambiguate multiple definitions by control flow. A φ- function copies its ith parameter to its result, if it was reached via Pl k. Note, that a basic block can have multiple φ-functions. So, since the program is in SSA-form, for each SSA-variable 1 v there is exactly one label D v for which v Res Dv. Since we allow only one instruction per label, we replace the set of all φ-operations in a basic block y 1 = φ(x 11,...,x 1n ),... y m = φ(x m1,...,x mn ) by the more concise φ -operation: l : (y 1,...,y m ) = φ (x 11,...,x 1n,...,x m1,...,x mn ) which sets y i = x ij if l was reached via P j l. It is convenient to define Arg l (j) ={x ij 1 i m} subsuming all operands of a φ -operation which refer to P j l. Note, that φ is totally equivalent to the traditional φ, since SSA semantics states that all φ-operations in a basic block are evaluated simultaneously. In the following, everything stated for φ -operations implicitly holds for φ-operations. Thus we will only use φ Liveness in SSA-form programs To perform register allocation on SSA-form programs, a precise notion of liveness is needed. The standard definition of liveness A variable v is live at a label l, if there is a path from l to a usage of v not containing a definition of v. cannot be straightforwardly transferred to SSA-form programs. The problem arises with φ- and accordingly φ -operations. Consider the program in Fig. 2. Surely, a is not live at label l 3 although there is a path from l 3 to a usage of a, namely l 4. The cause for this oddity is that the usual notion of usage does not hold for φ -operations. In addition to their arguments, a φ -operation also uses control flow information to produce its result. To make the traditional definition of liveness work, we have to incorporate the predecessor by which a label was reached into the notion of usage: 1 SSA variables are often called values.
3 152 S. Hack, G. Goos / Information Processing Letters 98 (2006) Definition 1 (Usage). usage : N L V B, { v Argl if Op (i,l,v) l φ, v Arg l (i) if Op l = φ. Now, a usage is not only depent on a label and a value but also on a number which represents the predecessor by which the label was reached. In our example in Fig. 2, usage(1,l 4,a) is true, since a is indeed used if l 4 is entered via l 2. usage(2,l 4,a)is false, since a is not used if l 4 is reached through l 3. If the operation at a label is not φ, this definition resembles the common concept of usage by simply ignoring the predecessor index. The traditional definition of liveness quoted above, uses paths which in usages of some variable to define liveness. In this traditional setting, usages and paths are unrelated. With Definition 1, paths and usages are no longer unrelated. So it is straightforward to merge them in one term. Definition 2 (Usepath). A path p : l 1 l n is a usepath from l 1 to l n concerning a value v, ifv is used at l n regarding this path. More formally: usepath : L n V B, (p : l 1 l n,v) { usage(i, ln,v) if p = l 1 i l n, usepath(l 2 l n,v) otherwise. Referring to the example in Fig. 2, l 1,l 2,l 4 is a usepath of a and l 1,l 3,l 4 is a usepath of b. Using this definition of usage together with the traditional definition of liveness stated above, one obtains a realistic model of liveness in SSA programs: Definition 3 (Liveness). A value v is live at a label l 1 iff there exists a label l n with usepath(l 1 l 2 l n,v)and D v / {l 2,...,l n }. We use the definition of usepaths to re-formulate the notion of a strict program coined by Budimlić et al. [3]. Definition 4 (Strict program). A program is called strict, iff for each value v each path from start to some label l with usepath(start l, v) contains the definition of v. From now on, we will only consider strict programs. 2 The next lemma is essential for the rest of this paper and has also been given by Budimlić relying on a slightly different liveness definition. Lemma 5. Each label l at which a value v is live is dominated by D v. Proof. Suppose, l is not dominated by D v. Then, there is path from start to l not containing D v. From the fact, that v is live at l follows, that there is a usepath of v from l to some l. So there is a usepath from start to l not containing D v which contradicts the definition of a strict program Common facts about SSA-form programs Since the definition of liveness given above seems rather unusual, we shortly derive some well-known facts about SSA-form programs from our definition. These facts are not vital for the rest of the paper and are only given to clarify certain properties of SSA-form programs. Corollary 6. Each value v, used in a non-φ -operation at a label l is dominated by its definition. Proof. Then, for each predecessor of P j l of l, usage(j, l, v) holds. With Definition 3, v is live at each P j l. With Lemma 5, D v dominates each predecessor of l. Thus D v also dominates l. Corollary 7. If a value v Arg l (i) for a φ -operation at a label l and some i, then the definition of v dominates P i l. Proof. Surely, usage(i,l,v) holds. So p : P i l l is a usepath concerning v. So, after Definition 3, v is live at P i l. Thus, with Lemma 5, D v P i l. Corollary 8. Let l be a label with Op l φ. Each pair of values v,w Arg l interfere. Proof. Due to Definition 3, v and w are live at each predecessor of that label. So v and w interfere. Often, one can read statements like: 2 Surely, each non-strict program can be turned into a strict one by inserting instructions which initially define the variables by an arbitrary value.
4 S. Hack, G. Goos / Information Processing Letters 98 (2006) φ -operations do not cause interferences. Concerning liveness, φ -operations can be treated as if they had no arguments. φ -operations ext the lifetimes of their arguments to the of the respective predecessor label. All these statements try to describe Corollary 8 the other way around. With the definition of usepaths, they are covered implicitly. In our model the basic assumption is, that the property of usage is always tied to a value and a path, which makes Corollary 8 the special case. 3. Graph theory Here we quote definitions from basic graph theory and the theory of perfect graphs important to this paper. Let G = (V, E) be an undirected graph. If there is an edge from v V G to w V, we write vw E G.We leave out the G in E G,V G if it is clear from the context, which graph is considered. We call a graph G complete, iff for each v,w V, there is an edge vw E. We call G an induced subgraph of G, ifv G V G and for all nodes v,w V G, vw E G vw E G holds. Definition 9 (Simplicial vertex). Avertexv V G is called simplicial, ifv and its neighbors induce a complete subgraph in G. Definition 10 (Perfect Elimination Order, PEO). We call a linearly ordered sequence of vertices v 1,...,v n a perfect elimination order, if each v i is simplicial in G {v 1,...,v n 1 } where G {a 1,...,a m } is the graph obtained by deleting all vertices {a 1,...,a m } and their incident edges from the graph. The class of graphs for which perfect elimination orders exist are also called chordal or triangulated graphs. Gavril [6] gives an algorithm for coloring chordal graphs in O( V 2 ). The algorithm constructs a PEO for a given chordal graph by searching and removing a simplicial node from the graph each step. Afterwards, the nodes are inserted into the graph in reverse order. Each node is assigned a color which is not occupied by a neighbor of the node to insert. It is further proven, that this algorithm leads to a minimal coloring of the graph. 4. Interference graphs of SSA-programs We say two values v and v interfere, iff there is a label l where v and v are live (regarding Definition 3). Now, we can define the interference graph IG = (V, E) of an SSA-form program. The set of vertices is made up by the values occurring in the program, V IG = V. Since nodes in the interference graph and values are identical, we identify both terms in the following. We draw an edge between to values v and v iff they interfere and write vv E IG. The following lemmas lead to a theorem that connects the dominance relation of a program to perfect elimination orders in the interference graph of that program. Lemmas 11 and 12 have also been shown by Budimlić et al. [3] and are given for the sake of completeness, here. Lemma 11 shows that each edge in the interference graph is directed according to the dominance relationship of the values their nodes represent. Lemma 11. If two values v and w are live at some label l, either D v dominates D w or vice versa. Proof. By Lemma 5, D v and D w dominate l.thus,either D v dominates D w or D w dominates D v. The next lemma shows what is trivial in basic blocks also holds for complete programs in SSA-form: if one value starts living before another (it dominates the other) and both interfere, the value is still alive at the definition of the other. Lemma 12. If v and w interfere and D v D w, then v is live at D w. Proof. Assume, v is not live at D w. Then there is no usepath from D w to some l concerning v. Since all labels where w is live are dominated by D w, there is no label where v and w are simultaneously live. So v and w do not interfere which contradicts the proposition. Lemma 13 shows how the dominance order relation is reflected by the interference graph. It says that all values dominating a value v and interfering with v form a clique in the interference graph. This is used later on to connect the perfect elimination order to the dominance relation. Lemma 13. ab,bc E and ac / E. IfD a D b, then D b D c. Proof. Due to Lemma 11, either D b D c or D c D b. Assume D c D b. Then (with Lemma 12), c is live at D b. Since a and b also interfere and D a D b, a is also live at D b. So, a and c are live at D b which cannot be by precondition.
5 154 S. Hack, G. Goos / Information Processing Letters 98 (2006) Lemma 14. A value v can ext a perfect elimination order, if each value whose definition is dominated by D v is already contained in the PEO. Proof. To ext a PEO, v must be simplicial. Assume v is not simplicial. Then there exist two neighbors a,b for which va,vb E but ab / E (by Definition 9). Due to the proposition, all values whose definitions are dominated by D v have already been removed from IG. Thus, D a dominates D v. By Lemma 13, D v dominates D b which contradicts the proposition. Thus, v is simplicial. Theorem 15. The interference graph of a SSA-form program P is chordal. Proof. Consider the tree T of immediate dominators (cf. [9]) concerning the control flow graph of P.We start with an empty PEO and apply Lemma 14 recursively on T starting at the leaves. This constructs a PEO for the interference graph of P. Since each graph which has a PEO is chordal, cf. [7], the interference graph of P is chordal. As we can see by Theorem 15, a post-order visitation of the dominator tree of a program yields a PEO. Since the vertices are colored reversely along a PEO, a preorder visitation of the dominator tree defines a sequence in which the values can be colored optimally using the algorithm described in [6]. Since the liveness analysis annotates the set of live values to each label, we always have the set of neighbors present upon coloring a value. Thus, we do not have to construct the interference graph itself. 5. Leaving the SSA-form As no real-world processor has a φ-instruction the compiler has to destroy the SSA-form of the program at some point in time. Conventionally, φ-functions are replaced by copies in its predecessor blocks to implement the control flow depent copy as described in Section 2. In doing so, one modifies the interference graph of the program since new interferences are introduced, as shown in Fig. 3. x 3 is now interfering with y 1 and y 2 which has not been the case in the interference graph of the SSA-form program. These interferences are introduced due to the fact, that the atomic, simultaneous evaluation by φ -functions (as mentioned in Section 2) is broken down to a sequential set of operations. In the worst case, these new interferences rer the interference graph un-chordal which also might invalidate our if... then l 2 : x 1 l 3 : y 1 l 4 : x 2 l 5 : y 2 l 6 : (x 3,y 3 ) φ (x 1,y 1,x 2,y 2 ) if... then l 2 : x 1 l 3 : y 1 l 4 : x 3 x 1 l 5 : y 3 y 1 l 4 : x 2 l 5 : y 2 l 4 : x 3 x 2 l 5 : y 3 y 2 Fig. 3. A program fragment in SSA-form and after destroying SSA using copy instructions. register allocation. We can however destroy the SSAform of the program and convert a register allocation with k registers of a SSA-form program into a register allocation with exactly the same number of registers for the resulting non-ssa-form program. Consider a φ -function l : (y 1,...,y m ) φ (x 11,...,x 1n,...,x m1,...,x mn ) at some label l. Arriving at l and coming from P j l, the x ij are copied at once into the y i according to SSA semantics. Consider a valid register allocation The simultaneous assignment given by the φ -function corresponds to a l-to-m mapping of registers, where l m k, and k represents the number of register available. 3 Furthermore, all y i are assigned to different registers, since all y i interfere. So the question of removing a φ -function reduces to implementing l-to-m mappings between registers on the control flow edges to the φ s label using ordinary processor instructions and m registers. Theorem 16. Any simultaneous assignment from l registers to m registers, where l m, can be implemented with m registers using only copy and swap instructions. Proof. Consider following simultaneous assignment: (y 1,...,y m ) (x 1,...,x 1,...,x l,...,x }{{} l ). m In general, there may be multiple y i to which the same x j is assigned. For each x j we arbitrarily pick one of the y i to which it is assigned and denote it by [x j ]. Note, that this induces an equivalence relation on the y 1,...,y n : y i y j if there is some x k which is assigned to y i and y j. Thus, y i and y j are members of the equiv- 3 Note, that the same value x can be assigned to different y i by a φ -function. E.g., (y 1,y 2 ) = φ (a 1,b 1,a 1,b 2 ).
6 S. Hack, G. Goos / Information Processing Letters 98 (2006) alence class [x k ]. We denote the set of the x j by X and the set of the equivalence classes [x j ] by [X]. Consider a register allocation ρ : V R of the SSAform program obtained by the algorithm described in the last section. Let π by a function mapping ρ(x j ) to ρ([x j ]). Note, that since all y i interfere, all [x j ] also interfere and by the fact that all x j interfere, π is injective. π may also be partial, since l might be smaller than k = R. Each register in ρ([x]) which is not in ρ(x) can be assigned immediately since its value is not needed anymore. So we apply the following recursive scheme: Let y = π(x). Ify [X] and y/ X we issue a copy from ρ(x) to ρ(y) and recursively consider the mapping π X\{x}. At the of this recursive procedure, either all elements of [X] are processed and thus all of X since π is injective or the remaining subset of [X] equals the one of X. Thus this rest represents a permutation of registers which can be, as known from basic linear algebra, implemented by a sequence of swap instructions. If the processor does not possess swap instructions, one can use three xors, adds or subs (cf. [10]). Finally, each y i [x j ] can be processed by copying ρ([x j ]) to ρ(y i ). 6. Conclusions We have shown that the interference graphs of strict SSA-form programs are chordal which leads to a coloring algorithm running in quadratic time. Furthermore, the coloring algorithm does not need to have the interference graph materialized but uses a coloring sequence induced by the dominance relation of the program. We also showed, how a register allocation of a SSA-form program using m registers can be turned into a register allocation of a corresponding non-ssa program using also no more than m registers, by implementing the φ - functions properly. 7. Related work At the time this paper was submitted, chordal graphs played no role in register allocation. Meanwhile, they have drawn the attention of other researchers in the area. The paper which initiated our research on the topic is by Andersson [1] who investigated interference graphs in real-world compilers and found that all of them were 1-perfect (1-perfectness means that the chromatic number of the graph equals the size of its largest clique). The result of the quest for a proof of this observation is this paper. Indepently of us, Brisk proved the perfectness of strict SSA-form programs [2]. In his proof he also shows their chordality without referring to it. Pereira and Palsberg exted Andersson s studies and found that, with SSA-optimizations enabled, 95% of the (non- SSA!) interference graphs of the Java standard library were chordal. They use this fact to derive new spilling and coalescing heuristics for graph coloring register allocators. Finally, the authors of this paper published a more technical proof (without using perfect elimination orders) of this paper s result in a technical report [8]. Acknowledgements We thank our colleagues Michael Beck, Marco Gaertler, Götz Lindenmaier and especially Rubino Geiß for many fruitful discussions. We also thank the anonymous referees for their suggestions helping to improve this paper. References [1] C. Andersson, Register allocation by optimal graph coloring, in: G. Hedin (Ed.), CC 2003, Lecture Notes in Comput. Sci., vol. 2622, Springer-Verlag, Heidelberg, 2003, pp [2] P. Brisk, F. Dabiri, J. Macbeth, M. Sarrafzadeh, Polynomial time graph coloring register allocation, in: 14th Internat. Workshop on Logic and Synthesis, ACM Press, New York, [3] Z. Budimlić, K.D. Cooper, T.J. Harvey, K. Kennedy, T.S. Oberg, S.W. Reeves, Fast copy coalescing and live-range identification, in: Proc. ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, ACM Press, New York, 2002, pp [4] G.J. Chaitin, M.A. Auslander, A.K. Chandra, J. Cocke, M.E. Hopkins, P.W. Markstein, Register allocation via coloring, J. Comput. Languages 6 (1981) [5] R. Cytron, J. Ferrante, B.K. Rosen, M.N. Wegman, F.K. Zadeck, An efficient method of computing static single assignment form, in: Symp. on Principles of Programming Languages, ACM Press, New York, 1989, pp [6] F. Gavril, Algorithms for minimum coloring, maximum clique, minimum covering by cliques, and indepent set of a chordal graph, SIAM J. Comput. 1 (2) (1972) [7] M.C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, Academic Press, New York, [8] S. Hack, Interference graphs of programs in SSA-form, Tech. Rep , Universität Karlsruhe, June [9] T. Lengauer, R.E. Tarjan, A fast algorithm for finding dominators in a flowgraph, Trans. Programm. Languages Systems 1 (1) (1979) [10] H.S. Warren, Hacker s Delight, Addison-Wesley, Reading, MA, 2003.
Strongly chordal and chordal bipartite graphs are sandwich monotone
Strongly chordal and chordal bipartite graphs are sandwich monotone Pinar Heggernes Federico Mancini Charis Papadopoulos R. Sritharan Abstract A graph class is sandwich monotone if, for every pair of its
More informationPairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events
Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events Massimo Franceschet Angelo Montanari Dipartimento di Matematica e Informatica, Università di Udine Via delle
More informationClassical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems
Classical Complexity and Fixed-Parameter Tractability of Simultaneous Consecutive Ones Submatrix & Editing Problems Rani M. R, Mohith Jagalmohanan, R. Subashini Binary matrices having simultaneous consecutive
More informationDISTINGUISHING PARTITIONS AND ASYMMETRIC UNIFORM HYPERGRAPHS
DISTINGUISHING PARTITIONS AND ASYMMETRIC UNIFORM HYPERGRAPHS M. N. ELLINGHAM AND JUSTIN Z. SCHROEDER In memory of Mike Albertson. Abstract. A distinguishing partition for an action of a group Γ on a set
More informationExtremal Graphs Having No Stable Cutsets
Extremal Graphs Having No Stable Cutsets Van Bang Le Institut für Informatik Universität Rostock Rostock, Germany le@informatik.uni-rostock.de Florian Pfender Department of Mathematics and Statistics University
More informationCOSE312: Compilers. Lecture 17 Intermediate Representation (2)
COSE312: Compilers Lecture 17 Intermediate Representation (2) Hakjoo Oh 2017 Spring Hakjoo Oh COSE312 2017 Spring, Lecture 17 May 31, 2017 1 / 19 Common Intermediate Representations Three-address code
More informationDiscrete Applied Mathematics
Discrete Applied Mathematics 159 (2011) 1345 1351 Contents lists available at ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam On disconnected cuts and separators
More informationDiscrete Mathematics
Discrete Mathematics 310 (2010) 3398 303 Contents lists available at ScienceDirect Discrete Mathematics journal homepage: www.elsevier.com/locate/disc Maximal cliques in {P 2 P 3, C }-free graphs S.A.
More information2 Notation and Preliminaries
On Asymmetric TSP: Transformation to Symmetric TSP and Performance Bound Ratnesh Kumar Haomin Li epartment of Electrical Engineering University of Kentucky Lexington, KY 40506-0046 Abstract We show that
More informationClosest 4-leaf power is fixed-parameter tractable
Discrete Applied Mathematics 156 (2008) 3345 3361 www.elsevier.com/locate/dam Closest 4-leaf power is fixed-parameter tractable Michael Dom, Jiong Guo, Falk Hüffner, Rolf Niedermeier Institut für Informatik,
More informationCS281A/Stat241A Lecture 19
CS281A/Stat241A Lecture 19 p. 1/4 CS281A/Stat241A Lecture 19 Junction Tree Algorithm Peter Bartlett CS281A/Stat241A Lecture 19 p. 2/4 Announcements My office hours: Tuesday Nov 3 (today), 1-2pm, in 723
More informationComputing Static Single Assignment (SSA) Form
Computing Static Single Assignment (SSA) Form Overview What is SSA? Advantages of SSA over use-def chains Flavors of SSA Dominance frontiers revisited Inserting φ-nodes Renaming the variables Translating
More informationF. Roussel, I. Rusu. Université d Orléans, L.I.F.O., B.P. 6759, Orléans Cedex 2, France
A linear algorithm to color i-triangulated graphs F. Roussel, I. Rusu Université d Orléans, L.I.F.O., B.P. 6759, 45067 Orléans Cedex 2, France Abstract: We show that i-triangulated graphs can be colored
More informationPart V. Intractable Problems
Part V Intractable Problems 507 Chapter 16 N P-Completeness Up to now, we have focused on developing efficient algorithms for solving problems. The word efficient is somewhat subjective, and the degree
More informationMATHEMATICAL ENGINEERING TECHNICAL REPORTS. Boundary cliques, clique trees and perfect sequences of maximal cliques of a chordal graph
MATHEMATICAL ENGINEERING TECHNICAL REPORTS Boundary cliques, clique trees and perfect sequences of maximal cliques of a chordal graph Hisayuki HARA and Akimichi TAKEMURA METR 2006 41 July 2006 DEPARTMENT
More informationComplexity of conditional colorability of graphs
Complexity of conditional colorability of graphs Xueliang Li 1, Xiangmei Yao 1, Wenli Zhou 1 and Hajo Broersma 2 1 Center for Combinatorics and LPMC-TJKLC, Nankai University Tianjin 300071, P.R. China.
More informationEssential facts about NP-completeness:
CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions
More informationarxiv: v1 [cs.dm] 29 Oct 2012
arxiv:1210.7684v1 [cs.dm] 29 Oct 2012 Square-Root Finding Problem In Graphs, A Complete Dichotomy Theorem. Babak Farzad 1 and Majid Karimi 2 Department of Mathematics Brock University, St. Catharines,
More information1 Matchings in Non-Bipartite Graphs
CS 598CSC: Combinatorial Optimization Lecture date: Feb 9, 010 Instructor: Chandra Chekuri Scribe: Matthew Yancey 1 Matchings in Non-Bipartite Graphs We discuss matching in general undirected graphs. Given
More informationDominator Colorings and Safe Clique Partitions
Dominator Colorings and Safe Clique Partitions Ralucca Gera, Craig Rasmussen Naval Postgraduate School Monterey, CA 994, USA {rgera,ras}@npsedu and Steve Horton United States Military Academy West Point,
More informationOn the Complexity of Budgeted Maximum Path Coverage on Trees
On the Complexity of Budgeted Maximum Path Coverage on Trees H.-C. Wirth An instance of the budgeted maximum coverage problem is given by a set of weighted ground elements and a cost weighted family of
More informationChordal Graphs, Interval Graphs, and wqo
Chordal Graphs, Interval Graphs, and wqo Guoli Ding DEPARTMENT OF MATHEMATICS LOUISIANA STATE UNIVERSITY BATON ROUGE, LA 70803-4918 E-mail: ding@math.lsu.edu Received July 29, 1997 Abstract: Let be the
More informationA simplified discharging proof of Grötzsch theorem
A simplified discharging proof of Grötzsch theorem Zdeněk Dvořák November 29, 2013 Abstract In this note, we combine ideas of several previous proofs in order to obtain a quite short proof of Grötzsch
More informationPath Graphs and PR-trees. Steven Chaplick
Path Graphs and PR-trees by Steven Chaplick A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Computer Science University of Toronto Copyright
More informationOn the reconstruction of the degree sequence
Discrete Mathematics 259 (2002) 293 300 www.elsevier.com/locate/disc Note On the reconstruction of the degree sequence Charles Delorme a, Odile Favaron a, Dieter Rautenbach b;c; ;1 a LRI, Bât. 490, Universite
More informationOn a Cardinality-Constrained Transportation Problem With Market Choice
On a Cardinality-Constrained Transportation Problem With Market Choice Pelin Damcı-Kurt Santanu S. Dey Simge Küçükyavuz Abstract It is well-known that the intersection of the matching polytope with a cardinality
More informationAn algorithm to increase the node-connectivity of a digraph by one
Discrete Optimization 5 (2008) 677 684 Contents lists available at ScienceDirect Discrete Optimization journal homepage: www.elsevier.com/locate/disopt An algorithm to increase the node-connectivity of
More informationInduced Subgraph Isomorphism on proper interval and bipartite permutation graphs
Induced Subgraph Isomorphism on proper interval and bipartite permutation graphs Pinar Heggernes Pim van t Hof Daniel Meister Yngve Villanger Abstract Given two graphs G and H as input, the Induced Subgraph
More informationAnalogies and discrepancies between the vertex cover number and the weakly connected domination number of a graph
Analogies and discrepancies between the vertex cover number and the weakly connected domination number of a graph M. Lemańska a, J. A. Rodríguez-Velázquez b, Rolando Trujillo-Rasua c, a Department of Technical
More informationLinear-Time Algorithms for Finding Tucker Submatrices and Lekkerkerker-Boland Subgraphs
Linear-Time Algorithms for Finding Tucker Submatrices and Lekkerkerker-Boland Subgraphs Nathan Lindzey, Ross M. McConnell Colorado State University, Fort Collins CO 80521, USA Abstract. Tucker characterized
More informationThe Singapore Copyright Act applies to the use of this document.
Title On graphs whose low polynomials have real roots only Author(s) Fengming Dong Source Electronic Journal of Combinatorics, 25(3): P3.26 Published by Electronic Journal of Combinatorics This document
More informationPairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events
Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events Massimo Franceschet Angelo Montanari Dipartimento di Matematica e Informatica, Università di Udine Via delle
More information1 Review of Vertex Cover
CS266: Parameterized Algorithms and Complexity Stanford University Lecture 3 Tuesday, April 9 Scribe: Huacheng Yu Spring 2013 1 Review of Vertex Cover In the last lecture, we discussed FPT algorithms for
More informationMulti-coloring and Mycielski s construction
Multi-coloring and Mycielski s construction Tim Meagher Fall 2010 Abstract We consider a number of related results taken from two papers one by W. Lin [1], and the other D. C. Fisher[2]. These articles
More informationACO Comprehensive Exam March 17 and 18, Computability, Complexity and Algorithms
1. Computability, Complexity and Algorithms (a) Let G(V, E) be an undirected unweighted graph. Let C V be a vertex cover of G. Argue that V \ C is an independent set of G. (b) Minimum cardinality vertex
More informationIndex coding with side information
Index coding with side information Ehsan Ebrahimi Targhi University of Tartu Abstract. The Index Coding problem has attracted a considerable amount of attention in the recent years. The problem is motivated
More informationThis article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and
This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and education use, including for instruction at the authors institution
More informationThe Minesweeper game: Percolation and Complexity
The Minesweeper game: Percolation and Complexity Elchanan Mossel Hebrew University of Jerusalem and Microsoft Research March 15, 2002 Abstract We study a model motivated by the minesweeper game In this
More informationPreliminaries. Graphs. E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)}
Preliminaries Graphs G = (V, E), V : set of vertices E : set of edges (arcs) (Undirected) Graph : (i, j) = (j, i) (edges) 1 2 3 5 4 V = {1, 2, 3, 4, 5}, E = {(1, 3), (3, 2), (2, 4)} 1 Directed Graph (Digraph)
More information1.1 P, NP, and NP-complete
CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Introduction to NP-complete Problems Date: 11/01/2008 Lecturer: Lap Chi Lau Scribe: Jerry Jilin Le This lecture gives a general introduction
More informationThe Lefthanded Local Lemma characterizes chordal dependency graphs
The Lefthanded Local Lemma characterizes chordal dependency graphs Wesley Pegden March 30, 2012 Abstract Shearer gave a general theorem characterizing the family L of dependency graphs labeled with probabilities
More informationColoring square-free Berge graphs
Coloring square-free Berge graphs Maria Chudnovsky Irene Lo Frédéric Maffray Nicolas Trotignon Kristina Vušković September 30, 2015 Abstract We consider the class of Berge graphs that do not contain a
More informationWhat is SSA? each assignment to a variable is given a unique name all of the uses reached by that assignment are renamed
Another Form of Data-Flow Analysis Propagation of values for a variable reference, where is the value produced? for a variable definition, where is the value consumed? Possible answers reaching definitions,
More informationarxiv: v1 [math.co] 28 Oct 2016
More on foxes arxiv:1610.09093v1 [math.co] 8 Oct 016 Matthias Kriesell Abstract Jens M. Schmidt An edge in a k-connected graph G is called k-contractible if the graph G/e obtained from G by contracting
More informationA Note on Perfect Partial Elimination
A Note on Perfect Partial Elimination Matthijs Bomhoff, Walter Kern, and Georg Still University of Twente, Faculty of Electrical Engineering, Mathematics and Computer Science, P.O. Box 217, 7500 AE Enschede,
More informationOn Machine Dependency in Shop Scheduling
On Machine Dependency in Shop Scheduling Evgeny Shchepin Nodari Vakhania Abstract One of the main restrictions in scheduling problems are the machine (resource) restrictions: each machine can perform at
More informationBranching. Teppo Niinimäki. Helsinki October 14, 2011 Seminar: Exact Exponential Algorithms UNIVERSITY OF HELSINKI Department of Computer Science
Branching Teppo Niinimäki Helsinki October 14, 2011 Seminar: Exact Exponential Algorithms UNIVERSITY OF HELSINKI Department of Computer Science 1 For a large number of important computational problems
More informationHamiltonian problem on claw-free and almost distance-hereditary graphs
Discrete Mathematics 308 (2008) 6558 6563 www.elsevier.com/locate/disc Note Hamiltonian problem on claw-free and almost distance-hereditary graphs Jinfeng Feng, Yubao Guo Lehrstuhl C für Mathematik, RWTH
More informationOn the complexity of the sandwich problems for strongly chordal graphs and chordal bipartite graphs
Theoretical Computer Science 381 (2007) 57 67 www.elsevier.com/locate/tcs On the complexity of the sandwich problems for strongly chordal graphs and chordal bipartite graphs C.M.H. de Figueiredo a,, L.
More informationSearch and Lookahead. Bernhard Nebel, Julien Hué, and Stefan Wölfl. June 4/6, 2012
Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Search and Lookahead Enforcing consistency is one way of solving constraint networks:
More informationTopic Dependencies for Electronic Books
Topic Dependencies for Electronic Books Graham Cormode July 10, 2002 Abstract Electronics books consist of a number of topics, and information about dependencies between topics. We examine some theoretical
More informationDetecting Backdoor Sets with Respect to Horn and Binary Clauses
Detecting Backdoor Sets with Respect to Horn and Binary Clauses Naomi Nishimura 1,, Prabhakar Ragde 1,, and Stefan Szeider 2, 1 School of Computer Science, University of Waterloo, Waterloo, Ontario, N2L
More information8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM
8. INTRACTABILITY I poly-time reductions packing and covering problems constraint satisfaction problems sequencing problems partitioning problems graph coloring numerical problems Lecture slides by Kevin
More informationOn Injective Colourings of Chordal Graphs
On Injective Colourings of Chordal Graphs Pavol Hell 1,, André Raspaud 2, and Juraj Stacho 1 1 School of Computing Science, Simon Fraser University 8888 University Drive, Burnaby, B.C., Canada V5A 1S6
More informationImproved Edge-Coloring with Three Colors
Improved Edge-Coloring with Three Colors Łukasz Kowalik 1,2 1 Institute of Informatics, Warsaw University, Banacha 2, 02-097, Warsaw, Poland 2 Max-Planck-Institute für Informatik, Stuhlsatzenhausweg 85,
More informationOn Chordal Graphs and Their Chromatic Polynomials
On Chordal Graphs and Their Chromatic Polynomials Geir Agnarsson Abstract We derive a formula for the chromatic polynomial of a chordal or a triangulated graph in terms of its maximal cliques As a corollary
More informationAdvanced Combinatorial Optimization September 22, Lecture 4
8.48 Advanced Combinatorial Optimization September 22, 2009 Lecturer: Michel X. Goemans Lecture 4 Scribe: Yufei Zhao In this lecture, we discuss some results on edge coloring and also introduce the notion
More informationarxiv: v1 [cs.dm] 26 Apr 2010
A Simple Polynomial Algorithm for the Longest Path Problem on Cocomparability Graphs George B. Mertzios Derek G. Corneil arxiv:1004.4560v1 [cs.dm] 26 Apr 2010 Abstract Given a graph G, the longest path
More informationCSCE 750 Final Exam Answer Key Wednesday December 7, 2005
CSCE 750 Final Exam Answer Key Wednesday December 7, 2005 Do all problems. Put your answers on blank paper or in a test booklet. There are 00 points total in the exam. You have 80 minutes. Please note
More informationCographs; chordal graphs and tree decompositions
Cographs; chordal graphs and tree decompositions Zdeněk Dvořák September 14, 2015 Let us now proceed with some more interesting graph classes closed on induced subgraphs. 1 Cographs The class of cographs
More informationThis article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and
This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and education use, including for instruction at the authors institution
More informationOn a Conjecture of Thomassen
On a Conjecture of Thomassen Michelle Delcourt Department of Mathematics University of Illinois Urbana, Illinois 61801, U.S.A. delcour2@illinois.edu Asaf Ferber Department of Mathematics Yale University,
More informationHandout 5. α a1 a n. }, where. xi if a i = 1 1 if a i = 0.
Notes on Complexity Theory Last updated: October, 2005 Jonathan Katz Handout 5 1 An Improved Upper-Bound on Circuit Size Here we show the result promised in the previous lecture regarding an upper-bound
More informationRECOGNIZING WEIGHTED DIRECTED CARTESIAN GRAPH BUNDLES
Discussiones Mathematicae Graph Theory 20 (2000 ) 39 56 RECOGNIZING WEIGHTED DIRECTED CARTESIAN GRAPH BUNDLES Blaž Zmazek Department of Mathematics, PEF, University of Maribor Koroška 160, si-2000 Maribor,
More informationA Single-Exponential Fixed-Parameter Algorithm for Distance-Hereditary Vertex Deletion
A Single-Exponential Fixed-Parameter Algorithm for Distance-Hereditary Vertex Deletion Eduard Eiben a, Robert Ganian a, O-joung Kwon b a Algorithms and Complexity Group, TU Wien, Vienna, Austria b Logic
More informationExact Algorithms for Dominating Induced Matching Based on Graph Partition
Exact Algorithms for Dominating Induced Matching Based on Graph Partition Mingyu Xiao School of Computer Science and Engineering University of Electronic Science and Technology of China Chengdu 611731,
More informationP P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions
Summary of the previous lecture Recall that we mentioned the following topics: P: is the set of decision problems (or languages) that are solvable in polynomial time. NP: is the set of decision problems
More informationThis article was published in an Elsevier journal. The attached copy is furnished to the author for non-commercial research and education use, including for instruction at the author s institution, sharing
More informationLocal and global deadlock-detection in component-based systems are NP-hard
Information Processing Letters 103 (2007) 105 111 www.elsevier.com/locate/ipl Local and global deadlock-detection in component-based systems are NP-hard Christoph Minnameier Institut für Informatik, Universität
More informationTree Decomposition of Graphs
Tree Decomposition of Graphs Raphael Yuster Department of Mathematics University of Haifa-ORANIM Tivon 36006, Israel. e-mail: raphy@math.tau.ac.il Abstract Let H be a tree on h 2 vertices. It is shown
More informationHong-Gwa Yeh and Gerard J. Chang. 1. Introduction
TAIWANESE JOURNAL OF MATHEMATICS Vol. 2, No. 3, pp. 353-360, September 1998 THE PATH-PARTITION PROBLEM IN BIPARTITE DISTANCE-HEREDITARY GRAPHS Hong-Gwa Yeh and Gerard J. Chang Abstract. A path partition
More informationAlgebraic Methods in Combinatorics
Algebraic Methods in Combinatorics Po-Shen Loh 27 June 2008 1 Warm-up 1. (A result of Bourbaki on finite geometries, from Răzvan) Let X be a finite set, and let F be a family of distinct proper subsets
More informationA General Lower Bound on the I/O-Complexity of Comparison-based Algorithms
A General Lower ound on the I/O-Complexity of Comparison-based Algorithms Lars Arge Mikael Knudsen Kirsten Larsent Aarhus University, Computer Science Department Ny Munkegade, DK-8000 Aarhus C. August
More informationAnnouncements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?
N P NP Completeness Announcements Friday Four Square! Today at 4:15PM, outside Gates. Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Explore P, NP, and their connection. Did
More informationAlgorithmic Graph Theory (SS2016)
Algorithmic Graph Theory (SS2016) Chapter 4 Treewidth and more Walter Unger Lehrstuhl für Informatik 1 19:00, June 15, 2016 4 Inhaltsverzeichnis Walter Unger 15.6.2016 19:00 SS2016 Z Contents I 1 Bandwidth
More informationOn disconnected cuts and separators
On disconnected cuts and separators Takehiro Ito 1, Marcin Kamiński 2, Daniël Paulusma 3 and Dimitrios M. Thilikos 4 1 Graduate School of Information Sciences, Tohoku University, Aoba-yama 6-6-05, Sendai,
More informationPropositional and Predicate Logic - IV
Propositional and Predicate Logic - IV Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - IV ZS 2015/2016 1 / 19 Tableau method (from the previous lecture)
More informationAn Improved Algorithm for Parameterized Edge Dominating Set Problem
An Improved Algorithm for Parameterized Edge Dominating Set Problem Ken Iwaide and Hiroshi Nagamochi Department of Applied Mathematics and Physics, Graduate School of Informatics, Kyoto University, Japan,
More informationA shrinking lemma for random forbidding context languages
Theoretical Computer Science 237 (2000) 149 158 www.elsevier.com/locate/tcs A shrinking lemma for random forbidding context languages Andries van der Walt a, Sigrid Ewert b; a Department of Mathematics,
More informationDiscrete Mathematics
Discrete Mathematics 09 (2009) 49 502 Contents lists available at ScienceDirect Discrete Mathematics journal homepage: www.elsevier.com/locate/disc 2-distance ( + 2)-coloring of planar graphs with girth
More informationarxiv: v2 [cs.dm] 12 Jul 2014
Interval Scheduling and Colorful Independent Sets arxiv:1402.0851v2 [cs.dm] 12 Jul 2014 René van Bevern 1, Matthias Mnich 2, Rolf Niedermeier 1, and Mathias Weller 3 1 Institut für Softwaretechnik und
More informationInverse HAMILTONIAN CYCLE and Inverse 3-D MATCHING Are conp-complete
Inverse HAMILTONIAN CYCLE and Inverse 3-D MATCHING Are conp-complete Michael Krüger and Harald Hempel Institut für Informatik, Friedrich-Schiller-Universität Jena {krueger, hempel}@minet.uni-jena.de Abstract.
More informationThe maximum edge-disjoint paths problem in complete graphs
Theoretical Computer Science 399 (2008) 128 140 www.elsevier.com/locate/tcs The maximum edge-disjoint paths problem in complete graphs Adrian Kosowski Department of Algorithms and System Modeling, Gdańsk
More informationEnumerating minimal connected dominating sets in graphs of bounded chordality,
Enumerating minimal connected dominating sets in graphs of bounded chordality, Petr A. Golovach a,, Pinar Heggernes a, Dieter Kratsch b a Department of Informatics, University of Bergen, N-5020 Bergen,
More informationi times p(p(... (p( n))...) = n ki.
Chapter 7 NP Completeness Exercise 7.1 Show that an algorithm that makes at most a constant number of calls to polynomial-time subroutines runs in polynomial time, but that a polynomial number of calls
More informationEfficient Reassembling of Graphs, Part 1: The Linear Case
Efficient Reassembling of Graphs, Part 1: The Linear Case Assaf Kfoury Boston University Saber Mirzaei Boston University Abstract The reassembling of a simple connected graph G = (V, E) is an abstraction
More informationTheory of Computer Science. Theory of Computer Science. E5.1 Routing Problems. E5.2 Packing Problems. E5.3 Conclusion.
Theory of Computer Science May 31, 2017 E5. Some NP-Complete Problems, Part II Theory of Computer Science E5. Some NP-Complete Problems, Part II E5.1 Routing Problems Malte Helmert University of Basel
More informationGraph Theory. Thomas Bloom. February 6, 2015
Graph Theory Thomas Bloom February 6, 2015 1 Lecture 1 Introduction A graph (for the purposes of these lectures) is a finite set of vertices, some of which are connected by a single edge. Most importantly,
More informationCounting the number of independent s chordal graphs. Author(s)Okamoto, Yoshio; Uno, Takeaki; Uehar. Citation Journal of Discrete Algorithms, 6(2)
JAIST Reposi https://dspace.j Title Counting the number of independent s chordal graphs Author(s)Okamoto, Yoshio; Uno, Takeaki; Uehar Citation Journal of Discrete Algorithms, 6(2) Issue Date 2008-06 Type
More information6.854J / J Advanced Algorithms Fall 2008
MIT OpenCourseWare http://ocw.mit.edu 6.85J / 8.5J Advanced Algorithms Fall 008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 8.5/6.85 Advanced Algorithms
More informationThe minimum G c cut problem
The minimum G c cut problem Abstract In this paper we define and study the G c -cut problem. Given a complete undirected graph G = (V ; E) with V = n, edge weighted by w(v i, v j ) 0 and an undirected
More informationRealization Plans for Extensive Form Games without Perfect Recall
Realization Plans for Extensive Form Games without Perfect Recall Richard E. Stearns Department of Computer Science University at Albany - SUNY Albany, NY 12222 April 13, 2015 Abstract Given a game in
More informationLimitations of Algorithm Power
Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying
More informationSome operations preserving the existence of kernels
Discrete Mathematics 205 (1999) 211 216 www.elsevier.com/locate/disc Note Some operations preserving the existence of kernels Mostafa Blidia a, Pierre Duchet b, Henry Jacob c,frederic Maray d;, Henry Meyniel
More informationInvertible insertion and deletion operations
Invertible insertion and deletion operations Lila Kari Academy of Finland and Department of Mathematics 1 University of Turku 20500 Turku Finland Abstract The paper investigates the way in which the property
More informationICS 252 Introduction to Computer Design
ICS 252 fall 2006 Eli Bozorgzadeh Computer Science Department-UCI References and Copyright Textbooks referred [Mic94] G. De Micheli Synthesis and Optimization of Digital Circuits McGraw-Hill, 1994. [CLR90]
More informationThe Computational Complexity of Graph Contractions I: Polynomially Solvable and NP-Complete Cases*
The Computational Complexity of Graph Contractions I: Polynomially Solvable and NP-Complete Cases* Asaf Levin Department of Statistics, The Hebrew University, Jerusalem 91905, Israel Daniel Paulusma Department
More informationInference and Representation
Inference and Representation David Sontag New York University Lecture 5, Sept. 30, 2014 David Sontag (NYU) Inference and Representation Lecture 5, Sept. 30, 2014 1 / 16 Today s lecture 1 Running-time of
More informationChapter 3 Deterministic planning
Chapter 3 Deterministic planning In this chapter we describe a number of algorithms for solving the historically most important and most basic type of planning problem. Two rather strong simplifying assumptions
More information