Enoncé A731 (Diophante) Le classement des billes
Jules possède des billes d’apparence identique. Il sait qu’elles sont toutes de masses légèrement différentes. Il aimerait les classer, dans l’ordre, de la plus lourde à la plus légère. Pour cela, il ne dispose que d’une petite balance à plateaux sur laquelle il ne peut mettre qu’une bille de chaque côté. Chaque utilisation de la balance constitue un test.
Q1 Combien de tests doit-il effectuer, au minimum, pour classer 5 billes, dans le pire des cas et en appliquant la meilleure stratégie ?
Q2 Combien de tests doit-il effectuer, au minimum, pour classer 8 billes, dans le pire des cas et en appliquant la meilleure stratégie ?
Q3Pour les plus courageux : combien de billes, au maximum, peut-il classer en 34 tests, dans le pire des cas et en appliquant la meilleure stratégie ? Solution de Jean Moreau de Saint-Martin
Question 1
Il y a 5! = 120 ordres possibles, nombre compris entre 26 et 27. Une pesée ne tranchant qu’entre deux ordres possibles, 7 pesées sont nécessaires. On va voir que 7 pesées suffisent.
Quitte à renommer les billes, j’admets a < b comme résultat du premier test, qui compareaetb,c < d comme résultat du deuxième. Le troisième test compareaetc, et j’admets qu’il a pour résultata < c; sinon, il suffit d’échanger les couples (a, b) et (c, d). Cela réduit à 15 le nombre des ordres possibles : 3 possibilités pourbpar rapport àcetd, puis 5 possibilités pour e, la bille non encore pesée, par rapport aux 4 autres. Le quatrième test comparec àe, répartissant les 15 possibilités en 7 et 8.
Le tableau suivant montre le choix des tests selon le résultat des tests pré- cédents ; en colonne de droite, les possibilités à l’issue des 6 premiers tests (billes en ordre croissant) et le 7ème test permettant de les départager.
T4 T5 T6 T7
e < c b < c b < e abecd e < b eabcd, aebcd, a:e c < b b < d eacbd, aecbd, a:e d < b eacdb, aecdb, a:e c < e d < e b < d abcde, acbde, b:c d < b acdeb, acdbe, b:e e < d b < e abced, acbed, b:c e < b acebd, acedb, b:d
Question 2
Comme 8! = 40320>215, 16 est une borne inférieure du nombre de pesées nécessaire pour classer 8 billes. On va voir que 16 pesées suffisent.
Ayant déjà classé 4 à 7 billes, on classe parmi elles une nouvelle bille en 3 pesées : la première compare la nouvelle bille à la bille de rang 4 ; la deuxième à la bille de rang 2 ou 6 selon le résultat de la première ; et la troisième à la bille de rang impair qui se classe dans le même intervalle de billes de rang pair.
Ainsi, ayant classé 5 billes en 7 pesées (question 1), on classe la 6ème par les pesées 8, 9 et 10, puis la 7ème par les pesées 11, 12 et 13, et enfin la 8ème par les pesées 14, 15 et 16.
Question 3
Comme 234 < 14!, 13 est une borne supérieure du nombre de billes clas- sables en 34 pesées. 12 en est une borne inférieure. En effet, ayant déjà classé 8 à 15 billes, on classe parmi elles une nouvelle bille en 4 pesées : la première compare la nouvelle bille à la bille de rang 8 ; la deuxième à la bille de rang 4 ou 12 selon le résultat de la première ; la troisième à la bille de rang 2, 6 10 ou 14 ; et la quatrième à la bille de rang impair qui se classe dans le même intervalle de billes de rang pair. Il en découle que 32 pesées suffisent pour 12 billes.
Mais on pourra montrer ainsi que 34 pesées suffisent pour 13 billes, si on est capable de montrer que 22 pesées suffisent pour 10 billes : la 11ème bille sera classée par les pesées 23 à 26, la 12ème par les pesées 27 à 30 et la 13ème par les pesées 31 à 34.
Examinons donc le cas de 10 billes. Je m’inspire largement ici du problème A70222.
Les 5 premières pesées classent les billes en 5 paires disjointes, soita < b, c < d, e < f,g < h, i < j. Les 7 pesées 6 à 12 classent entre elles les 5 billes lourdes de ces paires, soitb < d < f < h < j, par un ré-étiquetage entre les paires.
La pesée 13 compareeà b, bille médiane du trio a < b < d, et la pesée 14 classeepar rappport à aou dselon le résultat de la pesée 13.
De même les pesées 15 et 16 classent la bille c par rapport à a, b, e, la pesée 15 comparantc à la bille médiane du trio a, b, e dont le classement est maintenant connu.
On dispose alors de 7 billesa, b, c, d, e, f, hdont le classement est connu. On y classe la billeien 3 pesées (17, 18, 19) commençant par la comparaison deià la bille médiane des 7 billes classées, et en poursuivant comme dans la question 2.
Les pesées 20, 21 et 22 suffisent alors à classer la billeg parmi les 7 billes a, b, c, d, e, f, i de classement connu, et le classement complet s’en déduit immédiatement carg < h < j.
Cela prouve que 34 pesées suffisent1 pour classer 13 billes, donnant une réponse positive à la question 3.
1. Comme 13! <233, on peut se demander si 33 pesées pourraient suffire. Il a été prouvé (par programme) que ce n’est pas le cas.