Para aprovechar el efecto de paralelismo del procesamiento de una superposición de posibles respuestas se requiere:
- El programador debe expresar como transformaciones de estado cuántico las condiciones que la respuesta debe cumplir para ser una respuesta satisfactoria.
- El programador también debe poder extraer cuál del conjunto de respuestas posibles cumple esas condiciones.
Cuando se configura un problema de esta manera, la primera etapa ofrece la oportunidad de detectar que existe una solución entre 2 ^ n valores posibles para la solución. El resultado es que donde 2 ^ n soluciones tendrían que ser probadas en secuencia, todo el conjunto se determina de una sola vez.
Una forma brutal de lograr la segunda fase de la estrategia sería utilizar un procedimiento de división y conquista mediante la prueba de una serie de posibles respuestas elegidas de tal manera que cada selección de la serie determine un poco en la representación binaria de la solución. ¿La respuesta es una con el bit ja uno o un cero? Repita esto n veces, probando que cada subconjunto contenga una solución. Esto requiere n pasos en lugar de solo 1, pero es mucho más rápido que tener que probar 2 ^ n soluciones.
- ¿Cómo sería el mundo sin física cuántica?
- ¿Cuál es el significado de una computadora cuántica? ¿Cómo es diferente de las computadoras electrónicas digitales?
- ¿Hay alguna muestra que pueda hacernos entender fácilmente la potencia de la computación cuántica?
- El teorema de incompletitud de Godel no se aplica a todos los dispositivos computacionales, ¿solo a la máquina de Turing?
- ¿Es la conciencia realmente un estado de la materia? ¿Cómo se explica en términos de mecánica de física cuántica?
Sin duda, existen mejores algoritmos que este para algunos problemas, pero encontrarlos depende de la brillantez del programador. Para una solución pesada, lo anterior representa una forma de establecer el límite superior de la aceleración potencial que ofrece la computación cuántica.