inf303 modélisation des structures informatiques ... · les étudiants ont des examens dans toutes...
TRANSCRIPT
Cliques
Définition
• Une clique de G est un sous graphe induitde G qui est complet, c’est-à-dire, il contienttoutes les arêtes possibles.
• Le nombre de clique, noté ω(G), et le nombrede sommets d’une plus grande clique dansG.
ω(G) = 3
1
Cliques
Définition
• Une clique de G est un sous graphe induitde G qui est complet, c’est-à-dire, il contienttoutes les arêtes possibles.
• Le nombre de clique, noté ω(G), et le nombrede sommets d’une plus grande clique dansG.
ω(G) = 3
1
Cliques
Définition
• Une clique de G est un sous graphe induitde G qui est complet, c’est-à-dire, il contienttoutes les arêtes possibles.
• Le nombre de clique, noté ω(G), et le nombrede sommets d’une plus grande clique dansG. ω(G) = 3
1
Ensembles stables
Définition
• Un stable de G est un sous-ensemble desommets de G deux à deux non adjacents : ilinduit un sous graphe sans arêtes.
• Autrement dit, U ⊆ V est un stable si etseulement si uv /∈ E pour toute paire desommets u, v ∈ U .
• Le nombre de stabilité, noté α(G), est lenombre de sommets d’un plus grand stablede G.
α(G) = 3
2
Ensembles stables
Définition
• Un stable de G est un sous-ensemble desommets de G deux à deux non adjacents : ilinduit un sous graphe sans arêtes.
• Autrement dit, U ⊆ V est un stable si etseulement si uv /∈ E pour toute paire desommets u, v ∈ U .
• Le nombre de stabilité, noté α(G), est lenombre de sommets d’un plus grand stablede G.
α(G) = 3
2
Ensembles stables
Définition
• Un stable de G est un sous-ensemble desommets de G deux à deux non adjacents : ilinduit un sous graphe sans arêtes.
• Autrement dit, U ⊆ V est un stable si etseulement si uv /∈ E pour toute paire desommets u, v ∈ U .
• Le nombre de stabilité, noté α(G), est lenombre de sommets d’un plus grand stablede G.
α(G) = 3
2
Relation entre cliques et stables
ObservationLes sommets d’une clique de G correspondent à un stable ducomplémentaire G, et un stable de G correspond à l’ensemble de sommetsd’une clique de G. En particulier, ω(G) = α(G) et α(G) = ω(G).
G G
3
Relation entre cliques et stables
ObservationLes sommets d’une clique de G correspondent à un stable ducomplémentaire G, et un stable de G correspond à l’ensemble de sommetsd’une clique de G. En particulier, ω(G) = α(G) et α(G) = ω(G).
G G
3
Relation entre cliques et stables
ObservationLes sommets d’une clique de G correspondent à un stable ducomplémentaire G, et un stable de G correspond à l’ensemble de sommetsd’une clique de G. En particulier, ω(G) = α(G) et α(G) = ω(G).
G G
3
Coloration
Définition
• Une k-coloration d’un graphe G = (V,E) estune application c : V → {1, . . . , k} telle quec(u) 6= c(v) pour toute arête uv ∈ E.
• Classe chromatique : l’ensemble dessommets d’une couleur.
• Les classes chromatiques sont des stables.
• Le plus petit entier k tel qu’il existe unk-coloration de G est le nombre chromatiquede G, qu’on note χ(G).
1
2
3 1
1
4
Application : planning des examens
• Les étudiants ont des examens dans toutes les UE auxquelles ilss’inscrivent.
• Les examens de deux UE différentes ne peuvent avoir lieu en mêmetemps s’il y a des étudiants inscrits à ces deux cours.
• Pour trouver un planning avec le moins de sessions, considérons legraphe G dont l’ensemble de sommets est l’ensemble de toutes les UE,deux UE étant reliés par une arête s’il font l’objet d’un conflit.
• Les stables de G correspondent aux groupes de UE sans conflit.
• Ainsi le nombre minimum de sessions requis est le nombrechromatique de G.
5
Application : Sudoku
c©David Eppstein6
Nombre chromatique de certains graphes
Exemple
• χ(Kn) = n
• χ(Cn) =
2 si n est pair
3 si n est imppair
1
2
3 4
5
K5
12
1 2
C4
1
2
1 2
3
C5
7
Nombre chromatique et sous-graphes
ObservationSi H ⊆ G, alors χ(H) ≤ χ(G).
Démonstration
• Soit c une coloration de G.
• La restriction de c aux sommets de H définit une coloration de H.
• Donc, χ(H) ≤ χ(G).
8
Relation entre χ et ω
PropositionSoit G un graphe quelconque. Alors, χ(G) ≥ ω(G).
Démonstration
• Par la définition de ω, G contient un sous-graphe complet H à ω(G)
sommets.
• Par l’observation précédente, χ(G) ≥ ω(G).
• L’écart entre χ et ω peut être arbitrairement grand.
• Pour tout k ≥ 2, il existe un graphe G tel que χ(G) = k et ω(G) = 2.
9
La construction de Mycielski
• Soit G un graphe quelconque, avec sommetsv1, . . . , vn.
• Formons le graphe M(G) à partir de Gcomme suit.
• Nous ajoutons n+ 1 nouveaux sommetsu1, . . . , un, ∗.• Nous relions chaque ui aux voisins de vi
dans G, ainsi qu’à ∗.
v1 v2 v3 v4 v5
u1 u2 u3 u4 u5
∗
G
M(G)
10
La construction de Mycielski
• Soit G un graphe quelconque, avec sommetsv1, . . . , vn.
• Formons le graphe M(G) à partir de Gcomme suit.
• Nous ajoutons n+ 1 nouveaux sommetsu1, . . . , un, ∗.• Nous relions chaque ui aux voisins de vi
dans G, ainsi qu’à ∗.
v1 v2 v3 v4 v5
u1 u2 u3 u4 u5
∗
G
M(G)
10
La construction de Mycielski
• Soit G un graphe quelconque, avec sommetsv1, . . . , vn.
• Formons le graphe M(G) à partir de Gcomme suit.
• Nous ajoutons n+ 1 nouveaux sommetsu1, . . . , un, ∗.• Nous relions chaque ui aux voisins de vi
dans G, ainsi qu’à ∗.
v1 v2 v3 v4 v5
u1 u2 u3 u4 u5
∗
G
M(G)
10
La construction de Mycielski
• Soit G un graphe quelconque, avec sommetsv1, . . . , vn.
• Formons le graphe M(G) à partir de Gcomme suit.
• Nous ajoutons n+ 1 nouveaux sommetsu1, . . . , un, ∗.• Nous relions chaque ui aux voisins de vi
dans G, ainsi qu’à ∗.
v1 v2 v3 v4 v5
u1 u2 u3 u4 u5
∗
G
M(G)
10
La construction de Mycielski
• Soit G un graphe quelconque, avec sommetsv1, . . . , vn.
• Formons le graphe M(G) à partir de Gcomme suit.
• Nous ajoutons n+ 1 nouveaux sommetsu1, . . . , un, ∗.• Nous relions chaque ui aux voisins de vi
dans G, ainsi qu’à ∗.
v1 v2 v3 v4 v5
u1 u2 u3 u4 u5
∗
G
M(G)
10
La construction de Mycielski
• Soit G un graphe quelconque, avec sommetsv1, . . . , vn.
• Formons le graphe M(G) à partir de Gcomme suit.
• Nous ajoutons n+ 1 nouveaux sommetsu1, . . . , un, ∗.• Nous relions chaque ui aux voisins de vi
dans G, ainsi qu’à ∗.
v1 v2 v3 v4 v5
u1 u2 u3 u4 u5
∗
G
M(G)
10
Le théorème de Mycielski (1/2)
Théorème (Mycielski)χ(M(G)) = χ(G) + 1 pour tout graphe G. Si G est sans triangle, alors M(G)
est sans triangle.
Démonstration
• Nous allons d’abord prouver l’assertion sur les triangles.
• Supposons que M(G) contient un triangle T .
• Comme les sommets ui forment un stable, soit T est dans G (et on aterminé), soit T contient deux sommets vi, vj de G et un sommet uk.
• Dans ce cas, les sommets vi, vj , vk forment un triangle de G.
• Nous avons montré que si G est sans triangle, alors M(G) est sanstriangle.
11
Le théorème de Mycielski (2/2)
Démonstration (suite)
• Étant donné une k-coloration optimale de G, on peut étendre cettecoloration à une (k + 1)-coloration de M(G) en coloriant les sommetsu1, . . . , un avec la couleur k + 1, et le sommet ∗ avec la couleur 1.
• Cela montre que χ(M(G)) ≤ χ(G) + 1.
• Soit c une coloration optimale de M(G).
• On définit une coloration c′ de G comme
c′(vi) =
c(vi) si c(vi) 6= c(∗)
c(ui) si c(vi) = c(∗).
• On a économisé la couleur c(∗), donc χ(G) ≤ χ(M(G))− 1.
12
Relation entre χ et α
PropositionSoit G un graphe à n sommets. Alors, χ(G) ≥ dn/α(G)e.
Démonstration
• Une coloration est une partition des sommets en stables.
• Comme chaque stable est de taille inférieure ou égale à α(G), il faut aumoins n/α(G) stables pour recouvrir tous les sommets.
• Donc, χ(G) ≥ n/α(G), et comme χ(G) est un entier, on aχ(G) ≥ dn/α(G)e.
• L’écart entre χ et n/α peut être arbitrairement grand.• Pour tout k ≥ 2 et tout ε > 0, il existe un graphe G tel que χ(G) = k etα(G) < n/2 + ε. 13
Algorithme glouton de coloration
Entrées : Un graphe G = (V,E) avec un ordre total v1, v2, . . . , vn sur lessommets
Sorties : Une coloration de GColorier les sommets l’un après l’autre suivant l’ordre total, en attribuant àvi la plus petite couleur qui n’est attribuée à aucun de ses voisins déjàcoloriés.
v1
v2
v3 v4
v5
14
Algorithme glouton de coloration
Entrées : Un graphe G = (V,E) avec un ordre total v1, v2, . . . , vn sur lessommets
Sorties : Une coloration de GColorier les sommets l’un après l’autre suivant l’ordre total, en attribuant àvi la plus petite couleur qui n’est attribuée à aucun de ses voisins déjàcoloriés.
v1
v2
v3 v4
v5
1
14
Algorithme glouton de coloration
Entrées : Un graphe G = (V,E) avec un ordre total v1, v2, . . . , vn sur lessommets
Sorties : Une coloration de GColorier les sommets l’un après l’autre suivant l’ordre total, en attribuant àvi la plus petite couleur qui n’est attribuée à aucun de ses voisins déjàcoloriés.
v1
v2
v3 v4
v5
1
2
14
Algorithme glouton de coloration
Entrées : Un graphe G = (V,E) avec un ordre total v1, v2, . . . , vn sur lessommets
Sorties : Une coloration de GColorier les sommets l’un après l’autre suivant l’ordre total, en attribuant àvi la plus petite couleur qui n’est attribuée à aucun de ses voisins déjàcoloriés.
v1
v2
v3 v4
v5
1
2
3
14
Algorithme glouton de coloration
Entrées : Un graphe G = (V,E) avec un ordre total v1, v2, . . . , vn sur lessommets
Sorties : Une coloration de GColorier les sommets l’un après l’autre suivant l’ordre total, en attribuant àvi la plus petite couleur qui n’est attribuée à aucun de ses voisins déjàcoloriés.
v1
v2
v3 v4
v5
1
2
31
14
Algorithme glouton de coloration
Entrées : Un graphe G = (V,E) avec un ordre total v1, v2, . . . , vn sur lessommets
Sorties : Une coloration de GColorier les sommets l’un après l’autre suivant l’ordre total, en attribuant àvi la plus petite couleur qui n’est attribuée à aucun de ses voisins déjàcoloriés.
v1
v2
v3 v4
v5
1
2
31
1
14
Une conséquence de l’algorithme glouton
ThéorèmeSoit G un graphe avec degré maximum ∆. Alors, χ(G) ≤ ∆ + 1.
• Cette borne est serrée pour deux familles de graphes :• les graphes complets : ∆(Kn) = n− 1, χ(Kn) = n
• les cycles impairs : ∆(C2k+1) = 2, χ(C2k+1) = 3
• La borne est stricte pour tout graphe n’appartennant pas à une de cesdeux familles.
Théorème de BrooksSi G est un graphe connexe de degré maximum ∆, qui n’est ni un cycleimpair ni un graphe complet, alors χ(G) ≤ ∆.
15
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1 1
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1 1
2
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1 1
2 2
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1 1
2 2
3
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1 1
2 2
3 3
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1 1
2 2
3 3
4
G4
16
L’algorithme glouton peut produire de très mauvaises colorations !
• Considérons le graphe Gk avecsommets v1, v2, . . . , v2k
• vivj ∈ E(G2k) ssi i est impair, j estpair, et j − i 6= 1
• L’algorithme glouton utilise kcouleurs.
• Pourtant, χ(G) = 2.
v1
v3
v5
v7
v2
v4
v6
v8
1 1
2 2
3 3
4 4
G4
16
Dégénérescence
DéfinitionUn graphe est d-dégénéré s’il existe un ordre sur les sommets tel que,pour tout sommet, le nombre d’arêtes vers des sommets plus petits dansl’ordre est au plus d.
• Graphes de degré maximum ∆ sont ∆-dégénérés.
• Arbres sont 1-dégénérés.
• Le théorème suivant est une conséquence directe de l’algorithmeglouton.
ThéorèmeSi G est d-dégénéré, alors χ(G) ≤ d+ 1.
17
Graphes bipartis
DéfinitionUn graphe G = (V,E) est biparti si χ(G) ≤ 2. C’est-à-dire, on peutpartitionner l’ensemble de sommets V en deux sous-ensembles stablesA,B.
Exemples de graphes bipartis
arbres C6 G4 K3,3
18
Caractérisation de graphes bipartis
ThéorèmeUn graphe est biparti si et seulement s’il ne contient pas de cycles impairscomme sous-graphe.
Démonstration
=⇒• Un cycle de longueur impaire n’est pas biparti.
• Donc, si G est biparti, alors G ne contient aucun cycle impair.
19
Caractérisation de graphes bipartis
Démonstration (suite)
⇐=
• Soit G un graphe connexe ne contenant aucun cycle impair commesous-graph. (Si le graphe n’est pas connexe, on considère chaquecomposante connexe séparément).
• Soit T un arbre couvrant de G, et fixons un sommet r de T .
• Soit A l’ensemble de sommets de G dont la distance à r est paire, estsoit B = V \A.
• Nous montrerons que A et B sont des classes chromatiques d’une2-coloration de G.
20
Caractérisation de graphes bipartis
Démonstration (suite)
• Il suffit de montrer que toute arête uv de G a une extrémité dans A etl’autre dans B.
• Si uv ∈ E(T ), c’est évidemment le cas.
• Si uv ∈ E(G) \ E(T ), le graphe T ∪ {e} contient un cycle élémentaire C.
• Comme T ∪ {uv} ⊆ G, le cycle C est de longueur paire.
• La la chaîne élémentaire unique entre u et v dans T doit être delongueur impaire.
• Donc, u et v sont dans des parties différentes de (A,B).
21