Powszechne użycie „ignorowania stałych” w informatyce jest użyteczne tylko wtedy, gdy różnice w wydajności różnych rodzajów architektury sprzętowej lub oprogramowania można zignorować przy odrobinie masowania. Ale nawet w klasycznych obliczeniach ważne jest, aby zdawać sobie sprawę z wpływu architektury (zachowanie w pamięci podręcznej, użycie dysku twardego), jeśli chcesz rozwiązać trudne problemy lub duże problemy.
Praktyka ignorowania stałych nie jest praktyką motywowaną (w sensie ciągłego potwierdzania) z punktu widzenia implementacji. Wynika to głównie z zainteresowania podejściem do badania algorytmów, który jest dobrze ułożony w składzie i przyjmuje proste charakterystyki, w sposób zbliżony do czystej matematyki. Twierdzenia o przyspieszeniu dla maszyn Turinga oznaczały, że żadna rozsądna definicja nie mogła próbować precyzyjnie określić złożoności problemów, aby dojść do sensownej teorii; a poza tym, w walce o znalezienie dobrych algorytmów dla trudnych problemów, stałe czynniki nie były interesującą matematycznie częścią ...
To bardziej abstrakcyjne podejście do badania algorytmów było i jest w dużej mierze owocne. Ale teraz mamy do czynienia z sytuacją, w której mamy dwa modele obliczeń, gdzie
- Jeden jest w zaawansowanym stanie dojrzałości technologicznej (klasyczne obliczenia); i
- Jeden jest w bardzo niedojrzałym stanie, ale próbuje zrealizować model teoretyczny, który może prowadzić do znacznych asymptotycznych ulepszeń (obliczeń kwantowych).
W takim przypadku możemy zapytać, czy rozważenie korzyści asymptotycznej ma sens, z dokładnym rozliczeniem stałych czynników. Ze względu na dodatkowy wysiłek, który może być wymagany do wykonania skalowalnego obliczenia kwantowego, nie tylko czynniki skalarne, ale również wielomianowe „przyspieszenia” wydajności teoretycznej mogą zostać zmyte po uwzględnieniu całego obciążenia związanego z realizacją algorytmu kwantowego.
We wczesnych dniach mogą występować znaczące różnice w wydajności różnych podejść do architektury kwantowej. Może to sprawić, że wybór architektury będzie równie ważny (jeśli nie ważniejszy) dla tego, jak dobrze działa algorytm niż analiza asymptotyczna - tak samo jak dla ciebie ważne będzie, czy wykonasz konwencjonalne obliczenia na maszynie von Neumanna, czy w wysoce rozproszonej sieci ze znacznymi opóźnieniami.
W rzeczywistości istotną rzeczą dla praktycznych obliczeń jest - i zawsze było - nie tylko algorytmy, ale implementacje algorytmów : algorytm zrealizowany w określony sposób, na określonej architekturze. Powszechna praktyka analizy asymptotycznej, która ignoruje stałe czynniki, pozwala nam zwracać uwagę na systematyczne, matematyczne przyczyny różnic w działaniu algorytmów i jest praktycznie motywowana w tych przypadkach, gdy różnice architektoniczne nie są tak duże, aby zdominować praktyczne działanie .
W odniesieniu do technologii kwantowych nie znajdujemy się w tak szczęśliwej sytuacji, w której możemy bezpiecznie przeglądać stałe czynniki w dowolnym praktycznym kontekście. Ale może kiedyś będziemy w stanie to zrobić. Jest to długa gra kwantowych technologii informacyjnych - do tej pory prawie jedyna gra, w którą kiedykolwiek grali informatycy akademiccy, jeśli chodzi o technologię informacji kwantowej. Przewidując dzień, w którym technologia kwantowa znajdzie swoje miejsce, dobrze będzie, abyśmy kontynuowali analizę asymptotyczną jako jedną z linii badań w zakresie wydajności algorytmów kwantowych.