Para muitos problemas, o algoritmo com a melhor complexidade assintótica tem um fator constante muito grande, oculto pela grande notação O. Isso ocorre na multiplicação de matrizes, multiplicação de números inteiros (especificamente, o recente algoritmo de multiplicação de números inteiros O (n log n) de Harvey e van der Hoeven), redes de classificação em baixa profundidade e localização de gráficos menores, para fazer alguns. Tais algoritmos são chamados de algoritmos galácticos.
Observe que, para outros algoritmos, como classificação geral e adição de números inteiros, os algoritmos são conhecidos com ótima complexidade assintótica e pequenos fatores constantes.
Que pesquisa foi feita para separar os algoritmos anteriores dos últimos, de uma perspectiva teórica?
Estou ciente de que as constantes ocultas geralmente são omitidas para ocultar a distinção entre diferentes modelos de computação. No entanto, estou confiante de que, sob uma ampla variedade de modelos diferentes, esses algoritmos galácticos serão mais lentos do que algoritmos assintoticamente piores para entradas do tamanho de um bilhão, por exemplo. A distinção não é sutil, em alguns casos. Foi feito rigoroso?
Por exemplo, alguém poderia inventar um modelo muito simples de computação, como uma máquina de von Neumann com um ISA muito simples, e depois implementar os algoritmos e limitar seus tempos de execução com constantes explícitas. Isso foi feito para uma variedade de algoritmos?