Abstract

AbstractWe consider two coloring problems: interval coloring and max-coloring for chordal graphs. Given a graph G = (V, E) and positive integral vertex weights w: V →N, the interval coloring problem seeks to find an assignment of a real interval I(u) to each vertex u ∈ V such that two constraints are satisfied: (i) for every vertex u ∈ V, |I(u)| = w(u) and (ii) for every pair of adjacent vertices u and v, I(u) ∩ I(v) = ∅. The goal is to minimize the span | ∪ ν ∈ v I(ν)|. The max-coloring problem seeks to find a proper vertex coloring of G whose color classes C 1, C 2, ..., C k , minimize the sum of the weights of the heaviest vertices in the color classes, that is, \(\sum^{k}_{i=1}max_{\nu \in C_{i}w(v)}\). Both problems arise in efficient memory allocation for programs. Both problems are NP-complete even for interval graphs, though both admit constant-factor approximation algorithms on interval graphs. In this paper we consider these problems for chordal graphs. There are no known constant-factor approximation algorithms for either interval coloring or for max-coloring on chordal graphs. However, we point out in this paper that there are several simple O(log(n))-factor approximation algorithms for both problems. We experimentally evaluate and compare three simple heuristics: first-fit, best-fit, and a heuristic based on partitioning the graph into vertex sets of similar weight. Our experiments show that in general first-fit performs better than the other two heuristics and is typically very close to OPT, deviating from OPT by about 6% in the worst case for both problems. Best-fit provides some competition to first-fit, but the graph partitioning heuristic performs significantly worse than either. Our basic data comes from about 10000 runs of the each of the three heuristics for each of the two problems on randomly generated chordal graphs of various sizes and sparsity.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call