Размышления о думающих машинах. Тьюринг. Компьютерное исчисление
Шрифт:
В предыдущем выражении 1/2
является величиной от применения тензорного произведения к системе из двух кубитов. Не вдаваясь в детальные объяснения, можно сказать: предполагается, что кубиты находятся в так называемом гильбертовом пространстве — обобщении евклидова пространства. Возведя эту величину в квадрат:
(1/2)2,
получаем 1/2. Это позволяет измерить состояния в квантовом эксперименте и получить результаты |01> или |10>.
Представим, что Алан Тьюринг — друг Эндрю Ходжеса, его лучшего биографа, и что он может измерить, в каком состоянии находится
РИС.З
В данном эксперименте интересно то, что если, например, Алан первым измерит состояние своего кубита (А), он узнает, что оно равно |0>A или |1>A, и вероятность того и другого события, как и при подкидывании монетки, составляет 50%. Однако фантастический аспект квантового исчисления состоит в том, что измерение Аланом кубита станет причиной коллапса, который произойдет после выяснения его состояния. В результате для Эндрю, находящегося в другой комнате, учитывая, что кубиты запутаны, эксперимент потеряет характер случайности. Если теперь Эндрю все же будет измерять свой кубит (В), результат его наблюдений заведомо известен. То есть для Эндрю результаты эксперимента уже не эквивалентны подбрасыванию монетки, так как в 100% наблюдений он получит результат, обратный результату Алана (схема 3). Например, если Алан увидел, что запутанный кубит А находится в состоянии |0>A, произойдет коллапс пары кубитов |0>A и |1>B. Если же Алан увидел обратную ситуацию, а именно что А находится в состоянии |1>A, тогда произойдет коллапс пары кубитов |1>A и |0>B. То есть измерения, проведенные Аланом, «изменили» кубиты таким образом, что однозначно определили наблюдения Эндрю.
Полезность квантовой запутанности в системах шифрования с военными или коммерческими целями очевидна, так как если два человека совместно владеют запутанными объектами, несанкционированное вмешательство в систему третьего лица изменит один из двух объектов и таким образом выдаст присутствие постороннего. Сегодня ведутся исследования в системах этого класса с использованием поляризованного света, волны которого совершают колебания в одной плоскости, при этом считается, что горизонтальные колебания соответствуют состоянию 0, а вертикальные — состоянию 1. Таким образом, в квантовом компьютере кубит может находиться в состояниях |0>, |1>, состоянии суперпозиции между |0> и |1> или может быть запутанным с другим кубитом, и это позволяет преодолеть ограничения универсальной машины Тьюринга, или, если угодно, компьютера.
Наконец, если комплектующие компьютера используют вентили И, ИЛИ и другие, в квантовом компьютере используются квантовые вентили, оперирующие кубитами, и их операции имеют реверсивный характер. Например, при использовании вентиля ИЛИ в обычном компьютере, если выход равен 1, выполненная операция не реверсивна. Это означает, что невозможно установить, какими были входные данные: 0 или 1,1 или 0,1 или 1. Кроме того, класс операций с кубитами, которые может совершать квантовый компьютер, выше, чем класс операций с битами, так как состояния, в которых может находиться кубит, могут быть представлены как вектор в сфере, называемой сферой Блоха (схема 4). Программа blochsphere симулирует один кубит, а также операции, которые можно с ним выполнить.
Кроме логических операторов булевой алгебры (И, ИЛИ и другие), возможны другие операции с кубитами, определяющие вращение вектора по осям X, Y, Z сферы Блоха. Эти операции являются результатом применения так называемых квантовых вентилей, то есть квантовых цепей, производящих операцию над одним или несколькими кубитами. Например, вентили Паули и Адамара позволяют совершать вращения. Необходимо помнить, что хотя кубит представлен в сфере Блоха как вектор, на самом деле квантовые операторы представляют матрицы, которые при умножении на вектор-кубит дают новый вектор — измененный кубит. Вот простой пример оператора Паули класса х с матрицей
При применении ее к кубиту произойдет вращение сферы Блоха по оси Х и изменение |0> на |1> и |1> на |0>. Это эквивалентно оператору НЕ на обычном компьютере. Вентиль Адамара представляет особый случай: вращение вектора происходит одновременно по осям X и Z:
Другие операторы, такие как контролируемое отрицание (CNOT), swap, вентиль Тоффоли, позволяют выполнять контролируемые операции с двумя или тремя кубитами.
РИС. 4
Сфера Блоха. Кубит представлен вектором |>. Состояния |0> и |1> находятся на севере и юге сферы, в остальных частях сферы — состояния суперпозиции.
РИС. 5
Еще одной особенностью квантового компьютера является то, что операции выполняются параллельно, то есть одновременно по разным линиям, например по линиям L1 и L2, комплектующие квантового компьютера предусматривают соединение одного за другим квантовых вентилей (U; рисунок 5).
В 2011 году канадская фирма D-Wave Systems объявила о старте продаж первого коммерческого квантового компьютера под названием D-Wave One. По заверениям фирмы, компьютер обладал микропроцессором на 128 кубит. В том же году команда исследователей из США, Китая и Японии объявила, что такой класс компьютеров может быть построен в соответствии с моделью архитектуры фон Неймана. В 2012 году IBM также сообщила, что сделаны значительные успехи в создании машины с такими характеристиками. Больше чем через полвека повторяется сценарий, имевший место с ENI АС, Colossus и другими компьютерами. Однако это не совсем верно, так как строительство квантового компьютера является настолько сложным проектом, что разные страны объединили усилия, создав многонациональные команды и оставив в прошлом межнациональное соперничество. Ожидается, что квантовый компьютер найдет применение не только в криптографии: с его помощью станет возможным более реалистическое моделирование, например воздействия медикаментов на человека, а также выполнение расчетов в физике, химии, астрономии и решение масштабных математических задач, таких как факторизация больших чисел.
Скорее из любопытства ученые уже создали квантовые версии игры «Жизнь» Конвея. Также в последнее время были предложены различные модели искусственных нейронных цепей, в которых нейроны симулируются квантовыми операторами, что открывает путь для дальнейших исследований в области квантового искусственного интеллекта. Еще одним применением квантового компьютера может стать генерация истинно случайных чисел, которые будут не псевдослучайными, а будто бы вытащенными из лотерейного барабана. Уже сегодня интернет дает возможность получить случайные числа с помощью квантовых феноменов (см. www.randomnumbers. info).
ЭМУЛЯЦИЯ КВАНТОВОГО КОМПЬЮТЕРА
Сегодня мы можем создать только крайне усеченную версию квантового компьютера — с помощью обычного. Одним из таких примеров является jQuantum — программа, с помощью которой можно разработать элементарные цепи, используя стандартные квантовые операторы. Она позволяет разработать реестр данных, может хранить до 15 кубит, создать цепь и выполнить алгоритм.