E638. A la recherche de Max
Soit une fonction réelle définie sur l’intervalle 0, 10 centimètres qui est strictement croissante entre 0 et une certaine valeur et qui est strictement décroissante entre et 10 centimètres.
Vous pouvez poser autant de questions que vous le souhaitez de la forme : « Pour , quelle est la valeur de ? » et vous aurez pour réponse .
Quel est le nombre minimum de questions qui vous donne la certitude de situer dans un intervalle de moins d’un dixième de millimètre ?
Source : d’après “The MSRI Newsletter Spring 2007”
Solution
Préliminaires
Supposons que , avec 0, et choisissons , tel que . On a , ! strictement croissante sur , ! , c'est-à-dire, en passant à la contraposée : % ! , . De la même façon : & ! , . Afin de réduire l’intervalle d’une même proportion quelles que soient les valeurs de , on choisit (c'est-à-dire que et sont disposés symétriquement par rapport au milieu de , . On pose () et () , si % . On pose () et () sinon.
On constate alors que ())*.
En d’autres termes, il possible de réduire l’intervalle d’incertitude de à partir de deux valeurs de en deux points disposés symétriquement dans cet intervalle. L’intervalle obtenu a une longueur au moins égale à la moitié de longueur de l’intervalle de départ.
Stratégie simpliste
Une première stratégie consisterait à poser deux questions par itération, et obtenir la meilleure réduction possible de l’intervalle d’incertitude à chaque itération.
On prend :
+
2 - et + 2 + -
On obtient :
() .1 2 + -/
2 0() avec - 0 22 0
2 0
En choisissant 0 suffisamment petit, il suffit de 2 itérations, soit 22 questions, pour obtenir une réduction d’un facteur aussi proche qu’on le souhaite de 2. En particulier, 2) 1024 implique que 20 questions sont suffisantes pour réduire l’intervalle d’un facteur 1000.
an cn dn bn
Ln
Ln+1
an+1 bn+1
Stratégie optimale
Une stratégie, qui s’avèrera meilleure, consiste à ne poser qu’une question par itération en réutilisant l’une des valeurs obtenues à l’itération précédente pour réduire l’intervalle d’incertitude.
Si % , on pose () , () , () , et () () ()+ (). On supposera que () (). On constate alors que :
L5 d5 a5 + b5 d5 d5 a5 + c5 a5 b5() a5() + d5() a5() L5()+ L5(*
Sinon, on pose () , () , () , et () tel que () () () (). On supposera que () (). On constate encore que :
L5 b5 c5 + c5 a5 b5 c5 + b5 d5 b5() a5() + b5() c5() L5()+ L5(*
Rappelons que la suite de Fibonacci est définie par :
F 0, F) 1, F5 F59)+ F59*
Et que son terme général vérifie donc :
. FF59)5 / :1 11 0; .F59) F59*/ F5() 1 0 :1 11 0;
5:10;
La relation L5 L5()+ L5(* permet alors d’établir que .)/ :1 11 0;
9).9) /
1 0 :1 11 0;
9):2 01 ; avec 9) 2 0
1 0 :1 11 0;
9)<:21; :0 0;=
1 0 :1 11 0;
9)>:1 11 0;
*:10; 0:1 0;?
@(* 0@
Il suffit donc de 2 itérations, soit 2 + 1 questions, pour obtenir une réduction d’un facteur aussi proche qu’on le souhaite de @(*, pourvu que 0 soit suffisamment petit. En particulier, @)A 1597 implique que 16 questions sont suffisantes pour réduire l’intervalle d’un facteur 1000.
an cn dn bn
Ln
Ln+1
an+1 cn+1 dn+1 bn+1
Ln+2