Problème de l'échiquier de Sissa
Le problème de l'échiquier de Sissa, également connu sous les noms de problème des grains de blé et de l'échiquier et problème des grains de riz et de l'échiquier[1], est un problème mathématique pouvant s'exprimer ainsi :
« On place un grain de riz (ou de blé) sur la première case d'un échiquier. Si on fait en sorte de doubler à chaque case le nombre de grains de la case précédente (un grain sur la première case, deux sur la deuxième, quatre sur la troisième, etc.), combien de grains de riz obtient-on au total ? »
Le problème peut être résolu par une addition où chaque valeur est le double de la précédente. Puisqu'un échiquier possède 64 cases, le total des grains est de 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128... jusqu'à la 64e case. On obtient ainsi 18 446 744 073 709 551 615 grains, ce qui correspond au 64e nombre de Mersenne.
Solution
Mathématiquement
La solution simple est de doubler chaque valeur manuellement à chaque étape et d'additionner l'ensemble des valeurs :
- où est le nombre total de grains.
La série peut également être exprimée à l'aide des puissances de 2 :
ce qui peut s'exprimer sous la notation :
Le problème peut également être résolu beaucoup plus facilement en utilisant la formule :
qui peut être démontrée ainsi :
En multipliant chaque côté par 2 :
On soustrait ensuite la série originale de chaque côté :
Cette solution est un cas particulier de la somme d'une série géométrique donnée par :
où est la quantité de base, est la modification à chaque étape de cette quantité et est le nombre de fois que cette dernière est doublée.
Dans ce problème-ci, , et .
En code (Python)
Ce problème peut également être résolu avec un très court programme en Python.
Il existe de nombreuses résolutions possibles mais l'une des plus simples ne nécessitant aucun paquet additionnel est celle ci-dessous:
r = 1
t = 1
for i in range(63):
r = r*2
t = t+r
print(t, "grains de riz")
On commence par définir r comme le nombre de grain de riz sur une certaine case de l'échiquier, t comme le nombre total de grain de riz.
r = 1
t = 1
À ce stade, le programme a déjà traité la première case de l'échiquier sur laquelle on a un seul grain de riz.
Pour les 63 restantes, on déclare une boucle for qui s'effectuera pour les valeurs de i dans une portée de 63 (donc i de 0 à 63).
Lors de chaque passage de la boucle, on multiplie par 2 le nombre de grains de riz sur la case (r) et on redéfinit le total des grains (t) en y ajoutant la nouvelle valeur de r.
for i in range(63):
r = r*2
t = t+r
Pour finir le code on renvoie la valeur du nombre total de grains de riz (t) après les 63 passages de la boucle for par la fonction primaire print().
print(t, "grains de riz.")
La légende
En Inde, le roi Belkib (ou Bathait), qui s'ennuie à la cour, demande qu'on lui invente un jeu pour le distraire. Le sage Sissa invente alors un jeu d'échecs, ce qui ravit le roi. Pour remercier Sissa, le roi lui demande de choisir sa récompense, aussi fastueuse qu'elle puisse être. Sissa choisit de demander au roi de prendre le plateau du jeu et, sur la première case, poser un grain de riz, ensuite deux sur la deuxième, puis quatre sur la troisième, et ainsi de suite, en doublant à chaque fois le nombre de grains de riz que l’on met. Le roi et la cour sont amusés par la modestie de cette demande. Mais lorsqu'on la met en œuvre, on s'aperçoit qu'il n'y a pas assez de grains de riz dans tout le royaume pour la satisfaire[2] - [3].
Si l'on se base sur la production annuelle de riz (479 millions de tonnes de riz usiné en 2014 ), il faudrait un peu moins de 1 500 ans pour réunir tous les grains de riz nécessaires à la réalisation de ce problème (à raison de 0,04 g par grain de riz). Mais si l'on considère le temps de conservation du riz qui est d'un peu plus de 30 ans, il serait en réalité impossible de fournir le riz nécessaire à ce problème, à moins d'augmenter la production de riz d'au moins 5 100 %, soit de multiplier la production par 52.
Notes et références
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Wheat and chessboard problem » (voir la liste des auteurs).