Für viele Probleme hat der Algorithmus mit der besten asymptotischen Komplexität einen sehr großen konstanten Faktor, der durch die große O-Notation verborgen ist. Dies tritt bei der Matrixmultiplikation, der Ganzzahlmultiplikation (insbesondere dem jüngsten O (n log n) Ganzzahlmultiplikationsalgorithmus von Harvey und van der Hoeven), Sortiernetzwerken mit geringer Tiefe und der Suche nach minderjährigen Graphen auf, um nur einige zu nennen. Solche Algorithmen werden manchmal als galaktische Algorithmen bezeichnet.
Beachten Sie, dass für andere Algorithmen, wie allgemeine Sortierung und Ganzzahladdition, Algorithmen mit optimaler asymptotischer Komplexität und kleinen konstanten Faktoren bekannt sind.
Welche Untersuchungen wurden durchgeführt, um die ersteren Algorithmen aus theoretischer Sicht von den letzteren zu trennen?
Mir ist bewusst, dass versteckte Konstanten oft weggelassen werden, um die Unterscheidung zwischen verschiedenen Rechenmodellen zu verbergen. Ich bin jedoch zuversichtlich, dass diese galaktischen Algorithmen unter einer Vielzahl unterschiedlicher Modelle langsamer sein werden als beispielsweise asymptotisch schlechtere Algorithmen für Eingaben mit einer Größe von einer Milliarde. Die Unterscheidung ist in einigen Fällen nicht subtil. Wurde es rigoros gemacht?
Zum Beispiel könnte man ein sehr einfaches Berechnungsmodell erfinden, wie eine von Neumann-Maschine mit einer sehr einfachen ISA, und dann die Algorithmen implementieren und ihre Laufzeiten mit expliziten Konstanten binden. Wurde dies für eine Vielzahl von Algorithmen durchgeführt?