Optimal register allocation for SSA-form programs in polynomial time

Size: px
Start display at page:

Download "Optimal register allocation for SSA-form programs in polynomial time"

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 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 information

Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events

Pairing 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 information

Classical 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 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 information

DISTINGUISHING PARTITIONS AND ASYMMETRIC UNIFORM HYPERGRAPHS

DISTINGUISHING 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 information

Extremal Graphs Having No Stable Cutsets

Extremal 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 information

COSE312: Compilers. Lecture 17 Intermediate Representation (2)

COSE312: 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 information

Discrete Applied Mathematics

Discrete 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 information

Discrete Mathematics

Discrete 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 information

2 Notation and Preliminaries

2 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 information

Closest 4-leaf power is fixed-parameter tractable

Closest 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 information

CS281A/Stat241A Lecture 19

CS281A/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 information

Computing Static Single Assignment (SSA) Form

Computing 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 information

F. Roussel, I. Rusu. Université d Orléans, L.I.F.O., B.P. 6759, Orléans Cedex 2, France

F. 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 information

Part V. Intractable Problems

Part 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 information

MATHEMATICAL 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 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 information

Complexity of conditional colorability of graphs

Complexity 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 information

Essential facts about NP-completeness:

Essential 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 information

arxiv: v1 [cs.dm] 29 Oct 2012

arxiv: 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 information

1 Matchings in Non-Bipartite Graphs

1 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 information

Dominator Colorings and Safe Clique Partitions

Dominator 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 information

On the Complexity of Budgeted Maximum Path Coverage on Trees

On 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 information

Chordal Graphs, Interval Graphs, and wqo

Chordal 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 information

A simplified discharging proof of Grötzsch theorem

A 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 information

Path Graphs and PR-trees. Steven Chaplick

Path 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 information

On the reconstruction of the degree sequence

On 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 information

On a Cardinality-Constrained Transportation Problem With Market Choice

On 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 information

An algorithm to increase the node-connectivity of a digraph by one

An 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 information

Induced Subgraph Isomorphism on proper interval and bipartite permutation graphs

Induced 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 information

Analogies 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 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 information

Linear-Time Algorithms for Finding Tucker Submatrices and Lekkerkerker-Boland Subgraphs

Linear-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 information

The Singapore Copyright Act applies to the use of this document.

The 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 information

Pairing Transitive Closure and Reduction to Efficiently Reason about Partially Ordered Events

Pairing 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 information

1 Review of Vertex Cover

1 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 information

Multi-coloring and Mycielski s construction

Multi-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 information

ACO Comprehensive Exam March 17 and 18, Computability, Complexity and Algorithms

ACO 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 information

Index coding with side information

Index 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 information

This 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 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 information

The Minesweeper game: Percolation and Complexity

The 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 information

Preliminaries. 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. 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 information

1.1 P, NP, and NP-complete

1.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 information

The Lefthanded Local Lemma characterizes chordal dependency graphs

The 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 information

Coloring square-free Berge graphs

Coloring 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 information

What is SSA? each assignment to a variable is given a unique name all of the uses reached by that assignment are renamed

What 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 information

arxiv: v1 [math.co] 28 Oct 2016

arxiv: 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 information

A Note on Perfect Partial Elimination

A 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 information

On Machine Dependency in Shop Scheduling

On 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 information

Branching. 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 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 information

Hamiltonian problem on claw-free and almost distance-hereditary graphs

Hamiltonian 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 information

On the complexity of the sandwich problems for strongly chordal graphs and chordal bipartite graphs

On 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 information

Search 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. 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 information

Topic Dependencies for Electronic Books

Topic 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 information

Detecting Backdoor Sets with Respect to Horn and Binary Clauses

Detecting 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 information

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

8. 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 information

On Injective Colourings of Chordal Graphs

On 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 information

Improved Edge-Coloring with Three Colors

Improved 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 information

On Chordal Graphs and Their Chromatic Polynomials

On 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 information

Advanced Combinatorial Optimization September 22, Lecture 4

Advanced 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 information

arxiv: v1 [cs.dm] 26 Apr 2010

arxiv: 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 information

CSCE 750 Final Exam Answer Key Wednesday December 7, 2005

CSCE 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 information

Cographs; chordal graphs and tree decompositions

Cographs; 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 information

This 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 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 information

On a Conjecture of Thomassen

On 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 information

Handout 5. α a1 a n. }, where. xi if a i = 1 1 if a i = 0.

Handout 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 information

RECOGNIZING WEIGHTED DIRECTED CARTESIAN GRAPH BUNDLES

RECOGNIZING 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 information

A Single-Exponential Fixed-Parameter Algorithm for Distance-Hereditary Vertex Deletion

A 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 information

Exact Algorithms for Dominating Induced Matching Based on Graph Partition

Exact 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 information

P 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

P 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 information

This 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 information

Local and global deadlock-detection in component-based systems are NP-hard

Local 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 information

Tree Decomposition of Graphs

Tree 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 information

Hong-Gwa Yeh and Gerard J. Chang. 1. Introduction

Hong-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 information

Algebraic Methods in Combinatorics

Algebraic 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 information

A General Lower Bound on the I/O-Complexity of Comparison-based Algorithms

A 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 information

Announcements. 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?

Announcements. 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 information

Algorithmic Graph Theory (SS2016)

Algorithmic 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 information

On disconnected cuts and separators

On 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 information

Propositional and Predicate Logic - IV

Propositional 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 information

An Improved Algorithm for Parameterized Edge Dominating Set Problem

An 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 information

A shrinking lemma for random forbidding context languages

A 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 information

Discrete Mathematics

Discrete 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 information

arxiv: v2 [cs.dm] 12 Jul 2014

arxiv: 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 information

Inverse HAMILTONIAN CYCLE and Inverse 3-D MATCHING Are conp-complete

Inverse 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 information

The maximum edge-disjoint paths problem in complete graphs

The 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 information

Enumerating minimal connected dominating sets in graphs of bounded chordality,

Enumerating 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 information

i times p(p(... (p( n))...) = n ki.

i 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 information

Efficient Reassembling of Graphs, Part 1: The Linear Case

Efficient 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 information

Theory of Computer Science. Theory of Computer Science. E5.1 Routing Problems. E5.2 Packing Problems. E5.3 Conclusion.

Theory 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 information

Graph Theory. Thomas Bloom. February 6, 2015

Graph 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 information

Counting the number of independent s chordal graphs. Author(s)Okamoto, Yoshio; Uno, Takeaki; Uehar. Citation Journal of Discrete Algorithms, 6(2)

Counting 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 information

6.854J / J Advanced Algorithms Fall 2008

6.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 information

The minimum G c cut problem

The 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 information

Realization Plans for Extensive Form Games without Perfect Recall

Realization 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 information

Limitations of Algorithm Power

Limitations 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 information

Some operations preserving the existence of kernels

Some 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 information

Invertible insertion and deletion operations

Invertible 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 information

ICS 252 Introduction to Computer Design

ICS 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 information

The 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* 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 information

Inference and Representation

Inference 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 information

Chapter 3 Deterministic planning

Chapter 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