Cuando ve un extraño orden de crecimiento, como [math] O (n ^ {2.32}) [/ math] mencionado en los detalles de la pregunta, generalmente se trata de algún valor más sensible disfrazado o el resultado de un problema de optimización ejecutado sobre los algoritmos mismos!
Como ejemplo de un valor sensible, el algoritmo de Strassen para la multiplicación de matrices realiza 7 multiplicaciones para una matriz de 2 × 2 en lugar de 8. La aplicación recursiva da un algoritmo donde el número de multiplicaciones crece a medida que [matemática] O (n ^ {\ log_2 7}) [/ math], porque una matriz de tamaño [math] n = 2 ^ k [/ math] requiere [math] 7 ^ k [/ math] multiplicaciones. Pero esto se puede informar como [matemáticas] O (n ^ {2.807}) [/ matemáticas], ocultando el significado real.
El método general se puede resumir como: 1. describe el comportamiento de tu algoritmo complejo como una recurrencia, 2. resuelve la recurrencia.
- ¿Es necesaria una buena comprensión matemática de los algoritmos de ML para crear software utilizando partes de él?
- ¿La teoría de números todavía parece ser central o el área más importante de las matemáticas?
- Hice un programa en C que nos da la tabla de distribución normal, pero debo hacer un archivo Excel desde C. ¿Cómo puedo hacer esto?
- ¿Puedo aplicar a la escuela de posgrado para estudiar informática teórica?
- ¿Cuál es el significado del teorema de Shamir?
Como ejemplo de un valor no sensible, Powers of Tensors and Fast Matrix Multiplication es un documento muy denso que ofrece un nuevo límite en la multiplicación matricial de [math] O (n ^ {2.3728639}) [/ math]. ¿De dónde vino este número? En realidad, es de un programa de Matlab que ejecutaron para calcular el valor de un problema de optimización derivado de un modelo de multiplicación de matrices. Dice que para calcular el producto matricial, necesita una descomposición en tensores con propiedades particulares, y esas descomposiciones son asintóticamente al menos lo suficientemente buenas como para dar el límite que describen.
Este método general se puede resumir como: 1. caracterizar el espacio de posibles algoritmos de un tipo particular como un problema de optimización. 2. encuentre un límite superior en el problema de optimización. (Tenga en cuenta que la implementación real del algoritmo nunca puede ocurrir).