Для многих задач алгоритм с наилучшей асимптотической сложностью имеет очень большой постоянный коэффициент, который скрыт большими обозначениями O. Это происходит в матричном умножении, целочисленном умножении (в частности, недавнем алгоритме умножения целых чисел O (n log n) Харви и Ван-дер-Хувена), в сетях с малой глубиной сортировки и нахождении второстепенных графов. Такие алгоритмы иногда называют галактическими алгоритмами.
Обратите внимание, что для других алгоритмов, таких как общая сортировка и сложение целых чисел, известны алгоритмы с оптимальной асимптотической сложностью и небольшими постоянными коэффициентами.
Какие исследования были проведены при отделении первых алгоритмов от последних с теоретической точки зрения?
Мне известно, что скрытые константы часто опускаются, чтобы скрыть различия между различными моделями вычислений. Однако я уверен, что при большом разнообразии моделей эти галактические алгоритмы будут работать медленнее, чем асимптотически худшие алгоритмы, например, для входных данных размером один миллиард. Различие не является тонким, в некоторых случаях. Это было сделано строго?
Например, можно изобрести очень простую модель вычислений, такую как машина фон Неймана с очень простым ISA, а затем реализовать алгоритмы и связать их время выполнения с явными константами. Было ли это сделано для различных алгоритмов?