入力として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つだけ生成する必要があることに注意してください。
これを量子アルゴリズムにどのように実装するのが最適ですか?
これに対する解決策は、同じ数の1ビットで2つのnビットシーケンスを生成する量子アルゴリズムを作成する方法に対する回答の一部として既に提案されています。。しかし、この解決策の問題は、nが大きいと急速に巨大になる程度の量子ビットを必要とすることです。
注意:
- 古典的なアルゴリズムのステップをどのようにユニバーサル量子コンピューターにマッピングできるかの説明なしに、古典的なアルゴリズムを提供しないでください。
- 私にとって、「考えられるすべての良い出力の中からランダムに選択された」を解釈する2つの良い方法があります。(2)可能性のあるすべての出力には、0を超える可能性が選択されます。