Je m'intéresse à un algorithme quantique qui obtient en entrée une séquence de n bits et qui produit en sortie une version remaniée (permutée) de cette séquence de n bits.
Par exemple, si l'entrée est 0,0,1,1 (donc n = 4 dans ce cas), les réponses possibles sont:
- 0,0,1,1
- 0,1,0,1
- 0,1,1,0
- 1,0,0,1
- 1,0,1,0
- 1,1,0,0
Notez qu'une seule sortie doit être générée qui est choisie au hasard parmi toutes les sorties valides possibles.
Comment cela peut-il être mis en œuvre au mieux dans un algorithme quantique ?
Une solution pour cela est déjà proposée dans le cadre d'une des réponses pour Comment créer un algorithme quantique qui produit 2 séquences de n bits avec un nombre égal de 1 bits? . Mais le problème avec cette solution est que cela nécessite environ qubits d'aide qui deviennent rapidement énormes si n est grand.
Remarque:
- Veuillez ne pas fournir d'algorithme classique sans expliquer comment les étapes de l'algorithme classique peuvent être mappées sur un ordinateur quantique universel.
- pour moi, il existe 2 bonnes façons d'interpréter "choisi au hasard parmi toutes les bonnes sorties possibles" : (1) chaque bonne sortie possible a une chance égale d'être choisie. (2) chaque bonne sortie possible a une chance> 0 d'être choisie.