Coloring of graph
Introduction
The problem of the coloring of graph is at the origin even of the Graph theory, and at least two theorems headlights of this theory and the combinative Optimization relate to coloring:
- celebrates it Théorème of the four colors, and
- the Théorème of the perfect graphs.
Let us note that it took more than one century to show the theorem of the four colors, and more than 40 years to show the theorem of the perfect graphs. Currently, coloring is a long-lived field of research, insofar as it still contains many Conjectures which resists since about fifty years (see low).
The origin of coloring goes back to the following question: can one color each face of a Polyèdre (of our usual space in 3D) without two adjacent faces having the same color by using only four colors to the maximum? This problem depends only on the combinative structure of planar Graphe which one can naturally associate with any polyhedron (the faces correspond to the tops and the adjacency between faces to the adjacency between tops). The extension of the problem to the unspecified graphs (not necessarily planar) found its motivation theoretical principal with the conjecture of Berge (maintaining it is the theorem of the perfect graphs). The extension to the unspecified graphs is also justified by various concrete applications, in particular in the allowance of frequencies (see low).
Let us give a definition of the problem now.
Definition (chromatic number)
The concept of coloring is defined only for the graphs without loop, and the multiplicity of the edges does not play any part. Therefore, is G a simple graph (without multiple loop nor edge), a stable of G is a subset of tops two-to-two not-adjacent, and
- a coloring of G is a partition of sound together of tops into stable.
Let us note that the original definition of coloring is the following one:
- a coloring of G is a function associating with any top G a color, generally an element of the whole of indices of the colors {1,2,…, N} , such as two adjacent tops do not have the same color (where N is the number of tops of the graph).
The definition is generally preferred to him that we gave in first, because, for the majority of the related questions to the concept of coloring, one does not wish to differentiate colorings which are distinct only with permutation from the indices of colors close (what is the case for the central problem involved in coloring, that to determine the minimum number of color in a coloring of G , i.e. its chromatic number ). By-example, if G consists of two tops U and v and of an edge connecting them, then the two functions F and G with F (U) =1 , F (v) =2 , and G (U) =2 , G (v) =1 are different colorings for the second definition but equivalent for the first.
In its various works (in French or English), Berge used the two notations and to indicate the chromatic number of G . Nowadays, the majority of the works adopt the symbol (while rather relates to an invariant related to the concept of cycle).
Finally let us note that in certain contexts (marginal), one also speaks about coloring to indicate a function associating a color with the tops of a graph but satisfying other properties (e.g in the context of the optimization of the generation of code on a machine comprising a great number of registers).
Conjectures, open-ended questions
Most famous of the conjectures is undoubtedly that of Hadwiger. The number of Hadwiger of a graph G is the equal to greatest entirety K such as G has a minor isomorphous with the complete graph with K tops.
- Conjecture of Hadwiger (1943)
- For any graph without loop G , the chromatic number of G is lower or equal to the number of Hadwiger of G .
One is unaware of always the chromatic number of the plan since the question was raised by Erdos in 1951 (at the latest).
- Chromatic number of the plan
- Déterminer the chromatic number of the graph whose tops are the points of the plan (Euclidean) and such as two tops are adjacent if the distance which separates them is worth 1. Currently, all that one one can say it is that this number lies between 4 and 7. The lower limit is obtained by building a graph starting from equilateral triangles (the tops of such a triangle are necessarily of three different colors). The limit upper is obtained starting from a hexagonal paving plan. Certain results concerning this conjecture depend on the Axiome of the choice.
An example of application: the allowance of frequencies
Of course, the applications relate to the finished graphs. Certain telecommunication networks are composed of transmitters emitting each one on a particular frequency. When two transmitters are too close one cannot allocate to them the same frequency because of the interferences (except so possibly a mountain separates them).
One associates a graph with the network -- each top is a transmitter and each edge specifies that one does not want to allocate the same frequency with the two transmitters corresponding at his two ends -- and thus to determine a realizable allowance with a minimum of frequencies (of which the user license can involve high costs) is a particular case of the problem of the coloring of graph.
Let us specify that the technological constraints depending on the geographical relief, one cannot make the assumption that a graph obtained starting from the telecommunication networks is a graph of discs.
General algorithmic aspects
To determine the chromatic number of a graph is a Np-Complete problem in the general case. In fact, one can say of it more if one considers the problem of decision according to: that is to say G a graph and K an entirety, can one color G with less K colors?
If k=2 it acts to decide if G is Biparti or not. This is easy because these graphs are characterized by the non-attendance of a prohibited structure: that of odd cycle. On the other hand for all K fixed higher than 3 the problem becomes Np-Complete.
Thus, unless P=NP, there does not exist polynomial algorithm determining the chromatic number of an arbitrary graph. For certain classes of graphs on the other hand of such algorithms exist. It is in particular the case for the graphs triangulated (or chordaux) in which the problem is solved in linear time. A result definitely more difficult (of László Lovász and Al ) establishes (by developing a whole theory) which one can determine in polynomial time the chromatic number of all perfect graph (for a definition to see Théorème of the perfect graphs).
Among the exact algorithms (thus of exponential complexity in the general case) let us quote the Algorithme of Zykov (by the method of Branch and Bound). The importance of the problem gave place to the development of many heuristic specific to the problem, especially of the sequential algorithms of coloring top by top (dsatur, cosine, Maya, etc). It also caused many experiments of the general approximate methods: Méta-heuristics (Reheated simulated, Research taboo), or genetic Algorithm…
Let us give some heuristic specific to the problem of coloring.
Heuristic
Algorithm of Welsh and Powell
Here an example which, moreover, provides a constructive proof of the following fact: , where represents the maximum degree of a top of G (the degree of a top being the number of the edges which is incidental for him). To be convinced some, let us apply the following algorithm (Welsh and Powell):
-
To locate the degree of each top.
- To arrange the tops by order of decreasing degrees (in certain cases several possibilities).
- To allot to the first top (A) of the list a color.
- To follow the list by allotting the same color to the first top (B) which is not adjacent with (A).
- Suivre (if possible) the list until the next top (C) which is adjacent neither with has nor with B.
- Continuer until the list either finished.
- To take a second color for the first top (D) not yet colored of the list.
- To repeat operations 4 to 6.
- To continue until to have coloured all the tops.
Let us notice how this method can lead at worst of possible colorings, by-example if the graph G with the structure of star (each edge of G is incidental at the same particular top) its chromatic number is 2 (if G has with-less edge) while Welsh-Powell gives a coloring using as much color than of tops! Heuristics DSATUR makes it possible to avoid this problem.
DSATUR
One considers a graph G= (V, E) simple related and not-directed. For each top v of V , one calculates the degree of saturation DSAT (v) in the following way :
If no neighbor of v is coloured then DSAT (v) = degree (v) if not DSAT (v) = the number of colors different used in the first vicinity from v
Algorithm DSATUR is a sequential algorithm of coloring, with the direction where it colors only one top at the same time and such as:
at the beginning the graph is not coloured a top not already coloured is colored DSATUR is stopped when all the tops of G are coloured.
Initially it is seen well on the one hand that the proof of termination is commonplace and on the other hand that the algorithm is sequential. In detail the algorithm is the following:
1. To order the tops by decreasing order of degree. 2. To color a maximum top of degree with color 1. 3. To choose a top not coloured with maximum DSAT. If conflict to choose that with maximum degree. 4. To color this top by the smallest possible color 5. If all the tops are then coloured stop. If not outward journey in 3.
Implementations of heuristic presented the
Two versions of algorithm DSATUR are accessible:
-
out of C on: http://prolland.free.fr/Cours/Cycle2/Maitrise/GraphsTheory/TP/PrgGraphDsat/dsat.html
- in Php on: http://prolland.free.fr/works/research/dsatphp/dsat.html
On a purely illustrative basis, here an implementation (partial) of Welsh-Powell in FORTRAN 95:
! ----------------------! ! ! ! Algo de Welsh Powell! ! ____________________! function WP (M, nu_heuristic) result (LMBO) logical, dimension (: :), intent (in):: M integer, intent (in):: nu_heuristic TYPE (CLOSE), dimension (:), to point:: TMP, TMP1, TMP2 integer, dimension (:), to point:: LMBO integer:: H, I, J, color, last_color i=0! no. of coloured tops j=1! index of the next top to be treated color=1! color of the next top to be coloured allocate (LMBO (0: size (M, 1))) ! DETERMINATION OF THE HEURISTICS TO BE USED: yew (nu_heuristique==0) then ! rough version cal CONV_VOISINS (M, TMP) else ! finer version: cal CONV_VOISINS_TRIE (M, TMP) end yew RES=0 ! as long as all the tops are not marked C while (j<=size (M, 1)) ! if the top running is not marked yew (LMBO (TMP (J) %NUM) ==0) then LMBO (TMP (J) %NUM) =color! the top is colored i=i+1 last_color=color ! one seeks the nonclose ones to J in the whole of the matrix cal POINTS_NON_VOISINS (TMP, TMP (J) %NUM, TMP1) ! as long as there remain the nonclose ones h=1 C while (h<=size (TMP1,1)) yew (LMBO (TMP1 (H) %NUM) ==0) then LMBO (TMP1 (H) %NUM) =color i=i+1 ! and one deduces the subset not being nor close to J and the tops already marked cal POINTS_NON_VOISINS (TMP1, TMP1 (H) %NUM, TMP2) yew (size (TMP2) ==0) exit cal COPIES (TMP2, TMP1) h=0 end yew h=h+1 end C j=j+1! one passes at the following top color=color+1! like with the following color else j=j+1! if not one passes at the following top end yew end C LMBO (0) =last_color end function WP
See too
References
-
Claude Berge, Hypergraphes. Combinative of the finished units , Bordered, 1987.
- Robertson, Neil; Seymour, Paul; Thomas, Robin (1993). " Hadwiger' S conjectures for -free graphs". Combinatorica 14 , 279-361.
| Random links: | Ripogonaceae | Jacques Cashmere | Thamyris | EditGrid | Škoda Octavia (1959) | Comté_de_Hamlin,_le_Dakota_du_Sud |