Estoy interesado en un algoritmo cuántico que obtiene como entrada una secuencia de n bits y que produce como salida una versión reorganizada (permutada) de esta secuencia de n bits.
Por ejemplo, si la entrada es 0,0,1,1 (entonces n = 4 en este caso), las posibles respuestas son:
- 0,0,1,1
- 0,1,0,1
- 0,1,1,0
- 1,0,0,1
- 1,0,1,0
- 1,1,0,0
Tenga en cuenta que solo se debe generar una salida que se elija aleatoriamente entre todas las salidas válidas posibles.
¿Cómo se puede implementar esto mejor en un algoritmo cuántico ?
Ya se propone una solución para esto como parte de una de las respuestas para ¿Cómo crear un algoritmo cuántico que produzca 2 secuencias de n bits con igual número de 1 bits? . Pero el problema con esta solución es que esto requiere aproximadamente qubits de ayuda que se vuelven rápidamente enormes si n es grande.
Nota:
- Por favor, no proporcione un algoritmo clásico sin ninguna explicación de cómo los pasos del algoritmo clásico pueden asignarse a una computadora cuántica universal.
- para mí hay 2 buenas formas de interpretar "elegidas al azar entre todos los buenos resultados posibles" : (1) cada producto bueno posible tiene la misma posibilidad de ser elegido. (2) cada salida buena posible tiene una posibilidad> 0 de ser elegido.