Solution du défi
Explications
On va regarder ce qui se passe quand il y a moins d'arbres intermédiaires (les acajous).
Quand il n'y a aucun acajou intermédiaire, on n'a qu'un espace inter-arbres à franchir. S'il y a 1 acajou, il y a 2 espaces et pour 2 acajous, 3 espaces. Dans les trois cas, le singe peut prendre un nombre de bananes identique au nombre d'espaces et filer tout droit à destination.
Par contre avec n = 3 acajous, ça ne marche pas car il faudrait prendre 4 bananes. Or le singe ne peut en porter que 3. Il faut donc commencer à créer une réserve. Avec 3 bananes comme capacité d'emport, il n'y a pas le choix : il faut prendre 3 bananes, aller sur l'acajou numéro 1, poser une des bananes, puis revenir. Ensuite il suffit de prendre 3 bananes d'aller sur l'acajou 1, de récupérer la banane déposée, on en a alors 3, et de filer vers l'objectif. Consommation totale : 6 bananes. On peut avec un peu de patience voir que toute tentative de dévier de cette suite d'opérations se soldera par une consommation plus grande.
À partir de n = 4 acajous, la solution optimale (en nombre de bananes mangées) n'est plus unique. Cependant on va distinguer une des solutions optimales. Pour cela on va démontrer qu'il y en toujours une solution qui, en plus d'être optimale, procède par une série d'allers-retours (et d'un aller) entre le bananier et le premier acajou, suivie d'une série d'allers-retours (et d'un aller) entre le 1er et le 2e acajou, et ainsi de suite jusqu'au dernier arbre.
Maintenant que l'on sait cela, on peut déduire la consommation optimale V pour n acajous intermédiaires de la consommation optimale U pour n−1 acajous. Il suffit en effet d'amener U bananes disponibles sur l'acajou numéro 1. Si U est 2 ou moins, le singe prend U+1 bananes au bananier va à l'arbre 1. Consommation de la manip: 1 banane. Consommation totale : U+1. Si U est plus grand que 2, le singe doit faire U−2 allers-retours entre le bananier et l'acajou numéro 1, puis finir par un aller. À chaque fois il doit prendre 3 bananes au bananier. Consommation : 2×(U−2)+1 bananes. Consommation totale : 3×U−3 = 3(U−1).
Pour résumer : si on appelle U(n) l'optimum pour n acajous intermédiaires on a
- quand U(n) vaut 2 ou moins alors U(n+1) = U(n)+1 et
- quand U(n) vaut 3 ou plus alors U(n+1) = 3×(U(n)−1).
À partir de là, on peut déduire la réponse pour les valeurs successives de n.
n | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
optimum | 1 | 2 | 3 | 6 | 15 | 42 | 123 | 366 | 1095 | 3282 |
La réponse est donc que le singe devra manger au minumun 3282 bananes. Ça fait quand même un sacré paquet.
Retour au calendrier.