Estou interessado em um algoritmo quântico que obtém como entrada uma sequência de n bits e que produz como saída uma versão embaralhada (permutada) dessa sequência de n bits.
Por exemplo, se a entrada for 0,0,1,1 (então n = 4 neste caso), então as respostas possíveis são:
- 0,0,1,1
- 0,1,0,1
- 0,1,1,0
- 1,0,0,1
- 1,0,1,0
- 1,1,0,0
Observe que apenas uma saída deve ser gerada e escolhida aleatoriamente entre todas as saídas válidas possíveis.
Como isso pode ser melhor implementado em um algoritmo quântico ?
Uma solução para isso já é proposta como parte de uma das respostas para Como criar um algoritmo quântico que produz sequências de 2 n bits com número igual de 1 bits? . Mas o problema com esta solução é que isso requer cerca de qubits de ajuda, que se tornam rapidamente enormes se n for grande.
Nota:
- Por favor, não forneça um algoritmo clássico sem nenhuma explicação de como as etapas do algoritmo clássico podem ser mapeadas para um computador quântico universal.
- para mim, existem 2 boas maneiras de interpretar "escolhidos aleatoriamente entre todos os possíveis bons resultados" : (1) cada bom resultado possível tem chances iguais de ser escolhido. (2) toda boa saída possível tem uma chance> 0 de ser escolhida.