Mon manuel dit: "Nous définissons la fonction comme suit: f ( 1 ) = 2 et f ( i + 1 ) = 2 f ( i ) 1.2 . Notez que étant donné n , nous pouvons facilement trouver dans O ( n 1,5 ) fois le nombre i tel que n soit pris en sandwich entre f ( i ) et f ( i + 1 . "
Comment puis-je me convaincre que nous pouvons en fait facilement trouver en temps O ( n 1,5 ) ? Comme f est défini récursivement, je pense que nous devons calculer f ( 1 ) , f ( 2 ) , f ( 3 ) … f ( j ) jusqu'à f ( j ) ≥ n . Afin de connaître le temps que prennent ces calculs, je pense que nous devons trouver une borne supérieure appropriée pour i dépendant de net nous devons trouver une borne supérieure sur le temps d'exécution de la fonction . En fin de compte, nous pouvons espérer montrer la proposition citée. Malheureusement, je ne vois ni une chose ni l'autre.
J'ai oublié de mentionner: veuillez noter que nous sommes dans un contexte non déterministe. Donc est supposé être calculable dans O ( n 1.5 ) par une machine de Turing non déterministe.
Étant donné que bon nombre de personnes ont déjà lu cette question, certaines d’entre elles la trouvant utile et intéressante également, mais personne n’a répondu jusqu’à présent, je souhaite fournir plus d’informations sur le contexte: la déclaration citée fait partie intégrante de la preuve de le théorème de la hiérarchie temporelle non déterministe. La preuve (avec la réclamation) peut être trouvée par exemple dans le livre d'Arora et Barak , mais j'ai trouvé pas mal d'autres ressources sur le Web qui présentent la même preuve. Chacun de ceux-ci appelle la revendication facile ou triviale et ne précise pas comment trouver en temps O ( n 1,5 ) . Donc, soit toutes ces ressources viennent d'être copiées depuis Arora et Barak, soit la revendication n'est en fait pas si difficile.