Прежде чем рассказать, как же устроен квантовый компьютер, вспомним основные особенности квантовых систем (см. также "Наука и жизнь" N 8, 1998 г.; N 12, 2000 г.).
Для понимания законов квантового мира не следует прямо опираться на повседневный опыт. Обычным образом (в житейском понимании) квантовые частицы ведут себя лишь в том случае, если мы постоянно "подглядываем" за ними, или, говоря более строго, постоянно измеряем, в каком состоянии они находятся. Но стоит нам "отвернуться" (прекратить наблюдение), как квантовые частицы тут же переходят из вполне определенного состояния сразу в несколько различных ипостасей. То есть электрон (или любой другой квантовый объект) частично будет находиться в одной точке, частично в другой, частично в третьей и т. д. Это не означает, что он делится на дольки, как апельсин. Тогда можно было бы надежно изолировать какую-нибудь часть электрона и измерить ее заряд или массу. Но опыт показывает, что после измерения электрон всегда оказывается "целым и невредимым" в одной-единственной точке, несмотря на то, что до этого он успел побывать одновременно почти везде. Такое состояние электрона, когда он находится сразу в нескольких точках пространства, называют суперпозицией квантовых состояний и описывают обычно волновой функцией, введенной в 1926 году немецким физиком Э. Шредингером. Модуль значения волновой функции в любой точке, возведенный в квадрат, определяет вероятность найти частицу в этой точке в данный момент. После измерения положения частицы ее волновая функция как бы стягивается (коллапсирует) в ту точку, где частица была обнаружена, а затем опять начинает расплываться. Свойство квантовых частиц быть одновременно во многих состояниях, называемое квантовым параллелизмом, успешно используется в квантовых вычислениях.
Квантовый бит (кубит)
Основная ячейка квантового компьютера - квантовый бит, или, сокращенно, кубит (q-бит). Это квантовая частица, имеющая два базовых состояния, которые обозначаются 0 и 1 или, как принято в квантовой механике. Двум значениям кубита могут соответствовать, например, основное и возбужденное состояния атома, направления вверх и вниз спина атомного ядра, направление тока в сверхпроводящем кольце, два возможных положения электрона в полупроводнике и т.п.
Рис. 5
Квантовый бит, или кубит. Состояниям и отвечают, например, направления спина атомного ядра вверх или вниз.
Квантовый регистр
Квантовый регистр устроен почти так же, как и классический. Это цепочка квантовых битов, над которыми можно проводить одно- и двухбитовые логические операции (подобно применению операций НЕ, 2И-НЕ и т.п. в классическом регистре).
Рис. 6
Квантовый регистр - цепочка квантовых битов. Одно- или двухкубитовые квантовые вентили (NOT 1/2, NOT, CNOT и др.) осуществляют логические операции над кубитами или парами кубитов.
К базовым состояниям квантового регистра, образованного L кубитами, относятся, так же как и в классическом, все возможные последовательности нулей и единиц длиной L. Всего может быть 2L различных комбинаций. Их можно считать записью чисел в двоичной форме от 0 до 2L-1 и обозначать. Однако эти базовые состояния не исчерпывают всех возможных значений квантового регистра (в отличие от классического), поскольку существуют еще и состояния суперпозиции, задаваемые комплексными амплитудами, связанными условием нормировки. Классического аналога у большинства возможных значений квантового регистра (за исключением базовых) просто не существует. Состояния классического регистра - лишь жалкая тень всего богатства состояний квантового компьютера.
Представьте, что на регистр осуществляется внешнее воздействие, например, в часть пространства поданы электрические импульсы или направлены лазерные лучи. Если это классический регистр, импульс, который можно рассматривать как вычислительную операцию, изменит L переменных. Если же это квантовый регистр, то тот же импульс может одновременно преобразовать до переменных. Таким образом, квантовый регистр, в принципе, способен обрабатывать информацию в раз быстрее по сравнению со своим классическим аналогом. Отсюда сразу видно, что маленькие квантовые регистры (L<20) могут служить лишь для демонстрации отдельных узлов и принципов работы квантового компьютера, но не принесут большой практической пользы, так как не сумеют обогнать современные ЭВМ, а стоить будут заведомо дороже. В действительности квантовое ускорение обычно значительно меньше, чем приведенная грубая оценка сверху (это связано со сложностью получения большого количества амплитуд и считывания результата), поэтому практически полезный квантовый компьютер должен содержать тысячи кубитов. Но, с другой стороны, понятно, что для достижения действительного ускорения вычислений нет необходимости собирать миллионы квантовых битов. Компьютер с памятью, измеряемой всего лишь в килокубитах, будет в некоторых задачах несоизмеримо быстрее, чем классический суперкомпьютер с терабайтам памяти.
Стоит, однако, отметить, что существует класс задач, для которых квантовые алгоритмы не дают значительного ускорения по сравнению с классическими. Одним из первых это показал российский математик Ю. Ожигов, построивший ряд примеров алгоритмов, принципиально не ускоряемых на квантовом компьютере ни на один такт.
И тем не менее нет сомнения, что компьютеры, работающие по законам квантовой механики, - новый и решающий этап в эволюции вычислительных систем. Осталось только их построить.