vecteur des objets \( \mathbf{o} \) nombre d'objets total \( o = \mathbf{o}^\top 1 \) nombre de types d'objets \( t = |\mathbf{o}| \) |
|||||
objets tous différents \[ o = t \] | certains objets répétés \[ o \gt t \] | objets identiques illimités \[ \gray{ o_i = \infty \Rightarrow } \\ o_i = e \] | |||
On les prend tous | On les arrange tous | On les prend tous | On les arrange tous | On les prend tous | On les arrange tous |
---|---|---|---|---|---|
\[ \gray{ 1 } \] | \[ o! \] | \[ \gray{ 1 } \] | \[ \frac{o!}{o_1!~o_2!~...} \] | \[ \gray{ \infty } \] | \[ \gray{ \infty } \] |
On en prend \(e\) | On en arrange \(e\) | On en prend \(e\) | On en arrange \(e\) | On en prend \(e\) | On en arrange \(e\) |
\[ \frac{t!}{e!(t - e)!} \] | \[ \frac{t!}{(t - e)!} \] | \[ * \] | \[ * \] | \[ \frac{(t + e - 1)!}{e!(t - 1)!} \] | \[ t^e \] |
La formule classique :
\[ \text{Coeff}(\mathbf{o},e) = [z^e] \prod_{i=1}^{n} \frac{1-z^{o_i+1}}{1-z} \]
Je préfère celle-ci :
\[ \text{Coeff}(\mathbf{o},e) = [z^e] \prod_{i=1}^{n} \sum_{j=0}^{o_i} z^j \]
Méthode rapide (convolution)Exemple avec \( \mathbf{o} = \{ 5, 2, 1, 3 \}, e = 5 \).
On aurait alors
\( (1 + z + z^2 + z^3 + z^4 + z^5) (1 + z + z^2) (1 + z) (1 + z + z^2 + z^3) \)
Qu'on va reprsenter comme ça : \( (111111)(111)(11)(1111) \)
(1 1 1 1 1 1)(1 1 1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 3 3 3 2 1 (1 2 3 3 3 3 2 1)(1 1) 1 2 3 3 3 3 2 1 1 2 3 3 3 3 2 1 1 3 5 6 6 6 5 3 1 (1 3 5 6 6 6 5 3 1)(1 1 1 1) 1 3 5 6 6 6 5 3 1 1 3 5 6 6 6 5 3 1 1 3 5 6 6 6 5 3 1 1 3 5 6 6 6 5 3 1 1 4 9 15 20 23 23 20 15 9 4 1 ^^ 0 1 2 3 4 5 6 7 8 9 10 11
\( \text{Coeff}(\mathbf{o},e) = 23\)
Mais problème : y a des solutions comme 1 + 1 + 12 et ça existe pas comme face de dé, 12...
On peut dresser la liste des solutions de manières ensembliste :
(car on tombe vite dans un piège ou deux...)
L'idée est de voir qu'il y a autant de chances
de faire 15 que 6.
Comment ce fait-ce ?
Avec 2D6, c'est plus probable de faire 7
(valeur médiane) que 12 ou 2.
Et les chances de faire 12 ou 2 sont les mêmes.
Par extrapolation : la probabilité de 3 = probabilité de 11,
p de 4 = p de 10, etc.
On peut dresser le tableau :
2 3 4 5 6 7 8 9 10 11 12
De la même manière, pour 3D6 on a :
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 16 17 18
probabilité de 15 = probabilité de 6
car à la même distance du centre
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 16 17 18
Donc on va calculer la probabilité pour 6 vu que c'est
la même que pour 15 :
Les 4 koalas sont allés chercher des fruits pour en donner un à chacun des 3 éléphants.
Chacun des koala a une seule sorte de fruit en une quantité qui lui est propre.
La répartition est la suivante :
koala | fruit(s) |
---|---|
Amandine | 5 bananes |
Thor | 3 cerise |
Nikita | 1 orange |
Will Smith | 1 tomate |
Note :
Amandine a 5 bananes, mais elle ne pourra jamais en donner plus que 3,
vu qu'il y a 3 éléphants et que chacun n'aura droit qu'à un seul fruit.
De manière générale : on plafonne les éléments du vecteur à \( e \).
Donc \( \{ 5,3,1,1 \} \) devient \( \{ 3,3,1,1 \} \)
La formule est \[ \sum_{\substack{ x_1 + x_2 + x_3 + x_4 ~=~ 3 \\[0.5em] 0 ~\leq~ x_i ~\leq~ o_i }} \frac{3!}{\prod_{i=1}^4 x_i!} \quad;\quad \mathbf{o} = \{ 3,3,1,1 \} \quad;\quad e = 3 \]
On cherche les types partitions ;
les manières de partitionner le don de
3 fruits par les 4 koalas.
Il peut être trouvé avec la formule des
partitions avec le plus grand nombre du
vecteur
( \( p(o_{max}) \), ici \( p(3) = 3 \),
mais c'est vite des formules compliquées).
Ici on les pose (les trois) à la main.
Types \[ p(3) = 3 \] | Un koala donne ses trois fruits : \[ 3,0,0,0 \] | Un koala donne deux fruits et un autre un fruit : \[ 2,1,0,0 \] | Trois koalas donnent un fruit chacun : \[ 1,1,1,0 \] |
---|---|---|---|
Combinaisons possibles \[ 20 \] Combinaisons valides \[ \text{Coeff}(\{ 3,3,1,1 \}, 3) \\[.5em] = 12 \] | \[ 3,0,0,0 \\[.5em] 0,3,0,0 \gray{ \\[.5em] \sout{0,0,3,0}\\[.5em] \sout{0,0,0,3} } \] | \[ \begin{array}{l} 2,1,0,0 \\[.5em] 2,0,1,0 \\[.5em] 2,0,0,1 \\[1em] 1,2,0,0 \\[.5em] 0,2,1,0 \\[.5em] 0,2,0,1 \\[1em] \end{array} \gray{ \begin{array}{l} \sout{ 1,0,2,0 } \\[.5em] \sout{ 0,1,2,0 } \\[.5em] \sout{ 0,0,2,1 } \\[1em] \sout{ 1,0,0,2 } \\[.5em] \sout{ 0,1,0,2 } \\[.5em] \sout{ 0,0,1,2 } \\[1em] \end{array} } \] | \[ 1,1,1,0 \\[.5em] 1,1,0,1 \\[.5em] 1,0,1,1 \\[.5em] 0,1,1,1 \] |
Arrangements | \[ 2 \frac{3!}{3!~0!~0!~0!} = 2 \] | \[ 6 \frac{3!}{2!~1!~0!~0!} = 18 \] | \[ 4 \frac{3!}{1!~1!~1!~0!} = 24 \] |
\[ \sum_{\substack{ x_1 + x_2 + x_3 + x_4 ~=~ 3 \\[0.5em] 0 ~\leq~ x_i ~\leq~ o_i }} \frac{3!}{\prod_{i=1}^4 x_i!} \quad=\quad 2 + 18 + 24 \quad=\quad \underline{\underline{44}} \] |
Alors, c'était pas si compliqué. Le plus dur c'est surtout de faire en sorte que les koalas ne manges pas les fruits.
Combien y a-t-il d'arrangements possibles de 4 lettres parmi AAABBBCCC ?
Variables (3 A, 3 B et 3 C) :
Formule :
Estimation de la complexité de l'exercice :
Donc 15 termes (maximum) à additionner : faisable
Enumération / définition des groupes de termes :
Formule finale :
La formule la plus simple c'est évidemment \( 10^3 (= 1000) \),
et on va la garder sous le coude pour vérifier à la fin si on a bien le même résultat.
Mais donc ici on est en mode hard, c'est-à-dire qu'on va utiliser
\[ \begin{aligned}
& \sum_{
\begin{matrix}
x_1 + x_2 + ... x_k = e \\
0 \leq x_i \leq o_i
\end{matrix}
}
~~~
\frac{ e! }{
\prod_{i=1}^k x_i!
}
\end{aligned} \]
et il faut bien poser le problème...
A votre avis, quelles sont les bonnes variables à poser ?
\[ \begin{aligned} & 1. && \mathbf{o} = \{ 10,10,10 \} ; && e = 3 \\[1em] & 2. && \mathbf{o} = \{ 3,3,3,3,3,3,3,3,3,3 \} ; && e = 3 \\[1em] & 3. && \mathbf{o} = \{ \infty,\infty,\infty,\infty,\infty,\infty,\infty,\infty,\infty,\infty, \} ; && e = 3 \end{aligned} \]
Pourquoi j'ai posé ces trois-cis ?
La première est une erreur qui (en tout cas chez moi) vient tout de suite de manière intuitive : on a trois chiffres qui chacun peuvent avoir 10 valeurs.
Mais c'est bien la deuxième formule qui est correcte pour exprimer le problème : on a une collection de 30 chiffres répartis en 10 catégories distinctes.
On pourrait (devrait) même prendre la troisième : on a une infinité de chiffres à disposition mais de 10 types différents.
Mais alors pourquoi la 2. et pas la 3. ?
Comment pour l'exerice des koalas : on ne pourra jamais prendre plus que 3 chiffres identiques étant donné qu'on a que trois emplacements à disposition. On va donc "clamper" les valeurs à 3.
Il y a 3 manières (Types) de prendre trois chiffres :
- 3 chiffres identiques
- 2 chiffres identiques et 1 autre
- 3 chiffres différents
La formule donne donc :
\[ \begin{aligned} & 10 \frac{3!}{ 3! \gray{0!0!0!0!0!0!0!0!0!} } + 90 \frac{3!}{ 2! \gray{1!0!0!0!0!0!0!0!0!} } + 120 \frac{3!}{ \gray{1!1!1!0!0!0!0!0!0!0!} } = \\[2em] & 10 \quad+\quad 90 \cdot 3 \quad+\quad 120 \cdot 6 \quad=\quad 10 + 270 + 720 \quad=\quad \underline{\underline{1000}} \end{aligned} \]
By the way, le nombre de combinaisons totales
( \( 220 \) )
es bien donné par la somme des combinaisons
( \( 10 + 90 + 120 \) )
Vérification, prendre 3 parmis 10 avec répétition :
\[
\overline{C}_{3}^{10} ~~=~~
C_{3}^{12} ~~=~~
\frac{12!}{3!9!} ~~=~~
\frac{10 ~ 11 ~ \sout{12} ~ 2}{\sout{3 ~ 2}}
~~=~~
220
\]
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1\[ \binom{n}{k} \quad=\quad \binom{n-1}{k} + \binom{n-1}{k-1} \]
1 0 1 0 -1 1 0 2 -3 1 0 -6 11 -6 1 0 24 -50 35 -10 1\[ s(n,k) \quad=\quad (n-1)s(n-1,k) + s(n-1,k-1) \]
1 1 1 1 3 1 1 7 6 1 1 15 25 10 1 1 31 90 65 15 1\[ S(n,k) \quad=\quad kS(n-1,k) + S(n-1,k-1) \]
1 | 1 | ||||||
---|---|---|---|---|---|---|---|
2 | 1, 1 | 2 | |||||
3 | 2, 1 | 1, 1, 1 | 3 | ||||
4 | 3, 1 | 2, 2 | 2, 1, 1 | 1, 1, 1, 1 | 4 | ||
5 | 4, 1 | 3, 2 | 3, 1, 1 | 2, 2, 1 | 2, 1, 1, 1 | 1, 1, 1, 1, 1 | 7 |
Ici le but est de pouvoir résoudre n'importe quel problème pouvant être décrit par les variables \( \mathbf{o} \) et \( e\), ce qui en fait potentiellement une ch... beaucoup.
Plus spécifiquement, le but est de faire un algorithme qui puisse boucler sur chaque possibilité sans passer par des cas inexistants ; on souhaite seulement faire les calculs nécessaires et aucun de plus.
Manières \( |m| \leq p(o_{max}) = 3 \) |
\( P m_{max} = p(o_{max})! \) |
Combinaisons \( |c| \leq \overline{C}_4^3 = \binom{4+3-1}{3} = 20 \) \( |c| \leq |m| \cdot |m|! = 18 \) \( bN(\mathbf{o}) = [z^4] \prod_{i=1}^{|\mathbf{o}|} \frac{1-z^{o_i+1}}{1-z} = 5 \) \( |c| = \sum_{i=1}^{|m|} | P^* m_i | = 5 \) |
Arrangements \( |a| \leq \) |
|||
\( m_1 = \{ 3,1,0 \} \)
XXXY
|
\( P^* m_1 = 2 \) |
\( c_{1_1} = 3,1,0 \)
AAAB
|
\( c_{1_2} = 3,1,0 \)
AAAC
|
AAAB AABA ABAA BAAA
|
AAAC AACA ACAA CAAA
|
|
\( m_2 = \{ 2,2,0 \} \)
XXYY
|
\( P^* m_2 = 1 \) |
\( c_{2_1} = 2,2,0 \)
AABB
|
AABB ABAB ABBA
BAAB BABA BBAA
|
|||
\( m_3 = \{ 2,1,1 \} \)
XXYZ
|
\( P^* m_3 = 2 \) |
\( c_{3_1} = 2,1,1 \)
AABC
|
\( c_{3_2} = 1,2,1 \)
ABBC
|
AABC AACB ABAC
ABCA ACAB ACBA
|
BABC BACB BBAC
BBCA BCAB BCBA
|