Квантовые ворота называются унитарными и обратимыми. Однако классические ворота могут быть необратимыми, как логические И и логические ИЛИ. Тогда как можно моделировать необратимые классические И и ИЛИ вентили, используя квантовые вентили?
источник
Квантовые ворота называются унитарными и обратимыми. Однако классические ворота могут быть необратимыми, как логические И и логические ИЛИ. Тогда как можно моделировать необратимые классические И и ИЛИ вентили, используя квантовые вентили?
Допустим, у нас есть функция которая отображает n бит в m бит (где m < n ).
Конечно, мы могли бы разработать классическую схему для выполнения этой операции. Давайте назовем это . Он принимает в качестве входных n- бит. Скажем, он принимает в качестве входа X и выводит f ( X ) .
Теперь мы хотели бы сделать то же самое, используя квантовую схему. Давайте назовем это , которая принимает в качестве входных данных | X ⟩ и выходы | f ( X ) ⟩ . Теперь помните, что поскольку квантовая механика линейна, входные кубиты, конечно, могут находиться в суперпозиции всех n- битных строк. Таким образом, вход может быть в каком-то состоянии ∑ X ∈ { 0 , 1 } n α X | X ⟩ . По линейности на выходе будет ∑ X ∈ { 0 ,.
Эволюция в квантовой механике унитарна . И поскольку оно унитарно, оно обратимо. По сути это означает, что если вы примените квантовый вентиль к входному состоянию | х ⟩ и получить Ouput состояние U | х ⟩ , вы всегда можете применить обратный вентиль U † , чтобы вернуться в состояние | х ⟩ .
Обратите внимание, что на картинке выше, что количество входных строк (т.е. шесть) точно такое же, как количество выходных строк на каждом шаге. Это из-за унитарности операций. Сравните это с классическими операциями, такими как логическое И, где дает однобитовый вывод 0 . Вы не можете восстановить исходные биты 0 и 1 с выхода, так как даже 0 ∧ 0 и 1 ∧ - бы сопоставляются с тем же выходом 0 . Но рассмотрим классические НЕ ворота. Если на входе 0, то на выходе 1 , а если на входеэто выводит . Поскольку это отображение одно-одно, оно может быть легко реализовано как обратимый унитарный вентиль, а именно Pauli-X . Однако для реализации классического И или классического логического элемента ИЛИ нам нужно подумать немного больше.
Рассмотрим шлюз CSWAP . Вот приблизительная диаграмма, показывающая схему:
В SWAP-шлюзе, в зависимости от бита управления, мы два других можем или не можем поменяться местами. Обратите внимание, что есть три входные строки и три выходные строки. Таким образом, его можно смоделировать как унитарные квантовые ворота. Теперь, если : если x = 0 , вывод равен 0 , а если x = 1 , вывод равен y .
Если вы заметили, что если , мы выводим ˉ x ∧ y, а если x = 1, мы выводим x ∧ y . Таким образом, мы могли бы успешно сгенерировать выходные данные x ∧ y, которые мы хотели, хотя в итоге мы получили несколько «ненужных» выходов ˉ x ∧ y и x . Интересным фактом является то, что инверсией шлюза CSWAP является сам шлюз CSWAP (проверьте!).
Это все! Помните, что все классические ворота могут быть построены с помощью вентиля NAND , который, конечно, может быть построен как логический элемент И и НЕ. Мы эффективно смоделировали классические НЕ и классические логические элементы И с использованием обратимых квантовых вентилей. Просто чтобы быть в безопасности, мы также можем добавить в наш список шлюз qauntum CNOT , потому что с помощью CNOT мы можем копировать биты.
Следовательно, основное сообщение заключается в том, что используя квантовые CSWAP, CNOT и вентили NOT, мы можем воспроизвести любые классические элементы . Кстати, есть хитрый трюк, чтобы избавиться от «мусорных» битов, которые создаются при использовании квантовых вентилей, но это уже другая история.
PS: очень важно избавиться от «мусорных» битов, иначе они могут вызвать вычислительные ошибки!
Ссылки и изображения: Квантовая механика и квантовые вычисления MOOC, предлагаемые UC Berkeley для edX.