Кажуть, що квантові ворота є унітарними та оборотними. Однак класичні ворота можуть бути незворотніми, як логічні ворота І та АБО. Тоді, як можна моделювати незворотні класичні ворота AND і OR, використовуючи квантові ворота?
Кажуть, що квантові ворота є унітарними та оборотними. Однак класичні ворота можуть бути незворотніми, як логічні ворота І та АБО. Тоді, як можна моделювати незворотні класичні ворота AND і OR, використовуючи квантові ворота?
Відповіді:
Скажімо, у нас є функція яка відображає n бітів до m бітів (де m < n ).
Звичайно, ми могли б створити класичну схему для виконання цієї операції. Назвемо це . Він приймає як вхідні n -бітів Скажімо, він приймає як вхід X і виводить f ( X ) .
Тепер ми хотіли б зробити те саме, використовуючи квантовий контур. Назвемо це , яке приймає як вхід | X ⟩ і виходи | f ( X ) ⟩ . Тепер пам’ятайте, що оскільки квантова механіка лінійна, то вхідні кубіти, звичайно, можуть знаходитися в суперпозиції всіх n- бітних рядків. Отже, вхід може знаходитись у деякому стані ∑ X ∈ { 0 , 1 } n α X | X ⟩ . За лінійністю вихід буде дорівнювати ∑ X ∈ { 0 ,.
Еволюція в квантовій механіці є єдиною . А оскільки він унітарний, він є оборотним. Це по суті означає, що якщо застосувати квантовий затвор у вхідному стані | х ⟩ і отримати Ouput стан U | х ⟩ , ви завжди можете застосувати зворотний вентиль U † , щоб повернутися в стан | х ⟩ .
Зауважте уважно на наведеному вище малюнку, що кількість рядків введення (тобто шість) точно така ж, як кількість вихідних рядків на кожному кроці. Це через єдиність операцій. Порівняйте це з класичними операціями, такими як логічні AND, де дає один вихідний біт 0 . Ви не можете реконструювати вихідні біти 0 і 1 з виводу, оскільки навіть 0 ∧ 0 і 1 ∧ 0 були б зіставлені на один вихід 0 . Але, врахуйте, класичні НЕ ворота. Якщо вхід 0, він вимикає 1 , а якщо вхід - він виводить 0 . Оскільки це відображення є єдиним, воно може бути легко реалізовано у вигляді оборотних унітарних воріт, а саме -ворота Pauli-X. Однак для впровадження класичного AND або класичного АБО ворота нам потрібно подумати трохи більше.
Розглянемо ворота CSWAP . Ось приблизна схема, що показує схему:
У шлюзі SWAP залежно від біта управління ми решту двох можемо або не можемо помінятися. Зауважте, що є три вхідні лінії та три вихідні лінії. Отже, його можна моделювати як унітарну квантову браму. Тепер, якщо : Якщо x = 0 , вихід 0 , тоді як x = 1 , вихід y .
Якщо ви помітили, якщо , ми виводимо ˉ x ∧ y, тоді як x = 1, ми виводимо x ∧ y . Таким чином, ми могли успішно генерувати вихід x ∧ y, якого хотіли, хоча в кінцевому підсумку ми отримали декілька «мотлох» виходів ˉ x ∧ y та x . Цікавим фактом є те, що оберненою брамою CSWAP є сам шлюз CSWAP (перевірте!).
Це все! Пам'ятайте, що всі класичні ворота можуть бути побудовані за допомогою воріт NAND , які, звичайно, можуть бути сконструйовані воротами AND і NOT. Ми ефективно моделювали класичний НЕ та класичний ворота І, використовуючи оборотні квантові ворота. Для того, щоб бути захищеним, ми також можемо додати ворота Qauntum CNOT до нашого списку, тому що за допомогою CNOT ми можемо копіювати біти.
Отже, основне повідомлення полягає в тому, що, використовуючи квантовий CSWAP, CNOT та ворота NOT, ми можемо повторити будь-які класичні ворота. До речі, є розумний трюк, щоб позбутися від "мотлох" бітів, які утворюються при використанні квантових воріт, але це вже інша історія.
PS: Дуже важливо позбутися від "небажаних" бітів, інакше вони можуть викликати обчислювальні помилки!
Довідково-графічні кредити: Квантова механіка та квантове обчислення MOOC, запропоновані UC Berkeley на edX.