Sono interessato a un algoritmo quantistico che ottiene come input una sequenza n-bit e che produce come output una versione rimescolata (permutata) di questa sequenza n-bit.
Ad esempio, se l'input è 0,0,1,1 (quindi n = 4 in questo caso), le possibili risposte sono:
- 0,0,1,1
- 0,1,0,1
- 0,1,1,0
- 1,0,0,1
- 1,0,1,0
- 1,1,0,0
Si noti che deve essere generato un solo output che viene scelto casualmente tra tutti i possibili output validi.
Come può essere meglio implementato in un algoritmo quantistico ?
Una soluzione per questo è già stata proposta come parte di una delle risposte per Come creare un algoritmo quantistico che produce sequenze a 2 n bit con uguale numero di 1 bit? . Ma il problema con questa soluzione è che ciò richiede circa qubit di aiuto che diventano rapidamente enormi se n è grande.
Nota:
- Per favore, non fornire un algoritmo classico senza alcuna spiegazione di come i passi dell'algoritmo classico possano essere mappati su un computer quantistico universale.
- per me ci sono 2 buoni modi di interpretare "scelti casualmente tra tutti i possibili buoni risultati" : (1) ogni possibile buon risultato ha pari possibilità di essere scelto. (2) ogni possibile buona uscita ha una probabilità> 0 di essere scelta.