ткими длинами волн. Альтернативой дальнейшей миниатюризации чипов может стать замена кремния арсенидом галлия. Атомное строение этого полупроводящего материала позволит размещенным на его поверхности микросхемам гораздо быстрее проводить электричество.
В итоге мы достигнем другого барьера, называемого критерием Рэлея, который гласит, что минимально разрешимые элементы чипа должны быть не меньше, чем половина длины волны пучка. По достижении этой стадии нам следует начать учитывать квантово-механические эффекты. К примеру, сейчас изучается возможность использования квантовой запутанности фотонов лазерного пучка, чтобы отодвинуть этот барьер, но, скорее всего, ненамного.
Как только мы дойдем до молекулярных масштабов, что произойдет примерно к 2020 году, век полупроводниковых чипов закончится. Исследователи уже ищут альтернативы, и две области кажутся довольно перспективными. Первая связана с использованием биомолекулярных компьютеров, которые основываются на способности молекул ДНК хранить невероятное количество информации, благодаря чему однажды они могут быть применены для создания молекулярных логических схем. Другая заключается в возможности использования квантовых транзисторов, которые полагаются на свойства отдельных электронов, искусственно помещенных в «квантовые колодцы» немногим больше атома. Немного изменяя напряжение в этих колодцах, мы можем контролировать поведение электронов подобным действию транзистора способом.
Все вышеописанные достижения представляют собой не просто спекуляцию и помогут росту компьютерной мощности еще при нашей жизни. Однако все большее число квантовых физиков работает над настоящей проверкой квантовой странности. Они не сомневаются, что в этом веке им удастся создать величайшую квантовую машину – квантовый компьютер.
Кубиты
В начале 1980-х годов, примерно в то время, когда я купил свой ZX81, физик Ричард Фейнман высказал предположение, что определенные проблемы, к примеру вопросы симуляции поведения квантовой системы, разумнее решать при помощи компьютера, который также действует по законам квантовой механики. Такой компьютер должен применять идею суперпозиции для создания совершенно новых типов алгоритмов. Вскоре исследование квантовых компьютеров выделилось в отдельную область науки, когда в 1985 году оксфордский физик Дэвид Дойч опубликовал прорывную статью, в которой показал, каким образом их создание достижимо на практике.
Дойч предложил схему «универсального квантового компьютера», подобно тому как за полвека до этого Алан Тьюринг предложил идею универсального классического компьютера. Машина Дойча работала на основании квантовых принципов и была в состоянии симулировать любой физический процесс. Она требовала ряд квантовых систем, каждая из которых могла существовать только в суперпозиции двух состояний, таких как атомы в суперпозиции пребывания на двух энергетических уровнях. Эти квантовые системы затем запутывались для создания квантовых логических вентилей, которые можно было настроить для выполнения определенных операций.
В основе этого лежала идея о «квантовом бите», или кубите. В обычном цифровом компьютере основным компонентом является «бит» – переключатель, который может находиться в одной из двух позиций: вкл. и выкл., которые обозначаются двоичными символами 0 и 1. Однако при использовании квантовой системы, такой как атом, этот компонент может пребывать в двух состояниях одновременно. Следовательно, кубит может быть одновременно и включен, и выключен, при условии что он остается изолированным от окружающей среды.
Само собой, отдельный кубит не очень полезен. Но если запутать два кубита или более, потенциал такой системы станет очевиден. Представьте информационное содержание трех классических битов. Каждый может принимать значение либо 0, либо 1, поэтому существует восемь различных комбинаций этой тройки (000, 001, 010, 100, 011, 101, 110, 111). Но всего три запутанных кубита позволяют нам хранить все восемь комбинаций одновременно! Каждая из трех цифр одновременно принимает значение и 0, и 1.
Добавление четвертого кубита дает нам 16 комбинаций, пятого – 32 и так далее. Объем хранимой информации увеличивается экспоненциально (как 2N, где N – это число кубитов). Теперь представьте осуществление операций тем же способом, который мы применяем к классическим битам. Мы сможем выполнить 2N вычислений одновременно, и это максимально возможная скорость параллельной обработки данных. Определенные проблемы, на решение которых у обычного компьютера ушли бы годы, в результате могут оказаться решены за долю секунды.
Так на что способен квантовый компьютер?
Все это звучит прекрасно, но как именно мы можем все это применить для решения реальной проблемы? В конце концов, если классические компьютеры становятся все быстрее и могут через Интернет связываться для параллельной работы, не сможем ли мы в итоге достичь такой производительности другими средствами? Ответ на эти вопросы был найден в 1994 году, когда Питер Шор, работая в Лабораториях Белла в Нью-Джерси, создал самый первый квантовый алгоритм – набор инструкций для выполнения задачи, справиться с которой под силу только квантовому компьютеру. Задача заключалась в невероятно эффективной факторизации больших чисел, что представляло собой одну из главных проблем компьютерной науки. Сразу стало очевидно, что квантовые компьютеры, если их создание вообще возможно, окажут огромное влияние на торговлю и банковское дело, поскольку безопасные в настоящее время методы шифрования с открытым ключом станут бесполезны и на сцену выйдет квантовая криптография.
Несколькими годами позже коллега Питера Шора математик Лов Гровер открыл другой квантовый алгоритм, который позволяет квантовому компьютеру осуществлять поиск по несортированной базе данных гораздо быстрее обычного поискового движка. Представьте простой пример: если бы я попросил вас найти конкретную карту в хорошо перетасованной колоде, вероятность вытащить ее с первого раза составила бы один к пятидесяти двум. Конечно, вам может повезти, но может и не повезти – и тогда, открывая одну карту за другой, вы найдете нужную лишь на последнем ходе. Попробовав произвести эту процедуру много раз, вы выясните, что в среднем вам понадобится двадцать шесть попыток (что равняется половине колоды). Используя алгоритм Гровера, квантовый компьютер может найти нужную карту в среднем за семь попыток. Математика такова: в базе данных из N элементов классическому компьютеру необходимо N/2 попыток, а квантовому компьютеру достаточно и квадратного корня из N.
Хотя алгоритм Гровера не так примечателен, как алгоритм его коллеги Питера Шора, без него не обойтись, скажем, в шахматном матче между классическим компьютером и квантовым компьютером, поскольку последний будет продумывать ходы в миллиарды раз быстрее.
Квантовые вычисления
Эндрю Стин, преподаватель физики, Оксфордский университет
Сегодняшние компьютеры, при всей их удивительности, работают на том же фундаментальном принципе, что и механические устройства, о которых в XIX веке мечтал Чарлз Бэббидж и которые впоследствии описал Алан Тьюринг: одно стабильное состояние такой машины соответствует одному числу. Этот принцип характерен даже для таких, казалось бы, нестандартных вычислительных моделей, как модель, основанная на ДНК. Что еще им остается? И все же мир вокруг нас описывают тонкие законы квантовой физики, которые предлагают нам иначе взглянуть на вычисления. Квантовая физика предлагает мощные методы манипулирования информацией, которые мы только начинаем понимать.
Квантовые вычисления сводят воедино две наиболее значительные концептуальные революции XX века: революцию в информационной науке и в квантовой физике. Как выяснилось, они прекрасно дополняют друг друга, потому что язык квантовой физики очень напоминает язык информации: квантовая волновая функция определяется как математическая сущность, которая описывает все свойства конкретной физической системы, поэтому волновая функция фактически представляет собой некоторый объем информации. Физические процессы заставляют ее меняться, поэтому, если мы разработаем соответствующие процессы, эволюция волновой функции станет формой поддающейся нашему контролю обработки информации. Очень важно, что в квантовых вычислениях эта квантовая эволюция может использоваться для создания недоступных для других устройств удобных упрощений целого ряда вычислительных моделей.
Простейшей единицей квантовой информации является кубит, квантовый родственник классического «бита» – переключателя, который может принимать одно из двух значений, О или 1, в то время как кубит может пребывать в суперпозиции, соответствующей 0 и 1 одновременно. Один кубит может храниться в одном атоме или в одном фотоне света. На следующем этапе проявляется вся тонкость и эффективность квантовых вычислений. Если бы мы могли лишь манипулировать многими кубитами по отдельности, достижимая таким образом вычислительная мощность не давала бы форы обычным компьютерам. Однако, согласно квантовой физике, кубиты могут пребывать в запутанных состояниях. Это такие состояния, в которых состояние одного кубита находится в тесной корреляции с состоянием его партнера. Например, они могут пребывать в состоянии, где они гарантированно хранят в себе одно и то же число (оба 0 или оба 1), но при этом ни один из кубитов сам по себе не хранит ни 0, ни 1.
В квантовом компьютере используются запутанные состояния с участием множества кубитов. Изначально компьютер создается со всеми кубитами в простом состоянии вроде 0 (все они вращаются в одну сторону – вверх или вниз). Затем кубиты связываются друг с другом посредством квантовых «логических вентилей», которые заставляют спин одного кубита оказаться в запутанном состоянии со спином другого кубита, причем детали задаются программой, находящейся под управлением машины. Процесс продолжается, но программа написана таким образом, что по его завершении кубиты снова распутываются – то есть возвращаются в простые состояния, такие как вниз или вверх (0 или 1). Итоговое состояние всего набора дает нам результат вычисления. Его можно узнать посредством проведения измерений на кубитах.