3
如何置换(重新排列)n位输入?
我对一种量子算法感兴趣,该算法获取n位序列作为输入,并生成此n位序列的改组(置换)版本。 例如,如果输入为0,0,1,1(因此在这种情况下,n = 4),则可能的答案是: 0,0,1,1 0,1,0,1 0,1,1,0 1,0,0,1 1,0,1,0 1,1,0,0 注意,仅应生成一个输出,该输出是在所有可能的有效输出中随机选择的。 如何最好地在量子算法中实现呢? 已经提出了一种解决方案,作为“ 如何创建一个量子算法来生成具有相等数量的1位的2个n位序列 ”的答案之一。。但是此解决方案的问题在于,这需要大约(n2)(n2)\binom{n}2帮助量子位,如果n大,则它们会迅速变得巨大。 注意: 请不要在没有解释经典算法的步骤如何映射到通用量子计算机的情况下提供经典算法。 对我而言,有两种解释“在所有可能的好产出中随机选择”的好方法:(1)每个可能的好产出都有相等的被选择的机会。(2)每个可能的良好输出都有被选择的机会> 0。
14
algorithm