He encontrado muchas fuentes que afirman que:
Los puntos de referencia estiman el tiempo de ejecución, Big O estima la escalabilidad.
Explicaron el significado de "escalabilidad" de la siguiente manera:
La escalabilidad le dice cómo se escala el tiempo de ejecución de su algoritmo. Es decir, cómo crece el tiempo de cálculo cuando aumenta el tamaño de entrada. Para duplica el tamaño de la entrada y duplica el tiempo de cálculo. Para duplica el tamaño de la entrada y cuadruplica el tiempo de cálculo y así sucesivamente.
Es decir, si su algoritmo toma pasos en el peor de los casos y , entonces la relación es igual a para valores suficientemente grandes de (usted duplica el tamaño de entrada y cuadruplica el tiempo de cálculo).
Y tenía mucho sentido. Pero recientemente me han mostrado un contraejemplo que demuestra que la declaración anterior es simplemente incorrecta. Considere la función . Podemos ver eso . Además, para aquellos de ustedes que quieran notar que por la gente suele querer decir podemos observar fácilmente que también:
Pero no escala como en el sentido de que no podemos afirmar que es igual a (incluso aproximadamente) para cualquier valor (incluso grande) de n. Quiero decir, si sabemos que y si duplicamos su tamaño de entrada, no podemos simplemente cuadruplicar el tiempo de cálculo, porque está mal.
hice una trama de para que lo visualices:
No parece que esta proporción tienda a 4.
Entonces, mis preguntas son:
¿Por qué la gente explica el significado de "escalabilidad" de esa manera? ¿Hay alguna razón para eso o son técnicamente incorrectos?
Entonces, ¿qué significa esta palabra "escalabilidad"? Entonces, ¿qué estima exactamente Big O (si no es "escalabilidad")?
En general, estoy buscando una explicación matemática pura de eso. Pero no lo pongas demasiado difícil, por favor: todavía estoy aprendiendo el cálculo de una sola variable. ¡Gracias a todos de antemano!
Este (muy bonito) ejemplo es bastante inusual - en la práctica funciona que en realidad surgen y son normalmente satisfacen tiende a algún límite positivo (en lugar de simplemente estar acotado de y ). Así que la versión simplificada de escalabilidad - - existe y es .
Sin embargo, incluso para su función, todavía hay un sentido razonable en el que duplicar , en promedio, aumenta por un factor de . ¿Qué podemos entender por "en promedio"? Bueno, para sacar un promedio necesitas duplicar más de una vez. Si duplicas dos veces para ir de a entonces el factor de escala promedio de las dos duplicaciones que tiene sentido es la media geométrica (porque está tratando de aproximarse por crecimiento geométrico), es decir . Ahora bien, esto tampoco tiende a un límite, pero , es decir, el factor de escala promedio (geométrico) de duplicaciones, tiende a un límite como , cual es .
Los símbolos de Landau no se preocupan por el comportamiento exacto de las funciones. significa que para grandes tenemos escalas a lo sumo tan malas como en el sentido de que está acotado por un múltiplo de .
Cuando las personas lo explican de la forma en que lo mencionaste, lo están simplificando demasiado, probablemente asumiendo que la otra parte no entendería de lo que uno está hablando.
Alcaudón
matemático
Alcaudón
ian
ian
matemático
ian
matemático
ian
matemático
ian