Bachelor Seminar Complexity Analysis of Register Allocation

Total Page:16

File Type:pdf, Size:1020Kb

Bachelor Seminar Complexity Analysis of Register Allocation Bachelor Seminar Complexity Analysis of Register Allocation Markus Koenig Embedded Systems Group, University of Kaiserslautern m [email protected] Abstract Register allocation is the task of assigning temporary variables in a program to the available registers in the machine. Optimal register allocation (minimizing the number of registers used) is proved to be NP-complete by Chaitin et al, by a reduction from graph coloring problem. In particular, Chaitin et al showed for any given arbitrary graph, there exists a program whose interference graph is the same as the given arbitrary graph. In this paper, we study two existing analyses on complexity of register allocation [5, 1]. [5] proves that although optimal register allocation can be done in polynomial time for programs in static single assignment (SSA) form, the complexity after classical SSA elimination remains NP-complete. [1] shows that although register allocation is NP-complete due to the correspondence with coloring problem, the real complexity arises from the further optimizations of spilling and coalescing and from critical edges. Furthermore we also study a technique for solving combined register allocation and instruction scheduling [4]. 1 Introduction In most programs we have to store variables for a later use. This fact makes register allocation so im- portant and it is a reason to do this as fast as possible. The physical memory split up into two or more sections, here is the simple approach with the main memory and a cache enough. To store a variable in main memory needs, compared to the registers, a lot of time so it is clear to avoid this when ever possi- ble. The access to the memory is called spill (load/ store). Sometimes it is useful to transfer a variable to another register adding such an instruction is splitting and removing such an instruction is coalescing. So before the register allocation is done it is a good idea to check whether splitting or coalescing save a spill. Another problem is to find out which variable is the best for spill and so on to find the minimum number of variables that have to be spilled. It is also important to mention that the number of registers are part of the input but however the algorithm should find the smallest number of registers need to be allocated. The SSA, Single Static Assignment, Form is used in compilers as first step before a program is transferred to an executable form. In SSA every variable is defined and used for a definition only one time. The second step is the use of instruction scheduling during the register allocation. The problems arising there would be in case of a separate use of them two, which will be shown later. The combined method is called Crisp (Combined Register allocation and Instruction Scheduling Problem). To examine the out- come of the combined solution a cost function is used and a detailed analysis of the single steps to reorder the basic blocks is needed. With a look at the complexity another way, instead of the graph coloring, is 2 shown and at last point an experiment will show numbers for comparison with other algorithms. The first part of the solution, 3.1, is about the problem structure and a closer look on the proof of Chaitin. Coloring an arbitrary graph is Np-complete but it is not like that in all cases and now there are more optimization algorithms. Although it is Np-complete we see that the optimization is useful to save one register as shown in the two example figures. In section 3.2 the SSA model is introduced. There are some transformations done before it goes to the coloring and hopefully the chordal structure of the graph is after the SSA -process good enough for a simple coloring. Part 3.3 is another way to prepare the graph coloring. A combined method is used which includes in- struction scheduling and register allocating. An example that shows the effect of the combined method is given in Figure 8. To see more information an experiment shows the improvement of this approach in relation to the separate use of instruction scheduling and register allocation. Then some limitations are shown of the different improvements. Unfortunately in some cases it is im- possible to gain an easy graph for coloring so the time expensive spill and Np-complete coloring must be done. 2 Related Work The first Np-completeness proof that was made for register allocation was done by R. Sethi. He modeled the problem as graph coloring where the variables are the vertices and two vertices are connected by an edge if they are alive at the same time in program execution. The number of the available registers is the k that is the number of the possible colors. He used a DAG (directed acyclic graph) and find out the Np-completeness comes from the fact that the appearance of the instructions in the program code is not fixed. In this first approach we already see that the problem got two instances, on the one hand to decide whether a variable has to be spilled or not and on the other hand how to color the graph that K registers are enough. One is exactly defined in the following: Pereira, F. M. Q., & Palsberg, J. (2006, March). REGISTER ALLOCATION AFTER CLASSICAL SSA ELIMINATION IS NP-COMPLETE. In International Conference on Foundations of Software Science and Computation Structures (pp. 79-93). Springer, Berlin, Heidelberg. [5] ”Core register allocation problem: Instance: a program P and a number K of available registers. Problem: can each of the temporaries of P be mapped to one of the K registers such that temporary variables with interfering live ranges are assigned to different registers?” By analyzing the problem carefully it is important to look at the single steps of the problem instance. First we get a program that consists of instructions with variables. Then before it comes to model a graph and color this there are some steps to take for optimization. With a special view to the basic blocks there are also interesting things to recognize. The similarity between a basic block witch is the smallest part of the program that is analyzed and the final coloring, that is the biggest step, is given. Motwani, R., Palem, K. V., Sarkar, V., & Reyen, S. (1995). COMBINING REGISTER ALLOCATION AND INSTRUCTION SCHEDULING. Courant Institute, New York University. [4] A formulation of the combined register allocation and instruction scheduling problem within a basic block as a single opti- mization problem, showing that a simple instance of the combined problem (single register, no latencies, single functional unit) is NP-hard, even though instruction scheduling for a basic block with 0/1 latencies on a single pipelined functional unit is not NP-hard. 3 Figure 1: (a) shows the matrix equation with f function. (b) and (c) shows a matrix with its semantic. So there is a f function for every n rows and each column represents another execution path in the program. [4] The improvements will shorten the time needed for the most steps, the graph structure can be formed bet- ter, maybe to chordal graph, the instructions can be sorted favorable, however this is also possible in some special cases and nevertheless with all the improvements the register allocation will be a Np-complete problem. 3 The Solution First, in section 3.1, the SSA- method is introduced which uses interval graphs SSA- circle graphs and phi- functions. Second, 3.2, we need a closer look at the problem instances and find out in which step it has got which complexity. The last part, 3.3, is another method in contrast to SSA for the simplification of the program before the graph coloring starts. 3.1 The SSA (Static Single Assignment) Approach 3.1.1 Phi functions For the SSA form the f- functions are important. These functions are used like a naming system for the variables which choose the correct name and value for each variable. They are needed because in SSA there can not be two variables with the same name. So if we use a variable a second time or in another branch of the program the f- function remove the old name, which is used before, and then set a new name. Here the syntax is described as a matrix modeled by Hack et al. In figure 1 the f functions are evaluated simultaneously when each basic block begins. In fact that every column is a separate line in the control flow graph the variables in a row are independent of each 4 Figure 2: (a) shows a classical progrm in SSA-form. (b) shows the control flow graph and (c) the program with SSA-elimination. The three steps point out the transformation from a normal program into the post SSA form.[5] other and can allocated at the same register. Referring to figure 2, in (b) we can see in the second block that the variables v11 and i1 interfere but V11 and i2 does not just like the description of SSA. The Post SSA-form or also called SSA-elimination shown in (c) is the executable program. It is used because f- functions are not supported in every programming language. This is the reason why the number of variables looking at the whole program is increased but maxlive is not. In fact that a variable in SSA-form is allowed only to use one time it is defined and another for defining a new variable there is always a new variable introduced when a value has to be used a second time.
Recommended publications
  • The Vertex Coloring Problem and Its Generalizations
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by AMS Tesi di Dottorato UNIVERSITA` DEGLI STUDI DI BOLOGNA Dottorato di Ricerca in Automatica e Ricerca Operativa MAT/09 XIX Ciclo The Vertex Coloring Problem and its Generalizations Enrico Malaguti Il Coordinatore Il Tutor Prof. Claudio Melchiorri Prof. Paolo Toth A.A. 2003{2006 Contents Acknowledgments v Keywords vii List of ¯gures ix List of tables xi 1 Introduction 1 1.1 The Vertex Coloring Problem and its Generalizations . 1 1.2 Fair Routing . 6 I Vertex Coloring Problems 9 2 A Metaheuristic Approach for the Vertex Coloring Problem 11 2.1 Introduction . 11 2.1.1 The Heuristic Algorithm MMT . 12 2.1.2 Initialization Step . 13 2.2 PHASE 1: Evolutionary Algorithm . 15 2.2.1 Tabu Search Algorithm . 15 2.2.2 Evolutionary Diversi¯cation . 18 2.2.3 Evolutionary Algorithm as part of the Overall Algorithm . 21 2.3 PHASE 2: Set Covering Formulation . 22 2.3.1 The General Structure of the Algorithm . 24 2.4 Computational Analysis . 25 2.4.1 Performance of the Tabu Search Algorithm . 25 2.4.2 Performance of the Evolutionary Algorithm . 26 2.4.3 Performance of the Overall Algorithm . 26 2.4.4 Comparison with the most e®ective heuristic algorithms . 30 2.5 Conclusions . 33 3 An Evolutionary Approach for Bandwidth Multicoloring Problems 37 3.1 Introduction . 37 3.2 An ILP Model for the Bandwidth Coloring Problem . 39 3.3 Constructive Heuristics . 40 3.4 Tabu Search Algorithm . 40 i ii CONTENTS 3.5 The Evolutionary Algorithm .
    [Show full text]
  • Indian Journal of Science ANALYSIS International Journal for Science ISSN 2319 – 7730 EISSN 2319 – 7749
    Indian Journal of Science ANALYSIS International Journal for Science ISSN 2319 – 7730 EISSN 2319 – 7749 Graph colouring problem applied in genetic algorithm Malathi R Assistant Professor, Dept of Mathematics, Scsvmv University, Enathur, Kanchipuram, Tamil Nadu 631561, India, Email Id: [email protected] Publication History Received: 06 January 2015 Accepted: 05 February 2015 Published: 18 February 2015 Citation Malathi R. Graph colouring problem applied in genetic algorithm. Indian Journal of Science, 2015, 13(38), 37-41 ABSTRACT In this paper we present a hybrid technique that applies a genetic algorithm followed by wisdom of artificial crowds that approach to solve the graph-coloring problem. The genetic algorithm described here, utilizes more than one parent selection and mutation methods depending u p on the state of fitness of its best solution. This results in shifting the solution to the global optimum, more quickly than using a single parent selection or mutation method. The algorithm is tested against the standard DIMACS benchmark tests while, limiting the number of usable colors to the chromatic numbers. The proposed algorithm succeeded to solve the sample data set and even outperformed a recent approach in terms of the minimum number of colors needed to color some of the graphs. The Graph Coloring Problem (GCP) is also known as complete problem. Graph coloring also includes vertex coloring and edge coloring. However, mostly the term graph coloring refers to vertex coloring rather than edge coloring. Given a number of vertices, which form a connected graph, the objective is that to color each vertex so that if two vertices are connected in the graph (i.e.
    [Show full text]
  • List of NP-Complete Problems from Wikipedia, the Free Encyclopedia
    List of NP -complete problems - Wikipedia, the free encyclopedia Page 1 of 17 List of NP-complete problems From Wikipedia, the free encyclopedia Here are some of the more commonly known problems that are NP -complete when expressed as decision problems. This list is in no way comprehensive (there are more than 3000 known NP-complete problems). Most of the problems in this list are taken from Garey and Johnson's seminal book Computers and Intractability: A Guide to the Theory of NP-Completeness , and are here presented in the same order and organization. Contents ■ 1 Graph theory ■ 1.1 Covering and partitioning ■ 1.2 Subgraphs and supergraphs ■ 1.3 Vertex ordering ■ 1.4 Iso- and other morphisms ■ 1.5 Miscellaneous ■ 2 Network design ■ 2.1 Spanning trees ■ 2.2 Cuts and connectivity ■ 2.3 Routing problems ■ 2.4 Flow problems ■ 2.5 Miscellaneous ■ 2.6 Graph Drawing ■ 3 Sets and partitions ■ 3.1 Covering, hitting, and splitting ■ 3.2 Weighted set problems ■ 3.3 Set partitions ■ 4 Storage and retrieval ■ 4.1 Data storage ■ 4.2 Compression and representation ■ 4.3 Database problems ■ 5 Sequencing and scheduling ■ 5.1 Sequencing on one processor ■ 5.2 Multiprocessor scheduling ■ 5.3 Shop scheduling ■ 5.4 Miscellaneous ■ 6 Mathematical programming ■ 7 Algebra and number theory ■ 7.1 Divisibility problems ■ 7.2 Solvability of equations ■ 7.3 Miscellaneous ■ 8 Games and puzzles ■ 9 Logic ■ 9.1 Propositional logic ■ 9.2 Miscellaneous ■ 10 Automata and language theory ■ 10.1 Automata theory http://en.wikipedia.org/wiki/List_of_NP-complete_problems 12/1/2011 List of NP -complete problems - Wikipedia, the free encyclopedia Page 2 of 17 ■ 10.2 Formal languages ■ 11 Computational geometry ■ 12 Program optimization ■ 12.1 Code generation ■ 12.2 Programs and schemes ■ 13 Miscellaneous ■ 14 See also ■ 15 Notes ■ 16 References Graph theory Covering and partitioning ■ Vertex cover [1][2] ■ Dominating set, a.k.a.
    [Show full text]
  • Combinatorial Optimization and Recognition of Graph Classes with Applications to Related Models
    Combinatorial Optimization and Recognition of Graph Classes with Applications to Related Models Von der Fakult¨at fur¨ Mathematik, Informatik und Naturwissenschaften der RWTH Aachen University zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften genehmigte Dissertation vorgelegt von Diplom-Mathematiker George B. Mertzios aus Thessaloniki, Griechenland Berichter: Privat Dozent Dr. Walter Unger (Betreuer) Professor Dr. Berthold V¨ocking (Zweitbetreuer) Professor Dr. Dieter Rautenbach Tag der mundlichen¨ Prufung:¨ Montag, den 30. November 2009 Diese Dissertation ist auf den Internetseiten der Hochschulbibliothek online verfugbar.¨ Abstract This thesis mainly deals with the structure of some classes of perfect graphs that have been widely investigated, due to both their interesting structure and their numerous applications. By exploiting the structure of these graph classes, we provide solutions to some open problems on them (in both the affirmative and negative), along with some new representation models that enable the design of new efficient algorithms. In particular, we first investigate the classes of interval and proper interval graphs, and especially, path problems on them. These classes of graphs have been extensively studied and they find many applications in several fields and disciplines such as genetics, molecular biology, scheduling, VLSI design, archaeology, and psychology, among others. Although the Hamiltonian path problem is well known to be linearly solvable on interval graphs, the complexity status of the longest path problem, which is the most natural optimization version of the Hamiltonian path problem, was an open question. We present the first polynomial algorithm for this problem with running time O(n4). Furthermore, we introduce a matrix representation for both interval and proper interval graphs, called the Normal Interval Representation (NIR) and the Stair Normal Interval Representation (SNIR) matrix, respectively.
    [Show full text]
  • Variations on Memetic Algorithms for Graph Coloring Problems Laurent Moalic, Alexandre Gondran
    Variations on Memetic Algorithms for Graph Coloring Problems Laurent Moalic, Alexandre Gondran To cite this version: Laurent Moalic, Alexandre Gondran. Variations on Memetic Algorithms for Graph Coloring Problems. Journal of Heuristics, Springer Verlag, 2018, 24 (1), pp.1–24. hal-00925911v3 HAL Id: hal-00925911 https://hal.archives-ouvertes.fr/hal-00925911v3 Submitted on 20 Apr 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Variations on Memetic Algorithms for Graph Coloring Problems Laurent Moalic∗1 and Alexandre Gondrany2 1Université de Haute-Alsace, LMIA, Mulhouse, France 2MAIAA, ENAC, French Civil Aviation University, Toulouse, France Abstract Graph vertex coloring with a given number of colors is a well-known and much-studied NP-complete problem. The most effective methods to solve this problem are proved to be hybrid algorithms such as memetic algorithms or quantum annealing. Those hybrid algorithms use a powerful local search inside a population-based algorithm. This paper presents a new memetic algorithm based on one of the most effective algorithms: the Hybrid Evolutionary Algorithm (HEA) from Galinier and Hao (1999). The proposed algorithm, denoted HEAD - for HEA in Duet - works with a population of only two indi- viduals.
    [Show full text]
  • On the Achromatic Number of Certain Distance Graphs 1 Introduction
    b b International Journal of Mathematics and M Computer Science, 15(2020), no. 4, 1187–1192 CS On the Achromatic Number of Certain Distance Graphs Sharmila Mary Arul1, R. M. Umamageswari2 1Division of Mathematics Saveetha School of Engineering SIMATS Chennai, Tamilnadu, India 2Department of Mathematics Jeppiaar Engineering College Chennai, Tamilnadu, India email: [email protected], [email protected] (Received July 9, 2020, Accepted September 8, 2020) Abstract The achromatic number for a graph G = (V, E) is the largest integer m such that there is a partition of V into disjoint independent sets (V 1,. ,Vm) satisfying the condition that for each pair of distinct sets Vi,Vj,Vi Vj is not an independent set in G. In this paper, we ∪ present O(1) approximation algorithms to determine the achromatic number of certain distance graphs. 1 Introduction A proper coloring of a graph G is an assignment of colors to the vertices of G such that adjacent vertices are assigned different colors. A proper coloring of a graph G is said to be complete if, for every pair of colors i and j, there are adjacent vertices u and v colored i and j respectively. The achromatic number of the graph G is the largest number m such that G has a complete coloring Key words and Phrases: Achromatic number, approximation algorithms, graph algorithms, NP-completeness. AMS (MOS) Subject Classifications: 05C15, 05C85. ISSN 1814-0432, 2020, http://ijmcs.future-in-tech.net 1188 S. M. Arul, R. M. Umamageswari with m colors. Thus the achromatic number for a graph G = (V, E) is the largest integer m such that there is a partition of V into disjoint independent sets (V , V ,..., Vm) such that for each pair of distinct sets Vi,Vj, Vi Vj is 1 2 ∪ not an independent set in G.
    [Show full text]
  • The First-Fit Chromatic and Achromatic Numbers
    The First-fit Chromatic and Achromatic Numbers Stephanie Fuller December 17, 2009 Abstract This project involved pulling together past work on the achromatic and first-fit chromatic numbers, as well as a description of a proof by Yegnanarayanan et al. Our work includes attempting to find patterns for them in specific classes of graphs and the beginnings of an attempt to prove that for any given a, b, c, such that 2 a b c, there exists a graph with chromatic number a, first-fit chromatic number≤ ≤ b,≤ and achromatic number c. Executive Summary This project involved looking at properties of two chromatic invariants of graphs. The first-fit chromatic number is the largest number of colors which may be used in a greedy coloring. More precisely it is defined to be the maximum size of a collection of ordered sets such that no two vertices in the same set are connected and every vertex is connected to an element of all previous sets. The achromatic number is the maximum number of colors which can be used in a proper coloring such that all pairs of colors are adjacent somewhere in the graph. A complete coloring is one which has all pairs of colors adjacent somewhere in the graph. Tying together what has been done in the past, we read journal articles about the first-fit and achromatic numbers and share some of these results. In the general case, both of these are NP-hard, and they both have been proven to remain so when restricted to some classes of graphs.
    [Show full text]
  • Graph Coloring Algorithms on Random Graphs
    Scholars' Mine Doctoral Dissertations Student Theses and Dissertations Summer 1989 Graph coloring algorithms on random graphs Shi-Jen Lin Follow this and additional works at: https://scholarsmine.mst.edu/doctoral_dissertations Part of the Computer Sciences Commons Department: Computer Science Recommended Citation Lin, Shi-Jen, "Graph coloring algorithms on random graphs" (1989). Doctoral Dissertations. 736. https://scholarsmine.mst.edu/doctoral_dissertations/736 This thesis is brought to you by Scholars' Mine, a service of the Missouri S&T Library and Learning Resources. This work is protected by U. S. Copyright Law. Unauthorized use including reproduction for redistribution requires the permission of the copyright holder. For more information, please contact [email protected]. GRAPH COLORING ALGORITHMS ON RANDOM GRAPHS BY SHI-JEN LIN, 1955- A DISSERTATION Presented to the Faculty of the Graduate School of the UNIVERSITY OF MISSOURI - ROLLA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY in COMPUTER SCIENCE 1989 i i i ABSTRACT The graph coloring problem, which is to color the vertices of a simple undirected graph with the minimum number of colors such that no adjacent vertices are assigned the same color, arises in a variety of scheduling problems. This dissertation focuses attention on vertex sequential coloring. Two basic approaches, backtracking and branch-and-bound, serve as a foundation for the developed algorithms. The various algorithms have been programmed and applied to random graphs. This dissertation will present several variatons of the Korman algorithm, Korw2, Pactual, and Pactmaxw2, which produce exact colorings quicker than the Korman algorithm in the average for some classes of graphs.
    [Show full text]
  • Graph Colorings
    Algorithmic Graph Theory Part II - Graph Colorings Martin Milanicˇ [email protected] University of Primorska, Koper, Slovenia Dipartimento di Informatica Universita` degli Studi di Verona, March 2013 1/59 What we’ll do 1 THE CHROMATIC NUMBER OF A GRAPH. 2 HADWIGER’S CONJECTURE. 3 BOUNDS ON χ. 4 EDGE COLORINGS. 5 LIST COLORINGS. 6 ALGORITHMIC ASPECTS OF GRAPH COLORING. 7 APPLICATIONS OF GRAPH COLORING. 1/59 THE CHROMATIC NUMBER OF A GRAPH. 1/59 Chromatic Number Definition A k-coloring of a graph G = (V , E) is a mapping c : V → {1,..., k} such that uv ∈ E ⇒ c(u) = c(v) . G is k-colorable if there exists a k-coloring of it. χ(G) = chromatic number of G = the smallest number k such that G is k-colorable. 2/59 Graph Coloring Example: Figure: A 4-coloring of a graph k-coloring ≡ partition V = I1 ∪ . ∪ Ik , where Ij is a (possibly empty) independent set independent set = a set of pairwise non-adjacent vertices 3/59 Graph Coloring Example: Figure: A 3-coloring of the same graph k-coloring ≡ partition V = I1 ∪ . ∪ Ik , where Ij is a (possibly empty) independent set independent set = a set of pairwise non-adjacent vertices 3/59 Graph Coloring Examples: complete graphs: χ(Kn)= n. 2, if n is even; cycles: χ(Cn)= 3, if n is odd. χ(G) ≤ 2 ⇔ G is bipartite. N 4/59 Greedy Coloring How could we color, in a simple way, the vertices of a graph? Order the vertices of G linearly, say (v1,..., vn). for i = 1,..., n do c(vi ) := smallest available color end for 5/59 Greedy Coloring How many colors are used? For every vertex vi , at most d(vi ) different colors are used on its neighbors.
    [Show full text]
  • An Exact Algorithm with Learning for the Graph Coloring Problem$
    Computers & Operations Research 51 (2014) 282–301 Contents lists available at ScienceDirect Computers & Operations Research journal homepage: www.elsevier.com/locate/caor An exact algorithm with learning for the graph coloring problem$ Zhaoyang Zhou a,c, Chu-Min Li a,b, Chong Huang a, Ruchu Xu a,n a School of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan, China b MIS, Université de Picardie Jules Verne, 33 Rue St. Leu 80039 Amiens Cedex, France c Library, Hubei University, Wuhan, China article info abstract Available online 24 May 2014 Given an undirected graph G¼(V,E), the Graph Coloring Problem (GCP) consists in assigning a color to each Keywords: vertex of the graph G in such a way that any two adjacent vertices are assigned different colors, and the Backtracking number of different colors used is minimized. State-of-the-art algorithms generally deal with the explicit Clause learning constraints in GCP: any two adjacent vertices should be assigned different colors, but do not specially deal with Graph Coloring the implicit constraints between non-adjacent vertices implied by the explicit constraints. In this paper, we SAT propose an exact algorithm with learning for GCP which exploits the implicit constraints using propositional logic. Our algorithm is compared with several exact algorithms among the best in the literature. The experi- mental results show that our algorithm outperforms other algorithms on many instances. Specifically, our algorithm allows to close the open DIMACS instance 4-Fullins_5. & 2014 Published by Elsevier Ltd. 1. Introduction Given an undirected graph G¼(V, E), where V is a set of vertices and E a set of unordered pairs of vertices called edges fðvi; vjÞjvi AV; vj AVg, the Graph Coloring Problem (GCP) consists in assigning a color to each vertex of the graph G in such a way that any two adjacent vertices are assigned different colors, and the number of different colors used is minimized.
    [Show full text]
  • Analysis of Algorithms for Star Bicoloring and Related Problems A
    Analysis of Algorithms for Star Bicoloring and Related Problems A dissertation presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Doctor of Philosophy Jeffrey S. Jones May 2015 © 2015 Jeffrey S. Jones. All Rights Reserved. 2 This dissertation titled Analysis of Algorithms for Star Bicoloring and Related Problems by JEFFREY S. JONES has been approved for the School of Electrical Engineering and Computer Science and the Russ College of Engineering and Technology by David Juedes Professor of Electrical Engineering and Computer Science Dennis Irwin Dean, Russ College of Engineering and Technology 3 Abstract JONES, JEFFREY S., Ph.D., May 2015, Computer Science Analysis of Algorithms for Star Bicoloring and Related Problems (171 pp.) Director of Dissertation: David Juedes This dissertation considers certain graph-theoretic combinatorial problems which have direct application to the efficient computation of derivative matrices “Jacobians”) which arise in many scientific computing applications. Specifically, we analyze algorithms for Star Bicoloring and establish several analytical results. We establish complexity-theoretic lower bounds on the approximability of algorithms for Star Bicoloring, showing that no such polynomial-time algorithm can achieve an 1 ǫ approximation ratio of O(N 3 − ) for any ǫ > 0 unless P = NP. We establish the first algorithm (ASBC) for Star Bicoloring with a known approximation upper-bound, 2 showing that ASBC is an O(N 3 ) polynomial-time approximation algorithm. Based on extension of these results we design a generic framework for greedy Star Bicoloring, and implement several specific methods for comparison.
    [Show full text]
  • NP-Completeness Results for Some Problems on Subclasses of Bipartite and Chordal Graphs
    Theoretical Computer Science 381 (2007) 248–259 www.elsevier.com/locate/tcs NP-completeness results for some problems on subclasses of bipartite and chordal graphs Katerina Asdre, Stavros D. Nikolopoulos∗ Department of Computer Science, University of Ioannina, P.O. Box 1186, GR-45110 Ioannina, Greece Received 29 August 2006; received in revised form 26 April 2007; accepted 9 May 2007 Communicated by O. Watanabe Abstract Extending previous NP-completeness results for the harmonious coloring problem and the pair-complete coloring problem on trees, bipartite graphs and cographs, we prove that these problems are also NP-complete on connected bipartite permutation graphs. We also study the k-path partition problem and, motivated by a recent work of Steiner [G. Steiner, On the k-path partition of graphs, Theoret. Comput. Sci. 290 (2003) 2147–2155], where he left the problem open for the class of convex graphs, we prove that the k- path partition problem is NP-complete on convex graphs. Moreover, we study the complexity of these problems on two well-known subclasses of chordal graphs namely quasi-threshold and threshold graphs. Based on the work of Bodlaender [H.L. Bodlaender, Achromatic number is NP-complete for cographs and interval graphs, Inform. Process. Lett. 31 (1989) 135–138], we show NP- completeness results for the pair-complete coloring and harmonious coloring problems on quasi-threshold graphs. Concerning the k-path partition problem, we prove that it is also NP-complete on this class of graphs. It is known that both the harmonious coloring problem and the k-path partition problem are polynomially solvable on threshold graphs.
    [Show full text]