CHAPTER 2 LITERATURE REVIEW 2.1 GRAPH COLORING In graph theory, graph coloring is a special case of graph labeling; it is an assignment of labels traditionally called “colors” to elements of a graph subject to certain constraints. In its simplest form, it is a way of coloring the vertices of a graph such that no two adjacent vertices share the same color; this is called a vertex coloring. Similarly, an edge coloring assigns a color to each edge so that no two adjacent edges share the same color, and a face coloring of a planar graph assigns a color to each face or region so that no two faces that share a boundary have the same color. Vertex coloring is the starting point of the subject, and other coloring problems can be transformed into a vertex version. For example, an edge coloring of a graph is just a vertex coloring of its line graph, and a face coloring of a plane graph is just a vertex coloring of its dual. However, non-vertex coloring problems are often stated and studied as is. That is partly for perspective, and partly because some problems are best studied in non-vertex form, as for instance is edge coloring. The convention of using colors originates from coloring the countries of a map, where each face is literally colored. This was generalized to coloring the faces of a graph embedded in the plane. By planar duality it became coloring the vertices, and in this form it generalizes to all graphs. In mathematical and computer representations, it is typical to use the first few positive or nonnegative integers as 17
23
Embed
LITERATURE REVIEW 2.1 GRAPH COLORING - …shodhganga.inflibnet.ac.in/bitstream/10603/24482/7/07_chapter 2.pdf · CHAPTER 2 LITERATURE REVIEW 2.1 GRAPH COLORING In graph theory, graph
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
CHAPTER 2
LITERATURE REVIEW
2.1 GRAPH COLORING
In graph theory, graph coloring is a special case of graph labeling; it is an
assignment of labels traditionally called “colors” to elements of a graph subject to
certain constraints. In its simplest form, it is a way of coloring the vertices of a
graph such that no two adjacent vertices share the same color; this is called a vertex
coloring. Similarly, an edge coloring assigns a color to each edge so that no two
adjacent edges share the same color, and a face coloring of a planar graph assigns
a color to each face or region so that no two faces that share a boundary have the
same color. Vertex coloring is the starting point of the subject, and other coloring
problems can be transformed into a vertex version. For example, an edge coloring
of a graph is just a vertex coloring of its line graph, and a face coloring of a plane
graph is just a vertex coloring of its dual. However, non-vertex coloring problems
are often stated and studied as is. That is partly for perspective, and partly because
some problems are best studied in non-vertex form, as for instance is edge coloring.
The convention of using colors originates from coloring the countries of
a map, where each face is literally colored. This was generalized to coloring the
faces of a graph embedded in the plane. By planar duality it became coloring the
vertices, and in this form it generalizes to all graphs. In mathematical and computer
representations, it is typical to use the first few positive or nonnegative integers as
17
18
the “colors”. In general, one can use any finite set as the “color set”. The nature
of the coloring problem depends on the number of colors but not on what they are.
Graph coloring enjoys many practical applications as well as theoretical challenges.
Beside the classical types of problems, different limitations can also be set on the
graph, or on the way a color is assigned, or even on the color itself. It has even
reached popularity with the general public in the form of the popular number puzzle
Sudoku. Graph coloring is still a very active field of research.
2.2 HISTORY OF GRAPH COLORINGS
The first results about graph coloring deal almost exclusively with planar
graphs in the form of the coloring of maps. While trying to color a map of the
counties of England, Francis Guthrie postulated the four color conjecture, noting
that four colors were sufficient to color the map so that no regions sharing a common
border received the same color. Guthries brother passed on the question to his
mathematics teacher Augustus de Morgan at University College, who mentioned
it in a letter to William Hamilton in 1852. Arthur Cayley raised the problem at
a meeting of the London Mathematical Society in 1879. The same year, Alfred
Kempes published a paper that claimed to establish the result, and for a decade
the four color problem was considered solved. For his accomplishment Kempes was
elected a Fellow of the Royal Society and later President of the London Mathematical
Society.
In 1890, Heawood pointed out that Kempes argument was wrong. However,
in that paper he proved the five color theorem, saying that every planar map can
be colored with no more than five colors, using ideas of Kempe. In the following
century, a vast amount of work and theories were developed to reduce the number
of colors to four, until the four color theorem was finally proved in 1976 by Kenneth
Appel and Wolfgang Haken. Perhaps surprisingly, the proof went back to the ideas
19
of Heawood and Kempe and largely disregarded the intervening developments.The
proof of the four color theorem is also noteworthy for being the first major computer-
aided proof.
In 1912, George David Birkhoff introduced the chromatic polynomial to
study the coloring problems, which was generalised to the Tutte polynomial by
Tutte, important structures in algebraic graph theory. Kempe had already drawn
attention to the general, non-planar case in 1879 and many results on generalisations
of planar graph coloring to surfaces of higher order followed in the early 20th century.
In 1960, Claude Berge formulated another conjecture about graph coloring,
the strong perfect graph conjecture, originally motivated by an information-theoretic
concept called the zero-error capacity of a graph introduced by Shannon. The
conjecture remained unresolved for 40 years, until it was established as the celebrated
strong perfect graph theorem in 2002 by Chudnovsky, Robertson, Seymour, Thomas.
Graph coloring has been studied as an algorithmic problem since the early
1970s: the chromatic number problem is one of Karps 21 NP-complete problems
from 1972, and at approximately the same time various exponential-time algorithms
were developed based on backtracking and on the deletion-contraction recurrence of
Zykov(1949). One of the major applications of graph coloring, register allocation in
compilers, was introduced in 1981.
2.2.1 Vertex Colorings
When used without any qualification, a coloring of a graph is almost always
a proper vertex coloring, namely a labelling of the graphs vertices with colors such
that no two vertices sharing the same edge have the same color. Since a vertex
with a loop could never be properly colored, it is understood that graphs in this
context are loopless. The terminology of using colors for vertex labels goes back to
map coloring. Labels like red and blue are only used when the number of colors
is small, and normally it is understood that the labels are drawn from the integers
20
{1, 2, 3, · · · }.
A coloring that uses at most k colors is called a (proper) k-coloring. The
smallest number of colors needed to color a graph G is called its chromatic number,
and is often denoted χ(G). A graph that admits a (proper) k-coloring is k-colorable,
and it is k-chromatic if its chromatic number is exactly k. A subset of vertices as-
signed to the same color is called a color class, every such class forms an independent
set. Thus, a k-coloring is the same as a partition of the vertex set into k independent
sets, and the terms k-partite and k-colorable have the same meaning.
2.2.2 Some Properties of χ(G)
• χ(G) = 1 if and only if is totally disconnected.
• χ(G) ≥ 3 if and only if G has an odd cycle. Equivalently, if G is not bipartite.
• χ(G) ≤ ∆(G) + 1.
• χ(G) ≤ ∆(G) + 1 unless G is a complete graph or an odd cycle (Brook’s
theorem).
• χ(G) ≤ 4 for any planar graph G (Four-color theorem).
2.2.3 Decision Problem
A decision problem is a language L of strings over an alphabet.
2.2.4 P and NP
P is the class of decision problems for which we can find a solution in
polynomial time. NP is the class of decision problems for which we can check
solutions in polynomial time. NP stands for Non deterministic Polynomial time.
21
2.2.5 NP-Hard
A decision problem L is NP-hard if for every language L′ in NP, L′ is
polynomial time reducible to L. (A language L′ polynomial time reducible to a
language L if there exist a polynomial time function f(x) from string to string such
that x is in L′ if f(x) is in L).
2.2.6 NP-Complete
A decision problem L is NP-complete if it is in NP and it is NP-hard.
2.3 GRAPH COLORING IS HARD
Computational complexity theory classifies problems according to their
usage of resources(time, storage, etc.). We discuss some issues in complexity theory
that relate to this treatise and point the reader to [58] for a comprehensive treatment.
The turing machine is a well known formal model of a general purpose computer.
It is an imaginary machine on which algorithms are run. The complexity class P is
the set of decision problems (with a yes-no answer) which can be solved on a turning
machine in polynomial time in the size of input. The class NP is the set of decision
problems in which “yes” answers can be verified on a turning machine in polynomial
time. Clearly P is contained in NP . Whether P and NP are the same, is one of
seven Millennium Prize Problems published by the Clay Mathematics Institute.
The decision problem 3-Colorable asks the following question. Can a given
graph G be properly colored using 3 colors? If G is indeed properly colorable with
3 colors, one such proper coloring is a proof of this and it is verifiable in polynomial
time. Thus 3-Colorable is in NP . In fact it is in NP -Complete [54], the subset of
NP problems such that if there is a problem in it which is also in P, then P is NP.
The NP-Complete problems are the most complex problems in NP .
22
A problem X is considered NP -Hard if there is a NP -Complete problem Y
such that an instance of Y can be converted into an instance ofX in polynomial time.
NP-Hard problems are at least as complex as NP problems. Even approximating
the chromatic number to within n1−ǫ where n is the number of vertices in G and ǫ
is any positive number, is NP -Hard [59].
2.4 APPLICATIONS OF GRAPH COLORINGS
Session Number Interested Participants
100 A, B, C
101 B, D, E
102 A, F, G
103 I, H, G
104 I, J, K
105 C, K, L
106 D, J, M
107 H, J, O
108 F, M, N
109 L, N, O
Table 2.1: Who Wants to Attend Which Conference Session.
Table 2.1 lists sessions of a conference with the participants interested in
attending each session. The conference organizers must assign a time slot to each
session so that for each participant, all sessions he is interested in are assigned to
distinct time slots. This will guarantee that all participants can attend the sessions
they are interested in. One can represent the information in the table 2.1 as a graph
G, with vertex 1 set corresponding to sessions. One can place an edge between 2
vertices if there is a participant interested in both the corresponding sessions. The
original scheduling problem of assigning a time slot to each session is equivalent
to finding an assignment of colors to all vertices such that adjacent vertices have
distinct colors. Such a coloring of a graph is called a proper vertex coloring. The
23
chromatic number χ(G) is the minimum number of colors required to color graph
G properly. It corresponds to the minimum number of time slots to schedule our
sessions so that all participants can attend all sessions they find interesting.
Our original scheduling problem corresponds to the Petersen graph (Figure
2.1) which has chromatic number 3. Thus 3 time slots are enough for our conference,
but less will not work.
Figure 2.1: A graph where the vertices are sessions of the conference in Table 2.1
and an edge between 2 vertices represents a scheduling conflict.
The above toy example gives a taste of how graph coloring appears in many
constrained resource allocation problems. Listed below are some other applications
of graph coloring.
⋆ Wireless network protocols for selecting communication channels: Chan-
nels using a small spectrum of frequency must be assigned to transmitters so that
they can communicate without interference from each other.
⋆ Register allocation of variables in computer programs: Variables in a
program must be assigned to a limited number of registers(by a compiler) so that
any two variables that are used at overlapping time intervals have different registers.
24
⋆ Parallel sparse matrix computations: Blocks of matrices must be assigned
to parallel processors so that computation can proceed with little information ex-
changed between processors.
There are numerous generalizations of the graph coloring problem. For
example we may color edges instead of vertices (edge coloring), or we may assign a
list of colors to each vertex and require that the color chosen for each vertex be from
its list (list coloring). Unless mentioned otherwise, we will mean “vertex coloring”
when we mention “graph coloring” in this treatise.
2.4.1 Some Problems in Graph Colorings
There are many problems that can be analyzed and sometimes solved by
modeling the situation described in the problem by a graph and defining a vertex
coloring of the graph in an appropriate manner. We consider a number of such
problems in this section. From a given group of individuals, suppose that some
committees have been formed where an individual may belong to several different
committees. A meeting time is to be assigned for each committee. Two committees
having a member in common cannot meet at the same time. A graph G can be
constructed from this situation in which the vertices are the committees and two
vertices are adjacent if the committees have a member in common. Lets look at a
specific example of this.
Example 2.4.1. At a gathering of eight employees of a company, which we denote
by A = {a1, a2, . . . , a8}, it is decided that it would be useful to have these individuals
meet in committees of three to discuss seven issues of importance to the company.
The seven committees selected for this purpose are