Poly2m226 Sorb

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 92

2M226 - Combinatoire et Graphes

Arnau Padrol

26 juillet 2018
Table des matières

I Combinatoire énumérative 3
1 Rappels et notation 5
1.1 Ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Relations binaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 Relations d’équivalence et partitions . . . . . . . . . . . . . 8
1.3.2 Relations d’ordre . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Entiers naturels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5 Cardinal d’un ensemble fini . . . . . . . . . . . . . . . . . . . . . . 11
1.5.1 Principe de bijection . . . . . . . . . . . . . . . . . . . . . . 12
1.5.2 Principe des tiroirs . . . . . . . . . . . . . . . . . . . . . . . 13
1.6 Équipotence et ensembles infinis dénombrables . . . . . . . . . . . . 14

2 Dénombrement 17
2.1 Principes de dénombrement . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1 Principe d’addition . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.2 Principe des bergers . . . . . . . . . . . . . . . . . . . . . . 18
2.1.3 Principe de multiplication . . . . . . . . . . . . . . . . . . . 19
2.2 Comptage des applications . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Le nombre d’applications . . . . . . . . . . . . . . . . . . . . 20
2.2.2 Le nombre d’injections . . . . . . . . . . . . . . . . . . . . . 21
2.2.3 Le nombre de bijections . . . . . . . . . . . . . . . . . . . . 22
2.2.4 Une estimation de la fonction factorielle . . . . . . . . . . . 22
2.2.5 Surjections et partitions . . . . . . . . . . . . . . . . . . . . 24
2.3 Nombres binomiaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.1 L’ensemble de parties de taille k . . . . . . . . . . . . . . . . 25
2.3.2 Multi-ensembles . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.3 Formule du binôme . . . . . . . . . . . . . . . . . . . . . . . 29
2.4 Les nombres multinomiaux . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.1 Une estimation de nk . . . . . . . . . . . . . . . . . . . . . 32
2.4.2 La “forme” de l’ensemble des coefficients binomiaux . . . . . 33

-1
2M226 Combinatoire et Graphes 2017–18

2.5 Formule du crible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35


2.5.1 Le nombre de surjections, revisité . . . . . . . . . . . . . . . 36

3 Fonctions génératrices 39
3.1 L’anneau des séries formelles . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1 Rappel : L’anneau des polynômes . . . . . . . . . . . . . . . 39
3.1.2 Séries formelles . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.3 Une justification pour la notation . . . . . . . . . . . . . . . 41
3.1.4 Inverse multiplicatif . . . . . . . . . . . . . . . . . . . . . . . 41
3.2 Théorème du binôme pour des exposants négatifs . . . . . . . . . . 43
3.3 Équations de récurrence linéaires . . . . . . . . . . . . . . . . . . . 46
3.3.1 La suite de Fibonacci . . . . . . . . . . . . . . . . . . . . . . 46
3.3.2 Récurrences linéaires homogènes à coefficients constants . . . 48

II Graphes 49
4 Introduction à la théorie de graphes 51
4.1 Graphes et isomorphismes . . . . . . . . . . . . . . . . . . . . . . . 51
4.1.1 Isomorphisme . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2 Bestiaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3 Degrés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3.1 Le lemme des poignées de main . . . . . . . . . . . . . . . . 56
4.3.2 Matrices associées à un graphe . . . . . . . . . . . . . . . . . 56
4.3.3 Le théorème d’Havel et Hakimi . . . . . . . . . . . . . . . . 58
4.4 Théorie extrémale des graphes . . . . . . . . . . . . . . . . . . . . . 60
4.4.1 Sous-graphes . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.4.2 Théorème de Turán . . . . . . . . . . . . . . . . . . . . . . . 61
4.4.3 Graphe complémentaire et stables . . . . . . . . . . . . . . . 63
4.5 Théorie de Ramsey . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5 Chaînes, parcours, cycles et tours 67


5.1 Chaînes, parcours . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.1.1 Connexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.2 Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.2.1 Graphes valués et Algorithme de Dijkstra . . . . . . . . . . . 70
5.3 Tours et parcours eulériens (et hamiltoniens) . . . . . . . . . . . . . 72
5.3.1 Graphes eulériens . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3.2 Graphes hamiltoniens . . . . . . . . . . . . . . . . . . . . . . 74
5.4 Arbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

0
2M226 Combinatoire et Graphes 2017–18

6 Coloration, graphes bipartis et couplages 79


6.1 Colorations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1.1 Graphes bipartis . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2 Couplages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

7 Planarité 85
7.1 Dessiner des graphes dans le plan . . . . . . . . . . . . . . . . . . . 85
7.2 Formule d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

1
2M226 Combinatoire et Graphes 2017–18

2
Première partie

Combinatoire énumérative

3
Chapitre 1

Rappels et notation

1.1 Ensembles
Nous allons travailler avec une définition intuitive et informelle de la notion
d’ensemble. Les fondations mathématiques de la théorie des ensembles sont sub-
tiles, et une axiomatique rigoureuse ne permet pas la définition d’objets comme
l’ensemble de tous les ensembles qui donnent lieu à paradoxes (voir Zer-
melo–Fraenkel). Pour les ensembles étudiés dans ce cours, dont la plupart sont
finis, il n’y a pas de risque de paradoxe, et la notion intuitive d’ensemble est lar-
gement suffisante.

Définition 1.1. Un ensemble est une “collection d’objets”, appelés éléments


de E. On note x ∈ E, et on dit que x appartient à l’ensemble E, si x est un
élément de E. On note x ∈
/ E sinon. L’ensemble qui ne contient aucun élément
est appelé ensemble vide et est noté ∅.

On utilise les symboles ‘{’ et ‘}’ pour présenter un ensemble. Par exemple, l’en-
semble formé des éléments a, b et c s’écrit {a, b, c}. L’ordre des éléments d’un en-
semble n’a aucune aucune importance ({a, b} = {b, a}), ni les répétitions non plus
({a, a, b} = {a, b}). On écrit {x ∈ E : P} pour dénoter l’ensemble des éléments
x de E possédant la propriété P. On utilise aussi cette notation pour construire
des nouveaux ensembles à partir d’ensembles connus. Par exemple, l’ensemble des
carrés des entiers naturels s’écrit

{0, 1, 4, 9, . . .} = n ∈ N : existe i tel que i2 = n = i2 : i ∈ N .


 

Si A et B sont des ensembles, on note A ⊆ B, et on dit que A est un sous-


ensemble de B, si chaque élément de A appartient également à B. On dit aussi
que A est une partie de B, ou que A est inclus dans B. Deux ensembles sont
égaux, ce qu’on note A = B, si et seulement si A ⊆ B et B ⊆ A.

5
2M226 Combinatoire et Graphes 2017–18

Opérations ensemblistes
Soient A, B et E des ensembles.
• La (ré)union de A et B est l’ensemble
A ∪ B = {x : x ∈ A ou x ∈ B} .
Pour la réunion de plusieurs ensembles, on utilise aussi la notation
n
[ [ [
Ai = Ai = Ai = A1 ∪ A2 ∪ · · · ∪ An .
i=1 1≤i≤n i∈[1,n]

• L’intersection : de A et B est l’ensemble


A ∩ B = {x : x ∈ A et x ∈ B} .
Si A ∩ B = ∅, alors A et B sont disjoints.
Pour l’intersection de plusieurs ensembles, on utilise aussi la notation
n
\ \ \
Ai = Ai = Ai = A1 ∩ A2 ∩ · · · ∩ An .
i=1 1≤i≤n i∈[1,n]

Les opérations union et intersection sont associatives, commutatives et dis-


tributives l’une par rapport à l’autre.
• La différence entre A et B est l’ensemble A privé de B :
A \ B = {x : x ∈ A et x ∈
/ B} .
Si A ⊆ E, le complémentaire de A dans E est Ā = E \ A.
• Le produit cartésien de A et B est
A × B = {(a, b) : a ∈ A, b ∈ B} .
Les couples (a, b) sont des paires ordonnées. Il ne faut pas confondre la paire
{a, b} avec le couple (a, b) : (a, b) = (b, a) si et seulement si a = b.
Le produit cartésien de plusieurs ensembles on utilise aussi la notation
n
Y Y Y
Ai = Ai = Ai = A1 × A2 × · · · × An
i=1 1≤i≤n i∈[1,n]

= {(a1 , . . . , an ) : ai ∈ Ai pour tout i ∈ [1, n]} .


Ses éléments sont appelés des n-uplets.
Si tous les Ai sont égaux à A, on utilise aussi la notation An (comme par
exemple dans Rn ).

6
2M226 Combinatoire et Graphes 2017–18

• L’ensemble des parties de E est

P(E) = {A : A ⊆ E} .

Par exemple, P({1, 2}) = {∅, {1}, {2}, {1, 2}}.

1.2 Applications
Soient E et F des ensembles. Une application de E dans F est la donnée,
pour chaque élément x de E, d’un élément f (x) de F . On formalise ceci comme
suit :
Définition 1.2. Une application (ou fonction) f de E dans F est une partie
de E × F telle que pour tout x ∈ E, l’ensemble {y ∈ F : (x, y) ∈ f } contient
exactement un élément. Si (x, y) ∈ f , on note y = f (x) ou x 7→ y et on dit que
y est l’image de x par f , et que x est un antécédent de y par f . E est appelé
l’ensemble de départ de f , et F l’ensemble d’arrivée.
Définition 1.3. On écrit f : E → F si f est une application de E dans F . Si
A ⊆ E, l’image (directe) de A par f est

f (A) = {f (x) : x ∈ A} .

Si B ⊆ F , l’image réciproque de B est

f −1 (B) = {x ∈ E : f (x) ∈ B} .

Définition 1.4. Une application f : E → F est dite :


• injective si
∀x, y ∈ E, f (x) = f (y) ⇒ x = y,
équivalemment, si x 6= y ⇒ f (x) 6= f (y) ;

• surjective si
∀y ∈ F, ∃x ∈ E, y = f (x),
c’est-à-dire, si f (E) = F ;

• bijective si elle est à la fois injective et surjective :

∀y ∈ F, ∃!x ∈ E, y = f (x).

Une application qui est injective, surjective ou bijective est appelée une injection,
surjection ou bijection, respectivement.

7
2M226 Combinatoire et Graphes 2017–18

Soient f : E → F et g : F → G applications. On définit l’application


composée de f et g

g◦f :E →G
x 7→ g(f (x))

Nous laissons la preuve du résultat suivant comme un exercice au lecteur.

Lemme 1.5. Si f : E → F et g : F → G sont injectives/surjectives/bijectives,


alors g ◦ f est aussi injective/surjective/bijective.

L’application idE : E → E telle que x 7→ x est appelée fonction identité. Si


f : E → F est bijective, alors il existe une unique fonction f −1 : F → E, appelée
fonction inverse de f telle que f −1 ◦ f = idE et f ◦ f −1 = idF . C’est à dire
f −1 (y) = x si et seulement si x = f (y). La fonction f −1 : F → E est aussi une
bijection.

1.3 Relations binaires


Soit E un ensemble. Une relation binaire sur E est une partie R de E × E.
Lorsque (x, y) ∈ R on dit que x et y sont en relation par R, et on écrit xRy.

Définition 1.6. Une relation binaire R sur E est

• réflexive : si pour tout x ∈ E, on a xRx ;

• symétrique : si pour tout (x, y) ∈ E 2 , on a xRy implique yRx ;

• antisymétrique : si pour tout (x, y) ∈ E 2 , on a (xRy et yRx) impliquent


x = y;

• et transitive : si pour tout (x, y, z) ∈ E 3 , on a (xRy et yRz) impliquent


xRz.

1.3.1 Relations d’équivalence et partitions


Définition 1.7. Une relation binaire R sur E est une relation d’équivalence si
elle est réflexive, symétrique et transitive.

Exemples 1.8. Lest relations suivantes sont des relations d’équivalence :

• l’égalité, définie par xRy si x = y ;

• Si f : X → Y est une application, la relation définie par xRy si f (x) = f (y) ;

8
2M226 Combinatoire et Graphes 2017–18

• R = {(x, y) ∈ Z × Z : 2 divise x − y} ;

• la relation R sur Z × (Z \ {0}) donnée par (a, b)R(c, d) si et seulement si


ad = cb.

Définition 1.9. Soit R une relation d’équivalence sur l’ensemble E. Pour tout
x ∈ E la classe d’équivalence de x est l’ensemble R[x] = {y ∈ E : xRy}.
L’ensemble de toutes les classes d’équivalence est l’ensemble quotient de E par
R, et est noté E/R. On a E/R ⊆ P(E).

Définition 1.10. Une partition d’un ensemble E est une famille (Ai )i∈I de sous-
ensembles de E, telle que :
S
(i) les ensembles Ai recouvrent E : i∈I Ai = E ;

(ii) sont non-vides : ∀i ∈ I, Ai 6= ∅ ;

(iii) et deux-à-deux disjoints :∀i ∈ I, ∀j ∈ I, i 6= j ⇒ Ai ∩ Aj = ∅.

Proposition 1.11.

1. Si R est une relation d’équivalence sur E, alors E/R est une partition de E.

2. Pour toute partition (Ai )i∈I de E, il existe une unique relation d’équiva-
lence R telle que E/R = {Ai : i ∈ I}. En particulier, E/R détermine en-
tièrement R.

Démonstration.

S R est réflexive, ∀x ∈ E, xRx, et donc x ∈ R[x]. Ceci implique que


1. Comme
E ⊆ R[x]∈E/R R[x] et que ∀x ∈ E, R[x] 6= ∅.
Il reste a montrer que, si R[x] et R[y] ne sont pas disjoints, alors R[x] = R[y].
En effet, si z ∈ R[x] ∩ R[y], alors xRz et yRz. Par transitivité (et symétrie),
xRy, et donc R[x] = R[y].

2. Soit (Ai )i∈I une partition de E. On définit une relation binaire R sur E de
la manière suivante : xRy si et seulement s’il existe i ∈ I tel que x, y ∈ Ai .
C’est facile à vérifier que cette relation est réflexive, transitive et symétrique.

cqfd.

9
2M226 Combinatoire et Graphes 2017–18

1.3.2 Relations d’ordre


Définition 1.12. Une relation binaire R sur E est une relation d’ordre (par-
tiel) si elle est réflexive, antisymétrique et transitive.

On utilise d’habitude le symbole  pour noter une relation d’ordre. On en


dérive deux autres relations binaires très naturelles. L’inégalité inverse x  y,
définie par x  y si et seulement si y  x, qui est aussi une relation d’ordre ; et
l’inégalité stricte x ≺ y, définie par x ≺ y si et seulement si x  y et x 6= y (par
contre, ceci n’est pas une relation d’ordre).
Si pour tout couple d’éléments x, y ∈ E on a soit x  y, soit y  x, on dit que
la relation est une relation d’ordre total.
Un couple (E, ), où E est un ensemble muni d’une relation d’ordre , est
appelé un ensemble partiellement ordonné.

Exemples 1.13. Voici quelques ensembles partiellement ordonnés :

• (N, ≤) où x ≤ y si y − x ∈ N, (et de façon similaire (Z, ≤), (Q, ≤), (R, ≤)) ;

• (N, |), où a | b si ∃k ∈ N tel que bk = a ;

• (P(X), ⊆)

Soit (X, ) un ensemble partiellement ordonné. Un élément a ∈ X est le plus


grand élément de X si par tout x ∈ X, on a x  a ; et un élément maximal
s’il n’existe pas de y ∈ X tel que a ≺ y. On définit de la même manière le plus
petit élément et un élément minimal.
Il y a ensembles sans élément maximal, par exemple (N, ≤). Si le plus grand
élément existe, alors il est maximal, mais la réciproque n’est pas vraie. Par exemple,
l’ensemble ([1, 5], |) a plusieurs éléments maximaux : {3, 4, 5}.

1.4 Entiers naturels


On note N = {0, 1, 2, . . .} l’ensemble des entiers naturels. On note les entiers
naturels privés de zéro par N∗ = N \ {0}. Pour a, b ∈ N, on définit l’intervalle
[a, b] = {n ∈ N : a ≤ n et n ≤ b} (si a > b, alors [a, b] = ∅). Par construction 1 ,
l’ensemble N a la propriété suivante (qu’on prend comme un axiome) :

Remarque 1.14 (Propriété fondamentale des entiers naturels). Toute partie non
vide de N possède un plus petit élément.

On dit aussi que (N, ≤) est bien ordonné.


1. Celle-ci est hors-programme.

10
2M226 Combinatoire et Graphes 2017–18

Proposition 1.15 (Principe de récurrence). Soit P(n) une proposition dépendant


d’un entier n de N. Si la proposition P(0) est vraie, et si on a la propriété :

∀n ∈ N, P(n) ⇒ P(n + 1)

alors, pour tout n de N, la proposition P(n) est vraie.

Démonstration. Soit E l’ensemble des entiers n de N tels que la proposition P(n)


est fausse. On va montrer que E = ∅. Supposons le contraire. Si E 6= ∅, alors il
admet un plus petit élément n0 . Comme P(0) est vraie, n0 6= 0 et n0 − 1 ∈ N. Par
minimalité de n0 , P(n0 − 1) est vraie, d’où P(n0 − 1 + 1) = P(n0 ) est vraie, et
n0 ∈
/ E, ce qui est une contradiction. cqfd.

On utilise souvent le même principe pour montrer qu’une propriété P(n) est
valide pour tous les entiers n ≥ k. Dans ce cas là, il faut montrer que P(k) est vraie
et que pour tout n ≥ k, P(n) ⇒ P(n + 1). (On déduit ce principe du principe de
récurrence en utilisant la propriété P 0 (n) qui est vraie si et seulement si P(n + k)
est vraie.)

1.5 Cardinal d’un ensemble fini


Un ensemble E est dit fini s’il est vide ou s’il existent un entier n ∈ N et
une bijection f : E → [1, n]. Notez que, à priori, ce nombre n pourrait ne pas
être unique. Dans cette section, nous allons montrer qu’un tel nombre est toujours
unique, et nous allons l’appeler le cardinal de E.

Théorème 1.16. Soient n, m ∈ N∗ . Il existe une injection de [1, n] dans [1, m] si


et seulement si n ≤ m.

Démonstration. Si n ≤ m, alors l’application i 7→ i est une fonction injective de


[1, n] dans [1, m], ce qui montre l’implication directe.
Pour la réciproque, on montre par récurrence la propriété P(n) suivante :
P(n) : pour tout m ≥ 1, s’il existe une injection de [1, n] dans [1, m] alors n ≤ m.
Initialisation : Pour n = 1, la propriété P(1) est vraie, car m ≥ n = 1 par
hypothèse.
Hérédité : Supposons la propriété P(n) vraie pour n ≥ 1, et montrons que
P(n + 1) est vraie aussi.
Supposons qu’il existe une application injective f : [1, n + 1] → [1, m]. Notons
qu’on a forcement m ≥ 2, car [1, n + 1] contient au moins deux éléments distincts,
et leurs images sont deux éléments distincts par l’injectivité de f . On en déduit
que m − 1 ∈ N∗ .

11
2M226 Combinatoire et Graphes 2017–18

• Si f (n + 1) = m, alors l’application

f [1,n] : [1, n] → [1, m − 1]
i 7→ f (i)

est une injection de [1, n] dans [1, m − 1]. D’après l’hypothèse de récurrence
on a que n ≤ m − 1, et donc que n + 1 ≤ m.

• Si f (n + 1) = k 6= m. On considère l’application σ : [1, m] → [1, m] définie


par 
σ(m) = k

σ(k) = m

σ(i) = i autrement

qui est une bijection.


L’application g = σ ◦ f est alors injective de [1, n + 1] dans [1, m] (voir
Lemme 1.5), et telle que g(n+1) = m. On se ramène au cas précédent. cqfd.

Corollaire 1.17. Si, pour n, m ∈ N∗ , il existent des bijections f : E → [1, n] et


g : E → [1, m], alors n = m.

Démonstration. Les applications f ◦ g −1 : [1, m] → [1, n] et g ◦ f −1 : [1, n] → [1, m]


sont aussi des bijections (voir Lemme 1.5). Du Théorème 1.16 on en déduit que
n ≤ m et qie n ≥ m, et donc que n = m. cqfd.

Définition 1.18. Si E est un ensemble fini en bijection avec l’intervalle [1, n], on
dit que le cardinal de E est n, ou que le nombre d’éléments dans E est n, ce
qu’on note |E| = n. Lorsque E est vide, on posera |E| = 0.

1.5.1 Principe de bijection


Proposition 1.19 (Principe de bijection). Si E et F sont en bijection, alors
|E| = |F |.

Démonstration. Soit f : E → F une bijection. Soient m = |F | et g : F → [1, m]


une bijection. alors g ◦ f : E → [1, m] est aussi une bijection. Par unicité du
cardinal, |E| = |F |. cqfd.

Ce principe simple est très utile ! Il donne lieu aux preuves bijectives, une
technique que nous allons utiliser à plusieurs reprises dans la suite.

12
2M226 Combinatoire et Graphes 2017–18

1.5.2 Principe des tiroirs


Quelques conséquences du Théorème 1.16.

Corollaire 1.20 (Principe des tiroirs). Pour des ensembles finis E et F , il existe
une injection de E dans F si et seulement si |E| ≤ |F |.
En particulier, si |E| > |F | alors il n’y a pas d’injection de E dans F , et
pour toute application f : E → F il existe au moins un élément y ∈ F tel que
|f −1 ({y})| ≥ 2.

Démonstration. Soit f : E → F une injection. Notons n = |E| et m = |F |.


Par définition, il existent des bijections g : E → [1, n] et h : F → [1, m]. Alors
h ◦ f ◦ g −1 : [1, n] → [1, m] est aussi une injection, et donc n ≤ m. cqfd.

Ce résultat est traditionnellement énoncé comme suit : Si m objets sont répartis


dans n tiroirs, et m > n, alors il existe au moins un tiroir contenant au moins
deux objets.
Il est très utile pour montrer l’existence des éléments avec des propriétés par-
ticulières. Voici quelques exemples d’applications du principe.

Exemple 1.21. Soit n ∈ N∗ . Montrer que si A est un sous-ensemble de [1, 2n] de


taille n + 1, alors A contient deux nombres premiers entre eux.

Démonstration. Ici, les n + 1 entiers de A jouent le rôle des objets, et les tiroirs
sont les n intervalles de la forme [2i − 1, 2i] avec 1 ≤ i ≤ n. Le principe des tiroirs
certifie qu’il y a deux nombres consécutifs dans A, et deux nombres consécutifs
sont toujours premiers entre eux. cqfd.

Exemple 1.22. Soit n ∈ N∗ . Montrer que si A est un sous-ensemble de [1, 2n] de


taille n + 1, alors A contient deux nombres a et b tels que a | b.

Démonstration. Comme dans l’exemple précédent, les n + 1 entiers de A sont les


objets. Pour définir les tiroirs, il faut écrire chaque nombre a1 , . . . , an+1 de A sous
la forme ai = 2ui vi , où vi est impair. Notons que vi ne peut prendre que n valeurs
possibles, qui joueront le rôle des tiroirs. Il existe donc un v ∈ N∗ tel que A
contient deux nombres de la forme 2ui v et 2uj v, pour quelques ui , uj ∈ N. Celui
avec la valeur de ui plus petite divise l’autre. cqfd.

Il y a des versions plus fortes de ce principe, que nous allons traiter dans les
exercices.
Nous finissons avec une dernière conséquence du Théorème 1.16 :

Corollaire 1.23 (Principe d’inclusion). Soit F une partie d’un ensemble fini E.
Alors |F | ≤ |E|, et |F | = |E| si et seulement si F = E.

13
2M226 Combinatoire et Graphes 2017–18


Démonstration. La restriction de l’application identité sur F , id F : F → E, est
injective, et donc |F | ≤ |E|.
Supposons que |F | = |E|. Si E 6= F , alors il existe e ∈ E tel que e ∈
/ F . Alors
F ⊆ E \ {e} et |F | ≤ |E \ {e}|. C’est facile à voir que |E \ {e}| = |E| − 1, ce qui
amène à une contradiction qui finit la preuve. cqfd.

1.6 Équipotence et ensembles infinis dénombrables


Un ensemble est dit infini s’il n’est pas fini, comme par exemple l’ensemble des
entiers naturels N. Nous voulons classifier les ensembles qui ont la même “taille”
que N. Comment peut-on comparer la “taille” des ensembles infinis ? On prend le
principe de bijection comme base, et on compare des ensembles avec des fonctions.
Définition 1.24. Soient E et F des ensembles. On dit qu’ils sont équipotents
s’il existe une bijection entre E et F .
On aurait pu se baser sur le principe d’inclusion, et dire que E est plus petit
que F lorsqu’il existe une injection de E dans F . Le théorème suivant montre que
ces deux notations sont compatibles. La preuve ne fait pas partie du programme
du cours.
Théorème 1.25 (Cantor-Bernstein). Soient E et F deux ensembles. S’il existe
une injection de E dans F et une injection de F dans E, alors il existe une bijection
de E dans F .
Définition 1.26. On dit qu’un ensemble est infini dénombrable s’il est équi-
potent à N.
Certains ensembles classiques sont dénombrables :
Proposition 1.27. N∗ , 2N = {0, 2, 4, . . .}, Z et N × N sont des ensembles infinis
dénombrables.
Démonstration. N∗ est dénombrable car l’application

f : N → N∗
x 7→ x + 1

est bijective.
2N est dénombrable car l’application

f : N → 2N
x 7→ 2x

14
2M226 Combinatoire et Graphes 2017–18

est bijective.
Z est dénombrable car l’application

g:Z→N
(
2x si x ≥ 0,
x 7→
−2x + 1 si x < 0.

est bijective.
N × N est dénombrable car l’application

h : N × N → N∗
(x, y) 7→ 2x (2y + 1)

est bijective.
Nous laissons la vérification de la bijectivité de ces fonctions au lecteur. cqfd.
Proposition 1.28. Tout sous-ensemble E ⊆ N est soit fini, soit infini dénom-
brable.
Démonstration. Supposons que E ⊆ N n’est pas fini. On construit par récurrence
une fonction f : N → E. On prend f (0) = min E, f (1) = min E\{f (0)}, et de façon
récurrente f (n) = min E \ {f (0), . . . , f (n − 1)}. Notez que f est une application
bien définie car tout sous-ensemble non-vide de E a un élément minimal, et E \
{f (0), . . . , f (n − 1)} est non-vide car E est infini.
Montrons que f est une bijection. Par construction, f est injective, car si n < m,
alors f (m) ∈ E\{f (0), . . . , f (n), . . . , f (m−1)} et donc f (n) 6= f (m). Pour montrer
que f est aussi surjective, nous supposons le contraire. C’est-à-dire qu’il existe
n ∈ E \ {f (0), f (1), . . .}. Soit S = {i : f (i) > n}, qui est un ensemble non-vide
et donc a un plus petit élément k. Ceci veut dire que f (0) < · · · < f (k − 1) <
n < f (k), ce qui contredit l’élection de f (k) comme le plus petit élément de
E \ {f (0), . . . , f (k − 1)}. cqfd.

Proposition 1.29. Q est infini dénombrable.


Démonstration. L’application identité est une injection de N dans Q, ce qui montre
que Q est infini. L’application pq 7→ (p, q), où pq est irréductible et q > 0, est une
injection de Q dans Z × N∗ . Si on la composée avec l’application h de la preuve
de la Proposition 1.27, on obtient une injection de Q dans N. C’est donc une
bijection avec un sous-ensemble de N. De la proposition précédente, Q est infini
dénombrable. cqfd.

Mais il existe des cardinaux infinis plus grands. Par exemple, le Théorème de
Cantor nous montre que P(N) n’est pas dénombrable.

15
2M226 Combinatoire et Graphes 2017–18

Théorème 1.30 (Cantor). Soit E un ensemble, alors E et P(E) ne sont pas


équipotents.

Démonstration. Supposons par l’absurde qu’il existe une surjection f : E → P(E).


Soit A = {x ∈ E : x ∈ / f (x)} ∈ P(E). Comme f est surjective, il existe a ∈ E tel
que f (a) = A. Alors,
a∈A⇔a∈ / f (a) ⇔ a ∈
/A
ce qui est une contradiction. cqfd.

En exercice, nous allons en déduire que R n’est pas dénombrable non-plus.

16
Chapitre 2

Dénombrement

2.1 Principes de dénombrement


L’objet général de la combinatoire énumérative est de “calculer” le cardinal des
ensembles particuliers. La plupart du temps, l’ensemble considéré dépend d’un ou
plusieurs paramètres, et il s’agit d’exprimer ce cardinal comme fonction de ces
paramètres.
Nous allons commencer avec des principes très simples qui décrivent les car-
dinaux obtenus avec des opérations ensemblistes. Ceci nous permettra de réduire
des problèmes de dénombrement complexes à des cas plus simples.

2.1.1 Principe d’addition


Proposition 2.1 (Principe d’addition). Si E et F sont des ensembles finis dis-
joints (E ∩ F = ∅), alors |E ∪ F | = |E| + |F |.

Démonstration. Si E = ∅ ou F = ∅, le résultat est immédiat. Supposons, E, F 6=


∅, et posons |E| = n ≥ 1 et |F | = m ≥ 1. Par définition, il existent des bijections
f : E → [1, n] et g : F → [1, m]. L’application

h : E ∪ F → [1, n + m]
(
f (x), si x ∈ E,
x→
g(x) + n, si x ∈ F .

est clairement une bijection (vérifiez-le !). On en déduit que |E ∪ F | = n + m =


|E| + |F |. cqfd.

Et si on raisonne par récurrence sur n, on en obtient le résultat suivant :

17
2M226 Combinatoire et Graphes 2017–18

Corollaire 2.2. Soient E1 , . . . , En des ensembles finis deux à deux disjoints. Alors,

[n X n
Ei = |Ei |.


i=1 i=1

On peut dire aussi quelque chose si les ensembles ne sont pas disjoints. Traiter
la réunion de trois ou plus ensembles pas forcement disjoints est plus compliqué,
et nous le ferons dans la Section 2.5

Corollaire 2.3. Soient E et F ensembles finis. Alors |E ∪F | = |E|+|F |−|E ∩F |.

Démonstration. Soit G = E ∩ F . Alors E \ G, F \ G et G sont disjoints, donc

|E ∪ F | = |E \ G| + |F \ G| + |G| = |E \ G| + |G| + |F \ G| + |G| − |G|


= |E| + |F | − |E ∩ F |.

Où on a utilisé que |E| = |G| + |E \ G| et |F | = |G| + |F \ G|. cqfd.

2.1.2 Principe des bergers


On va formaliser le principe des bergers qui informellement dit : Pour compter
les moutons il suffit de compter les pattes et diviser par 4. Malgré sa simplicité, il
s’agit d’un principe très utile, et que nous allons exploiter très souvent.

Proposition 2.4. Soient E et F deux ensembles finis et f : E → F . Alors


−1
P
|E| = y∈F |f (y)|.

Démonstration. Les ensembles f −1 (y) recouvrent E (E = y∈F f −1 (y)), et sont


S

deux-à-deux disjoints (f −1 (y) ∩ f −1 (z) = ∅ si y 6= z). On déduit l’égalité du


principe d’addition. cqfd.

Corollaire 2.5. Si f : E → F est surjective, alors |F | ≥ |E|.

−1
Démonstration.PSi f : E → F est
P surjective, alors |f (y)| ≥ 1 pour tout y ∈ F ,
−1
et donc |E| = y∈F |f (y)| ≥ y∈F 1 = |F |. cqfd.

Corollaire 2.6 (Principe des bergers). Soient E et F deux ensembles finis et


f : E → F . S’il existe p ∈ N∗ tel que |f −1 (y)| = p pour tout y ∈ F , alors
|E| = p · |F |.

18
2M226 Combinatoire et Graphes 2017–18

2.1.3 Principe de multiplication


Proposition 2.7 (Principe de multiplication). Soient E et F ensembles finis,
alors |E × F | = |E| · |F |.

Démonstration. Considérons l’application

f :E×F →F
(x, y) 7→ y.

Alors |f −1 (y)| = |E| pour tout y ∈ F . Du principe des bergers on en déduit


|E × F | = |E| |F |. cqfd.

Corollaire 2.8. Soient E1 , . . . , En des ensembles finis. Alors

|E1 × E2 × · · · × En | = |E1 | · |E2 | · · · · · |En |.

Ce résultat se visualise très bien sous la forme d’arbre de décision. Pour choisir
un élément de E1 × E2 × · · · × En , il faut d’abord choisir un élément de E1 , pour
lequel on a |E1 | options ; après, pour chaque choix, il faut choisir un élément de
E2 , pour lequel on a |E2 | options, etc.

Corollaire 2.9. Si E est un ensemble fini, alors |E n | = |E|n .

C’est-à-dire, le nombre de mots de taille n sur un alphabet A avec k lettres


est k n .

Exemples 2.10.

• Combien de (possibles) mots de cinq lettres existe-t-il (en utilisant l’alphabet


usuel de 26 lettres et prenant en compte les mots sans sens) ?
265 , car un mot de cinq lettres est un 5-uplet d’éléments de {a, b, c, d, . . . , z}.

• Combien de nombres y-à-t’il avec au plus 3 chiffres (décimales) ?


103 , car ils sont en bijection avec les 5-uplets d’éléments de [0, 9].

• Combien de nombres y-à-t’il avec au plus 3 chiffres, étant toutes paires ?


53 , car ils sont en bijection avec les 5-uplets d’éléments de {0, 2, 4, 6, 8}.

2.2 Comptage des applications


Nous allons appliquer ces techniques au dénombrement des applications (de
divers types) entre deux ensembles finis.

19
2M226 Combinatoire et Graphes 2017–18

2.2.1 Le nombre d’applications


Soient E et F des ensembles finis non-vides, et F (E, F )= {f : E → F }
l’ensemble des applications de E dans F .

Observation 2.11. |F(∅, F )| = 1 pour tout ensemble F , mais si E 6= ∅ alors


|F(E, ∅)| = 0.

Proposition 2.12. |F(E, F )| = |F ||E| .

Démonstration. Soit n = |E|. On montre que les ensembles F(E, F ) et F n sont


en bijection. En effet, posons E = {x1 , . . . , xn }, alors

φ : F(E, F ) → F n
f 7→ (f (x1 ), . . . , f (xn ))

est une bijection. D’où |F(E, F )| = F |E| = |F ||E| .



cqfd.

L’ensemble F(E, F ) est parfois noté tout simplement F E .

Théorème 2.13. Soit E un ensemble fini. Le nombre de sous-ensembles de E est

|P(E)| = 2|E| .

Pour la preuve, nous avons besoin du concept de fonction caractéristique


d’une partie A de E. C’est l’application fA : E → {0, 1} telle que
(
1 si x ∈ A
fA (x) = .
0 si x ∈
/A

Démonstration. L’application

φ : P(E) → F(E, {0, 1})


A 7→ fA

est une bijection (vérifiez-le !). Du principe de bijection

|P(E)| = |F(E, {0, 1})| = |{0, 1}||E| = 2|E| . cqfd.

20
2M226 Combinatoire et Graphes 2017–18

2.2.2 Le nombre d’injections


On rappelle d’abord la définition de la fonction factorielle, qui apparaîtra dans
nos formules.
Définition 2.14. La factorielle de l’entier naturel n ∈ N est le nombre n! ∈ N
défini par la formule :
(
Y 1 si n = 0,
n! = i=
1≤i≤n
n · (n − 1)! sinon.

Soit Finj (E, F ) l’ensemble des injections de E dans F .


Proposition 2.15. Soient E, F ensembles finis, de cardinaux respectifs |E| =
k ≥ 1 et |F | = n ≥ 1. Le nombre d’injections de E dans F est exactement :
n−1
(
Y 0 si n < k,
|Finj (E, F )| = n(n − 1) · · · (n − k + 1) = (n − i) = n!
i=0 (n−k)!
si n ≥ k.

Démonstration. Soient E = {x1 , . . . , xk } et F = {y1 , . . . , yn }. On fait la preuve


par récurrence sur k.
Initialisation : Si k = 1, E = {x1 } et il y a n fonctions injectives de E dans F ,
qui représentent les n possibles valeurs de f (x1 ).
Hérédité : Supposons k ≥ 2. On considère l’application

φ : Finj (E, F ) → Finj (E \ {xk }, F )



f 7→ f E\{xk }

où f E\{x } est la restriction de f sur E \ {xk }.
k
On observe que l’image réciproque d’une fonction de Finj (E \ {xk }, F ) par φ a
cardinal n − (k − 1), qui correspond aux n − (k − 1) possibles éléments de F qui
no sont dans l’image de x1 , . . . , xk−1 . Du principe des bergers, et par récurrence

|Finj (E, F )| = |Finj (E \ {xk }, F )| · (n − k + 1) = (n(n − 1) · · · (n − k + 2))(n − k + 1)

cqfd.

Les injections de [1, k] dans F sont en bijection avec les k-arrangements


d’éléments de F . Un k-arrangement d’éléments de F est un k-uplet (a1 , . . . , ak ) ∈
F k tel que ai 6= aj pour tout 1 ≤ i < j ≤ k. C’est à dire, des mots de longueur
k sur l’alphabet F qui ne contiennent pas des lettres répétées. intuitive, on a n
choix pour le premier élément, n − 1 choix pour le deuxième une fois le premier a
été fixé, et ainsi jusqu’à n − (k − 1) choix pour le dernier.

21
2M226 Combinatoire et Graphes 2017–18

2.2.3 Le nombre de bijections


Le nombre de bijections découle très facilement du nombre d’injections. On a
tout simplement besoin du lemme suivant.

Lemme 2.16. Si |E| = |F | pour des ensembles finis E et F , alors les propriétés
suivantes sont équivalentes pour une application f : E → F :
(i) f est injective,
(ii) f est surjective,
(iii) f est bijective.

Remarque 2.17. Ce lemme est caractéristique des ensembles finis.

Corollaire 2.18. Soient E et F des ensembles finis de cardinal n. Le nombre de


bijections de E dans F est n!.

Une application bijective d’un ensemble fini E dans lui-même est appelée une
permutation de l’ensemble E. (L’ensemble de bijections de [1, n] das lui-même
forme un groupe très important, le groupe symétrique Sn , voir UE 2M175.)

2.2.4 Une estimation de la fonction factorielle


Il est souvent très utile d’encadrer des fonctions compliquées par des fonctions
“plus simples”. On va essayer de comprendre la croissance de la fonction factorielle
lorsque n → ∞.
Une première approximation donne que

2n−1 ≤ n! ≤ nn

car
n
Y n
Y n
Y n
Y
n! = i≤ n = nn−1 ; n! = i≥ 2 = 2n−1 .
i=2 i=2 i=2 i=2

Voici une estimation un peu plus précise de la fonction factorielle. On a besoin


du résultat suivant :

Lemme 2.19 (Inégalité entre moyennes arithmétique et géométrique). Soient a, b


des réels ≥ 0. Alors
a+b √
≤ ab,
2
avec égalité si et seulement si a = b.

22
2M226 Combinatoire et Graphes 2017–18

Démonstration. Suit de
√ √ √
0 ≤ ( a − b)2 = a + b − 2 ab.
cqfd.
Théorème 2.20. Pour tout n ≥ 1,
n


n+1
( n)n = nn/2 ≤ n! ≤ .
2
Démonstration. On considère les produits de la forme i(n+1−i). Dans ni=1 i(n+
Q
1 − i), chaque i ∈ [1, n] apparaît deux fois, et donc ce produit est égal à (n!)2 . En
prenant la racine carrée :
n
Y p
i(n + 1 − i) = n!.
i=1

Si on applique l’inégalité arithmétique-géométrique, on obtient


p i+n+1−i n+1
i(n + 1 − i) ≤ = .
2 2
D’où n n  n
Y p Y n+1 n+1
n! = i(n + 1 − i) ≤ = .
i=1 i=1
2 2
Pour le minorant, il suffit de montrer que i(n + 1 − i) ≥ n pour tout i ∈ [1, n].
Si i = 1 ou i = n, ceci est vrai avec égalité. Si i 6= 1, n, alors on a un produit de
deux nombres, le plus grand desquels vaut au moins n2 , et le plus petit au moins
2. D’où i(n + 1 − i) ≥ 2 n2 = n, et
n n
Y p Y √
n! = i(n + 1 − i) ≥ n = nn/2 .
i=1 i=1

cqfd.

Ces inégalités peuvent être raffinés et faites plus précises. En fait, on peut faire
une estimation asymptotique très précise, grâce à la formule de Stirling, que nous
n’allons pas démontrer.
Théorème 2.21 (Formule de Stirling).
√  n n
n! ∼ 2πn .
e
C’est à dire
n!
lim √ n = 1.
n→∞ 2πn ne

23
2M226 Combinatoire et Graphes 2017–18

2.2.5 Surjections et partitions


Soit S(n, k) le nombre de partitions d’un ensemble E de cardinal n en k
parties. Les nombres S(n, k) sont appelés lesnombres de Stirling (de deuxième
n

type). (On peut parfois trouver la notation k ou Sn,k pour S(n, k).)

Observation 2.22.
 
n−1 n
S(n, 1) = 1, S(n, 2) = 2 − 1, S(n, n − 1) = , S(n, n) = 1.
2

Démonstration. Il y a une seule partition de E en une partie ou |E| parties, elles


sont {E} et {{e} : e ∈ E} respectivement. Chaque partition en 2 parties consiste
en une paire de parties non-vides complémentaires {A, E \ A}. Il y a 2n − 2 parties
n
non-vides, et chaque partition est comptée deux fois, d’où S(n, 2) = 2 2−2 = 2n−1 −
1. Finalement, une partition en n − 1 parties est toujours formée d’une paire et le
reste sont des singletons. On en déduit que S(n, n − 1) coïncide avec le nombre de
paires n2 . cqfd.

Les surjections et les partitions sont fortement liées.

Proposition 2.23. Soient E et F des ensembles finis non-vides de cardinaux


respectifs n et k, avec n ≥ k. Le cardinal de l’ensemble de surjections Fsurj (E, F )
est
|Fsurj (E, F )| = k! · S(n, k).

Démonstration. À toute surjection f : E → F = {y1 , . . . , yk } on fait correspondre


une partition de E en k classes distinctes : f −1 (y1 ), . . . , f −1 (yk ). Il y a k! surjections
(qui correspondent aux k! permutations de F ) qui donnent la même partition. On
obtient le résultat du principe des bergers. cqfd.

Théorème 2.24. Soit n, k ∈ N tels que 1 ≤ k ≤ n, on a :


(
1 si k ∈ {1, n},
S(n, k) =
S(n − 1, k − 1) + kS(n − 1, k) si 2 ≤ k ≤ n − 1.

Démonstration. On considère des partitions de E = [1, n]. Le résultat est trivial


pour k = 1 ou k = n, car il y a une seule partition de [1, n] en 1 ou n parties. Pour
2 ≤ k ≤ n − 1, on considère deux types de partitions :

• les partitions où une des parties est le singleton {n}. Il y a S(n − 1, k − 1)


partitions de ce type, qui correspondent aux possibles partitions de [1, n − 1]
en k parties.

24
2M226 Combinatoire et Graphes 2017–18

• les partitions [1, n] = A1 ∪ · · · ∪ Ak où la classe Ai qui contient n contient au


moins un autre élément (dans la preuve, appelons-lez partitions de type 2).
Alors [1, n − 1] = Ã1 ∪ · · · ∪ Ãk , où Ãi = Ai \ {n}. Il y a k partitions de type 2
de [1, n] qui donnent lieu à la même partition de [1, n − 1] (une pour chaque
possible Ai qui pourrait contenir n). Du principe des bergers on a qu’il y a
kS(n − 1, k) partitions de type 2. cqfd.

Cette récurrence nous permet calculer les nombres de Stirling de deuxième type
(et donc le nombre de surjections aussi).

n S(n, 1) S(n, 2) S(n, 3) S(n, 4) S(n, 5) S(n, 6) S(n, 7)


1 1
2 1 1
3 1 3 1
4 1 7 6 1
5 1 15 25 10 1
6 1 31 90 65 15 1
7 1 63 301 350 140 21 1

2.3 Nombres binomiaux


2.3.1 L’ensemble de parties de taille k
Soit E un ensemble fini, on note Pk (E) l’ensemble de parties de E de cardi-
nal k, qu’on appelle ses k-parties ou parfois ses k-combinaisons.

Définition 2.25. On note nk , le nombre ou coefficient binomial (lu “k parmi




n”), le nombre de parties à k éléments d’un ensemble de cardinal n :


 
n
= |Pk ([1, n])|.
k

Ce nombre est parfois noté Cnk (lu “combinaison de k parmi n”).

Nous pouvons montrer de façon combinatoire plusieurs propriétés des nombres


binomiaux. En particulier, quelques de ces observations combinatoires vont nous
permettre calculer les nombre binomiaux.

Proposition 2.26. Pour n ∈ N et 0 ≤ k ≤ n,


   
n n
=
k n−k−1

25
2M226 Combinatoire et Graphes 2017–18

Démonstration. L’application
φ : Pk ([1, n]) → Pn−k ([1, n])
E 7→ [1, n] \ E
est une bijection, et donc    
n n
= .
k n−k
cqfd.

Proposition 2.27. Pour n ∈ N,


n  
X n
= 2n
k=0
k

Démonstration. L’ensemble de parties de [1, n] est l’union disjointe des ensembles


de k-parties de [1, n], où k varie de 1 à n. cqfd.

Proposition 2.28 (Identité de Pascal).


     
n n n−1
= +
k k−1 k−1
Démonstration. Soient n ≥ k ≥ 1. On peut décomposer Pk ([1, n]) en deux groupes
disjoints. D’un coté, l’ensemble des parties qui ne contiennent pas n. Il en y a
n−1

|Pk ([1, n − 1])| = k . Les parties E qui contiennent n sont en bijection avec
Pk−1 ([1, n − 1]). L’application bijective est E 7→ E \ {n}. Du principe d’addition,
on en déduit que      
n n−1 n−1
= + .
k k k−1
cqfd.

Cette identité est très importante, car elle nous permet de calculer les coeffi-
cients binomiaux. On le fait avec le triangle de Pascal :
n n0
 n n n n n n n
1 2 3 4 5 6 7
0 1
1 1 1
2 1 2 1
3 1 3 3 1
4 1 4 6 4 1
5 1 5 10 10 5 1
6 1 6 15 20 15 6 1
7 1 7 21 35 35 21 7 1

26
2M226 Combinatoire et Graphes 2017–18

Proposition 2.29. Soit n ∈ N∗ et k ∈ [0, n]. Alors,


   
n n−1
k =n
k k−1
Démonstration. Soit E un ensemble de cardinal n. On considère l’ensemble C =
{(x, S) ∈ E × Pk (E) : x ∈ S}.
• L’application φ : C → Pk (E) telle que (x, S) 7→ S vérifie |φ−1 (S)| = |S| = k
pour tout S ∈ Pk (E). D’où
 
n
|C| = k|Pk (E)| = k .
k

−1
• L’application
 ψ : C → E telle que (x, S) 7→ x vérifie |φ (x)| = |Pk−1 (E \
n−1
{x}| = k−1 pour tout S ∈ Pk (E). D’où
   
n−1 n−1
|C| = |E| = n .
k−1 k−1

cqfd.

Ici, nous avons utilisé la technique du double décompte (aussi appelée le


principe de Fubini). Elle consiste en calculer le cardinal d’un sous-ensemble
d’un produit cartésien de deux façons distinctes (par “lignes” et par “colonnes”, si
l’on représente le produit cartésien sous la forme d’une matrice). Le résultat, bien
sûr, doit être le même calculé des deux façons.
En effet, soient A = {a1 , . . . , an }, B = {b1 , . . . , bm } et S ⊆ A × B. Et soient

s(ai , ∗) = {(a, b) ∈ S : a = ai }
s(∗, bj ) = {(a, b) ∈ S : b = bj } .

Alors, du principe d’addition, on a


n
X m
X
|S| = |s(ai , ∗)| = |s(∗, bj )|.
i=1 j=1

On finalise avec une formule pour les coefficients binomiaux :


Théorème 2.30. Soit E un ensemble fini de cardinal n.
(
n!
si 0 ≤ k ≤ n
 
n n(n − 1) · · · (n − k + 1)
|Pk (E)| = = = k!(n−k)!
k k! 0 sinon.

27
2M226 Combinatoire et Graphes 2017–18

Démonstration. On considère l’application φ des k-arrangements (k-uplets avec


toutes ses coordonnées distinctes) vers les k-parties qui ’oublie l’ordre’ :

φ((a1 , . . . , ak )) = {a1 , . . . , ak }.

Pour chaque partie A ∈ Pk (E), il y a |φ−1 (A)| = k! k-arrangements avec ce support


(car il y a k! façons d’ordonner les k éléments de A, les k! bijections A → [1, k]).
n!
Comme il y a (n−k)! k-arrangements, d’après le lemme des bergers, on a

n!
k! |Pk (E)| = .
(n − k)!

cqfd.

2.3.2 Multi-ensembles
Soit E un ensemble, parfois il est utile de représenter une sélection d’éléments
de E qui ne sont pas forcement distincts. C’est à dire, un sous-ensemble avec
répétition. On définit les multi-ensembles en termes d’applications, en étendant la
représentation des parties avec des fonctions caractéristiques E → {0, 1}.

Définition 2.31. Soit E un ensemble fini. Un multi-ensemble sur E est une


application f de EPdans N. La multiplicité de e ∈ E est f (e) et la taille du
multi-ensemble est e∈E f (e).

Les multi-ensembles de taille k sont parfois appelés k-combinaisons avec


répétition, et on les note parfois avec des accolades doubles {{. . .}} encadrant les
éléments répétés autant de fois que leur multiplicité.

Exemple 2.32. Soit E = {a, b, c, d}, la sélection avec répétition {{a, a, c, d, d, d}}
correspond au multi-ensemble donnée par l’application f définie par

f (a) = 2, f (b) = 0, f (c) = 1, f (d) = 3.

La taille du multi-ensemble est 6.

Observation 2.33. Si E est un ensemble fini de cardinal n, le nombre de multi-


ensembles de E de taille k est le nombre de solutions de l’équation

a1 + · · · + an = k (2.1)

avec (a1 , . . . , an ) ∈ Nn .

28
2M226 Combinatoire et Graphes 2017–18

Démonstration. Pour E = {x1 , . . . , xn }, et f : E → N un multi-ensemble de


taille k, on a f (x1 ) + · · · + f (xn ) = k, et donc les n-uplet (f (x1 ), . . . , f (xn )) est
une solution de (2.1). Réciproquement, chaque solution (a1 , . . . , an ) donne lieu au
multi-ensemble xi 7→ ai . cqfd.

Le nombre de multi-ensembles de E de taille k est parfois noté nk en analogie




avec la notation des coefficients binomiaux.

Théorème 2.34. Si E est un ensemble fini de cardinal n, le nombre de multi-


ensembles de E de taille k est
   
n k+n−1
= .
k k

Preuve formelle. L’application qui chaque multi-ensemble de [1, n] de taille k de


la forme {1 ≤ a1 ≤ a2 ≤ · · · ≤ ak ≤ n} associe la k-partie de [1, n + k − 1]
{1 ≤ a1 < a2 + 1 < a3 + 2 < · · · < ak + k − 1 ≤ n + k − 1} est une bijection
(vérifiez-le !). cqfd.

Preuve informelle. On répartit k balles indistinguables parmi n boîtes numérotées.


Pour représenter une distribution, on dessine les balles sur une ligne et on utilise n−
1 barres verticales pour représenter les séparations entre deux boîtes consécutives.
L’exemple précédent donne le dessin suivant :

◦ ◦ || ◦ | ◦ ◦◦

Cette représentation contient toute l’information de la répartition, et la dé-


termine uniquement. Par conséquent, choisir une répartition des balles revient à
sélectionner la position des barres parmi les balles. On a k + n − 1 positions (pour
les barres et balles)et il faut choisir quelles vont être occupées par les barres. C’est
à dire, on a k+n−1
k
choix possibles. cqfd.

2.3.3 Formule du binôme


Théorème 2.35 (Binôme de Newton). Dans tout anneau commutatif 1
n  
n
X n k n−k
(a + b) = a b .
k=0
k
1. Un ensemble A muni de deux lois de composition interne, somme ’+’ et produit ’·’, telles
que : (A, +) est un groupe abélien (+ associative, commutative, avec neutre et opposé) ; (A, ·)
est un monoïde commutatif (associative, commutative, avec neutre) ; et la multiplication est
distributive par rapport à la somme.

29
2M226 Combinatoire et Graphes 2017–18

Preuve combinatoire.

(a + b)n = (a + b)(a + b) · · · (a + b)
| {z }
n fois

un terme du développement de ce produit est obtenu en choisissant soit a, soit b


dans chaque facteur. Pour le terme ak bn−k , il faut compter les façons de choisir k
fois a et n − k fois b, donc exactement nk . cqfd.

Preuve calculatoire. Par récurrence sur n.


Initialisation : Pour n = 0, (a + b)0 = 1 = 00 a0 b0 .


Hérédité : Supposons que la propriété est vraie au rang n ≥ 0, et montrons


qu’elle est vraie au rang n + 1. On a
n  
n+1 n
X n k n−k
(a + b) = (a + b)(a + b) = (a + b) a b
k=0
k
n   n  
X n k+1 n−k X n k n+1−k
= a b + a b
k=0
k k=0
k
n+1   n  
`=k+1
X n ` n+1−`
X n k n+1−k
= ab + a b
`=1
`−1 k=0
k
  n      
n n+1 X n ` n ` n+1−` n n+1
= a + a + ab + b
n `=1
` − 1 ` 0
n+1 
X n+1 
= a` bn+1−` .
`=0
`

cqfd.

2.4 Les nombres multinomiaux


Définition 2.36. Etant donné un r-uplet (k1 , k2 , . . . , kr ) d’entiers naturels de
somme n, on définit le coefficient multinomial
 
n
k1 , k2 , . . . , kr

comme le nombre de r-uplets (A1 , A2 , . . . , Ar ) de parties disjointes d’un ensemble


E de cardinal n (ex. [1, n]) telles que ∀i, |Ai | = ki . 2
2. Ceci n’est pas forcement une partition si un des ki ’s est 0.

30
2M226 Combinatoire et Graphes 2017–18

n n n n
   
Observation 2.37. 1,...,1
= n! et k,n−k
= k
= n−k
.
n

Observation 2.38. Équivalemment, k1 ,k2 ,...,kr
est

1. le nombre de “permutations” d’un multi-ensemble sur [1, r] de taille n dont


les éléments ont multiplicités respectives k1 , . . . , kr ;

2. le nombre d’anagrammes d’un mot de longueur n dont la i-ème lettre dis-


tincte apparaît ki fois ;

3. le nombre d’applications f de [1, n] dans [1, r] telles que |f −1 (i)| = ki pour


tout 1 ≤ i ≤ r.

Démonstration.

1. À chaque permutation du multi-ensemble de taille n on fait correspondre le


r-uplet (A1 , . . . , Ar ) où Ai ⊂ [1, n] sont les positions occupées par l’élément i.

2. Pareil, en définissant Ai ⊂ [1, n] comme l’ensemble des positions occupées


par la i-ème lettre distincte.

3. À chaque telle surjection f : [1, n] → [1, r] on fait correspondre le r-uplet


(f −1 (1), . . . , f −1 (r)).

cqfd.

Théorème 2.39.  
n n!
=
k1 , k2 , . . . , kr k1 !k2 ! · · · kr !
Démonstration. Nous montrons le résultat par récurrence sur r. Il est vrai pour
r = 1 car on récupère un coefficient binomial.
Si r > 1, on considère l’application φ qui à chaque r-uplet (A1 , A2 , . . . , Ar )
de parties de E disjointes vérifiant |Ai | = ki , assigne la kr -partie Ar . Comme
(A1 , . . . , Ar−1 ) forment un (r − 1)-uplet de parties disjointes de E \ Ar vérifiant
n−kr
|Ai | = ki , nous avons que chaque Ar distinct est l’image de k1 ,...,k r−1
r-uplets
distincts. Du lemme des bergers, on en déduit que
    
n n n − kr
=
k1 , k2 , . . . , kr kr k1 , k2 , . . . , kr−1
n! (n − kr )! n!
= · = .
(n − kr )!kr ! k1 !k2 ! · · · kr−1 ! k1 !k2 ! · · · kr !

cqfd.

31
2M226 Combinatoire et Graphes 2017–18

Dit autrement, on a kn1 choix pour le premier ensemble, n−k


 1

k2
choix pour le
n−k1 −···−kr−1

deuxième ensemble, jusqu’à kr
pour le dernier. Et donc,
    
n n − k1 n − k1 − · · · − kr−1 n!
··· = .
k1 k2 kr k1 !k2 ! · · · kr !
Théorème 2.40 (Multinôme de Newton). Dans tout anneau commutatif
n  
X n
n
(a1 + a2 + · · · + ar ) = ak11 ak22 · · · akr r
k +k +···+k =n
k ,
1 2k , . . . , k r
1 2 r

Démonstration. Dans la multiplication (a1 + a2 + · · · + ar )n = (a1 + a2 + · · · +


ar ) · · · (a1 + a2 + · · · + ar ), chaque occurrence du terme ak11 ak22 · · · akr r correspond
à l’élection du terme a1 dans k1 des facteurs, le terme a2 dans k2 des facteurs,
etc. cqfd.

n

2.4.1 Une estimation de k
n

Pour finir cette section, essayons de comprendre l’ordre de grandeur des nombres k
.
Une borne supérieure évidente est nk ≤ nk .
Lemme 2.41. Pour tout x ∈ R, nous avons 1 + x ≤ ex .
Théorème 2.42. Pour tout n ≥ 1 et pour tout k tel que 1 ≤ k ≤ n, nous avons
 n k n  en k
≤ ≤ .
k k k
Démonstration. Pour le minorant, on considère la description du coefficient bino-
mial comme produit de fractions :
  k−1
n n(n − 1) · · · (n − k + 1) Y n − i
= = .
k k(k − 1) · · · 1 i=0
k − i
n−i
Pour n ≥ k > i ≥ 0 on a k−i
≥ nk , d’où
  k−1
Y n − i k−1
n Y n  n k
= ≥ = .
k i=0
k − i i=0
k k

Pour le majorant, nous allons prouver une inégalité plus forte :


       
n n n en k
+ + ··· + ≤ .
0 1 k k

32
2M226 Combinatoire et Graphes 2017–18

De la formule du binôme, on a que pour tout X ∈ R,


       
n n n 2 n
+ X+ X + ··· + X n = (1 + X)n .
0 1 2 n

Si X > 0, alors on peut supprimer quelques termes de la somme pour obtenir une
inégalité        
n n n 2 n
+ X+ X + ··· + X k ≤ (1 + X)n .
0 1 2 k
En divisant par X k , on obtient

(1 + X)n
       
1 n 1 n 1 n n
+ + + · · · + ≤ .
Xk 0 X k−1 1 X k−2 2 k Xk

Si additionnellement nous avons X < 1, alors on a que X1i ≥ 1 pour tout i ∈ N∗ ,


et donc
(1 + X)n
       
n n n n
+ + + ··· + ≤ .
0 1 2 k Xk
k
Cette inégalité est valide pour tout X ∈]0, 1[. En particulier, pour X = n
:
         n  
n n n n k n k
+ + + ··· + ≤ 1+ .
0 1 2 k n k
k

On finit en appliquant le lemme précédent à 1 + n
         n  
n n n n k n k  k n  n k  n k
+ + + ··· + ≤ 1+ ≤ en = ek .
0 1 2 k n k k k

cqfd.

Pour avoir plus de précision dans nos estimations, il faudrait connaître la taille
relative de k et n. Notez aussi que nous ne pouvons utiliser Stirling directement
n!
dans l’expression k!(n−k)! , car k ne tend pas forcement vers ∞.

2.4.2 La “forme” de l’ensemble des coefficients binomiaux

n
 On va essayer de comprendre la “forme” de l’ensemble des coefficients binomiaux
k
pour un n fixé très grand. Nous avons déjà montré la symétrie de cet ensemble
n n
respecte k = n−1
2
, k
= n−k
. En regardant le triangle de Pascal, on veut aussi
que les nombres croissent jusqu’à la moité et qu’après ils décroissent. Montrons-le.

33
2M226 Combinatoire et Graphes 2017–18

Lemme 2.43. Pour n, k ∈ N avec 0 ≤ k ≤ n − 1,


   
n n n−1
< si et seulement si k < ,
k k+1 2
   
n n n−1
= si et seulement si k = , et
k k+1 2
   
n n n−1
> si et seulement si k > .
k k+1 2

Démonstration. À partir de l’expression en factorielles, on observe que


n
 n!
k+1 (k+1)!(n−k−1)! k!(n − k)! n−k
n
 = n!
= = ,
k k!(n−k)!
(k + 1)!(n − k − 1)! k+1
n
(k+1 )
et donc > 1 si et seulement si n − k > k + 1, c’est à dire, n − 1 > 2k. cqfd.
(nk)
n

En particulier, les plus grands coefficients binomiaux sont ceux du milieu : n/2
n n
 
si n est pair, et dn/2e et bn/2c si n es impair. Pour estimer sa taille, on observe
d’abord que
2n
 
n
≤ ≤ 2n
n+1 bn/2c
On a le majorant car lasomme de tous les coefficients binomiaux est 2n . Pour le
n
minorant, comme bn/2c est le plus grand des coefficients binomiaux, il doit être
2n
plus grand que leur moyenne, qui vaut n+1 . Nous voyons donc qu’il s’agit d’un
nombre de taille exponentielle en n.
Avec Stirling, on peut faire cette estimation beaucoup plus précise. Rappelons
que  
n n!
= ,
n/2 (n/2)!(n/2)!
et que la formule de Stirling dit
√  n n √  n n/2
n! ∼ 2πn , (n/2)! ∼ πn ;
e 2e
et donc √ n
2πn ne
 
n
q
2 n
∼ √ 2 = πn 2 .
n/2 n
n/2
πn 2e

On peut regarder nk comme une



n
 fonction de k pour un n fixé très grand. À
mesure que n croit, le dessin de k s’approche à une courbe en forme de cloche

34
2M226 Combinatoire et Graphes 2017–18

centrée à n2 . Cette courbe limite, lorsque on la centre et l’escale convenablement,


−x2
est la courbe de Gauss x 7→ e 2 . Elle est très importante en probabilité et
statistique, car c’est la fonction de densité de la distribution
qnormale.
−(x−(n/2))2
(nk) 2
Plus précisément, la fonction k 7→ 2n s’approche à x 7→ πn e n/2 lorsque
n → ∞.

2.5 Formule du crible


Le principe d’addition sert à calculer le cardinal de la réunion de plusieurs
ensembles deux-à-deux disjoints. Comment fait-on s’ils ne sont pas disjoints ?
Si A1 et A2 sont deux ensembles pas forcement disjoints, alors on a vu que
|A1 ∪ A2 | = |A1 | + |A2 | − |A1 ∩ A2 |.
Pour trois ensembles A1 , A2 , A3 , on peut raisonner cas par cas pour montrer que
|A1 ∪ A2 ∪ A3 | = |A1 | + |A2 | + |A3 | − |A1 ∩ A2 | − |A1 ∩ A3 | − |A2 ∩ A3 | + |A1 ∩ A2 ∩ A3 |
Ceci se généralise à un nombre arbitraire d’ensembles comme suit :
Théorème 2.44. (Formule du crible/Principe d’inclusion-exclusion)
Soient A1 , . . . , An des ensembles finis. Alors,

[n X \
Ai = (−1)|I|+1 Ai


i=1 I⊆[1,n],I6=∅ i∈I

Démonstration. Nous démontrons le théorème en utilisant les fonctions caracté-


ristiques. On rappelle que la fonction caractéristique d’un partie A d’un ensemble
E est l’application
fA : E → {0, 1}
(
1 si x ∈ A
x 7→ .
0 si x ∈
/A
Sn
Soient Ai les complémentaires des Ai pour 1 ≤ i ≤ n. Notons A = i=1 Ai la
réunion des Ai . Alors son complémentaire est
n
[ n
\
A= Ai = Ai .
i=1 i=1

Comme |A| = |E| − |A|, il suffit de calculer le cardinal de A.


Nous allons utiliser trois propriétés des fonctions caractéristiques :

35
2M226 Combinatoire et Graphes 2017–18

1)
fA (x) = 1 − fA (x)
2)
fA∩B (x) = fA (x) · fB (x)
3) X
|A| = fA (x)
x∈E

Donc, on a
n n
X X XY XY
A = fA (x) = f ni=1 Ai (x) =
T fAi (x) = (1 − fAi (x))
x∈E x∈E x∈E i=1 x∈E i=1
X X Y X X
|I| |I| T
= (−1) fAi (x) = (−1) f i∈I Ai (x)
x∈E I⊆[1,n] i∈I x∈E I⊆[1,n]

X X X \
= (−1)|I| fTi∈I Ai (x) = |I|
(−1) Ai (x) .


I⊆[1,n] x∈E I⊆[1,n] i∈I

Il en découle que

X \ X \
|A| = |E| − |A| = |E| − (−1)|I| Ai (x) = (−1)|I|+1 Ai (x) ,


I⊆[1,n] i∈I I⊆[1,n],I6=∅ i∈I

T
où nous avons utilisé que E = i∈∅ Ai (x), car c’est le terme qui ce correspond à
la fonction caractéristique constante égale à 1. cqfd.

2.5.1 Le nombre de surjections, revisité


La formule du crible nous fournit une formule alternative de calculer |Fsurj (E, F )|,
le nombre de surjections de E dans F .

Théorème 2.45. Soient E et F des ensembles finis non-vides de cardinaux res-


pectifs n et k, tels que n ≥ k. Alors
 
k−` k
X
|Fsurj (E, F )| = (−1) `n
0≤`≤k
`

Démonstration. Pour simplifier la notation, on pose E = [1, n] et F = [1, k]. On


considère l’ensemble F(E, F ) \ Fsurj (E, F ) des applications non surjectives de E
dans F . Son cardinal est clairement k n − |Fsurj (E, F )|.

36
2M226 Combinatoire et Graphes 2017–18

Pour tout i ∈ [1, k], notons

Ai = f : E → F : f −1 (i) = ∅ .


La réunion des Ai est l’ensemble des applications qui ne sont pas surjectives. Pour
tout ∅ 6= I ⊆ [1, k], on pose
\
Ai = f : E → F : f −1 (I) = ∅ ,

AI =
i∈I

et on remarque que AI = F(E, F \ I), et donc |AI | = (k − |I|)n .


La formule du crible donne donc
k
[ X \
|Fsurj (E, F )| =k n − Ai = k n − (−1)|I|−1 Ai


i=1 ∅(I⊆[1,k] i∈I
X X
=k n − (−1)|I|−1 |AI | = k n − (−1)|I|−1 (k − |I|)n
∅(I⊆[1,k] ∅(I⊆[1,k]
X X X X
n |I|−1
=k − (−1) (k − |I|) = k n −
n
(−1)i−1 (k − i)n
1≤i≤k I⊆[1,k] 1≤i≤k I⊆[1,k]
|I|=i |I|=i
X k  X k 
n i−1 n n
=k − (−1) (k − i) = k + (−1)i (k − i)n
1≤i≤k
i 1≤i≤k
i
X k    
X k
= (−1)i (k − i)n = (−1)k−` (`)n
0≤i≤k
i 0≤`≤k
k − `
 
X k
= (−1)k−` (`)n .
0≤`≤k
`

cqfd.

37
2M226 Combinatoire et Graphes 2017–18

38
Chapitre 3

Fonctions génératrices

3.1 L’anneau des séries formelles


3.1.1 Rappel : L’anneau des polynômes
Soit A un anneau commutatif (nous sommes surtout intéressés par les cas
A = Z, Q, R et C). L’anneau des polynômes à coefficients dans A est l’anneau
commutatif A[X] dont les éléments sont des suites finies P = (pi )0≤i≤n , avec pi ∈ A
et n ∈ N, qu’on écrit sous la forme
P (X) = p0 + p1 X + p2 X 2 + · · · + pn X n ;
muni des lois de somme et produit
P suivantes :
Pour des polynômes P (X) = k≥0 pk X k et Q(X) = k≥0 qk X k , où pi = qj = 0
P
pour tout i > deg(P ) et j > deg(Q),
• la somme de P et Q est le polynôme (P + Q)(X) = k≥0 (pk + qk )X k , et
P

P Pk 
k
• le produit de P et Q est le polynôme (P Q)(X) = k≥0 i=0 i k−i X
p q
Notez qu’ici, implicitement, on est en train de traiter les coefficients d’un po-
lynôme comme une suite infinie dont tous les termes, sauf un nombre fini, sont 0.
On dit qu’une telle suite infinie est à support fini.
L’anneau des polynômes est donc une structure algébrique sur l’ensemble de
suites à support fini. Nous allons étendre cette structure à l’ensemble de toutes les
suites.

3.1.2 Séries formelles


Soit A un anneau commutatif. Une suite à valeurs dans A est une application
f : N → A. On utilise souvent la notation (an )n∈N pour désigner une suite f dont

39
2M226 Combinatoire et Graphes 2017–18

f (i) = ai . Nous allons représenter une suite (an )n∈N comme les coefficients d’une
série formelle infinie de la forme
X
A(X) = a0 + a1 X + a2 X 2 + a3 X 3 + · · · = an X n
n≥0

qu’on appelle la fonction génératrice de (an )n∈N .

Définition 3.1. L’ensemble des séries formelles à coefficients dans A, noté


A[[X]] (e.g. Z[[X]], Q[[X]], R[[X]], C[[X]]) est l’ensemble des suites à coefficients
dans A muni des opérations suivantes :

• L’opération somme : Si A(X) = n≥0 an X n et B(X) = n≥0 bn X n sont


P P
respectivement les fonctions génératrices de (an )n∈N et (bn )n∈N , alors leur
somme est

A(X) + B(X) = (a0 + b0 ) + (a1 + b1 )X + (a2 + b2 )X 2 + · · ·


X
= (ak + bk )X k
n∈N

qui est la série génératrice de la suite (an + bn )n∈N .


n
P
• L’opération produit, appelée produit de Cauchy : Si A(X) = n≥0 an X
n
P
et B(X) = n≥0 bn X sont respectivement les fonctions génératrices de
(an )n∈N et (bn )n∈N , alors leur produit (de Cauchy) est

A(X) · B(X) = (a0 b0 ) + (a0 b1 + a1 b0 )X + (a0 b2 + a1 b1 + a2 b0 )X 2 + · · ·


n
!
X X
= ak bn−k X k .
n∈N k=0

qui est la série génératrice de la suite ( nk=0 ak bn−k )n∈N .


P

Remarque 3.2. On pense aux séries formelles comme une notation alternative
pour l’ensemble des suites. En particulier, la variable X ne prend pas de valeur.
C’est un “marque-page” qui sert tout simplement à étiqueter les positions des
coefficients.
De la même façon que les séries formelles généralisent les polynômes, les séries
entières généralisent les fonctions polynomiales. Ces deux concepts sont fortement
liés, et à cause de ça plusieurs résultats que vous connaissez sur les séries entières
sont aussi vrais pour les séries formelles. Ils sont néanmoins deux concepts différents
qui ne faut pas confondre. Les séries formelles sont un objet purement algébrique.
En particulier, on ne se posera aucun problème de convergence.

40
2M226 Combinatoire et Graphes 2017–18

Théorème 3.3. Si A est un anneau commutatif, l’ensemble A[[X]] des séries


formelles à coefficients dans A muni de la somme et le produit de Cauchy est un
anneau commutatif. Les éléments neutres de l’addition et la multiplication sont les
séries (0, 0, 0, 0, . . . ) et (1, 0, 0, 0, . . . ), et l’opposé de A(X) est donné par −A(X) =
n
P
n≥0 (−a n )X .

3.1.3 Une justification pour la notation


À priori, la notation de somme dans la série formelle est purement formelle.
Elle a quand même un sens.
Pour rendre la notation plus agile, pour tout λ ∈ A on écrit simplement λ
pour désigner la série génératrice de la suite (λ, 0, 0, . . . ). Si on note X la série
génératrice de la suite (0, 1, 0, 0, . . . ), alors on vérifie que la puissance k-ième de X
par le produit de Cauchy est la suite qui a un 1 à la k-ième position et 0 ailleurs
(on commence les indexes à zéro).
Donc, si (λn )n∈N est une suite à support fini, c’est-à-dire, dont les termes sont
nuls à partir d’un certain rang : ∃k ∈ N tel que λn = 0 pour tout n > k. Alors la
série génératrice de (λn )n∈N est la somme finie
k
X
2 k
λ0 + λ1 · X + λ2 · X + · + λk · X = λn X n ,
n=0

de produits des λi avec des puissances de la suite X.


En fait, toute série formelle peut s’écrire comme une somme infinie de mul-
tiples de puissances de X. Ceci peut se formaliser comme un limite d’une suite
de polynômes en introduisant une norme sur l’ensemble des séries formelles, mais
c’est malheureusement hors programme (voir [Aigner, 2007, Sect. 2.3]).
On peut identifier les séries à support fini avec les polynômes, alors les opéra-
tions qu’on a décrit sont la somme et le produit usuels de l’anneau de polynômes.

Proposition 3.4. L’anneau commutatif A[X] des polynômes à coefficients dans A


est un sous-anneau de l’anneau A[[X]] des séries formelles à coefficients dans A.

3.1.4 Inverse multiplicatif


Théorème 3.5. La série formelle A(X) = a0 + a1 X + a2 X 2 + · · · ∈ A[[X]] admet
un inverse multiplicatif si et seulement si a0 est inversible dans A (en particulier
si et seulement si a0 6= 0, si A = R ou A = C). Dans ce cas là, l’inverse de A(X)
est unique.

Démonstration.

41
2M226 Combinatoire et Graphes 2017–18

=⇒ Supposons que A(X) admet un inverse multiplicatif B(X) = b0 + b1 X +


b2 X 2 + · · · . Alors, A(X)B(X) = 1. C’est-à-dire,

1 = (a0 + a1 X + a2 X 2 + · · · )(b0 + b1 X + b2 X 2 + · · · )
= (a0 b0 ) + (a0 b1 + a1 b0 )X + (a0 b2 + a1 b1 + a2 b0 )X 2 + · · · .

Donc a0 b0 = 1. C’est à dire, a0 est inversible d’inverse a−1


0 = b0 .

⇐= Supposons que a0 est inversible. On définit de façon récursive une série for-
melle B(X) = b0 + b1 X + b2 X 2 + · · · qui vérifie les équations imposées par
le fait d’être l’inverse de A(X) :
(
a0 b 0 = 1
Pn
k=0 ak bn−k = 0 pour n ≥ 1

En effet, ce système d’équations a une unique solution donnée par


1
b0 =
a0
1
b1 = (−a1 b0 )
a0
1
b2 = (−a1 b1 − a2 b0 )
a0
..
.
k
1 X
bk = (− ai bk−i )
a0 i=1

Et donc, A(X) est inversible. cqfd.

On dénote A(X)−1 , où bien 1


A(X)
, l’inverse multiplicatif de A(X). En particulier,
A(X)
il faut lire la notation B(X)
comme A(X)B(X)−1 .

Corollaire 3.6. Pour tout α ∈ A, 1 − αX ∈ A[[X]] est inversible, et son inverse


est
1 X
= X n = 1 + αX + α2 X 2 + α3 X 3 + · · ·
1 − αX n∈N

Démonstration.

(Version 1) Il suffit de vérifier que si a0 = 1, a1 = −α et an = 0 pour tout n ≥ 2, alors


la solution des équations du théorème précédent donnent bk = αk ∀k ≥ 0.

42
2M226 Combinatoire et Graphes 2017–18

En effet, on le voit par récurrence sur k.


1
Initialisation : b0 = a0
= 1.
Hérédité :
k
1 X 1 H.R.
bk = (− ai bk−i ) = (−(−α)bk−1 ) = ααk−1 = αk .
a0 i=1
1

(Version 2) Il faut vérifier que

1 = (1 − αX)(1 + αX + α2 X 2 + α3 X 3 + · · · ).

En effet,
X X X
(1 − αX)( αn X n ) = ( αn X n ) − αX( αn X n )
n≥0 n≥0 n≥0
X X X X
=( αn X n ) − ( αn+1 X n+1 ) = ( αn X n ) − ( αn X n )
n≥0 n≥0 n≥0 n≥1
X X
=1+( αn X n ) − ( αn X n ) = 1
n≥1 n≥1

cqfd.

En particulier,

Corollaire 3.7. La série formelle (1 − X) ∈ A[[X]] est inversible, et son inverse


est
1 X
= Xn = 1 + X + X2 + X3 + · · ·
1−X n∈N

3.2 Théorème du binôme pour des exposants né-


gatifs
Définition 3.8. Pour r ∈ R et k ∈ N, on définit le nombre/coefficient binomial
r

généralisé k par la formule
 
r r(r − 1)(r − 2) · · · (r − k + 1)
= .
k k!

qui vaut 0 si k = 0.

43
2M226 Combinatoire et Graphes 2017–18

Notez que c’est une généralisation des coefficients binomiaux de la Section 2.3,
qu’on récupère quand r ∈ N.
Voici quelques exemples de coefficients binomiaux généralisés :

• Pour r = −1,  
−1 (−1)(−2) · · · (−k)
= = (−1)k .
k k(k − 1) · · · 1

• Pour r = −2
 
−2 (−2)(−3) · · · (−k)(−k − 1) (k + 1)!
= = (−1)k = (−1)k (k + 1).
k k(k − 1) · · · 1 k!

• Pour r = −m avec m ∈ N
   
−m (−m)(−m − 1) · · · (−m − k + 1) k m+k−1
= = (−1)
k k(k − 1) · · · 1 k
 
m
= (−1)k .
k

• Pour r = − 12
   k
−1/2 (−1/2)(−3/2) · · · (−(2k − 1)/2) −1 (2k − 1)(2k − 3) · · · 1
= =
k k(k − 1) · · · 1 2 k(k − 1) · · · 1
 k  k
−1 1 2k(2k − 1)(2k − 2) · · · 1 (∗) −1 1 (2k)!
= =
2 2k(2k − 2) · · · 2 k(k − 1) · · · 1 2 2k k! k!
 k  
−1 2k
= .
4 k

où nous avons utilisé à (∗) que 2k(2k − 2) · · · 2 = 2k k!.

Théorème 3.9. Pour un nombre entier quelconque r ∈ Z, la fonction (1 + X)r


est la fonction génératrice de la suite ( 0r , 1r , 2r , . . . ). C’est-à-dire
 

X r 
r
(1 + X) = X k.
k≥0
k

Comme nous connaissons déjà ce résultat quand r ∈ N, il suffit de considérer


le cas des entiers négatifs. On montre un cas légèrement plus général (on obtient
le théorème si on pose α = −1 dans le résultat suivant).

44
2M226 Combinatoire et Graphes 2017–18

Proposition 3.10. Pour tout α ∈ C et m ∈ N

     
−m
X −m k k X m + k − 1 k k X m
k
(1−αX) = (−1) α X = α X = αk X k .
k≥0
k k≥0
k k≥0
k

Démonstration. En effet,

X
(1 − αX)−1 = 1 + αX + α2 X 2 + · · · = αn X n ,
n∈N

et donc

 m
−m 1
(1 − αX) = = (1 + αX + α2 X 2 + · · · ) · · · (1 + αX + α2 X 2 + · · · )
1 − αX | {z }
m fois
   
X X X X
= α x1 α x2 · · · α xm  X k = αk  X k
 
 
k≥0 x1 ,x2 ,...,xm ∈N k≥0 x1 ,x2 ,...,xm ∈N
x1 +x2 +···+xm =k x1 +x2 +···+xm =k
 
X X
= 1 αk X k


k≥0 x1 ,x2 ,...,xm ∈N
x1 +x2 +···+xm =k

 
P
Mais le coefficient x1 ,x2 ,...,xm ∈N 1 est le nombre de solutions de l’équation
x1 +x2 +···+xm =k

x1 + x2 + · · · + xm = k

dont tous les xi ∈ N. Nous avons vu que ceci est le nombre de multi-ensembles de
m m+k−1
 
taille k d’un ensemble de cardinal m. C’est à dire k = k
. cqfd.

En fait, ce résultat se généralise à tout exposant r ∈ R, mais nous n’avons pas


(encore) défini des puissances des séries formelles par des exposants qui ne sont
pas des entiers naturels !

45
2M226 Combinatoire et Graphes 2017–18

3.3 Équations de récurrence linéaires


3.3.1 La suite de Fibonacci
La suite de Fibonacci 1 est la suite (fn )n∈N définie par les conditions initiales
et l’équation de récurrence suivante

f 0 = 0

f1 = 1

fn = fn−1 + fn−2 pour n ≥ 2.

Nous allons calculer une formule explicite pour fn à partir de sa série génératrice
X
F (X) = f0 + f1 X + f2 X 2 + · · · = fn X n .
n∈N

On part de l’équation de récurrence, qui est valable pour chaque n ≥ 2. On


peut donc la multiplier par X n et en faire la somme pour tout n ≥ 2. On ex-
prime l’équation résultante en termes de F (X). On la résout, ce qui nous permet
d’exprimer F (X) comme un quotient de polynômes. Comme suit :
fn = fn−1 + fn−2 ∀n ≥ 2,
fn X n = fn−1 X n + fn−2 X n ∀n ≥ 2,
X X X
fn X n = fn−1 X n + fn−2 X n ,
n≥2 n≥2 n≥2
X X X
n n−1
fn X = X fn−1 X + X2 fn−2 X n−2 ,
n≥2 n≥2 n≥2
X X X
fn X n = X fn X n + X 2 fn X n ,
n≥2 n≥1 n≥0
2
F (X) − f0 − f1 X = X(F (X) − f0 ) + X F (X)
F (X) − X = XF (X) + X 2 F (X),
(1 − X − X 2 )F (X) = X,
X
F (X) = .
1 − X − X2
1. Cette suite doit son nom à Leonardo Fibonacci (v. 1175 - v. 1250) qui dans son ouvrage
Liber abaci (1202) proposa un problème dont la solution est la suite de Fibonacci. Il s’agit
d’étudier la taille d’une population de lapins (pas trop réaliste) qui se comporte comme suit :
(i) Au début du premier mois, on introduit une couple de lapereaux. (ii) Les lapereaux ont besoin
d’un mois pour grandir avant de procréer ; ils ne procréent qu’à partir de la fin de son deuxième
mois. (iii) Chaque début de mois, toute couple susceptible de procréer engendre effectivement
une nouvelle couple de lapereaux. (iv) Les lapins ne meurent jamais. Quel est le nombre fn de
couples de lapins au début du n-ième mois ?

46
2M226 Combinatoire et Graphes 2017–18

√ √
Les racines de 1 − X − X 2 sont λ = − 1+√2 5 et µ = − 1−2 5 . (On remarque que
λ = −ϕ = 1−ϕ1
et µ = ϕ − 1 = ϕ1 , où ϕ = 1+2 5 est le nombre d’or.)
Du Théorème de décomposition en éléments simples, on sait qu’il existent a, b ∈
C tels que
X a b
2
= + .
1−X −X X −λ X −µ
C’est plus convenable de diviser les dénominateurs par λ et µ, respectivement, et
travailler avec les constantes A = −a
λ
et B = −b
µ
et avec les coefficients ϕ0 = 1−ϕ =
1
λ
et ϕ = µ1 :

−a −b
X λ µ A B A B
2
= X
+ X
= X
+ X
= 0
+ .
1−X −X 1− λ 1− µ
1− λ 1− µ 1 − ϕ X 1 − ϕX

Pour trouver les valeurs de A et B, on multiplie

X A B A(1 − ϕX) + B(1 − ϕ0 X)


= + =
1 − X − X2 1 − ϕ0 X 1 − ϕX (1 − ϕ0 X)(1 − ϕX)
(A + B) + (−Aϕ − Bϕ0 )X
=
1 − X − X2

et on obtient le système suivant


(
A+B =0
−Aϕ − Bϕ0 =1

−1 √1 .
dont la solution est A = √
5
et B = 5
D’où,

√ √ 1 1
X 5 5
F (X) = = −
1 − X − X2 1 − ϕX 1 − ϕ0 X
1 X n n 1 X 0n n X 1
=√ ϕ X −√ ϕ X = √ (ϕn − ϕ0n )X n
5 n∈N 5 n∈N n∈N
5

et donc
√ !n √ !n !
1 1 1+ 5 1− 5
fn = √ (ϕn − ϕ0n ) = √ − .
5 5 2 2

47
2M226 Combinatoire et Graphes 2017–18

3.3.2 Récurrences linéaires homogènes à coefficients constants


Cette méthode sert à trouver la forme générale de toute suite (y0 , y1 , y2 , . . . )
qui vérifie une récurrence linéaire homogènes à coefficients constants. C’est à dire,
une récurrence de la forme

yn+k = ak−1 yn+k−1 + ak−2 yn+k−2 + · · · + a1 yn+1 + a0 yn

où ai ∈ C.
Les étapes à suivre sont :

0.- Étude combinatoire et obtention de la relation de récurrence.

1.- Calcul de la série génératrice associée à notre suite.

(a) Multiplier l’équation de récurrence par X n+k et faire la somme pour


n ∈ N.
En déduire une équation en fonction de la série génératrice Y (X) =
(b) P
n
n∈N yn X et les termes initiaux de y0 , . . . , yk .
P (X)
(c) Résoudre et obtenir une expression comme fraction rationnelle Q(X)
.
β n+m−1
P  n n
(d) Décomposer en fractions simples de la forme (1−αX) m = β n∈N m
α X .
Rappel : Si Q(X) = β(X − α1 )m1 · · · (X − αk )mk ∈ C[X] avec β, αi 6= 0,
alors ∃P 0 (X) ∈ C[X] et γij ∈ C où 1 ≤ i ≤ k et 1 ≤ j ≤ mk , tels que

P (X) X γij
= P 0 (X) +
Q(X) 1≤i≤k
(1 − αXi )j
1≤j≤mk

2.- Obtention du terme général avec le théorème du binôme généralisé.

48
Deuxième partie

Graphes

49
Chapitre 4

Introduction à la théorie de graphes

4.1 Graphes et isomorphismes


Définition 4.1. Un graphe (simple non-orienté) est un couple G = (S, A), où S
est un ensemble fini quelconque et A est un sous-ensemble de P2 (S). Les éléments
de S sont appelés sommets (ou nœuds) et les éléments de A sont appelés arêtes.

Soit G = (S, A) un graphe. On écrit respectivement S(G) et A(G) pour désigner


son ensemble de sommets et d’arêtes. L’ordre de G est le cardinal de son ensemble
de sommets, |S(G)|. On dit que s, s0 ∈ S sont adjacents ou voisins lorsque
{s, s0 } ∈ A.
On représente souvent les graphes par des dessins dans le plan, où les sommets
sont représentés par des points du plan, et les arêtes par des lignes joignant les
paires de points correspondantes.
Il ne faut pas confondre un graphe, qui est un objet purement combinatoire,
avec son dessin. Un même graphe peut être représenté de plusieurs façons. Par
exemple, voici deux représentations du graphe

G = ({a, b, c, d}, {{a, b}, {b, c}, {c, d}, {d, a}})

a a c
b d

c d b

Observation 4.2. Ce qu’on appelle ‘graphe’ ici est d’habitude appelé ‘graphe
simple non-orienté’ pour le distinguer d’autres notions voisines. En effet, il existent
autres notions de graphe qui admettent des boucles et des arêtes multiples (parfois
appelés des multigraphes), où les arêtes sont orientés, où valuées . . . Sauf si cela

51
2M226 Combinatoire et Graphes 2017–18

est explicitement mentionné, tout graphe sera considéré simple et non-orienté, et


nous n’allons pas insister à le préciser.

Question 4.3. Quel est le nombre de graphes distincts sur un ensemble fixé de n
sommets S ?

Solution. Un graphe sur l’ensemble de sommets S est déterminé par son ensemble
d’arêtes, qui est une partie de P2 (S). Le nombre de graphes est donc le nombre de
parties de P2 (S) :
n
|P(P (S))| = 2|P2 (S)| = 2( 2 ) .
2

Par exemple, il y a 8 graphes distincts dont l’ensemble des sommets est S =


{a, b, c} :

c c c c

a b a b a b a b
c c c c

a b a b a b a b

4.1.1 Isomorphisme
Définition 4.4. Deux graphes G = (S, A) et G0 = (S 0 , A0 ) sont dits isomorphes
s’il existe une bijection ϕ : S → S 0 , dite isomorphisme, telle que pour toute paire
de sommets {x, y} ∈ P2 (S) on a

{x, y} ∈ A ⇐⇒ {ϕ(x), ϕ(y)} ∈ A0 .

L’isomorphisme envoie des sommets adjacents sur des sommets adjacents, et


des sommets non adjacents sur des sommets non adjacents. Il peut être vu sim-
plement comme une façon de “renommer les sommets” d’un graphe sans changer
les adjacences. La relation ∼
=, où G ∼
= G0 s’ils sont isomorphes, est une relation
d’équivalence sur les graphes.

52
2M226 Combinatoire et Graphes 2017–18

Par exemple, les graphes d’ordre 3 se répartissent en quatre classes d’isomor-


phisme. On dit qu’il y a, à isomorphisme près, 4 graphes simples d’ordre 3 dis-
tincts :

Question 4.5. Quel est le nombre de graphes d’ordre n à isomorphisme près ?

Solution. Ceci est une question beaucoup plus difficile 1 . On peut quand même
trouver des estimations raisonnables assez facilement.
Soit Gn l’ensemble des graphes dont les sommets sont [1, n], et soit

π : Gn → G/ ∼
=

l’application qui assigne chacun de ces graphes à sa classe d’isomorphisme. Quelle


est la taille de la classe d’isomorphisme de G ? Chaque isomorphisme est déterminé
par une bijection S → S. Comme le nombre de bijections d’un ensemble de cardinal
n est n!, chaque classe d’équivalence contient au plus n! graphes (et au moins 1).
Donc, le nombre de classes d’équivalence est au moins
n
|Gn | 2( 2 )
= .
n! n!
n
Cette fonction de n ne croît pas beaucoup plus lentement que 2( 2 ) . En effet, consi-
dérons les logarithmes de ces deux fonctions (et en utilisant que n! ≤ nn ) :
2
   
 n
 n n 1
log2 2( ) =
2 = 1−
2 2 n
n
!  
2( 2 ) n2
   
n n 1 2 log2 (n)
log2 = − log2 (n!) ≥ − n log2 (n) = 1− − .
n! 2 2 2 n n

Donc, pour les grandes valeurs de n, les logarithmes des deux fonctions se com-
portent “à peu près comme” la fonction 21 n2 .
1. En fait, le problème de décider si deux graphes sont isomorphes est très important et très
difficile. C’est un sujet de recherche actuel : en 2015, le mathématicien hongrois László Babai a
annoncé un nouveau algorithme pour résoudre ce problème qui fait largement descendre la borne
de complexité de ce problème qui joue un rôle fondamental en théorie de la complexité. C’est un
des résultats récents les plus importants en algorithmique.

53
2M226 Combinatoire et Graphes 2017–18

4.2 Bestiaire
Nous allons donner des exemples de (classes d’isomorphismes de) graphes na-
turels, que l’on rencontre souvent.

• Le n-stable, ou stable d’ordre n, Sn : S(Sn ) = [1, n], A(Sn ) = ∅.

S2 S3 S4 S5

• La n-clique, ou graphe complet, Kn : S(Kn ) = [1, n], A(Kn ) = P2 (S).

K2 K3 K4 K5

• La n-chaîne ou chaîne de longueur n, Pn : S(Pn ) = [0, n] (c’est donc un


graphe d’ordre n + 1), A(Pn ) = {{i, i + 1} : 0 ≤ i < n}.

P1 P2 P3 P4

• Pour n ≥ 3, le n-cycle ou cycle de longueur n, Cn : S(Cn ) = [1, n] (c’est


donc un graphe d’ordre n), A(Cn ) = {{i, j} : |i − j| = 1 ou |i − j| = n − 1}.

C3 C4 C5 C6

• Pour d ≥ 0, le d-cube Qd , ou cube de dimension d : S(Qd ) = {0, 1}d ,


A(Qd ) = {{x, y} : x et y diffèrent en une seule position}.

54
2M226 Combinatoire et Graphes 2017–18

010 011

110 111

100 101

000 001

Q1 Q2 Q3

• Le graphe de Petersen est le graphe suivant, étudié en exercice :

• Pour n, m ∈ N∗ , le graphe (n, m)-biparti complet, Kn,m : S(Kn,m ) =


{a1 , . . . , an } ∪ {b1 , . . . , bm } (c’est donc un graphe d’ordre n + m), A(Kn,m ) =
{{ai , bj } : 1 ≤ i ≤ n, 1 ≤ j ≤ m}.

K11 K12 K22 K23

4.3 Degrés
Soit G un graphe. Le voisinage d’un sommet x ∈ S(G) est l’ensemble des
sommets qui lui sont adjacents. Le degré d’un sommet x ∈ S(G), noté d(x), est
le cardinal de son voisinage :
d(x) = |{y ∈ S \ {x} : {x, y} ∈ A}| .
Le degré minimum, respectivement maximum, du graphe G est défini comme
δ(G) = min d(s)
s∈S

55
2M226 Combinatoire et Graphes 2017–18

respectivement
∆(G) = max d(s).
s∈S

Si ces deux nombres sont égaux, c’est-à-dire si tous les sommets ont le même
degré k, on dit que le graphe est k-régulier.

4.3.1 Le lemme des poignées de main


Théorème 4.6 (Lemme des poignées de mains). Soit G = (S, A) un graphe,
alors : X
d(s) = 2|A|.
s∈S

C’est-à-dire, le nombre d’arêtes d’un graphe est égal à la demi-somme des degrés
de ses sommets.
Démonstration. On utilise la technique du double décompte. Notons B l’ensemble
des couples (s, a) ∈ S × A tels que s ∈ a. Comme chaque arête a deux bouts, on a
X X
|B| = |{s ∈ S : s ∈ a}| = 2 = 2|A|.
a∈A a∈A

D’autre part, chaque sommet s appartient à d(s) arêtes. On a donc


X X
|B| = |{a ∈ A : s ∈ a}| = d(s),
s∈S s∈S

d’où le résultat. cqfd.

En conséquence,
Corollaire 4.7. Tout graphe possède un nombre pair de sommets de degré impair.
Démonstration. Il suffit de remarquer que l’ensemble S des sommets est la réunion
disjointe de l’ensemble I des sommets qui sont de degré impair et de l’ensemble P
des sommets qui sont de degré pair. D’après le lemme des poignées de mains, on a
X X X
d(s) = d(s) + d(s) = 2|A|
s∈S s∈P s∈I
P
On en déduit donc que s∈I d(s), qui est une somme de nombres impairs, doit
être pair. Ceci entraîne que |I| est pair. cqfd.

4.3.2 Matrices associées à un graphe


Soit G = (S, A) un graphe, où les sommets et les arêtes sont numérotés :
S = {s1 , s2 , . . . , sn } et A = {a1 , a2 , . . . , am }.

56
2M226 Combinatoire et Graphes 2017–18

Matrice d’incidence
La matrice d’incidence de G est la matrice M de taille n × m définie par
(
1 si si est une des deux extrémités distinctes de aj ,
mi,j =
0 si si n’est pas une extrémité de aj .
Exemple :
s3
a1 a2 a3 a4 a5 a6
 
a2 a5 s1 1 1 0 0 0 0
a6 s2 
1 0 1 1 0 0 
s1 a4 s5 M = s3 
0 1 0 1 1 0
s4 s4  0 0 1 0 1 1

a1 a3 s5 0 0 0 0 0 1
s2
Notez que la somme des éléments de la colonne d’indice j vaut 2. La somme
des éléments de la ligne i est, par définition, le degré de si . Ceci nous fournit un
preuve alternative du lemme des poignées de mains :
Démonstration alternative du Théorème 4.6. Le nombre suivant est égal à la somme
de tous les éléments de la matrice d’incidence M :
n n m
! m n
! m
X X X X X X X
d(s) = d(si ) = mij = mij = 2 = 2|A|.
s∈S i=1 i=1 j=1 j=1 i=1 j=1

cqfd.

Matrice d’adjacence
La matrice d’adjacence AG du graphe G est une matrice n × n définie par
(
1 si {si , sj } ∈ A,
aij =
0 sinon.
On voit que cette matrice est symétrique. La somme des éléments d’une ligne
(ou colonne) est le degré du sommet correspondant.
Pour le graphe précédent, la matrice d’adjacence est :

s1 s2 s3 s4 s5
 
s1 0 1 1 0 0
s2 
1 0 1 1 0 
M = s3 
1 1 0 1 0 
s4  0 1 1 0 1
s5 0 0 0 1 0

57
2M226 Combinatoire et Graphes 2017–18

4.3.3 Le théorème d’Havel et Hakimi


Soit G un graphe sur l’ensemble de sommets {s1 , . . . sn }. La suite

(deg(s1 ), deg(s2 ), . . . , deg(sn ))

est appelée la suite des degrés de G (en général on ne tiendra pas compte de
l’ordre et, par convention, on écrira les termes en ordre croissant).
Deux graphes isomorphes ont toujours la même suite de degrés, mais la réci-
proque n’est pas vraie. Par exemple,

n’est pas isomorphe à .

Une suite d’entiers naturels (d1 , . . . , dn ) ∈ [0, n − 1]n est dite graphique si elle
est la suite de degrés d’un graphe G.

Théorème 4.8 (Havel-Hakimi). Soit n ∈ N∗ et soient d1 ≤ d2 ≤ d3 ≤ · · · ≤ dn


des entiers naturels. Alors la suite (d1 , . . . , dn ) est graphique si et seulement si la
suite (d01 , . . . , d0n−1 ) est graphique, où
(
di pour i < n − dn ,
d0i =
di − 1 pour i ≥ n − dn .

Démonstration.
⇐= Supposons que (d01 , . . . , d0n−1 ) est une suite graphique, et soit G0 = (S 0 , A0 ),
avec V = {s01 , . . . , s0n−1 }, un graphe tel que deg(s0i ) = d0i . Alors le graphe G =
(S, A), obtenu en ajoutant un nouveau sommet sn à G comme suit

S = S 0 ∪ {sn },
A = A0 ∪ {{si , sn } : n − dn ≤ i ≤ n − 1} ,

a (d1 , . . . , dn ) comme suite de degrés.


=⇒ Supposons que (d1 , . . . , dn ) est une suite graphique. Nous voulons montrer que
(d01 , . . . , d0n−1 ) est aussi une suite graphique. Si on trouve un graphe G à n sommets
dont la suite de degrés est (d1 , . . . , dn ) et tel que le sommet sn est adjacent à tous
les sommets si avec n−dn ≤ i ≤ n−1, alors nous pouvons renverser la construction
de la preuve précédente : si l’on supprime sn à G, on obtient un graphe G0 dont la
suite de degrés est (d01 , . . . , d0n−1 ).
Nous allons montrer qu’il existe un graphe G qui vérifie ces propriétés. Suppo-
sons par l’absurde qu’un tel graphe n’existe pas. Considérons alors un graphe G

58
2M226 Combinatoire et Graphes 2017–18

avec sommets {s1 , . . . , sn } et degrés d(si ) = di pour 1 ≤ i ≤ n et tel que sn soit


adjacent à un maximum de sommets dans {sn−dn , . . . , sn−1 } (il existe puis que la
suite est graphique).
Par hypothèse, il existe un k, n − dn ≤ k ≤ n − 1, tel que {sk , sn } ∈ / A. De
plus, comme d(sn ) = dn , il existe un `, 1 ≤ ` ≤ n − dn − 1, tel que {s` , sn } ∈ A.
Comme ` < k, on a d(sk ) ≥ d(s` ). Deux cas sont alors possibles.
Si d(sk ) = d(s` ), alors si l’on renumérote les sommets de G en échangeant sk
et s` , on obtient un graphe G0 dont la suite de degrés reste inchangée. Par contre,
dans ce nouveau graphe, sn a un voisin supplémentaire dans {sn−dn , . . . , sn−1 }, ce
qui contredit la maximalité de G.
Si d(sk ) > d(s` ), alors il existe un m 6= k, ` tel que sm soit adjacent à sk mais
pas à s` . On a forcement que m 6= n. On considère le graphe G0 obtenu de G en
remplaçant les arêtes {sn , s` } et {sk , sm } par les arêtes {sn , sk } et {s` , sm }. La suite
de degrés reste inchangé, mais dans G0 le sommet sn est adjacent à strictement
plus de sommets dans {sn−dn , . . . , sn−1 }, ce qui est une contradiction.
cqfd.
Question 4.9. Existe-t’il un graphe dont la suite des degrés soit (1, 1, 1, 2, 2) ? Si
oui, donner un exemple.
Solution. No, car le nombre de sommets impairs doit être pair.
Question 4.10. Existe-t’il un graphe dont la suite des degrés soit (1, 1, 1, 3, 4) ?
Si oui, donner un exemple.
Solution. D’après le théorème d’Havel et Hakimi, on a les équivalences suivante :
(1, 1, 1, 3, 4) graphique ⇐⇒ (0, 0, 0, 2) graphique
⇐⇒ (0, −1, −1) graphique
Mais (−1, −1, 0) n’est clairement pas une suite graphique, et donc on en déduit
qu’il n’existe pas de graphe dont la suite des degrés soit (1, 1, 1, 3, 4).
Question 4.11. Existe-t’il un graphe dont la suite des degrés soit (1, 1, 1, 2, 2, 3, 4, 5, 5) ?
Si oui, donner un exemple.
Solution. D’après le théorème d’Havel et Hakimi, on a les équivalences suivantes :
(1, 1, 1, 2, 2, 3, 4, 5, 5) graphique ⇐⇒ (1, 1, 1, 1, 1, 2, 3, 4) graphique
⇐⇒ (1, 1, 1, 0, 0, 1, 2) graphique
⇐⇒ (0, 0, 1, 1, 1, 1, 2) graphique
⇐⇒ (0, 0, 1, 1, 0, 0) graphique
⇐⇒ (0, 0, 0, 0, 1, 1) graphique
⇐⇒ (0, 0, 0, 0, 0) graphique

59
2M226 Combinatoire et Graphes 2017–18

On en déduit qu’il existe un graphe dont la suite de degrés est (1, 1, 1, 2, 2, 3, 4, 5, 5).
De plus, l’idée utilisée pour démontrer l’implication ( ⇐= ) dans la preuve du théo-
rème nous fournit une stratégie pour construire un tel graphe :


y


y


y


y


y


y

Un graphe qui peut être dessiné comme : .

4.4 Théorie extrémale des graphes


4.4.1 Sous-graphes
Définition 4.12. Un sous-graphe d’un graphe G = (S, A) est un graphe G0 =
(S 0 , A0 ) tel que S 0 ⊂ S et A0 ⊂ A.

60
2M226 Combinatoire et Graphes 2017–18

Si A0 = A ∩ P2 (S 0 ), alors on dit que G0 est le sous-graphe de G induit


par S 0 , ce qu’on note G0 = G[S 0 ]
On dit qu’un sous-graphe est un sous-graphe couvrant si S 0 = S.

Question 4.13. Quel est le nombre de sous-graphes de Kn ? Quel est le nombre


de sous-graphes induits de Kn ? Quel est le nombre de sous-graphes couvrants de
Kn ?
  k
 n
Solution. Respectivement nk=0 nk · 2(2) , 2n et 2( 2 ) .
P

4.4.2 Théorème de Turán


On dit que G contient le graphe G0 s’il existe un sous-graphe de G isomorphe
à G0 .

Théorème 4.14 (Théorème de Turán (1941)). Soit G = (S, A) un graphe à n


sommets et m arêtes, et soit r ≥ 2 un entier. Si G ne contient pas Kr , alors

n2
 
1
m≤ 1− .
r−1 2

Démonstration. Par récurrence sur n et r. Pour n = 1 ou r = 2, il n’y a rien à


démontrer. Soient donc n > 1 et r > 2 deux entiers, et supposons le résultat vrai
pour n0 < n ou r0 < r. On considère un graphe simple G = (S, A) d’ordre n qui ne
contient pas de r-clique (Kr ).
Si G ne contient pas de (r − 1)-clique, on peut appliquer l’hypothèse de récur-
rence avec r0 = r − 1 et on obtient
  2   2
1 n 1 n
m≤ 1− ≤ 1− .
r−2 2 r−1 2

Nous pouvons donc supposer que G contient une (r−1)-clique, c’est-à-dire qu’il
existe une partie V de S de cardinal r − 1 telle que tous les éléments de V sont
voisins entre eux. Notons W = S \ V . On sépare les arêtes de G en trois parties
AV V , AW W et AV W .

• AV V est l’ensemble des arêtes qui ont les deux extrémités dans V . Comme
G[V ] est un (r − 1)-clique,
 
r−1 (r − 1)(r − 2)
|AV V | = = .
2 2

61
2M226 Combinatoire et Graphes 2017–18

• AW W est l’ensemble des arêtes qui ont les deux extrémités dans W . Comme
G ne contient pas de r-clique, il en est de même pour G[W ], qui est un graphe
d’ordre n − (r − 1) < n. L’hypothèse de récurrence s’applique alors, et donc
(n − r + 1)2 r − 2 (n − r + 1)2
   
1
|AW W | ≤ 1 − = .
r−1 2 r−1 2

• AV V est l’ensemble des arêtes qui ont une extrémité dans V et l’autre dans W .
Comme G ne contient pas de Kr , et G[V ] ∼ = Kr−1 , chaque sommet dans W
a au plus (r − 2) voisins dans V , car sinon ce sommet avec V formerait un
r-clique. On a donc
|AV W | ≤ (r − 2)(n − r + 1).

Pour finir
|A| = |AV V | + |AW W | + |AV W |
r − 2 (n − r + 1)2
 
(r − 1)(r − 2)
≤ + + (r − 2)(n − r + 1)
2 r−1 2
 
1 r−2
(r − 1)2 + (n − r + 1)2 + 2(r − 1)(n − r + 1)

=
2 r−1
 
1 r−2
(r − 1)2 + n2 − 2n(r − 1) + (r − 1)2 + 2(r − 1)n − 2(r − 1)2

=
2 r−1
    2
1 r−2 2 1 n
= n = 1− . cqfd.
2 r−1 r−1 2
On remarque que si n = k(r − 1) est un multiple de r − 1, on peut construire
un graphe d’ordre n sans r-clique de la façon suivante : on répartit les sommets
en r − 1 groupes de k éléments et deux sommets quelconques sont voisins si et
seulement s’ils n’appartiennent pas au même groupe. Voici l’exemple pour r = 5
et k = 3 :

62
2M226 Combinatoire et Graphes 2017–18

Il est clair que ce graphe ne contient pas de r-clique puisque d’après le principe
des tiroirs toute partie de S de cardinal r contient deux sommets de(r−1)(r−2)
même groupe,
r−1
donc non voisins. Comptons les arêtes du graphe. Il y a 2 = 2
paires
2
de groupes et k arêtes entre éléments de chaque paire de groupes. On a donc
  2
(r − 1)(r − 2) 2 1 n
|A| = k = 1−
2 r−1 2

et la borne donnée par le théorème de Turan est atteinte.


Voici une application géométrique de ce théorème :

Théorème 4.15 (Erdös). Soit S un ensemble de points du plan de diamètre au


2
plus 1. Alors le nombre de paires de points à distance au moins √12 est au plus n3 .

Démonstration. On considère le graphe G = (S, A) où {x, y} ∈ A si et seulement


si d(x, y) > √12 . Nous voulons montrer que G ne contient pas de K4 .
En effet, parmi chaque quadruplet de points, on peut trouver trois points x, y, z
qui forment un angle d’au moins 90◦ : si les points forment un quadrilatère,les
angles intérieurs somment 360◦ , et si un point est dans le triangle formé par les
autres, alors il définit trois angles dont la somme est 360◦ .
Supposons qu’il y a un 4-clique dans G avec sommets x, y, z, t. On peut supposer
que l’angle formé par x, y, z est ≥ 90◦ . Mais si d(x, y) > √12 et d(y, z) > √12 , alors
d(x, z) > 1, ce qui amène à une contradiction.
2
Donc G n’a pas de 4-clique, et donc du Théorème de Turàn, G a au plus n3
arêtes. cqfd.

4.4.3 Graphe complémentaire et stables


Le graphe complémentaire d’un graphe G = (S, A) est le graphe G =
(S, P2 (S) \ A) où deux sommets distincts sont voisins si et seulement s’ils ne le
sont pas dans G.
Un stable ou ensemble indépendant d’un graphe G est un ensemble de
sommets de G deux à deux non adjacents.

Corollaire 4.16. Soit G = (S, A) un graphe d’ordre n et m arêtes. Et soit α(G)


le cardinal du plus grand stable de G. Alors

n2
α(G) ≥ .
2m + n

Démonstration. Un stable de G se correspond à une clique de G. Donc G est un

63
2M226 Combinatoire et Graphes 2017–18

graphe qui ne contient pas Kα(G)+1 . Donc, du théorème de Turàn


 2 
α(G) − 1 n2
 
n(n − 1) 1 n
− m = |E(G)| ≤ 1 − =
2 α(G) 2 α(G) 2
2 2 2
α(G)n − α(G)n − 2α(G)m ≤ α(G)n − n
α(G)(2m + n) ≥ n2 cqfd.

4.5 Théorie de Ramsey


Définition 4.17. Pour s, t ∈ N∗ , le nombre de Ramsey R(s, t) est le plus petit
entier n ∈ N∗ tel que tout graphe G à n-sommets contienne soit un Ks soit un St
induit. Équivalemment, soit G contient Ks soit G contient Kt .

À priori, R(s, t) pourrait être ∞, mais nous verrons dans le Théorème 4.19
qu’il s’agit bien d’un nombre fini.

Observation 4.18. Pour tout s, t ∈ N∗ :

• R(s, t) = R(t, s).

• R(1, t) = 1.

• R(2, t) = t.

Démonstration.

• Montrons d’abord que R(s, t) ≥ R(t, s). En effet, si n ≥ R(t, s) alors G


contient soit Kt soit Ss , d’où G contient soit St soit Ks . Le même raisonne-
ment preuve que R(t, s) ≥ R(s, t).

• Tout graphe à n ≥ 1 sommets contient K1 .

• Soit G un graphe d’ordre n ≥ t. Si G à au moins une arête, alors G contient


K2 . Sinon, G est isomorphe à Sn qui contient St . Ceci preuve que R(2, t) ≤ t.
Il faut montrer que t est le plus petit entier avec cette propriété. En effet,
St−1 est un graphe d’ordre t − 1 qui ne contient ni K2 ni St .

cqfd.

Théorème 4.19. Pour s, t ≥ 2, on a

R(s, t) ≤ R(s − 1, t) + R(s, t − 1).

64
2M226 Combinatoire et Graphes 2017–18

Démonstration. Soit G = (S, A) un graphe à n = R(s − 1, t) + R(s, t − 1) sommets,


et soit u ∈ S. Soient V = {v ∈ S : {u, v} ∈ A} et W = {v ∈ S : {u, v} ∈ / A}.
Alors
|V | + |W | = n − 1
Du principe des tiroirs, soit |V | ≥ R(s − 1, t) soit |W | ≥ R(s, t − 1).

• Si |V | ≥ R(s − 1, t) alors soit G[V ] contient St (et alors G aussi), soit G[V ]
contient Ks−1 ; et alors G[V ∪ u] contient Ks .

• Si |W | ≥ R(s, t − 1) alors soit G[W ] contient Ks (et alors G aussi), soit G[W ]
contient St−1 ; et alors G[V ∪ u] contient St . cqfd.

Corollaire 4.20. Pour s, t ∈ N∗ ,


   
s+t−2 s+t−2
R(s, t) ≤ = .
s−1 t−1

Démonstration. Par récurrence sur s + t ≥ 2. Lorsque s + t = 2, R(1, 1) = 1 ≤ 00 .




Supposons la propriété vraie au rang s + t ≥ 2, et montrons qu’elle est vraie au


rang s + t + 1. En effet,
     
H.R. s+t−3 s+t−3 s+t−2
R(s, t) ≤ R(s − 1, t) + R(s, t − 1) ≤ + = .
s−2 s−1 s−1
cqfd.

On connaît très peu de valeurs exactes de R(s, t). Par exemple, on sait que
R(3, 3) = 6 et R(4, 4) = 18, mais R(5, 5) n’est pas encore connu (on sait qu’il est
entre 43 et 48).

65
2M226 Combinatoire et Graphes 2017–18

66
Chapitre 5

Chaînes, parcours, cycles et tours

5.1 Chaînes, parcours


Définition 5.1. Soit G = (S, A) un graphe et k ∈ N un entier naturel.
• Une k-chaîne, ou chaîne de longueur k, est un sous-graphe de G qui est
isomorphe à une k-chaîne.
Une k-chaîne peut être vue comme une suite

(s0 , s1 , . . . , sk )

de sommets distincts de G tels que {si , si+1 } est une arête de G pour tout
0 ≤ i ≤ k − 1.

• Un parcours de longueur k est une suite de sommets de G

(s0 , s1 , . . . , sk )

où {si , si+1 } est une arête de G pour tout 0 ≤ i ≤ k − 1.


On dit que le parcours γ = (s0 , s1 , . . . , sk ) visite chacun des sommets si et
chacune des arêtes {si , si+1 }. Le sommet s0 est l’origine de γ et sk est son
extrémité, et on dit que γ relie s0 et sk . Si s0 = sk on dit que le parcours
est fermée.
Notez qu’une chaîne est un parcours dont tous les sommets sont distincts.

• Un k-cycle, ou cycle de longueur k, est un sous-graphe de G qui est iso-


morphe à un k-cycle.
Un k-cycle peut être vu comme une suite

(s0 , s1 , . . . , sk−1 , sk )

67
2M226 Combinatoire et Graphes 2017–18

où sk = s0 et s0 , . . . , sk−1 sont des sommets distincts de G tels que {si , si+1 }


est une arête de G pour 0 ≤ i ≤ k − 1.

• Un tour de longueur k est un parcours

(s0 , s1 , . . . , sk )

où s0 = sk et toutes les arêtes {si , si+1 }, 0 ≤ i ≤ k − 1, sont distinctes.

Remarque 5.2. La notation dans le polycopié de Bernardi (et d’autres ouvrages)


est : ‘chaîne’ pour ce qu’on appelle ici ’parcours’ et ‘chaîne élémentaire’ pour ce
qu’on appelle ici ’chaîne’ ; ‘cycle’ pour ce qu’on appelle ici ’tour’ et ‘cycle élémen-
taire’ pour ce qu’on appelle ici ’cycle’.

Lemme 5.3. S’il existe dans G un parcours γ reliant deux sommets x et y, alors
il existe dans G une chaîne reliant x et y (dont les sommets et arêtes sont dans γ).

Démonstration. Soit γ 0 = (x = s0 , s1 , . . . , sk = y) un parcours de longueur mi-


nimale qui utilise des sommets et des arêtes de γ. Si les sommets si sont tous
différents, alors γ est la chaîne cherché.
Sinon, si si = sj pour i < j, alors γ 0 = (s0 , . . . , si , sj+1 , . . . , sk ) est un parcours
qui relie x et y avec des sommets et des arêtes de γ qui est de longueur strictement
plus courte que γ. Ce qui contredit son choix. cqfd.

5.1.1 Connexité
Un graphe est dit connexe si pour toute paire de sommets x et y de G, il
existe un parcours reliant x à y. (On obtient une définition si on remplace parcours
par chaîne, grâce au Lemme 5.3.)
Soit G = (S, A) un graphe, on considère la relation binaire ‘être relié à’ définie
sur S en posant x est relié à y si et seulement s’il existe un parcours reliant x et y.
(Encore grâce au Lemme 5.3, on peut remplacer parcours par chaîne dans cette
définition.)

Théorème 5.4. La relation ‘être relié à’ est une relation d’équivalence sur S.

Démonstration.

• Réflexive : (x) est un parcours de longueur 0 dont l’origine et l’extrémité


sont x ;

• Symétrique : Si (x, s1 , . . . , sk , y) est un parcours reliant x et y, alors (y, sk , . . . , s1 , x)


est un parcours reliant y et x ;

68
2M226 Combinatoire et Graphes 2017–18

• Transitive : Si (x, s1 , . . . , sk , y) est un parcours reliant x et y et (y, w1 , . . . , w` , z)


est un parcours reliant y et z, alors (x, s1 , . . . , sk , w1 , . . . , w` , z) est un par-
cours reliant x et z.
cqfd.

Les classes d’équivalence de cette relation d’équivalence sont dites les com-
posantes connexes de G. Un graphe est donc connexe s’il possède une seule
composante connexe.
Théorème 5.5. Un graphe G = (S, A) est connexe si et seulement si pour toute
partition de S en deux parties non vides U et V , il existe une arête a ∈ A dont
une extrémité est dans U et l’autre dans V .
Démonstration.
=⇒ : Soit G connexe et soient U et V une partition de S en deux parties
non-vides. Soient x ∈ U et y ∈ V . Comme G est connexe, il existe une chaîne
(x = s0 , . . . , sk = y) d’origine x et extrémité y. L’ensemble I = {i ∈ [0, k]; si ∈ V }
n’est pas vide puisque sk = t ∈ V , et ne contient pas 0 puisque s0 = s ∈ U . Il
admet donc un plus petit élément r > 0. On a que sr−1 6∈ V , et donc sr−1 ∈ U et
sr ∈ V . L’arête {sr−1 , sr } a une extrémité dans U et une autre dans V .
⇐= : Supposons que pour toute partition de S en deux parties non vides U
et V , il existe une arête a ∈ A dont une extrémité est dans U et l’autre dans V .
Considérons deux sommets s et t de S. Notons U la composante connexe de s,
et V son complémentaire. Si t ∈ U alors s et t sont reliés. Supposons que t ∈ V
pour chercher une contradiction. Ni U ni V ne sont alors pas vides. On applique
l’hypothèse sur G : il existe une arête e = u, v, avec u dans U et v ∈ V . Mais
alors u et v sont dans la même composante connexe, et v ∈ U , ce qui est une
contradiction. cqfd.

5.2 Distance
Définition 5.6. Soit G = (S, A) un graphe connexe. On définit la distance entre
deux sommets s, t ∈ S, notée dG (s, t), comme étant la longueur de la chaîne la
plus courte existant de s à t.
Si G n’est pas connexe, on étend la définition en posant dG (s, t) = ∞. Mais
dans ce cas là, la fonction n’est pas une distance (une fonction f : E ×E → R+ avec
séparation (dG (s, t) = 0 ⇐⇒ s = t), symétrie (dG (s, t) = dG (t, s)) et inégalité
triangulaire (dG (s, t) ≤ dG (s, x) + dG (x, t)∀s, x, t ∈ S)).
Théorème 5.7. Soit G = (S, A) un graphe, et AG sa matrice d’adjacence. Pour
tout k ∈ N le nombre de parcours de longueur k reliant si à sj est égal au coefficient
(AkG )ij de la puissance k-ième de AG .

69
2M226 Combinatoire et Graphes 2017–18

Démonstration. Par récurrence sur k. Pour k = 0, la matrice A0G est la matrice


identité In , et il est clair que le nombre de parcours de longueur 0 d’origine si et
extrémité sj vaut 1 si i = j et 0 sinon.
Supposons la propriété vraie pour k ∈ N et montrons qu’elle est vraie au
rang k + 1. Un parcours de longueur k + 1 d’origine si et extrémité sj s’écrit
(s0 , . . . , sk , sk+1 ), avec s0 = si et sk+1 = sj . Si sk = s` , alors (s0 , . . . , sk ) est un
parcours de longueur k d’origine si et extrémité s` et {s` , sj } est une arête de G.
Pour chaque voisin s` de sj , soit P` le nombre de (k + 1)-parcours reliant si à
sj telles que le k-ième sommet du parcours soit s` . Alors |P` | est égal au nombre
de parcours de longueur k reliant si à s` . D’après l’hypothèse de récurrence, ce
nombre est (AkG )i` . Du principe d’addition, le nombre de parcours de longueur
k + 1 reliant si à sj est la somme pour tous les voisins s` de sj du nombre de
parcours de longueur k reliant si à s` :
X X X
|P` | = (AkG )i` = (AkG )i` (AG )`j = (Ak+1
G )ij .
s` voisin de sj s` voisin de sj s` ∈S

cqfd.

Corollaire 5.8. La distance entre deux sommets distincts si , sj de G vérifie

dG (si , sj ) = min k ≥ 0 : (AkG )ij 6= 0 .




5.2.1 Graphes valués et Algorithme de Dijkstra


Définition 5.9. Un graphe valué (S, A, µ) est un graphe G = (S, A) muni d’une
fonction µ : A → R∗+ appelée valuation (ou coût, ou poids ou longueur...).
La valuation d’un parcours γ = (s0 , s1 , . . . , sk ) est alors définie par
X
µ(γ) = µ({si−1 , si }).
i∈[1,k]

On définit la distance dµ (s, t) entre deux sommets d’un graphe valué comme le
minimum des valuations des chaînes d’origine s et extrémité t, si une telle chaîne
existe, et ∞ s’il n’en existe pas.

Observation 5.10. Si on pose µ(a) = 1 pour toute a ∈ A, alors dµ (s, t) = dG (s, t).

Pour déterminer dµ (s, t) pour un sommet fixé s et tout sommet t ∈ S, on peut

70
2M226 Combinatoire et Graphes 2017–18

utiliser l’algorithme de Dijkstra :


Algorithme 1 : Algorithme de Dijkstra
Données : Un sommet s d’un graphe valué G = (S, A, µ)
Résultat : Pour tout t dans S, C[t] contient dµ (s, t). Si 0 < C[t] < ∞, alors
T [t] contient la première étape dans une chaîne de coût minimal
menant de t à s.
pour chaque t dans S faire C[t] ← ∞;
C[s] ← 0 ;
V ←∅; // ensemble des sommets dont on connaît la distance
W ←S ; // complément de V
tant que il y a dans W un sommet t tel que C[t] est fini faire
u ← un sommet de W tel que C[u] soit minimal ;
V ← V ∪ {u} ;
W ← W \ {u} ; // On transfère u de W vers V
pour chaque voisin x de u faire
si C[u] + dµ ({u, x}) < C[x] alors
C[x] ← C[u] + dµ (u, x) ;
T [x] ← u ;
fin
fin
fin
Pour montrer que cet algorithme est correct, il suffit de vérifier que l’invariant
de boucle suivant est maintenu : si t 6= s est dans V , alors il existe un chemin de
moindre coût de t à s commence par T [t] et reste dans V . On peut montrer que
la complexité de cet algorithme est en O((n + m) log(n)), où n est le nombre de
sommets et m le nombre d’arêtes.
Voici par exemple les étapes de l’algorithme sur la valuation suivante du cube Q3 .

s4 4 s3
1 1
s7 2
s8

6 1 2 2

8 s5 1 s6 6

s1 1 s2

Nous les représentons dans le tableau suivant, où chaque ligne est une nouvelle
itération de l’algorithme, et nous montrons les valeurs de V et des entrées de C.
A coté de chaque entrée de C, entre parenthèses, nous montrons les entrés de T .

71
2M226 Combinatoire et Graphes 2017–18

V C[s1 ] C[s2 ] C[s3 ] C[s4 ] C[s5 ] C[s6 ] C[s7 ] C[s8 ]


∅ 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
{s1 } 1(s1 ) ∞ 6(s1 ) 8(s1 ) ∞ ∞ ∞
{s1 , s2 } 3(s2 ) 6(s1 ) 8(s1 ) 7(s2 ) ∞ ∞
{s1 , s2 , s3 } 6(s1 ) 8(s1 ) 7(s2 ) ∞ 4(s3 )
{s1 , s2 , s3 , s8 } 6(s1 ) 8(s1 ) 6(s8 ) 6(s8 )
{s1 , s2 , s3 , s8 , s4 } 8(s1 ) 6(s8 ) 6(s8 )
{s1 , s2 , s3 , s8 , s4 , s6 } 7(s6 ) 6(s8 )
{s1 , s2 , s3 , s8 , s4 , s6 , s7 } 7(s6 )
{s1 , s2 , s3 , s8 , s4 , s6 , s7 , s5 }

Une représentation alternative du déroulement de l’algorithme est donnée dans


le dessin suivant. Ici, les étiquettes des sommets représentent le tableau C et le
tableau T est représenté par des flèches qui pointent de t vers T [t]. Si un sommet
est dans V , le point correspondant est plus gros.

∞ ∞ 6 ∞ 6 3 6 3 6 3
∞ ∞ ∞ ∞ ∞ ∞ ∞ 4 6 4

∞ ∞ 8 ∞ 8 7 8 7 8 6
0 ∞ 0 1 0 1 0 1 0 1
6 3 6 3 6 3 6 3
6 4 6 4 6 4 6 4

8 6 7 6 7 6 7 6
0 1 0 1 0 1 0 1

Avec ce dessin, il suffit de suivre les flèches pour trouver le chemin à moindre
coût qui amène au coin en bas à gauche.

5.3 Tours et parcours eulériens (et hamiltoniens)


5.3.1 Graphes eulériens
Un tour eulérien d’un graphe G est un tour qui visite (au moins une fois)
chaque sommet de G et une fois (et une seule) chaque arête de G. Un graphe
eulérien est un graphe qui admet un tour eulérien.
Un parcours eulérien est un parcours qui visite une fois et une seule chaque
arête de G, et au moins une fois chaque sommet de G. Un graphe semi-eulérien
est un graphe qui admet un parcours eulérien.

72
2M226 Combinatoire et Graphes 2017–18

Des trois graphes suivants, le premier est eulérien, le second est semi-eulérien
sans être eulérien, et le troisième n’est pas semi-eulérien.

Théorème 5.11. Soit G un graphe d’ordre au moins 2. Alors G est eulérien si et


seulement s’il est connexe et tous ses sommets sont de degré pair.
Démonstration.
=⇒ Soit G = (S, A) un graphe eulérien et γ = (s0 , s1 , . . . , sk = s0 ) un tour
eulérien. Alors G est connexe. En effet, tout sommet de G est dans γ et pour toute
paire si , sj ∈ S avec i < j, (si , si+1 , . . . , sj−1 , sj ) est un parcours qui les relie.
Pour s ∈ S, soit As l’ensemble des arêtes incidentes à s. On dit que a ∈ As
est entrante si s = si et a = {si−1 , si }, et sortante si s = si et a = {si , si+1 }.
L’application {si−1 , si } 7→ {si , si+1 } (et {sk−1 , sk } 7→ {s0 , s1 } si sk = s) est une
bijection entre les arêtes sortantes et les arêtes entrantes de As . On en déduit que
|As | = d(s) est pair.
⇐= Soit G connexe avec tous les sommets de degré pair. On considère un par-
cours sans arêtes répétées γ = (s0 , . . . , sk ) de longueur maximale (qui existe car le
nombre d’arêtes est fini). On va montrer que γ est un tour eulérien.
D’abord, on voit que forcement s0 = sk . Sinon, le nombre d’arêtes de γ inci-
dentes à sk serait impair, mais comme le degré de sk dans G est pair, il y aurait
forcement une arête de G incidente à sk qui ne serait pas dans γ. En l’ajoutant à
γ on obtiendrait un parcours plus long sans arêtes répétées, contredisant le choix
de γ.
De plus, toutes les arêtes de E sont visitées par γ. Supposons que {u, v} soit
une arête qui n’est pas visitée par γ. Par connexité, il existe alors une chaîne
s0 = u0 , u1 , . . . , ur = u
qui relie s0 et u. Posons ur+1 = v et soit a la première arête de cette chaîne qui
n’appartient pas à γ (un telle arête existe car {ur , ur+1 } n’est pas dans γ). Cette
arête est forcement incidente à un sommet de γ de la forme {si , t} avec si ∈ γ.
Alors
(t, si , si+1 , . . . , sk = s0 , s1 , . . . , si−1 )

73
2M226 Combinatoire et Graphes 2017–18

est un parcours sans arêtes répétées plus long que γ. Ce qui contredit le choix de γ.
Supposons enfin qu’il existe un sommet s non visité par γ. Comme G est
connexe, il existe une arête e incidente à s, et cette arête n’est pas visitée par γ,
ce qui est impossible comme on vient de le voir. cqfd.

Corollaire 5.12. Un graphe G est semi-eulérien si et seulement si il est connexe


et le nombre de ses sommets de degré impair est 0 ou 2.

Démonstration.
=⇒ Supposons γ est un parcours semi-eulérien de G. Alors G est connexe, car
tous les sommets sont relies à travers de γ. De plus, comme on a vu dans la preuve
précédente, tous les sommets qui ne sont pas une extrémité ont forcement degré
pair. Comme le nombre de sommets de degré impair est pair, ce nombre doit valoir
0 ou 2.
⇐= Si G n’a pas de sommets de degré impair, alors G est eulérien et donc semi-
eulérien. Si G a deux sommets de degré impair u et v, on ajoute un nouveau
sommet s au graphe et les arêtes {u, s} et {u, t}. Le graphe G0 qu’on obtient est
bien connexe et à tous le sommets de degré pair. Il est donc eulérien et a un tour
eulérien γ. Les arêtes {u, s} et {u, t} sont forcement consécutives dans le tour. En
les retirant de γ, on obtient un parcours semi-eulérien de G. cqfd.

5.3.2 Graphes hamiltoniens


Un cycle hamiltonien est un cycle qui visite tous les sommets d’un graphe.
Sa longueur est donc l’ordre n du graphe. Un graphe hamiltonien est un graphe
qui admet un cycle hamiltonien. Une chaîne hamiltonienne est une chaîne qui
visite tous les sommets d’un graphe. Un graphe semi-hamiltonien est un graphe
qui admet une chaîne semi-hamiltonienne.

5.4 Arbres
Définition 5.13. Une forêt est un graphe acyclique, qui ne contient pas de
cycle. Un arbre est un graphe connexe acyclique.

Voici quelques arbres.

74
2M226 Combinatoire et Graphes 2017–18

Un sommet pendant ou feuille d’un graphe est un sommet de degré 1.

Lemme 5.14. Si G = (S, A) est une forêt, et si A n’est pas vide, alors il y a au
moins deux feuilles dans G.

Démonstration. Soit
γ = (v0 , v1 , . . . , vk )
une chaîne de longueur maximale. Comme A n’est pas vide, alors k > 0. On va
montrer que v0 et vk sont des feuilles.
En effet, si u 6= v1 était un autre voisin de v0 :

• Si u = vi pour un i > 1, alors (v0 , v1 , . . . , vi , u) serait un cycle, ce qui contre-


dirait l’acyclicité de G ;

• et si u 6= vi pour tout i, alors (u, v0 , . . . , vk ) serait une chaîne de longueur


k + 1, encore une contradiction.

On en déduit d(v0 ) = 1, et de même d(vk ) = 1. cqfd.

Corollaire 5.15. Si G = (S, A) est un arbre d’ordre |S| = n, alors il y a dans A


exactement n − 1 arêtes.

Démonstration. Par récurrence sur n. Pour n = 1, A = ∅ et |A| = 0.


Si n > 1, il y a au moins deux sommets. Comme G est connexe, il y a au moins
une chaîne qui les joint, donc A n’est pas vide. Il y a donc au moins un sommet
pendant s, qui est adjacent à une unique arête e. Le graphe G0 = G \ {s} =
(S \ {s}, A \ {e}) est un arbre d’ordre n − 1. On peut lui appliquer l’hypothèse de
récurrence. On a

|A| − 1 = |A \ {e}| = |S \ {s}| − 1 = (|S| − 1) − 1,

et donc |A| = |S| − 1. cqfd.

Lemme 5.16. Si un graphe G = (S, A) admet deux chaînes distinctes γ = (v0 =


u, v1 , . . . , v` = v) et δ = (w0 = u, w1 , . . . , wm = v) qui relient u et v, alors G
contient un cycle.

Démonstration. Soit 1 ≤ i ≤ ` − 1 le plus petit index tel que vi 6= wi (qui existe


car les chaînes sont distinctes), et soit j, i < j ≤ `, le plus petit index plus grand
que i tel qu’il existe un k, i < k ≤ m, tel que vj = wk (qui existe car v` = wm ).
Alors
(vi−1 , . . . , vj , wk−1 , wk−2 , . . . , wi−1 )
est un cycle. cqfd.

75
2M226 Combinatoire et Graphes 2017–18

Théorème 5.17. Soit G = (S, A) un graphe d’ordre n. Les propriétés suivantes


sont équivalentes :

(i) G est un arbre (acyclique et connexe).

(ii) Pour tout couple (u, v) de sommets, il existe une chaîne simple d’origine u
et extrémité v et une seule.

(iii) G est connexe et a n − 1 arêtes.

(iv) G est une forêt (acyclique), et m = n − 1.

(v) G est connexe, et pour toute arête e ∈ A, G \ e = (S, A \ e) n’est pas connexe
(G est connexe minimal).

(vi) G est une forêt, et pour toute arête e ∈


/ A, G ∪ e = (S, A ∪ {e}) admet un
cycle (G est une forêt maximale).

Démonstration.

(i) =⇒ (ii) L’existence d’un chemin est impliquée par la connexité, et l’unicité est im-
pliquée par l’acyclicité, grâce au Lemme 5.16.

(i) ⇐= (ii) L’existence d’un chemin implique la connexité, et l’unicité implique l’acycli-
cité, car dans il y a deux chaînes distinctes reliant toute paire de sommets
d’un cycle.

(i) =⇒ (iii) Voir Lemme 5.15.

(i) ⇐= (iii) Il faut montrer l’acyclicité. Si G avait un cycle, alors on pourrait supprimer
une arête e du cycle sans changer la connexité du graphe (car on peut rem-
placer toute apparition de cette arête dans un parcours par l’autre partie du
cycle). Après avoir effectué cette opération avec tous les cycles, nous arrivons
à un graphe acyclique et connexe, et donc un arbre, à moins de n − 1 arêtes,
ce qui contredit le Lemme 5.15.

(i) =⇒ (iv) Voir Lemme 5.15.

(i) ⇐= (iv) Si G n’était pas connexe, alors l’ajout d’une arête entre deux composantes
connexes distinctes ne crée pas de cycle (s’il y avait un cycle, ces deux
sommets seraient déjà dans la même composante connexe avant l’ajout de
l’arête). On pourrait ajouter des arêtes jusqu’à on ait un graphe connexe et
acyclique avec plus de n − 1 arêtes, ce qui contredit le Lemme 5.15.

76
2M226 Combinatoire et Graphes 2017–18

(i) =⇒ (v) G est connexe par définition. S’il y avait une arête e telle que G \ e est
toujours connexe, alors il y aurait une chaîne γ joignant les deux extrémités
de e. La concaténation de cette chaîne avec e est un cycle. Contradiction.

(i) ⇐= (v) G est connexe par définition. G n’a pas de cycle, car sinon on pourrait suppri-
mer une arête du cycle et le graphe resterait connexe (car on peut remplacer
toute apparition de cette arête dans un parcours par l’autre partie du cycle).

(i) =⇒ (vi) G est acyclique par définition. Soient u, v deux sommets qui ne sont pas
adjacents. Comme G est connexe, il existe une chaîne γ qui les relie. L’ajout
de l’arête (u, v) crée un cycle.

(i) ⇐= (v) G est acyclique par définition. Montrons qu’il est connexe. Soient, u, v ∈ S.
S’ils sont adjacents ils sont reliés par une chaîne. S’ils ne le sont pas, soit
G0 = G ∪ {u, v}. G0 contient un cycle γ, qui doit utiliser l’arête {u, v} car G
est acyclique. Alors γ \ {u, v} est un parcours qui relie u et v.

cqfd.

Remarque 5.18. Ce théorème est complètement analogue au résultat suivant


d’algèbre linéaire (et ceci n’est pas une coïncidence) :

Théorème 5.19. Soit E un K-espace vectoriel de dimension n, et B = (bi )1≤i≤m


une famille finie d’éléments de E. Les propriétés suivantes sont équivalentes :

(i) B est une base de E.

(ii) Pour tout vecteur x ∈ E, il existe une famille (λi )1≤i≤m de scalaires telle que
Xm
λi bi = x et une seule.
i=1

(iii) B est une famille génératrice de E et m = n.

(iv) B est une famille libre et m = n.

(v) B est une famille génératrice de E et pour tout i ≤ m la famille obtenue en


enlevant bi à B ne l’est pas (B est génératrice minimale).

(vi) B est libre et quelle que soit la valeur de bm+1 , la famille (bi )1≤i≤m+1 ne l’est
pas (B est libre maximale).

77
2M226 Combinatoire et Graphes 2017–18

78
Chapitre 6

Coloration, graphes bipartis et


couplages

6.1 Colorations
Définition 6.1. Une application f : S → C de l’ensemble des sommets d’un
graphe G = (S, A) est une coloration du graphe si f (u) 6= f (v) pour toute
arête {u, v} ∈ A. On appelle couleur du sommet s l’élément f (s) de C et la
condition s’exprime sous la forme “Si deux sommets sont voisins, ils sont de couleurs
différentes”.
On dit que G est k-coloriable s’il existe une coloration de G utilisant au plus k
couleurs. Le nombre chromatique χ(G) du graphe G est le plus petit entier k
pour lequel il est k-coloriable.

Observation 6.2. Si f est surjective, les ensembles de sommets des différentes


couleurs forment une partition de S en k stables.

Proposition 6.3.

• χ(G) = 1 si et seulement si G est un n-stable,

• χ(G) = n si et seulement si G est une n-clique,

• χ(Pn ) = 2 pour n ≥ 1,
(
2 si n ≥ 4 est pair
• χ(Cn ) = ,
3 si n ≥ 3 est impair.

• χ(Qd ) = 2 pour d ≥ 1,

• χ(Petersen) = 3,

79
2M226 Combinatoire et Graphes 2017–18

• χ(Kn1 ,...,nk ) = k.
La preuve de cette proposition sera faite en exercice.
À chaque numérotation [1, n] → S des sommets, on fait naturellement cor-
respondre une coloration par des entiers naturels non nuls grâce à l’algorithme
glouton :
Algorithme 2 : Algorithme glouton
Données : Un graphe G = (S, A)
Résultat : Une coloration de f : S → N de G.
pour i ← 0 à n faire
colorier le sommet i avec la première couleur parmi {1, 2, 3 . . .} qui n’est
pas déjà utilisée par un voisin du sommet i
fin
Ainsi, le sommet s1 est colorié avec la couleur 1, le sommet s2 est colorié avec
la couleur 2 s’il est voisin de s1 et avec la couleur 1 sinon, etc.
Dans la figure suivante, nous avons appliqué cet algorithme deux fois au même
graphe, mais avec des numérotations différentes des sommets. Entre parenthèses les
numéros des couleurs sont indiqués. On voit que la première numérotation utilise
4 couleurs en tout alors que la deuxième en utilise 5. On peut montrer qu’il existe
toujours une numérotation des sommets telle que l’algorithme glouton utilise χ(G)
couleurs, mais cela n’a rien d’évident (nous le ferons en exercice).

1(1) 2(2) 3(2) 4(3)

3(2) 4(1) 1(1) 2(1)

5(3) 6(4) 5(4) 6(5)

Proposition 6.4. Le nombre chromatique d’un graphe vérifie

χ(G) ≤ ∆(G) + 1,

où ∆(G) est le maximum des degrés des sommets de G


Démonstration. En fait, quel que soit l’ordre choisi sur les sommets, l’algorithme
glouton utilise au maximum ∆(G) + 1 couleurs distinctes. Soit en effet k le numéro
de la plus haute couleur utilisée, et s un sommet qui a cette couleur. L’algorithme
glouton attribue la couleur k à s parce que les voisins de s déjà coloriés occupent
toutes les couleurs de 1 à k − 1. Donc s a au moins k − 1 voisins distincts, et
k − 1 ≤ ∆(G), d’où χ(G) ≤ k ≤ ∆(G) + 1. cqfd.

80
2M226 Combinatoire et Graphes 2017–18

6.1.1 Graphes bipartis


Un graphe est dit biparti s’il est 2-coloriable. Équivalemment, si on peut diviser
l’ensemble de sommets en deux parties X, Y disjointes de façon que chaque arête
du graphe ait une extrémité dans X et l’autre dans Y 1 . Les parties X et Y sont
appelées les classes de la bipartition (cette bipartition n’est pas unique en général).
Par exemple, les graphe bipartis complets Kn,m et les cycle Cn pour n pair sont
des graphes bipartis.
Théorème 6.5. Un graphe G = (S, A) est biparti si et seulement s’il n’existe pas
dans G de cycle de longueur impaire.
Démonstration. Si G est biparti, il existe une partition S = X t Y telle que toute
arête ait une extrémité dans X et une autre dans Y . Si γ = (v0 , v1 , . . . , vk = v0 )
est un k-cycle et si v0 ∈ X, on voit, par récurrence sur i, que vi ∈ X pour i pair
et vi ∈ Y pour i impair. On sait que vk ∈ X. Donc k est pair.
Réciproquement, supposons que G n’admette pas de cycle impair. Sans perte de
généralité, nous pouvons supposer que G est connexe (car un graphe est biparti si
et seulement si chacune de ses composantes connexes l’est). Choisissons un sommet
s ∈ S. Notons
X = {extrémités des k-chaînes d’origine s, avec k pair}
Y = {extrémités des k-chaînes d’origine s, avec k impair}
Comme G est connexe, il est clair que S = X ∪ Y . D’autre part, tout voisin d’un
élément de X est dans Y et tout voisin d’un élément de Y est dans X. Il reste à
prouver que X ∩ Y = ∅. Si t ∈ X ∩ Y il existe une chaîne paire γ et une chaîne
impaire δ d’origine s et extrémité t. La concaténation de ces deux chaînes est un
parcours fermé de longueur impaire. On peut donc en extraire un cycle impair
(voir exercices), une contradiction. cqfd.

6.2 Couplages
Définition 6.6. Un couplage d’un graphe G = (S, A) est un ensemble M ⊆ A
d’arêtes tel que deux d’entre elles n’ont pas d’extrémité en commun. Un sommet
est dit saturé s’il est extrémité d’une arête de M , et X ⊆ S est saturé si tous
ses sommets le sont. Un couplage est dit parfait si S est saturé.
Exemples 6.7. Considérons le graphe biparti complet Kn,n avec classes de bipar-
tition X = {x1 , . . . , xn } et Y = {y1 , . . . , yn }. Un couplage parfait de Kn,n définit
une bijection entre X et Y . Il y a donc n! couplages parfaits de Kn,n .
1. Nous acceptons que les parties X et Y soient vides, et donc un graphe sans arêtes est
biparti selon cette définition.

81
2M226 Combinatoire et Graphes 2017–18

Pour les graphes complets, l’existence d’un couplage parfait dépend de la parité
de son ordre. K2n+1 n’admet pas de couplage parfait, car le nombre de sommets
est impair. K2n admet (2n − 1)(2n − 3) · · · 3 · 1 couplages parfaits.

Définition 6.8. Un couplage est dit maximal si on ne peut pas lui ajouter d’arête,
et maximum s’il a le plus grand nombre possible d’arêtes.

Exemple 6.9.
Voici trois graphes avec des couplages :

Maximal Oui Oui Oui


Maximum Non Oui Oui
Parfait Non Oui Non

Soit G = (S, A) un graphe et M un couplage de G. Un chaîne alternée est


une chaîne dont les arêtes sont alternativement dans M et dans A \ M . Elle est
dite augmentante si ses extrémités ne sont pas saturées.

Théorème 6.10 (Berge 1957). Un couplage M est maximum si et seulement s’il


n’existe pas de chaîne augmentante dans G.

Démonstration. On montre la contraposée des deux implications.


=⇒ Supposons qu’il existe une chaîne augmentante γ = (v0 , . . . , vk ). Et soit M 0 le
couplage obtenu par l’échange des arêtes de M le long de la chaîne γ. C’est facile
de vérifier que M 0 est aussi un couplage, qui a une arête de plus que M , ce qui
montre que M n’était pas maximum.
⇐= Supposons que M est un couplage non-maximum, et soit M 0 un couplage tel
que |M 0 | ≥ |M |. Considérons le sous-graphe H engendré par les arêtes de G qui
sont dans M ou dans M 0 , mais pas dans les deux. Tout sommet de H est de degré
≤ 2. C’est facile à voire que les composantes connexes de H doivent être des cycles
ou bien des chaînes. Les cycles doivent être de longueur pair, car ses arêtes sont
alternées, et ont donc le même nombre d’arêtes de M et M 0 . Les chaînes doivent
être aussi alternées. Comme le nombre d’arêtes de M 0 est supérieur à celui de M ,
au moins une de ces chaînes doit avoir une arête de plus de M 0 que de M . C’est
une chaîne augmentante pour M . cqfd.

Soit G = (S, A) un graphe et X ⊂ S, le voisinage N (X) est l’ensemble des


voisins des sommets de S, {s ∈ S : ∃x ∈ X, {s, x} ∈ A}.

82
2M226 Combinatoire et Graphes 2017–18

Théorème 6.11 (Hall 1935). Un graphe biparti G de bipartition X, Y admet un


couplage saturant X si, et seulement si

|N (U )| ≥ |U |

pour tout U ⊂ X.
Démonstration.
=⇒ Pour tout U ⊂ X, les voisins dans M des sommets de U sont des sommets
différents de N (U ). D’où |S| ≤ |N (S)|.
⇐= Par contraposée. Supposons que M est un couplage maximum qui ne sature
pas X, alors nous allons construire un ensemble U tel que |N (U )| < |U |.
Soit s ∈ X un sommet qui n’est pas saturé, et soient
• V l’ensemble de sommets de Y qui sont reliés à s par une chaîne alternée, et

• U l’ensemble de sommets de X qui sont reliés à s par une chaîne alternée


(en particulier s ∈ U ).
Soit M 0 ⊂ M l’ensemble des arêtes de M qui sont incidentes à un sommet de
U ∪ V . Nous allons montrer d’abord que M 0 est un couplage parfait entre U \ {s}
et V . Toute chaîne alternante qui relie s à x ∈ U \ {s} doit avoir la dernière arête
dans M 0 , par parité. Donc tout x ∈ U \ {s} est incident à (exactement) une arête
de M 0 .
S’il y avait un sommet y ∈ V qui n’était incident à aucune arête de M 0 , alors
la chaîne qui le relie à s serait augmentante, et M ne serait pas maximum. Donc
tout y ∈ V est incident à (exactement) une arête de M 0 . D’où M 0 est un couplage
parfait entre U \ {s} et V , et |U \ {s}| = |M 0 | = |V |.
Montrons que N (U ) ⊆ V . Soit x ∈ U et soit γ une chaîne alternante entre s
et x. Soit y ∈ N (x). Si y ∈ γ, alors y ∈ V . Si y ∈/ γ, alors on ajoute l’arête {x, y}
à γ et on obtient une chaîne alternante de u à y, d’où y ∈ V .
Donc |N (U )| ≤ |V | = |U | − 1, ce qui complète la preuve. cqfd.

Corollaire 6.12. Pour k > 0, tout graphe biparti k-régulier contient un couplage
parfait.
Démonstration. Soit G = (S, A) un graphe biparti k-régulier de bipartition (X, Y ).
En comptant les arêtes par leur extrémité dans X ou par leur extrémité dans Y
on retrouve |A| = k|X| = k|Y |. D’où |X| = |Y |.
Soit maintenant U ⊂ X et soit T l’ensemble des arêtes incidentes a un sommet
de U . Alors |T | = k|U |. Ces arêtes font partie des k|N (U )| arêtes incidentes à
N (U ). D’où
k|U | ≤ k|N (U )| =⇒ |U | ≤ |N (U )|.

83
2M226 Combinatoire et Graphes 2017–18

Le graphe contient donc un couplage qui sature X. Comme |X| = |Y |, le


couplage sature aussi |Y | et est un couplage parfait. cqfd.

84
Chapitre 7

Planarité

7.1 Dessiner des graphes dans le plan


Nous allons étudier les graphes qui peuvent être dessinés dans le plan sans
des croisements d’arêtes, les graphes planaires. Cette partie est plus informelle
que celles précédentes car pour certaines preuves une démonstration rigoureuse a
besoin de connaissances de topologie que nous n’avons encore pas.

Définition 7.1 (informelle). Un dessin d’un graphe G dans le plan tel que le
dessin de deux arêtes distinctes sont d’intersection vide sauf aux extrémités est
appelé un dessin plan. Un graphe est planaire s’il admet un dessin plan.

Pour formaliser cette définition il faut parler de arcs et courbes de Jordan. Un


arc est un sous-ensemble α ⊂ R2 qui est l’image α = γ([0, 1]) = {γ(x) : x ∈ [0, 1]}
d’une fonction γ : [0, 1] → R2 qui est injective et continue de l’intervalle fermé
[0, 1] au plan. Les points γ(0) et γ(1) sont les extrémités de l’arc. Une courbe de
Jordan est un arc dont les extrémités coïncident (donc injective seulement sur
[0, 1)). Le théorème crucial pour tout preuve rigoureuse sur les graphes planaires
est le Théorème de la courbe de Jordan. Intuitivement, il est évidant, mais une
preuve formelle n’est pas du tout simple.

Théorème 7.2. Toute courbe de Jordan α divise son complémentaire en deux par-
ties connexes : l’intérieur d’α et l’extérieur d’α. Et α constitue le bord de ces deux
parties : tout arc joignant un point interne et un point externe doit intersecter α.

Nous allons faire une présentation informelle sans preuves rigoureuses. Com-
mençons avec une preuve informelle du fait que K5 et K3,3 ne sont pas planaires.

Théorème 7.3. K5 et K3,3 ne sont pas planaires.

85
2M226 Combinatoire et Graphes 2017–18

Idée de la preuve. Soit C un cycle couvrant de K5 ou K3,3 . Il doit être dessiné


comme une courbe fermée. Les cordes doivent être dessinées soit à l’intérieur soit
à l’extérieur. Deux cordes sont en conflit si ses extrémités s’alternent. Si deux
cordes sont en conflit, une doit être dessinée à l’intérieur et l’autre à l’extérieur.
K3,3 contient 3 cordes qui sont en conflit deux-à-deux. Nous en pouvons placer
au plus une à l’intérieur et au plus une à l’extérieur.
K5 contient 5 cordes. Chaque corde est compatible avec deux cordes, qui ne sont
pas compatibles entre elles. On peut donc au plus placer deux cordes à l’intérieur
et deux cordes à l’extérieur. cqfd.

La raison pour laquelle on présente ces deux exemples c’est que, dans un cer-
tain sens, ils sont la seule obstruction pour être planaire. Le graphe obtenu par
subdivision de l’arête {u, v} du graphe G = (S, A) est le graphe G0 = (S 0 , A0 )
avec S 0 = S ∪ {x} et A0 = A ∪ {u, x} ∪ {x, v} \ {u, v}. G0 est une subdivision de
G s’il est obtenu par des subdivisions d’arêtes successives.
Théorème 7.4 (Kuratowski). Un graphe G est planaire si et seulement s’il ne
contient pas de sous-graphe isomorphe à une subdivision de K3,3 ou K5 .

7.2 Formule d’Euler


Les faces d’un dessin plan d’un graphe G = (S, A) sont les composantes
connexes du complément du dessin. Il y a une face externe (pas bornée) et plusieurs
faces internes (bornées). Une arête est incidente à une face si elle appartient à sa
frontière.
Observation 7.5. Une arête d’un graphe plan est incidente à :
• deux faces distinctes si elle appartient à un cycle,
• une seule face si elle n’appartient pas à un cycle.
L’ensemble des arêtes incidentes à une face fixée forme un parcours fermé de G.
Lemme 7.6. Tout arbre est planaire et se dessine avec une seule face externe.
Théorème 7.7. Soit G = (S, A) un graphe planaire connexe avec s = |S| sommets
et a = |A| arêtes. Et soit f le nombre de faces d’un dessin plan de G. Alors,
s − a + f = 2.
Démonstration. Par récurrence sur le nombre d’arêtes du graphe. Si a = 0, le
graphe contient un seul sommet et le dessin une seule face (la face externe). On a
donc s − a + f = 1 − 0 + 1 = 2.
Supposons donc a ≥ 1. Nous distinguons deux cas :

86
2M226 Combinatoire et Graphes 2017–18

1. Le graphe n’a pas de cycle. Alors G est un arbre et a = s − 1 ; et il y a une


seule face (la face externe). On a donc,

s − a + f = s − (s − 1) + 1 = 2.

2. Sinon, G contient une arête e dans un cycle. Alors G \ e est connexe et vérifie
l’hypothèse de récurrence car on peut enlever l’arc qui correspond à e au
dessin plan de G pour obtenir un dessin plan de G \ e. Dans le dessin initial,
e était incidente à deux faces F1 et F2 , qui deviennent une seule après avoir
enlevé l’arête e. Donc, f 0 est le nombre de faces du dessin de G \ e, on a
f 0 = f − 1. Et le nombre de sommets et arêtes de G \ e sont s0 = s et
a0 = a − 1.
On obtient donc de l’hypothèse de récurrence

2 = s0 − a0 + f 0 = s − (a − 1) + (f − 1) = s − a + f.

cqfd.

Corollaire 7.8. Soit G = (S, A) un graphe planaire avec au moins 3 sommets.


Alors |A| ≤ 3|S| − 6.

Démonstration. Soit F l’ensemble de faces du dessin de G. Soit

I = {(e, f ) ∈ E × F : e arête au bord de la face f }

l’ensemble de paires arête-face incidentes.


Observons d’abord que toute face est bordée par un parcours fermée de G qui
est de longueur ≥ 3. (Comme il n’y a pas de boucle, un parcours de longueur 2
s’obtient seulement quand il y a une seule arête, mais on a ≥ 2 sommets.) Donc
|I| ≥ 3|F |.
De plus, chaque arête est incidente à au plus 2 faces. Donc 2|A| ≥ |I|. On a
donc, 3|F | ≤ 2|A|.
De plus, de la formule d’Euler, |F | = 2 − |S| + |A|. Donc,

3(2 − |S| + |A|) = 3|F | ≤ 2|A|


6 − 3|S| + 3|A| ≤ 2|A|
|A| ≤ 3|S| − 6.

cqfd.

Corollaire 7.9. Tout graphe planaire G = (S, A) admet un sommet de degré ≤ 5.

87
2M226 Combinatoire et Graphes 2017–18

Démonstration. Soit n = |S| et m = |A|. Pour n = 1, 2 la propriété est triviale.


Supposons donc n ≥ 3, et soit δ le degré minimum de G.
Alors, du Lemme des poignées de mains avec le résultat précédent.
X
nδ ≤ d(s) = 2m ≤ 2(3n − 6) = 6n − 12.
s∈S

Donc,
12
δ ≤6− < 6.
n
cqfd.

Corollaire 7.10 (Théorème des 6-couleurs). Tout graphe planaire est 6-coloriable.

Démonstration. Par récurrence sur le nombre de sommets. Si n = 1 le résultat est


trivial. Sinon, soit v un sommet de degré ≤ 5. On colorié par récurrence G \ v avec
6 couleurs. Il en y a au plus 5 qui sont utilisés par des voisins de v. On peint v
avec le sixième. cqfd.

Le Théorème des 5-couleurs, est un peu plus compliqué mais faisable. Par
contre, le Théorème des 4-couleurs est un résultat très important, qui est resté
ouvert pendant long temps. Quand en 1976 Appel et Haken l’ont démontré, une
forte controverse c’est crée, car la preuve relie en un ordinateur qui vérifie plus de
1500 cas particuliers.

Théorème 7.11 (Théorème des 4-couleurs). Tout graphe planaire est 4-coloriable.

88
Bibliographie

[Aigner, 2007] Aigner, M. (2007). A course in enumeration, volume 238 of Gra-


duate Texts in Mathematics. Springer, Berlin.

89

Vous aimerez peut-être aussi