INF303 Modélisation des structures informatiques ... · Les étudiants ont des examens dans toutes...

Post on 27-Oct-2020

3 views 0 download

Transcript of INF303 Modélisation des structures informatiques ... · Les étudiants ont des examens dans toutes...

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