Cet article ne cite pas suffisamment ses sources (décembre 2019).
Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ».
En mathématiques combinatoires, une preuve par double dénombrement, ou double comptage, ou encore double décompte, est une technique de preuve combinatoire servant à démontrer que deux expressions sont égales en prouvant qu'il y a deux façons de compter le nombre d'éléments d'un même ensemble. Van Lint et Wilson décrivent cette technique comme « un des outils les plus importants en combinatoire »[1].
Soient deux ensembles finis E {\displaystyle {\mathcal {E}}} et F {\displaystyle {\mathcal {F}}} , et une partie G {\displaystyle {\mathcal {G}}} de E × F {\displaystyle {\mathcal {E}}\times {\mathcal {F}}} ; chaque fois que ( x , y ) {\displaystyle (x,y)} appartient à G {\displaystyle {\mathcal {G}}} , on dit que x {\displaystyle x} et y {\displaystyle y} sont incidents.
Notons que G {\displaystyle {\mathcal {G}}} peut être vu comme le graphe d'une relation binaire R {\displaystyle R} de E {\displaystyle {\mathcal {E}}} vers F {\displaystyle {\mathcal {F}}} , auquel cas « x {\displaystyle x} et y {\displaystyle y} incidents » s'écrit x R y {\displaystyle xRy} , ou encore comme un graphe biparti.
Si n + ( x ) {\displaystyle n^{+}(x)} désigne le nombre d'éléments y {\displaystyle y} incidents à x {\displaystyle x} , et n − ( y ) {\displaystyle n^{-}(y)} celui des éléments x {\displaystyle x} incidents à y {\displaystyle y} , on a alors la formule dite du double décompte, ou du comptage par tranches (ou par piles) [2]:
∑ x ∈ E n + ( x ) = ∑ y ∈ F n − ( y ) = | G | = card G {\displaystyle \sum _{x\in E}n^{+}(x)=\sum _{y\in F}n^{-}(y)=\left\vert {\mathcal {G}}\right\vert ={\text{card }}{\mathcal {G}}} .
Un cas particulier intéressant est celui où n + {\displaystyle n^{+}} et n − {\displaystyle n^{-}} sont constants ; la formule s'écrit alors n + ⋅ | E | = n − ⋅ | F | {\displaystyle n^{+}\cdot \left\vert {\mathcal {E}}\right\vert =n^{-}\cdot \left\vert {\mathcal {F}}\right\vert } .
La formule du double décompte s'interprète dans ce diagramme par le fait que le nombre de flèches est égal au nombre de leurs départs ainsi qu'au nombre de leurs arrivées.
Si on définit la matrice d'incidence A {\displaystyle A} du graphe G {\displaystyle {\mathcal {G}}} ou de la relation R {\displaystyle R} par A ( x , y ) = 1 {\displaystyle A(x,y)=1} si ( x , y ) {\displaystyle (x,y)} appartient à G {\displaystyle {\mathcal {G}}} , A ( x , y ) = 0 {\displaystyle A(x,y)=0} sinon, la formule du double décompte signifie que la somme des termes de la matrice A {\displaystyle A} s'obtient soit en sommant lignes par lignes, soit en sommant colonnes par colonnes. En effet n + ( x ) {\displaystyle n^{+}(x)} est le nombre de 1 {\displaystyle 1} situés dans la ligne associée à x {\displaystyle x} , et n − ( y ) {\displaystyle n^{-}(y)} est le nombre de 1 {\displaystyle 1} situés dans la colonne associée à y {\displaystyle y} .
Dans l'exemple ci-contre, la matrice d'incidence est A = ( α β γ δ a 1 0 0 0 b 1 1 0 0 c 0 0 1 1 d 0 1 0 0 e 1 0 0 1 ) {\displaystyle A={\begin{pmatrix}&\alpha &\beta &\gamma &\delta \\a&1&0&0&0\\b&1&1&0&0\\c&0&0&1&1\\d&0&1&0&0\\e&1&0&0&1\end{pmatrix}}} .
En ce sens, la formule du double décompte est un cas particulier de la formule d'interversion de signes de sommation : ∑ ( i , j ) ∈ I × J a i , j = ∑ i ∈ I ∑ j ∈ J a i , j = ∑ j ∈ J ∑ i ∈ I a i , j {\displaystyle \sum _{(i,j)\in I\times J}a_{i,j}=\sum _{i\in I}\sum _{j\in J}a_{i,j}=\sum _{j\in J}\sum _{i\in I}a_{i,j}} .
Ici, les ensembles E {\displaystyle {\mathcal {E}}} et F {\displaystyle {\mathcal {F}}} sont égaux à l'ensemble des entiers de 1 à n {\displaystyle n} , et deux entiers i {\displaystyle i} et j {\displaystyle j} sont incidents si i ⩽ j {\displaystyle i\leqslant j} .
Alors n + ( i ) = n + 1 − i {\displaystyle n^{+}(i)=n+1-i} et n − ( i ) = i {\displaystyle n^{-}(i)=i}
La formule du double décompte s'écrit alors ∑ i = 1 n ( n + 1 − i ) = ∑ i = 1 n i {\displaystyle \sum _{i=1}^{n}(n+1-i)=\sum _{i=1}^{n}i} , dont on déduit la formule classique ∑ i = 1 n i = n ( n + 1 ) 2 {\displaystyle \sum _{i=1}^{n}i={n(n+1) \over {2}}} .
Mêmes ensembles E {\displaystyle {\mathcal {E}}} et F {\displaystyle {\mathcal {F}}} , mais i {\displaystyle i} et j {\displaystyle j} sont incidents si i {\displaystyle i} divise j {\displaystyle j} .
Alors n + ( i ) {\displaystyle n^{+}(i)} est le nombre de multiples de i {\displaystyle i} inférieurs ou égaux à n {\displaystyle n} , qui vaut ⌊ n i ⌋ {\displaystyle \left\lfloor {\frac {n}{i}}\right\rfloor } où ⌊ . ⌋ {\displaystyle \left\lfloor .\right\rfloor } désigne la partie entière, et n − ( i ) {\displaystyle n^{-}(i)} est le nombre d ( i ) {\displaystyle d(i)} des diviseurs de i {\displaystyle i} .
La formule du double décompte s'écrit alors ∑ i = 1 n d ( i ) = ∑ i = 1 n ⌊ n i ⌋ {\displaystyle \sum _{i=1}^{n}d(i)=\sum _{i=1}^{n}\left\lfloor {\frac {n}{i}}\right\rfloor } ; on en déduit facilement que 1 n ∑ i = 1 n d ( i ) ∼ ∑ i = 1 n 1 i = H n {\displaystyle {1 \over n}\sum _{i=1}^{n}d(i)\sim \sum _{i=1}^{n}{1 \over i}=H_{n}} (série harmonique), et comme H n ∼ ln n {\displaystyle H_{n}\sim \ln n} , on obtient que le nombre moyen de diviseurs d'un nombre entre 1 et n {\displaystyle n} équivaut à ln n {\displaystyle \ln n} .
Ici, l'ensemble E {\displaystyle {\mathcal {E}}} est l'ensemble des sommets d'un graphe, F {\displaystyle {\mathcal {F}}} l'ensemble de ses arêtes, et la relation d'incidence celle d'adjacence entre les sommets et les arêtes. Pour un sommet s {\displaystyle s} , n + ( s ) {\displaystyle n^{+}(s)} s'interprète comme le degré de s {\displaystyle s} , et pour une arête a {\displaystyle a} , n − ( a ) = 2 {\displaystyle n^{-}(a)=2} ; la formule du double décompte s'écrit alors ∑ deg ( s ) = 2 A {\displaystyle \sum \operatorname {deg} (s)=2A} où A {\displaystyle A} est le nombre d'arêtes du graphe. On en déduit que le nombre de sommets de degré impair est pair, ce qui constitue le lemme des poignées de main.
On en déduit aussi par exemple que dans un polyèdre dont tous les sommets sont de degré n {\displaystyle n} , n S = 2 A {\displaystyle nS=2A} où S {\displaystyle S} est le nombre de sommets.
De la même façon, dans un polyèdre où toutes les faces ont p {\displaystyle p} arêtes, p F = 2 A {\displaystyle pF=2A} où F {\displaystyle F} est le nombre de faces.
Ici, l'ensemble E {\displaystyle {\mathcal {E}}} est l'ensemble des parties à p {\displaystyle p} éléments d'un ensemble à n {\displaystyle n} éléments et F {\displaystyle {\mathcal {F}}} l'ensemble des parties à q {\displaystyle q} éléments ; on décrète que deux parties A {\displaystyle A} et B {\displaystyle B} sont incidentes si elles sont disjointes.
Le nombre d'éléments du graphe G {\displaystyle {\mathcal {G}}} vaut ( n p + q ) ( p + q p ) {\displaystyle {\binom {n}{p+q}}{\binom {p+q}{p}}} (choix de A ∪ B {\displaystyle A\cup B} , puis choix de A {\displaystyle A} dans A ∪ B {\displaystyle A\cup B} ). Or ici n + ( A ) {\displaystyle n^{+}(A)} , qui est le nombre de B {\displaystyle B} disjoints de A {\displaystyle A} , vaut ( n − p q ) {\displaystyle {\binom {n-p}{q}}} , et n − ( B ) {\displaystyle n^{-}(B)} vaut ( n − q p ) {\displaystyle {\binom {n-q}{p}}} . La formule du double décompte s'écrit alors :
( n p ) ( n − p q ) = ( n q ) ( n − q p ) = ( n p + q ) ( p + q p ) {\displaystyle {\binom {n}{p}}{\binom {n-p}{q}}={\binom {n}{q}}{\binom {n-q}{p}}={\binom {n}{p+q}}{\binom {p+q}{p}}} .
Par exemple, en faisant q = 1 {\displaystyle q=1} , on obtient ( n − p ) ( n p ) = n ( n − 1 p ) = ( p + 1 ) ( n p + 1 ) {\displaystyle (n-p){\binom {n}{p}}=n{\binom {n-1}{p}}=(p+1){\binom {n}{p+1}}} , ce qui, en changeant p {\displaystyle p} en p − 1 {\displaystyle p-1} donne l'importante formule du pion :
( n p ) = n p ( n − 1 p − 1 ) {\displaystyle {\binom {n}{p}}={n \over p}{\binom {n-1}{p-1}}} .
Cherchons le nombre de parties d'un ensemble à n éléments.
Première méthode : il y a deux possibilités pour chaque élément : soit il est dans la partie, soit il n'y est pas. Par conséquent, il y a un total de 2 × 2 × … × 2 ( n fois ) , s o i t 2 n {\displaystyle 2\times 2\times \ldots \times 2\,(n{\mbox{ fois}}),soit2^{n}} parties.
Deuxième méthode : le nombre d'éléments dans une partie est un entier p {\displaystyle p} entre 0 et n {\displaystyle n} . Le nombre de parties à p {\displaystyle p} éléments est le coefficient binomial ( n p ) {\displaystyle {\binom {n}{p}}} , Ainsi, le nombre de parties est ∑ p = 0 n ( n p ) {\displaystyle \sum _{p=0}^{n}{\binom {n}{p}}} .
L'égalisation des deux expressions donne :
Le petit théorème de Fermat affirme que « si p {\displaystyle p} est un nombre premier et si a {\displaystyle a} est un entier quelconque, alors a p − a {\displaystyle a^{p}-a} est un multiple de p {\displaystyle p} ». Par exemple :
Soit p {\displaystyle p} un nombre premier et a {\displaystyle a} un nombre entier. Considérons un alphabet constitué de a {\displaystyle a} symboles. Comptons les n {\displaystyle n} mots de longueur p {\displaystyle p} dans lesquels il y a au moins deux symboles distincts.
Première méthode : il y a en tout a p {\displaystyle a^{p}} mots de longueur p {\displaystyle p} dans l'alphabet, desquels il faut retirer les a {\displaystyle a} mots constitués d'un seul et même symbole :
Deuxième méthode : ces mots peuvent être regroupés en ensembles de mots qui peuvent être déduits l'un de l'autre par permutation circulaire. On appelle ces ensembles des colliers (illustration). Par exemple, si l'alphabet est { A , B , C , D } {\displaystyle \{A,B,C,D\}} et si l'on considère des mots de trois lettres, les trois mots A B D {\displaystyle ABD} , B D A {\displaystyle BDA} et D A B {\displaystyle DAB} sont dans le même collier.
Il y a p {\displaystyle p} mots de p {\displaystyle p} symboles dans chaque collier. En effet, chacune des p {\displaystyle p} permutations donne un mot différent, car p {\displaystyle p} est premier. Ce ne serait pas le cas si p {\displaystyle p} n'était pas premier, il n'y a par exemple que 2 mots différents de 4 symboles dans le collier A B A B {\displaystyle ABAB} . On a donc :
En écrivant l'égalité entre ces deux expressions pour n {\displaystyle n} , on trouve que n = a p − a {\displaystyle n=a^{p}-a} est divisible par p {\displaystyle p} .
Quel est le nombre C n {\displaystyle C_{n}} d'arbres colorés différents qui peuvent recouvrir un ensemble de n {\displaystyle n} sommets distincts ? La formule de Cayley donne la réponse :
Aigner et Ziegler énumèrent quatre démonstrations différentes de ce résultat. Ils affirment que, des quatre, c'est la démonstration par double dénombrement que l'on doit à Jim Pitman qui est « la plus belle d'entre elles »[4],[5].
Dans cette démonstration on dénombre de deux façons les différentes suites d'arêtes orientées qui peuvent être ajoutées à un graphe nul (sans arêtes) de n sommets pour former un arbre.
Première méthode : on part de l'un des C n {\displaystyle C_{n}} arbres non orientés possibles et on choisit l'un de ses n sommets comme racine de l'arbre orienté, ce qui donne un arbre orienté. Il y a n − 1 {\displaystyle n-1} façons de choisir la première arête, puis n − 2 {\displaystyle n-2} façons de choisir l'arête suivante, et ainsi de suite. Finalement, le nombre total de suites qui peuvent être formées de cette façon est :
Deuxième méthode : on ajoute les arêtes une à une au graphe vide, en considérant le nombre de choix que l'on a à disposition à chaque étape. Si l'on a déjà ajouté une collection de n − k {\displaystyle n-k} arêtes de façon à former une forêt de k arbres orientés (illustration), il y a n ( k − 1 ) {\displaystyle n(k-1)} choix pour la prochaine arête à ajouter. En effet, son sommet de départ peut être n'importe lequel des n sommets du graphe et son sommet d'arrivée peut être n'importe lequel des k − 1 {\displaystyle k-1} racines autres que la racine de l'arbre contenant le sommet de départ (illustration). Finalement, en multipliant le nombre de choix à la première étape, à la deuxième étape, etc., le nombre total de choix est :
En écrivant l'égalité entre ces deux expressions pour le nombre de suites d'arêtes,
on obtient la formule de Cayley :