Mi libro de texto dice: "Definimos la función de la siguiente forma: f ( 1 ) = 2 y f ( i + 1 ) = 2 f ( i ) 1.2 . Tenga en cuenta que dado n , podemos encontrar fácilmente en O ( n 1.5 ) tiempo, el número i de tal manera que n se intercala entre f ( i ) y f ( i + 1 ".
¿Cómo puedo convencerme de que podemos encontrar fácilmente en el tiempo O ( n 1.5 ) ? Como f se define de forma recursiva, creo que tenemos que calcular f ( 1 ) , f ( 2 ) , f ( 3 ) ... f ( j ) hasta f ( j ) ≥ n . Para saber el tiempo que tardan estos cálculos, creo que tenemos que encontrar un límite superior adecuado para i dependiente de ny tenemos que encontrar un límite superior en el tiempo de ejecución de la función . Al final, esperamos poder mostrar la propuesta citada. Lamentablemente, no veo ni una cosa ni la otra.
Olvidé mencionar: Tenga en cuenta que estamos en un contexto no determinista. Entonces se afirma que es computable en O ( n 1.5 ) por una máquina de Turing no determinista.
Como algunas personas ya han leído esta pregunta, y algunas de ellas la encuentran útil e interesante también, pero nadie respondió hasta ahora, quiero proporcionar más información sobre el contexto: la afirmación citada es una parte integral de la prueba de El teorema de la jerarquía temporal no determinista. La prueba (con la afirmación) se puede encontrar, por ejemplo, en el libro de Arora y Barak , pero también he encontrado algunos otros recursos en la Web que presentan la misma prueba. Cada una de esas llamadas es fácil o trivial y no explica cómo encontrar en O ( n 1.5 ) . Entonces, o todos estos recursos que acabo de copiar de Arora y Barak o el reclamo no es tan difícil.