El uso común de la informática de 'ignorar constantes' solo es útil cuando las diferencias en el rendimiento de varios tipos de arquitectura de hardware o software pueden ignorarse con un poco de masaje. Pero incluso en la computación clásica, es importante tener en cuenta el impacto de la arquitectura (comportamiento de almacenamiento en caché, uso del disco duro) si desea resolver problemas difíciles o problemas grandes.
La práctica de ignorar las constantes no es una práctica motivada (en el sentido de ser afirmada continuamente) desde el punto de vista de la implementación. Está impulsado principalmente por un interés en un enfoque para el estudio de algoritmos que se comporta bien bajo composición y admite caracterizaciones simples, de una manera cercana a las matemáticas puras. Los teoremas de aceleración para las máquinas de Turing significaban que cualquier definición sensata no podía intentar precisar la complejidad de los problemas con demasiada precisión para llegar a una teoría sensata; y además, en la lucha por encontrar buenos algoritmos para problemas difíciles, los factores constantes no fueron la parte matemáticamente interesante ...
Este enfoque más abstracto para el estudio de algoritmos fue y es en gran medida fructífero. Pero ahora nos enfrentamos a una situación en la que tenemos dos modelos de cálculo, donde
- Uno se encuentra en un estado avanzado de madurez tecnológica (computación clásica); y
- Uno está en un estado muy inmaduro, pero está intentando realizar un modelo teórico que pueda conducir a mejoras asintóticas significativas (computación cuántica).
En este caso, podemos preguntarnos si tiene sentido considerar el beneficio asintótico, con o sin una cuidadosa contabilidad de los factores constantes. Debido al esfuerzo adicional que puede requerirse para realizar la computación cuántica escalable, no solo los factores escalares sino las "aceleraciones" polinómicas en el rendimiento teórico pueden eliminarse una vez que se tiene en cuenta toda la sobrecarga en la realización de un algoritmo cuántico.
En estos primeros días, también puede haber diferencias significativas en el rendimiento de los diferentes enfoques de la arquitectura cuántica. Esto podría hacer que la elección de la arquitectura sea tan importante (si no más importante) para qué tan bien funciona un algoritmo que el análisis asintótico, del mismo modo que le importaría mucho si realiza su cálculo convencional en una máquina von Neumann o en una red altamente distribuida con latencias significativas
Lo realmente importante para la computación práctica es, y siempre ha sido, no solo algoritmos, sino implementaciones de algoritmos : un algoritmo realizado de cierta manera, en una determinada arquitectura. La práctica común del análisis asintótico que ignora los factores constantes nos permite prestar atención a las razones matemáticas sistemáticas de las diferencias en el rendimiento de los algoritmos, y está prácticamente motivada en aquellas ocasiones en que las diferencias arquitectónicas no son tan grandes como para dominar el rendimiento práctico. .
Con respecto a las tecnologías cuánticas, no estamos en esa feliz situación en la que podemos pasar por alto los factores constantes en cualquier contexto práctico. Pero tal vez algún día podamos hacerlo. Este es el juego largo de las tecnologías de información cuántica: hasta ahora, casi el único juego que los científicos informáticos académicos han jugado alguna vez, en lo que respecta a la tecnología de información cuántica. Anticipando ese día cuando la tecnología cuántica encuentre su base, será bueno para nosotros continuar con el análisis asintótico, como una línea de investigación en el desempeño de los algoritmos cuánticos.