Tendemos a usar estos términos de manera flexible en la ingeniería del mundo real, pero hay un significado formal de n : el tamaño del parámetro de entrada del problema cuando se escribe en un alfabeto específico (a menudo, bits). La complejidad del tiempo debe medirse en relación con un modelo de cálculo (típicamente, una máquina de Turing). En el caso de la máquina de Turing, n sería el tamaño de la cuerda más pequeña que cubre las ranuras no nulas de la cinta y el punto de partida de la cabeza.
Para problemas no triviales, en realidad no puede ser más rápido que lineal (es decir, [matemática] O (n) [/ matemática]) en una máquina Turing, porque debe moverse por la cinta y leer toda la entrada, a menos que asuma que los movimientos inactivos (sin escribir o leer) son gratuitos. Entonces, cuando ve una complejidad de tiempo más rápida que la lineal, como [math] O (\ log n) [/ math] para, por ejemplo, acceder a una estructura de datos en forma de árbol, eso en realidad es asumir una máquina de Turing con acceso aleatorio a la cinta, lo que permite que la cabeza se mueva a la dirección de un puntero en tiempo [matemático] O (1) [/ matemático], que el modelo TM típico no permite. Estoy ignorando los problemas de caché y similares, y también, por supuesto, que las máquinas de Turing tienen una cinta infinita y ninguna máquina del mundo real.
Para ser justos con la Máquina de Turing, aunque parece que este movimiento [matemático] O (n) [/ matemático] lo hace “más débil” que una computadora del mundo real que tiene acceso aleatorio a toda su memoria; Si hablamos de comportamiento asintótico, necesitamos manejar tamaños arbitrarios, y los sistemas del mundo real solo tienen ese acceso aleatorio a una cantidad finita de cosas. Tratamos el acceso a la memoria como [math] O (1) [/ math] en una máquina del mundo real bajo el supuesto de que no nos toparemos con sus limitaciones.
Sin embargo, para responder a la pregunta: [matemática] O (\ frac1n) [/ matemática] significa que un problema tomaría pasos de tiempo cero (inicio detenido) para n suficientemente grande. En ese caso, no tendría tiempo para leer nada de la cinta, lo que significa que no sabría que n es grande, por lo que tiene que hacer eso (comenzar detenido) sin importar qué n sea. Eso significa que es el programa trivial de no hacer nada.
- ¿Por qué las matemáticas no son vistas como la prueba definitiva de una inteligencia detrás del universo, ya que las matemáticas se descubren, no se inventan?
- ¿De dónde sale esta prueba de inducción, alegando que no puede haber ningún cuestionario sorpresa?
- ¿Cuál es la prueba matemática de la ley de viscosidad de Newton?
- Cómo demostrar que existen conjuntos finitos de matrices unitarias NXN [matemática] {U_i} [/ matemática] y probabilidades (que suman 1) [matemática] {p_i} [/ matemática] de cardinalidad igual para todas las matrices NXN [matemáticas] A [/ matemáticas], [matemáticas] \ sum_i p_i U_i A U_i ^ \ dagger = \ frac {tr (A)} {N} I [/ matemáticas]
- Un típico juego de tres loterías tiene una recompensa de $ 500 en un boleto de $ 1 y la posibilidad de ganar es de 1 en 1000. ¿Muestra que la recompensa esperada es menor que 1?