Мене цікавить квантовий алгоритм, який отримує як вхід n-бітну послідовність і який видає як вихід перестановлену (перестановлену) версію цієї n-бітної послідовності.
Наприклад, якщо вхід 0,01,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
Зауважте, що повинен бути створений лише один вихід, який вибирається випадковим чином серед усіх можливих дійсних результатів.
Як це найкраще реалізувати в квантовому алгоритмі ?
Рішення для цього вже пропонується як частина однієї з відповідей для „ Як створити квантовий алгоритм, який виробляє 2 n-бітові послідовності з однаковою кількістю 1-бітів? . Але проблема цього рішення полягає в тому, що для цього потрібно про допомогти кубітам, який стає швидко величезним, якщо n великий.
Примітка:
- Будь ласка, не надайте класичний алгоритм без будь-якого пояснення того, як кроки класичного алгоритму можуть бути відображені на універсальному квантовому комп'ютері.
- для мене є 2 хороших способу інтерпретації "випадково вибраних серед усіх можливих хороших результатів" : (1) кожен можливий хороший результат має рівні шанси бути обраним. (2) кожен можливий хороший результат має шанс вибору> 0.