Что такое квантовые вычисления. Квантовые вычисления против классических: зачем нам столько цифр. Классические вычисления: AND, OR, NOT

Что такое квантовые вычисления. Квантовые вычисления против классических: зачем нам столько цифр. Классические вычисления: AND, OR, NOT
Что такое квантовые вычисления. Квантовые вычисления против классических: зачем нам столько цифр. Классические вычисления: AND, OR, NOT

Кандидат физико-математических наук Л. ФЕДИЧКИН (Физико-технологический институт Российской академии наук.

Используя законы квантовой механики, можно создать принципиально новый тип вычислительных машин, которые позволят решать некоторые задачи, недоступные даже самым мощным современным суперкомпьютерам. Резко возрастет скорость многих сложных вычислений; сообщения, посланные по линиям квантовой связи, невозможно будет ни перехватить, ни скопировать. Сегодня уже созданы прототипы этих квантовых компьютеров будущего.

Американский математик и физик венгерского происхождения Иоганн фон Нейман (1903- 1957).

Американский физик-теоретик Ричард Филлипс Фейнман (1918-1988).

Американский математик Питер Шор, специалист в области квантовых вычислений. Предложил квантовый алгоритм быстрой факторизации больших чисел.

Квантовый бит, или кубит. Состояниям и отвечают, например, направления спина атомного ядра вверх или вниз.

Квантовый регистр - цепочка квантовых битов. Одно- или двухкубитовые квантовые вентили осуществляют логические операции над кубитами.

ВВЕДЕНИЕ, ИЛИ НЕМНОГО О ЗАЩИТЕ ИНФОРМАЦИИ

Как вы думаете, на какую программу в мире продано наибольшее количество лицензий? Не рискну настаивать, что знаю правильный ответ, но мне точно известен один неверный: это не какая-либо из версий Microsoft Windows. Самую распространенную операционную систему опережает скромный продукт фирмы RSA Data Security, Inc. - программа, реализующая алгоритм шифрования с открытым ключом RSA, названный так в честь его авторов - американских математиков Ривеста, Шамира и Адельмана.

Дело в том, что алгоритм RSA встроен в большинство продаваемых операционных систем, а также во множество других приложений, используемых в различных устройствах - от смарткарт до сотовых телефонов. В частности, имеется он и в Microsoft Windows, а значит, распространен заведомо шире этой популярной операционной системы. Чтобы обнаружить следы RSA, к примеру, в браузере Internet Explorer (программе для просмотра www-страниц в сети Интернет), достаточно открыть меню "Справка" (Help), войти в подменю "О программе" (About Internet Explorer) и просмотреть список используемых продуктов других фирм. Еще один распространенный браузер Netscape Navigator тоже использует алгоритм RSA. Вообще, трудно найти известную фирму, работающую в области высоких технологий, которая не купила бы лицензию на эту программу. На сегодняшний день фирма RSA Data Security, Inc. продала уже более 450 миллионов(!) лицензий.

Почему же алгоритм RSA оказался так важен?

Представьте, что вам необходимо быстро обменяться сообщением с человеком, находящимся далеко. Благодаря развитию Интернета такой обмен стал доступен сегодня большинству людей - надо только иметь компьютер с модемом или сетевой картой. Естественно, что, обмениваясь информацией по сети, вы бы хотели сохранить свои сообщения в тайне от посторонних. Однако полностью защитить протяженную линию связи от прослушивания невозможно. Значит, при посылке сообщений их необходимо зашифровать, а при получении - расшифровать. Но как вам и вашему собеседнику договориться о том, каким ключом вы будете пользоваться? Если послать ключ к шифру по той же линии, то подслушивающий злоумышленник легко его перехватит. Можно, конечно, передать ключ по какой-нибудь другой линии связи, например отправить его телеграммой. Но такой метод обычно неудобен и к тому же не всегда надежен: другую линию тоже могут прослушивать. Хорошо, если вы и ваш адресат заранее знали, что будете обмениваться шифровками, и потому заблаго-временно передали друг другу ключи. А как быть, например, если вы хотите послать конфиденциальное коммерческое предложение возможному деловому партнеру или купить по кредитной карточке понравившийся товар в новом Интернет-магазине?

В 1970-х годах для решения этой проблемы были предложены системы шифрования, использую щие два вида ключей для одного и того же сообщения: открытый (не требующий хранения в тайне) и закрытый (строго секретный). Открытый ключ служит для шифрования сообщения, а закрытый - для его дешифровки. Вы посылаете вашему корреспонденту открытый ключ, и он шифрует с его помощью свое послание. Все, что может сделать злоумышленник, перехвативший открытый ключ, - это зашифровать им свое письмо и направить его кому-нибудь. Но расшифровать переписку он не сумеет. Вы же, зная закрытый ключ (он изначально хранится у вас), легко прочтете адресованное вам сообщение. Для зашифровки ответных посланий вы будете пользоваться открытым ключом, присланным вашим корреспондентом (а соответствующий закрытый ключ он оставляет себе).

Как раз такая криптографическая схема и применяется в алгоритме RSA - самом распространенном методе шифрования с открытым ключом. Причем для создания пары открытого и закрытого ключей используется следующая важная гипотеза. Если имеется два больших (требующих более сотни десятичных цифр для своей записи) простых числа M и K, то найти их произведение N=MK не составит большого труда (для этого даже не обязательно иметь компьютер: достаточно аккуратный и терпеливый человек сможет перемножить такие числа с помощью ручки и бумаги). А вот решить обратную задачу, то есть, зная большое число N, разложить его на простые множители M и K (так называемая задача факторизации ) - практически невозможно! Именно с этой проблемой столкнется злоумышленник, решивший "взломать" алгоритм RSA и прочитать зашифрованную с его помощью информацию: чтобы узнать закрытый ключ, зная открытый, придется вычислить M или K.

Для проверки справедливости гипотезы о практической сложности разложения на множители больших чисел проводились и до сих пор еще проводятся специальные конкурсы. Рекордом считается разложение всего лишь 155-значного (512-битного) числа. Вычисления велись параллельно на многих компьютерах в течение семи месяцев 1999 года. Если бы эта задача выполнялась на одном современном персональном компьютере, потребовалось бы примерно 35 лет машинного времени! Расчеты показывают, что с использованием даже тысячи современных рабочих станций и лучшего из известных на сегодня вычислительных алгоритмов одно 250-значное число может быть разложено на множители примерно за 800 тысяч лет, а 1000-значное - за 10 25 (!) лет. (Для сравнения возраст Вселенной равен ~10 10 лет.)

Поэтому криптографические алгоритмы, подобные RSA, оперирующие достаточно длинными ключами, считались абсолютно надежными и использовались во многих приложениях. И все было хорошо до тех самых пор ...пока не появились квантовые компьютеры.

Оказывается, используя законы квантовой механики, можно построить такие компьютеры, для которых задача факторизации (и многие другие!) не составит большого труда. Согласно оценкам, квантовый компьютер с памятью объемом всего лишь около 10 тысяч квантовых битов способен разложить 1000-значное число на простые множители в течение всего нескольких часов!

КАК ВСЕ НАЧИНАЛОСЬ?

Только к середине 1990-х годов теория квантовых компьютеров и квантовых вычислений утвердилась в качестве новой области науки. Как это часто бывает с великими идеями, сложно выделить первооткрывателя. По-видимому, первым обратил внимание на возможность разработки квантовой логики венгерский математик И. фон Нейман. Однако в то время еще не были созданы не то что квантовые, но и обычные, классические, компьютеры. А с появлением последних основные усилия ученых оказались направлены в первую очередь на поиск и разработку для них новых элементов (транзисторов, а затем и интегральных схем), а не на создание принципиально других вычислитель ных устройств.

В 1960-е годы американский физик Р. Ландауэр, работавший в корпорации IBM, пытался обратить внимание научного мира на то, что вычисления - это всегда некоторый физический процесс, а значит, невозможно понять пределы наших вычислительных возможностей, не уточнив, какой физической реализации они соответствуют. К сожалению, в то время среди ученых господствовал взгляд на вычисление как на некую абстрактную логическую процедуру, изучать которую следует математикам, а не физикам.

По мере распространения компьютеров ученые, занимавшиеся квантовыми объектами, пришли к выводу о практической невозможности напрямую рассчитать состояние эволюционирующей системы, состоящей всего лишь из нескольких десятков взаимодействующих частиц, например молекулы метана (СН 4). Объясняется это тем, что для полного описания сложной системы необходимо держать в памяти компьютера экспоненциально большое (по числу частиц) количество переменных, так называемых квантовых амплитуд. Возникла парадоксальная ситуация: зная уравнение эволюции, зная с достаточной точностью все потенциалы взаимодействия частиц друг с другом и начальное состояние системы, практически невозможно вычислить ее будущее, даже если система состоит лишь из 30 электронов в потенциальной яме, а в распоряжении имеется суперкомпьютер с оперативной памятью, число битов которой равно числу атомов в видимой области Вселенной(!). И в то же время для исследования динамики такой системы можно просто поставить эксперимент с 30 электронами, поместив их в заданные потенциал и начальное состояние. На это, в частности, обратил внимание русский математик Ю. И. Манин, указавший в 1980 году на необходимость разработки теории квантовых вычислительных устройств. В 1980-е годы эту же проблему изучали американский физик П. Бенев, явно показавший, что квантовая система может производить вычисления, а также английский ученый Д. Дойч, теоретически разработавший универсальный квантовый компьютер, превосходящий классический аналог.

Большое внимание к проблеме разработки квантовых компьютеров привлек лауреат Нобелевской премии по физике Р. Фейн-ман, хорошо знакомый постоянным читателям "Науки и жизни". Благодаря его авторитетному призыву число специалистов, обративших внимание на квантовые вычисления, увеличилось во много раз.

И все же долгое время оставалось неясным, можно ли использовать гипотетическую вычислительную мощь квантового компьютера для ускорения решения практических задач. Но вот в 1994 году американский математик, сотрудник фирмы Lucent Technologies (США) П. Шор ошеломил научный мир, предложив квантовый алгоритм, позволяющий проводить быструю факторизацию больших чисел (о важности этой задачи уже шла речь во введении). По сравнению с лучшим из известных на сегодня классических методов квантовый алгоритм Шора дает многократное ускорение вычислений, причем, чем длиннее факторизуемое число, тем значительней выигрыш в скорости. Алгоритм быстрой факторизации представляет огромный практический интерес для различных спецслужб, накопивших банки нерасшифрованных сообщений.

В 1996 году коллега Шора по работе в Lucent Technologies Л. Гровер предложил квантовый алгоритм быстрого поиска в неупорядоченной базе данных. (Пример такой базы данных - телефонная книга, в которой фамилии абонентов расположены не по алфавиту, а произвольным образом.) Задача поиска, выбора оптимального элемента среди многочисленных вариантов очень часто встречается в экономических, военных, инженерных задачах, в компьютерных играх. Алгоритм Гровера позволяет не только ускорить процесс поиска, но и увеличить примерно в два раза число параметров, учитываемых при выборе оптимума.

Реальному созданию квантовых компьютеров препятствовала, по существу, единственная серьезная проблема - ошибки, или помехи. Дело в том, что один и тот же уровень помех гораздо интенсивнее портит процесс квантовых вычислений, чем классических. Пути решения этой проблемы наметил в 1995 году П. Шор, разработав схему кодирования квантовых состояний и коррекции в них ошибок. К сожалению, тема коррекции ошибок в квантовых компьютерах так же важна, как и сложна, чтобы изложить ее в данной статье.

УСТРОЙСТВО КВАНТОВОГО КОМПЬЮТЕРА

Прежде чем рассказать, как же устроен квантовый компьютер, вспомним основные особенности квантовых систем (см. также "Наука и жизнь" № 8, 1998 г.; № 12, 2000 г.).

Для понимания законов квантового мира не следует прямо опираться на повседневный опыт. Обычным образом (в житейском понимании) квантовые частицы ведут себя лишь в том случае, если мы постоянно "подглядываем" за ними, или, говоря более строго, постоянно измеряем, в каком состоянии они находятся. Но стоит нам "отвернуться" (прекратить наблюдение), как квантовые частицы тут же переходят из вполне определенного состояния сразу в несколько различных ипостасей. То есть электрон (или любой другой квантовый объект) частично будет находиться в одной точке, частично в другой, частично в третьей и т. д. Это не означает, что он делится на дольки, как апельсин. Тогда можно было бы надежно изолировать какую-нибудь часть электрона и измерить ее заряд или массу. Но опыт показывает, что после измерения электрон всегда оказывается "целым и невредимым" в одной единственной точке, несмотря на то, что до этого он успел побывать одновременно почти везде. Такое состояние электрона, когда он находится сразу в нескольких точках пространства, называют суперпозицией квантовых состояний и описывают обычно волновой функцией, введенной в 1926 году немецким физиком Э. Шредингером. Модуль значения волновой функции в любой точке, возведенный в квадрат, определяет вероятность найти частицу в этой точке в данный момент. После измерения положения частицы ее волновая функция как бы стягивается (коллапсирует) в ту точку, где частица была обнаружена, а затем опять начинает расплываться. Свойство квантовых частиц быть одновременно во многих состояниях, называемое квантовым параллелизмом , успешно используется в квантовых вычислениях.

Квантовый бит

Основная ячейка квантового компьютера - квантовый бит, или, сокращенно, кубит (q-бит). Это квантовая частица, имеющая два базовых состояния, которые обозначаются 0 и 1 или, как принято в квантовой механике, и. Двум значениям кубита могут соответствовать, например, основное и возбужденное состояния атома, направления вверх и вниз спина атомного ядра, направление тока в сверхпроводящем кольце, два возможных положения электрона в полупроводнике и т.п.

Квантовый регистр

Квантовый регистр устроен почти так же, как и классический. Это цепочка квантовых битов, над которыми можно проводить одно- и двухбитовые логические операции (подобно применению операций НЕ, 2И-НЕ и т.п. в классическом регистре).

К базовым состояниям квантового регистра, образованного L кубитами, относятся, так же как и в классическом, все возможные последовательности нулей и единиц длиной L. Всего может быть 2 L различных комбинаций. Их можно считать записью чисел в двоичной форме от 0 до 2 L -1 и обозначать. Однако эти базовые состояния не исчерпывают всех возможных значений квантового регистра (в отличие от классического), поскольку существуют еще и состояния суперпозиции, задаваемые комплексными амплитудами, связанными условием нормировки. Классического аналога у большинства возможных значений квантового регистра (за исключением базовых) просто не существует. Состояния классического регистра - лишь жалкая тень всего богатства состояний квантового компьютера.

Представьте, что на регистр осуществляется внешнее воздействие, например, в часть пространства поданы электрические импульсы или направлены лазерные лучи. Если это классический регистр, импульс, который можно рассматривать как вычислительную операцию, изменит L переменных. Если же это квантовый регистр, то тот же импульс может одновременно преобразовать до переменных. Таким образом, квантовый регистр, в принципе, способен обрабатывать информацию в раз быстрее по сравнению со своим классическим аналогом. Отсюда сразу видно, что маленькие квантовые регистры (L<20) могут служить лишь для демонстрации отдельных узлов и принципов работы квантового компьютера, но не принесут большой практической пользы, так как не сумеют обогнать современные ЭВМ, а стоить будут заведомо дороже. В действительности квантовое ускорение обычно значительно меньше, чем приведенная грубая оценка сверху (это связано со сложностью получения большого количества амплитуд и считывания результата), поэтому практически полезный квантовый компьютер должен содержать тысячи кубитов. Но, с другой стороны, понятно, что для достижения действительного ускорения вычислений нет необходимости собирать миллионы квантовых битов. Компьютер с памятью, измеряемой всего лишь в килокубитах, будет в некоторых задачах несоизмеримо быстрее, чем классический суперкомпьютер с терабайтами памяти.

Стоит, однако, отметить, что существует класс задач, для которых квантовые алгоритмы не дают значительного ускорения по сравнению с классическими. Одним из первых это показал российский математик Ю. Ожигов, построивший ряд примеров алгоритмов, принципиально не ускоряемых на квантовом компьютере ни на один такт.

И тем не менее нет сомнения, что компьютеры, работающие по законам квантовой механики, - новый и решающий этап в эволюции вычислительных систем. Осталось только их построить.

КВАНТОВЫЕ КОМПЬЮТЕРЫ СЕГОДНЯ

Прототипы квантовых компьютеров существуют уже сегодня. Правда, пока что экспериментально удается собирать лишь небольшие регистры, состоящие всего из нескольких квантовых битов. Так, недавно группа, возглавляемая американским физиком И. Чангом (IBM), объявила о сборке 5-битового квантового компьютера. Несомненно, это большой успех. К сожалению, существующие квантовые системы еще не способны обеспечить надежные вычисления, так как они либо недостаточно управляемы, либо очень подвержены влиянию шумов. Однако физических запретов на построение эффективного квантового компьютера нет, необходимо лишь преодолеть технологические трудности.

Существует несколько идей и предложений, как сделать надежные и легко управляемые квантовые биты.

И. Чанг развивает идею об использовании в качестве кубитов спинов ядер некоторых органических молекул.

Российский исследователь М. В. Фейгельман, работающий в Институте теоретической физики им. Л. Д. Ландау РАН, предлагает собирать квантовые регистры из миниатюрных сверхпроводни ковых колец. Каждое кольцо выполняет роль кубита, а состояниям 0 и 1 соответствуют направления электрического тока в кольце - по часовой стрелке и против нее. Переключать такие кубиты можно магнитным полем.

В Физико-технологическом институте РАН группа под руководством академика К. А. Валиева предложила два варианта размещения кубитов в полупроводниковых структурах. В первом случае роль кубита выполняет электрон в системе из двух потенциальных ям, создаваемых напряжением, приложенным к мини-электродам на поверхности полупроводника. Состояния 0 и 1 - положения электрона в одной из этих ям. Переключается кубит изменением напряжения на одном из электродов. В другом варианте кубитом является ядро атома фосфора, внедренного в определенную точку полупровод ника. Состояния 0 и 1 - направления спина ядра вдоль либо против внешнего магнитного поля. Управление ведется с помощью совместного действия магнитных импульсов резонансной частоты и импульсов напряжения.

Таким образом, исследования активно ведутся и можно предположить, что в самом недалеком будущем - лет через десять - эффективный квантовый компьютер будет создан.

ВЗГЛЯД В БУДУЩЕЕ

Таким образом, весьма возможно, что в перспективе квантовые компьютеры будут изготавливаться с использованием традиционных методов микроэлектронной технологии и содержать множество управляющих электродов, напоминая современный микропроцессор. Для того чтобы снизить уровень шумов, критически важный для нормальной работы квантового компьютера, первые модели, по всей видимости, придется охлаждать жидким гелием. Вероятно, первые квантовые компьютеры будут громоздкими и дорогими устройствами, не умещающимися на письменном столе и обслуживаемыми большим штатом системных программистов и наладчиков оборудования в белых халатах. Доступ к ним получат сначала лишь государственные структуры, затем богатые коммерческие организации. Но примерно так же начиналась и эра обычных компьютеров.

А что же станет с классическими компью-терами? Отомрут ли они? Вряд ли. И для классических, и для квантовых компьютеров найдутся свои сферы применения. Хотя, по всей видимости, соотношение на рынке будет все же постепенно смещаться в сторону последних.

Внедрение квантовых компьютеров не приведет к решению принципиально нерешаемых классических задач, а лишь ускорит некоторые вычисления. Кроме того, станет возможна квантовая связь - передача кубитов на расстояние, что приведет к возникновению своего рода квантового Интернета. Квантовая связь позволит обеспечить защищенное (законами квантовой механики) от подслушивания соединение всех желающих друг с другом. Ваша информация, хранимая в квантовых базах данных, будет надежнее защищена от копирования, чем сейчас. Фирмы, производящие программы для квантовых компьютеров, смогут уберечь их от любого, в том числе и незаконного, копирования.

Для более глубокого освоения этой темы можно прочитать обзорную статью Э. Риффеля, В. Полака "Основы квантовых вычислений", опубликованную в издаваемом в России журнале "Квантовые компьютеры и квантовые вычисления" (№ 1, 2000 г.). (Кстати, это первый и пока единственный в мире журнал, посвященный квантовым вычислениям. Дополнительную информацию о нем можно узнать в Интернете по адресу http://rcd.ru/qc .). Освоив эту работу, вы сможете читать научные статьи по квантовым вычислениям.

Несколько большая предварительная математическая подготовка потребуется при чтении книги А. Китаева, А. Шеня, М. Вялого "Классические и квантовые вычисления" (М.: МЦНМО-ЧеРо, 1999).

Ряд принципиальных аспектов квантовой механики, существенных для проведения квантовых вычислений, разобран в книге В. В. Белокурова, О. Д. Тимофеевской, О. А. Хрусталева "Квантовая телепортация - обыкновенное чудо" (Ижевск: РХД, 2000).

В издательстве РХД готовится к выходу в виде отдельной книги перевод обзора А. Стина, посвященный квантовым компьютерам.

Следующая литература будет полезна не только в познавательном, но и в историческом плане:

1) Ю. И. Манин. Вычислимое и невычислимое.

М.: Сов. радио, 1980.

2) И. фон Нейман. Математические основы квантовой механики.

М.: Наука, 1964.

3) Р. Фейнман. Моделирование физики на компьютерах // Квантовый компьютер и квантовые вычисления:

Сб. в 2-х т. - Ижевск: РХД, 1999. Т. 2, с. 96-123.

4) Р. Фейнман. Квантово-механические компьютеры

// Там же, с. 123.-156.

См. в номере на ту же тему

Создание универсального квантового компьютера - одна из сложнейших задач современной физики, решение которой в корне изменит представления человечества об интернете и методах передачи информации, кибербезопасности и криптографии, электронных валютах, системах искусственного интеллекта и машинного обучения, методах синтеза новых материалов и лекарств, подходах к моделированию сложных физических, квантовых и ультра больших (Big Data) систем.

Экспоненциальный рост размерности при попытке расчетов реальных систем или самых простых квантовых систем является непреодолимым препятствием для классических компьютеров. Однако в 1980 году Юрий Манин и Ричард Фейнман (в 1982 году, но более подробно) независимо выдвинули идею использования квантовых систем для вычислений. В отличие от классических современных компьютеров, в квантовых схемах при вычислениях используются кубиты (квантовые биты), которые по своей природе являются квантовыми двухуровневыми системами и обеспечивают возможность прямого использования феномена квантовой суперпозиции. Другими словами это означает, что кубит может одновременно находится в состояниях |0> и |1>, а два связанных между собой кубита - одновременно в состояниях |00>, |10>, |01> и |11>. Именно это свойство квантовых систем должно обеспечить экспоненциальный рост производительности параллельных вычислений, сделав квантовые компьютеры в миллионы раз быстрее самых мощных современных суперкомпьютеров.

В 1994 году Питером Шором предложен квантовый алгоритм разложения чисел на простые множители. Вопрос существования эффективного классического решения данной задачи является крайне важным и до сих пор открыт, при этом квантовый алгоритм Шора обеспечивает экспоненциальное ускорение относительно наилучшего классического аналога. Например, современный суперкомпьютер петафлопсного диапазона (10 15 операций/сек) позволяет разложить число с 500 десятичными знаками за 5 миллиардов лет, квантовый компьютер мегагерцового диапазона (10 6 операций/сек) решил бы ту же задачу за 18 секунд. Важно отметить, что сложность решения данной задачи является основой популярного алгоритма криптографической защиты RSA, который после создания квантового компьютера попросту потеряет актуальность.

В 1996 году Ловом Гровером предложен квантовый алгоритм решения задачи перебора (поиска) с квадратичным ускорением. Несмотря на то, что ускорение алгоритма Гровера заметно ниже алгоритма Шора, важным является его широкий спектр применения, и очевидная невозможность ускорения классического варианта перебора. Сегодня известно более 40 эффективных квантовых алгоритмов, большинство из которых основаны на идеях алгоритмов Шора и Гровера, реализация которых является важным шагом к созданию универсального квантового компьютера.

Реализация квантовых алгоритмов - одна из приоритетных задач НОЦ ФМН. Наши исследования в этой области направлены на разработку многокубитных сверхпроводящих квантовых интегральных схем для создания универсальных квантовых систем обработки информации и квантовых симуляторов. Базовым элементом таких схем являются джозефсоновские туннельные переходы, состоящие из двух сверхпроводников, разделенных тонким барьером - диэлектриком толщиной порядка 1 нм. Сверхпроводящие кубиты на основе джозефсоновских переходов при охлаждении в криостатах растворения практически до температуры абсолютного нуля (~20 мК) проявляют квантово-механические свойства, демонстрируя квантование электрического заряда (зарядовые кубиты), фазы или потока магнитного поля (потоковые кубиты) в зависимости от их конструкции. Для объединения кубитов в схемы используются емкостные или индуктивные соединительные элементы, а также сверхпроводящие копланарные резонаторы, а управление осуществляется микроволновыми импульсами с контролируемыми амплитудой и фазой. Сверхпроводящие схемы особенно привлекательны благодаря тому, что они могут быть изготовлены планарными массовыми технологиями, используемыми в полупроводниковой промышленности. В НОЦ ФМН мы используем оборудование (R&D класса) ведущих мировых производителей, специально спроектированное и созданное для нас с учетом особенностей технологических процессов изготовления сверхпроводящих квантовых интегральных схем.

Несмотря на то, что показатели качества сверхпроводящих кубитов выросли за прошедшие 15 лет почти на несколько порядков, сверхпроводящие квантовые интегральные схемы все еще очень нестабильны по сравнению с классическими процессорами. Построение надежного универсального многокубитного квантового компьютера требует решения большого количества физических, технологических, архитектурных и алгоритмических задач. В НОЦ ФМН сформирована комплексная программа исследований и разработок по направлению создания многокубитных сверхпроводящих квантовых схем, включая:

  • методы формирования и исследования новых материалов и интерфейсов;
  • проектирование и технология изготовления элементов квантовых схем;
  • масштабируемое изготовление высококогерентных кубитов и высокодобротных резонаторов;
  • томография (измерения характеристик) сверхпроводящих кубитов;
  • управление сверхпроводящих кубитами, квантовая коммутация (перепутывание);
  • методы обнаружения и алгоритмы коррекции ошибок;
  • разработка архитектуры многокубитных квантовых схем;
  • сверхпроводящие параметрические усилители с квантовым уровнем шумов.

Благодаря нелинейным свойствам при ультра низких потерях (по своей природе) и возможности масштабирования (изготовление литографическими методами) джозефсоновские переходы крайне привлекательны для создания квантовых сверхпроводящих схем. Зачастую для изготовления квантовой схемы требуется сформировать сотни и тысячи джозефсоновских переходов с характерными размерами порядка 100 нм нп кристалле. При этом надежная работа схем реализуется только при условии точного воспроизведения параметров переходов. Другими словами все переходы квантовых схем должны быть абсолютно одинаковыми. Для этого прибегают к использованию самых современных методов электронно-лучевой литографии и последующего высокоточного теневого напыления через резистивные или жесткие маски.

Формирование джозефсоновских переходов осуществляется стандартными методами литографии ультравысокого разрешения с использованием двухслойных резистивных или жестких масок. При проявлении такой двухслойной маски формируются окна для осаждения слоев сверхпроводника под такими углами, чтобы в результате процессов произошло наложение напыляемых слоев. Перед осаждением второго слоя сверхпроводника формируется туннельный диэлектрический слой джозефсоновского перехода очень высокого качества. После формирования джозефсоновских переходов двухслойная маска удаляется. При этом на каждом этапе формирования переходов критически важным фактором является создание «идеальных» интерфейсов – даже атомарные загрязнения радикально ухудшают параметры изготавливаемых схем в целом.

В ФМН разработана алюминиевая технология формирования джозефсоновских переходов Al–AlOx–Al с минимальными размерами в диапазоне 100-500 нм и воспроизводимостью параметров переходов по критическому току не хуже 5%. Продолжающиеся технологические исследования направлены на поиск новых материалов, усовершенствование технологических операций формирования переходов, подходов по интеграции с новыми маршрутными технологическими процессами и повышение воспроизводимости изготовления переходов при увеличении их количества до десятков тысяч штук на кристалле.

Джозефсоновские кубиты (квантовая двухуровневая система или «искусственный атом») характеризуются типичным расщеплением энергии основного возбужденного состояния на уровни и управляются стандартными микроволновыми импульсами (внешняя подстройка расстояния между уровнями и собственных состояний) на частоте расщепления в гигагерцовом диапазоне. Все сверхпроводящие кубиты можно разделить на зарядовые (квантование электрического заряда) и потоковые кубиты (квантование магнитного поля или фазы), а основными критериями качества кубитов с точки зрения квантовых вычислений являются время релаксации (T1), время когерентности (T2, дефазировки) и время на выполнение одной операции. Первый зарядовый кубит был реализован в лаборатории компании NEC (Япония) научной группой под руководством Y. Nakamura и Ю. Пашкина (Nature 398, 786–788, 1999). За прошедшие 15 лет времена когерентности сверхпроводящих кубитов были улучшены ведущими научными группами почти на шесть порядков с наносекуд до сотен микросекунд, обеспечив возможность выполнения сотен двухкубитных операций и реализации алгоритмов коррекции ошибок.


В НОЦ ФМН мы разрабатываем, изготавливаем и тестируем зарядовые и потоковые кубиты различных конструкций (потоковые, флаксониумы, 2D/3D трансмоны, X-моны и т.п.) с алюминиевыми джозефсоновскими переходами, проводим исследования новых материалов и методов создания высококогерентных кубитов, направленные на улучшение основных параметров сверхпроводящих кубитов.

Специалистами центра разрабатываются тонкопленочные линии передач и сверхпроводящие резонаторы высокой добротности с резонансными частотами в диапазоне 3-10 ГГц. Они используются в элементах квантовых схем и памяти для квантовых вычислений, обеспечивая управление отдельными кубитами, связь между ними и считывание их состояний в режиме реального времени. Основной задачей здесь является повышение добротности создаваемых структур в однофотонном режиме при низких температурах.

С целью повышения параметров сверхпроводящих резонаторов мы проводим исследования различных типов их конструкций, материалов тонких пленок (алюминий, ниобий, нитрид ниобия), методов осаждения пленок (электронно-лучевое, магнетронное, атомно-слоевое) и формирования топологий (взрывная литография, различные процессы травления) на различных подложках (кремний, сапфир) и интеграции различных материалов в одной схеме.

Научные группы из различных областей физики давно занимаются исследованием возможности когерентного взаимодействия (связи) квантовых двухуровневых систем с квантовыми гармоническими осцилляторами. До 2004 года такого взаимодействия удавалось добиться только в экспериментах атомной физики и квантовой оптики, где одиночный атом когерентно обменивается одиночным фотоном с одномодовым излучением. Эти эксперименты внесли большой вклад в понимание механизмов взаимодействия света с веществом, квантовой физики, физики когерентности и декогерентности, а также подтвердили теоретические основы концепции квантовых вычислений. Однако в 2004 году научной группой под руководством A. Wallraff (Nature 431, 162-167 (2004)) была впервые продемонстрирована возможность когерентной связи твердотельной квантовой схемы с одиночным фотоном микроволнового диапазона. Благодаря этим экспериментам и после решения ряда технологических проблем были разработаны принципы создания управляемых твердотельных двухуровневых квантовых систем, которые составили основу новой парадигмы схем квантовой электродинамики (QED схем) активно исследуемых в последние годы.


QED схемы крайне привлекательны как с точки зрения исследования особенностей взаимодействия различных элементов квантовых систем, так и создания квантовых устройств для практического применения. Мы исследуем различные типы схем взаимодействия элементов QED схем: эффективной связи кубитов и управляющих элементов, схемотехнические решения перепутывания кубитов, квантовой нелинейности взаимодействия элементов с малым количеством фотонов и т.п. Эти исследования направлены на формирование базы практических экспериментальных методов для создания многокубитных квантовых интегральных схем.

Основной целью исследований в данном направлении в ФМН является разработка технологии создания, метрологической, методической и алгоритмической базы для реализации алгоритмов Шора и Гровера с использованием многокубитных квантовых схем и демонстрации квантового ускорения по сравнению с классическими суперкомпьютерами. Эта крайне амбициозная научно-техническая задача требует решения колоссального количества теоретико-физических, технологических, схемотехнических, метрологических и алгоритмических проблем, над которыми в данный момент активно работаю ведущие научные группы и ИТ-компании.


Исследования и разработки в области квантовых вычислений проводятся в тесной кооперации с ведущими российскими научными коллективами ИФТТ РАН, МИСИС, МФТИ, НГТУ и РКЦ под управлением известных в мире российских ученых.

Историческая справка

Квантовые вычисления немыслимы без контроля над квантовым состоянием отдельных элементарных частиц. Двум физикам - французу Сержу Лрошу и американцу Дэвиду Вайнленду - это удалось. Лрош ловил в резонатор одиночные фотоны и надолго «отцеплял» их от внешнего мира. Вайнленд собирал в ловушку одиночные ионы с опреденными квантовыми состояниями и изолировал их от внешнего воздействия. Арош использовал атомы, чтобы наблюдать за состоянием фотона. Вайнленд применял фотоны, чтобы изменять состояния ионов. Им удалось продвинуться в изучении взаимоотношения квантового и классического миров. В 2012 г. им была вручена Нобелевская премия по физике за «прорывные экспериментальные методы, которые сделали возможными измерение отдельных квантовых систем и управление ими».

В основе работы квантовых компьютеров лежат свойства квантового бита информации. Если в вычислительных процессах используется п кубитов, то гильбертово пространство состояний квантовой системы имеет размерность, равную 2". Под гильбертовым пространством будем понимать га-мерное векторное пространство, в котором определено скалярное произведение при условии стремления значения п к бесконечности.

В нашем случае это означает, что имеется 2" базовых состояний, а компьютер может оперировать суперпозицией из этих 2" базовых состояний.

Заметим, что воздействие на какой-либо кубит немедленно приводит к одновременному изменению всех 2” базовых состояний. Это свойство носит название «квантовый параллелизм ».

Квантовые вычисления являются унитарными преобразованиями. Это означает, что осуществляется линейное преобразование с комплексными коэффициентами, сохраняющее неизменной сумму квадратов преобразуемых переменных. Унитарное преобразование является ортогональным преобразованием, при котором коэффициенты образуют унитарную матрицу.

Под унитарной матрицей будем понимать квадратную матрицу ||aj|, произведение которой на комплексную сопряженную и транспонированную матрицу || aJI дает единичную матрицу. Числа a jk и a ki комплексные. Если числа a ik являются действительными числами, то унитарная матрица будет ортогональной. Некоторое число кубитов формирует квантовый регистр компьютера. В такой цепочке квантовых битов можно проводить одно- и двухбитовые логические операции подобно тому, как в классическом регистре проводятся операции НЕ, И-НЕ, 2 ИЛИ-HE и т.д. (рис. 5.49).

Определенное число N регистров формируют по существу квантовый компьютер. Работа квантового компьютера происходит в соответствии с разработанными алгоритмами вычислений.

Рис. 5.49.

NOT - булевское НЕ; CNOT - контролируемое НЕ

Кубиты как носители информации обладают рядом интересных свойств, совершенно отличающих их от классических битов. Одним из главных тезисов квантовой теории информации является запутывание состояний. Предположим, что имеется два двухуровневых кубита А и В, реализованных в виде атома с электронным или ядерным спином, молекулы с двумя ядер- ными спинами. Вследствие взаимодействия двух подсистем А и В возникает нелокальная корреляция, имеющая чисто квантовый характер. Такая корреляция может быть описана матрицей плотности смешанного состояния

где p i - населенность или вероятность i- го состояния, так что р { + р 2 + р 3 + + Ра = 1-

Свойство когерентных квантовых состояний иметь сумму вероятностей, равную единице, называется запутыванием, или сцеплением, состояний. Запутанные, или сцепленные, квантовые объекты связаны между собой независимо от того, насколько далеко они расположены друг от друга. Если измеряется состояние одного из сцепленных объектов, то немедленно получаются сведения о состоянии других объектов.

Если два кубита сцеплены между собой, то они лишены индивидуальных квантовых состояний. Они зависят друг от друга так, что измерение для одного тина дает «О», а для другого - «1» и наоборот (рис. 5.50). В этом случае говорят, что максимально сцепленная пара несет один e-бит сцеплснности.

Запутанные состояния являются ресурсом устройств квантового вычислителя, и для пополнения числа запутанных состояний необходимо разработать методы надежной генерации сцепленных кубитов. Одним из мето-

Рис. 5.50. Схема максимально сцепленной пары кубитов дов является алгоритмический способ получения запутанных кубитов на ионах в ловушках, ядерных спинах или паре фотонов. Весьма эффективным может быть процесс распада частицы в синглетном состоянии на две частицы. В этом случае генерируются пары частиц, запутанные по координате, импульсу или спину.

Разработка всеобъемлющей теории запутанности является ключевой задачей квантовой теории информации. С ее помощью можно будет приблизиться к решению проблем телепортации, сверхплотного кодирования, криптографии, сжатия данных. С этой целью разрабатываются квантовые алгоритмы, среди которых квантовые преобразования Фурье.

Схема вычисления на квантовом компьютере имеет следующий алгоритм: формируется система кубитов, на которой записывается начальное состояние. Посредством унитарных преобразований состояние системы и ее подсистем изменяется при выполнении логических операций. Завершается процесс измерением новых значений кубитов. Роль соединительных проводников классического компьютера играют кубиты, а логических блоков классического компьютера - унитарные преобразования. Такая концепция квантового процессора и квантовых логических вентилей была сформулирована в 1989 г. Дэвидом Дойчем. Затем он предложил универсальный логический блок, с помощью которого можно выполнять любые квантовые вычисления.

Алгоритм Дойна - Йожи позволяет «за одно вычисление» определить, является ли функция двоичной переменной /(/?) постоянной (f x {ri) = О, f 2 {ri) = 1 независимо от п) или «сбалансированной» (f 3 (0) = 0,/ 3 (1) = 1;/ 4 (0) = 1, / 4 (1) = 0).

Выяснилось, что для построения любого вычисления достаточно двух базовых операций. Квантовая система дает результат, только с некоторой вероятностью являющийся правильным. Но за счет небольшого увеличения операций в алгоритме можно сколь угодно приблизить вероятность получения правильного результата к единице. С помощью базовых квантовых операций можно симулировать работу обычных логических элементов, из которых сделаны обычные компьютеры.

Алгоритм Гровера позволяет найти решение уравнения f(x) = 1 для 0 х за время O(VN) и предназначен для поиска в базе данных. Квантовый алгоритм Гровера является заведомо более эффективным, чем любой алгоритм для неупорядоченного поиска на классическом компьютере.

Алгоритм факторизации Шора позволяет определить для простых множителей аиЬ заданное целое число М= a"Xb путем использования соответствующей квантовой схемы. Этот алгоритм позволяет находить сомножители А-значного целого числа. С его помощью можно оценить время вычислительного процесса. Одновременно алгоритм Шора можно интерпретировать как пример процедуры определения энергетических уровней квантовой вычислительной системы.

Алгоритм Залки - Визнера позволяет моделировать унитарную эволюцию квантовой системы п частиц за почти линейное время с использованием О(п) кубитов.

Алгоритм Саймона решает проблему «черного ящика» экспоненциально быстрее, чем любой классический алгоритм, включая вероятностные алгоритмы.

Алгоритм коррекции ошибок позволяет повысить помехоустойчивость квантовой вычислительной системы, подверженной разрушению хрупких квантовых состояний. Суть этого алгоритма заключается в том, что нс требуются клонирование кубитов и выяснение их состояния. Формируется квантовая логическая схема, которая способна фиксировать ошибку в любом кубите без фактического считывания индивидуального состояния. Например, проходящий через такое устройство триплет 010 обнаруживает неправильный средний бит. Устройство переворачивает его, не определяя конкретные значения ни одного их трех битов. Таким образом, на основе теории информации и квантовой механики возник один из фундаментальных алгоритмов - квантовая коррекция ошибок.

Перечисленные проблемы важны для создания квантового компьютера, однако они относятся к компетенции квантовых программистов.

Квантовый компьютер прогрессивнее классического по ряду показателей. Большинство современных компьютеров работают по фон-нейманов- ской либо по гарвардской схеме: п бит памяти хранят состояние и каждый такт времени изменяются процессором. В квантовом компьютере система из п кубитов находится в состоянии, являющимся суперпозицией всех базовых состояний, поэтому изменение системы касается всех 2" базовых состояний одновременно. Теоретически новая схема может работать в экспоненциальное число раз быстрее классической. Практически квантовый алгоритм поиска в базе данных показывает квадратичный прирост мощности против классических алгоритмов.

Время от времени мы видим шквал новостей о квантовых вычислениях. Этой теме уделяется очень много внимания: одна компания заявила, что у нее есть алгоритм шифрования, который вам скоро понадобится, так как квантовые компьютеры делают современные алгоритмы шифрования бесполезными.

У человека любознательного такие заявления вызывают вопросы. Что такое квантовые вычисления (рисунок 1)? Это реально? Если да, то как это работает? И как это связано с криптографией? Затем появляются более личные вопросы. Могут ли квантовые вычисления изменить мои методы проектирования? Должен ли я изучить этот материал?

Даже в визуализации художников квантовые вычислительные элементы не похожи ни на что из цифрового аппаратного мира.

Рисунок 1 – Визуализация квантовых вычислительных элементов

Оказывается, это не слишком простые вопросы для изучения. Соответствующая литература в основном относится к одному из двух жанров. Первый предназначен для широкой читательской аудитории и рассматривает квантовую механику как чертовщину: темная, возможно, опасная, и абсолютно не понятная. После чтения такой литературы довольно сложно сделать какие-либо выводы.

Второй жанр совершенно другой, но столь же «полезный», написанный экспертами, для того, чтобы произвести впечатление на других экспертов. Эта жанр характеризуется употреблением таких терминов как машина Тьюринга, имя Ричарда Фейнмана, Гильбертово пространство и преобразование Адамара, все вышеупомянутое и еще примерно 75 слов, за которыми следует путаница уравнений с незнакомой и необъяснимой терминологией. Конечно же, вы все хорошо помните, что означает |0>!

Три параллельные вселенные

Одной из причин, почему эта тема настолько сложна, является то, что квантовые вычисления охватывают три дисциплины с очень разной терминологией и интересами. Все началось с физиков-теоретиков. Еще в 1980 году физик Пол Бениофф (Paul Benioff ) из Национальной Аргоннской лаборатории описал, как некоторые квантовомеханические эффекты могут быть использованы для реализации машины Тьюринга. Два года спустя известный физик Ричард Фейнман также поднял вопрос о компьютере с использованием квантового поведения.

Но идея была подхвачена совершенно другой группой: компьютерными специалистами и математиками. Взяв из физики основные идеи квантового бита (кубита) и обратимых унитарных преобразований (которые они называли квантовыми вентилями или кувентилями), компьютерные специалисты изучили, какие вычисления могли бы быть выполнены, если бы существовали идеальные кубиты и квантовые вентили. Они обнаружили случаи, когда такие предполагаемые компьютеры могли быть намного быстрее, чем обычные цифровые компьютеры.

Этот результат побудил физиков-экспериментаторов – третью группу – начать попытки по созданию физических устройств, которые могли бы быть приближенны к идеальным кубитам и квантовым вентилям. Это были долгие, ресурсоемкие исследования, которое до сих пор не доказали, что реально работающий квантовый компьютер физически возможен. Но такая возможность чрезвычайно обнадеживает.

Некоторые пояснения

Итак, что это за воображаемый компьютер, который нас интересует? Давайте сначала проясним некоторые недоразумения. Квантовый компьютер не является обычным компьютером, имитирующим квантовомеханические явления. Также это и не обычный цифровой компьютер, построенный из некоторых транзисторов (эпохи окончания закона Мура), настолько крошечных, что они хранят или переключают отдельные кванты энергии.

Вместо этого, квантовые компьютеры – это машины, основанные на уникальном поведении, описываемом квантовой механикой, и совершенно отличающимся от поведения классических систем. Одно из таких отличий – способность частицы или группы частиц в некотором отношении находиться только в двух дискретных квантовых базовых состояниях – назовем их 0 и 1. Мы обойдемся здесь без забавных скобок (обозначений принятых в квантовой теории – добавлено переводчиком) Примерами такого рода могут быть спин электрона, поляризация фотона или заряд квантовой точки.

Во-вторых, квантовые вычисления зависят от свойства суперпозиции – контринтуитивной способности частицы находиться в некоторой комбинации обоих базовых состояниях 0 и 1 одновременно, до тех пор, пока не произведено измерение. Как только вы измеряете такое состояние, оно превращается в 0 или 1, и вся остальная информация исчезает. Квантовая механика правильно описывает такое комбинированное состояние как сумму двух базовых состояний, каждое из которых умножается на некоторый комплексный коэффициент. Полная величина этих коэффициентов всегда равна 1. Такое состояние можно представить как единичный вектор, начинающийся в начале координат и заканчивающийся где-то на сфере, называемой сферой Блоха, которая приведена на рисунке 2. Ключевым моментом здесь является то, что квадрат (модуля – добавлено переводчиком) комплексного коэффициента для базового состояния 0 представляет вероятность того, что в результате измерения кубит будет обнаружен в базовом состоянии 0, аналогично для базового состояния 1. И когда вы производите измерение, вы всегда получите или точно состояние 0, или точно состояние 1.


Рисунок 2 – Сфера Блоха – один из способов визуализации квантовой суперпозиции в кубите

Это (свойство суперпозиции – добавлено переводчиком) важно, потому что позволяет кубиту быть в обоих состояниях 0 и 1 одновременно. Следовательно, регистр, состоящий из n кубит, может одновременно «содержать» все возможные двоичные числа n бит длиной. Это позволяет квантовому компьютеру выполнять одну операцию не только с одним n-разрядным целым числом, но и со всеми возможными n-разрядными целыми числами сразу – очень существенный параллелизм по мере увеличения n.

В-третьих, квантовые вычисления зависят от способности квантового вентиля изменять эти коэффициенты и, следовательно, вероятность измерения какого-либо определенного числа – предсказуемым образом. Если вы начинаете с состояния, в котором все коэффициенты во всех кубитах равны, а затем измерите все кубиты в регистре, вы равновероятно найдете любую строку бит между строкой из одних нулей и строкой из одних единиц, включительно. Но запустив это начальное состояние через тщательно подобранную последовательность квантовых вентилей, квантовый компьютер может изменить эти коэффициенты так, что состояние, которое вы наиболее вероятно измерите на выходе, будет представлять собой результат некоторого вычисления, например, весьма вероятно, что вы измерите биты числа, которое является точным квадратом.

Компьютер на бумаге

Но какое отношение все это имеет к реальным вычислениям? Чтобы ответить на этот вопрос, мы должны перенести наше внимание с физиков-теоретиков на компьютерных специалистов и математиков. Чтобы получить практические результаты, мы должны иметь возможность перевести регистр кубитов в определенную суперпозицию состояний. Нам нужны квантовые вентили, возможно, провода и какие-то устройства вывода результатов.

Все это легко для компьютерных специалистов – они просто могут предположить, что эти идеи уже воплощены в реальной жизни. Однако им придется пойти на уступки квантовой механике. Чтобы не нарушить законы квантовой физики, компьютерные специалисты должны потребовать, чтобы квантовые вентили были обратимы – вы можете поместить результат на выход и получить правильные входные значения на входе. И они настаивают на том, чтобы квантовые вентили были унитарными преобразованиями. В соответствии с матричной алгеброй, это означает, что, когда вы пропускаете состояние кубита через квантовый вентиль, состояние, которое вы получите, даст при измерении либо 0, либо 1, а сумма вероятностей из квадратов (модулей – добавлено переводчиком) этих коэффициентов останется равной единице.

Обратите внимание, что эти квантовые вентили, даже в теории, очень не похожи на обычные логические элементы. Например, большинство булевых функций не обратимы. Невозможно вывести входные данные с логического элемента И-НЕ, если выход не будет равен 0. И, конечно, логические элементы работают только с единицами и нулями (состояниями 1 и 0), в то время как квантовые вентили работают, вращая вектор внутри сферы Блоха. На самом деле между ними не существует ничего общего кроме названия.

Компьютерные специалисты выяснили, что для эмуляции машины Тьюринга достаточно очень небольшого набора квантовых вентилей – всего лишь набор одновходовых квантовых вентилей и один двухвходовой квантовый вентиль. Наиболее часто используемым примером двухвходового квантового вентиля является «контролируемое НЕ» (Сontrolled NOT – CNOT). Эта обратимая функция либо переворачивает векторное состояние кубита, либо оставляет его неизменным, в зависимости от состояния второго кубита. Это скорее похоже на квантовую аналогию с «исключающим ИЛИ».

Возможные преимущества

Мы все еще не ответили на вопрос, как все это можно использовать. Ответ заключается в том, что если вы соедините подходящим образом достаточное количество квантовых вентилей вместе, и если вы можете приготовить входные кубиты представляющие все возможные числа в вашей области входных данных, тогда на выходе массива квантовых вентилей вы, теоретически, можете измерить биты, которые представляют значения некоторой полезной функции.

Приведем пример. В 1994 году математик Питер Шор, в Bell Labs, разработал алгоритм факторизации (разложения на простые сомножители – добавлено переводчиком) очень больших чисел с использованием квантовых подпрограмм. Такая факторизация является жизненно важной проблемой в прикладной математике, потому что не существует аналитического решения: единственный способ – метод проб и ошибок, и вы можете всего лишь сделать алгоритм быстрее, выбрав более искусным образом соответствующие пробные числа. Соответственно, когда вы делаете входное число очень большим, количество проб и ошибок становится огромным. Не случайно это является основой алгоритмов криптографии, подобных RSA. RSA и шифры на основе эллиптических кривых трудно взломать, особенно потому, что так трудно факторизовать огромные числа.

Алгоритм Шора объединил некоторые традиционные вычисления с двумя квантовыми функциями, которые непосредственно ускоряют алгоритм в части метода проб и ошибок, по сути, перебирая все возможные числа в одно и то же время, демонстрация работы алгоритма приведена на рисунке 3. Одна из этих квантовых функций выполняет модульное возведение в степень, а другая осуществляет квантовую версию быстрого преобразования Фурье (БПФ). По причинам, которые мог бы полюбить только математик, если бы мы ввели набор из n кубитов, подготовленных так, что вместе они представляют все возможные двоичные числа до длины n, то в квантовых вентилях различные состояния в суперпозиции взаимно компенсируют друг друга – подобно интерференции двух когерентных световых лучей – и мы остаемся с определенной структурой состояний в выходном регистре.


Рисунок 3 – Алгоритм Шора зависит от квантовых подпрограмм для модульного возведения в степень и операций БПФ. (рисунок предоставлен Tyson Williams)

Эта процедура не дает простой множитель – это лишь промежуточный шаг, который позволяет вычислить возможный простой множитель. Такое расчет выполняется путем измерения кубитов, – отметим, что здесь мы находимся в области возможности, но не точности, измерения наиболее вероятного состояния каждого кубита – а затем, чтобы убедиться в правильности результата, необходимо произвести множество обычных вычислений на обычном процессоре (CPU).

Все это может показаться безнадежно сложным и неосуществимым. Но способность квантового возведения в степень и квантового БПФ работать одновременно со всеми возможными степенями числа 2, чтобы найти наибольший простой множитель, делает алгоритм Шора быстрее, чем обычные вычисления для больших чисел, даже при использовании довольно медленных теоретических квантовых подпрограмм.

Алгоритм Шора являет собой яркий образец квантовых вычислений, потому что он одновременно не похож на обычные вычисления и потенциально чрезвычайно важен. Но он не одинок. Национальный институт стандартов и технологий США (NIST) поддерживает большую библиотеку алгоритмов квантовых вычислений в своем Зоопарке Квантовых Алгоритмов, по адресу math.nist.gov/quantum/zoo/ .

Являются ли эти алгоритмы просто математическими упражнениями? Пока еще слишком рано это утверждать. Но на практике исследователи действительно создали лабораторные квантовые калькуляторы с несколькими рабочими кубитами. Эти машины успешно разложили на простые множители число 15 (впервые это было сделано в IBM в 2001 году), вполне ожидаемо получив в результате 3 и 5, а текущий мировой рекорд составляет число 21 (сделано объединенной командой из нескольких институтов в 2012 году). Так что для небольших чисел идея работает. Пригодность такого подхода для больших чисел можно будет проверить только в будущем на машинах с большим количеством кубитов. И это переносит вопрос в практическую плоскость.

Путь к реализации

Для создания работоспособных квантовых вычислительных устройств необходимо пройти ряд этапов реализации. Мы должны построить рабочие кубиты – не только пять, но тысячи. Мы должны организовать структуру из квантовых вентилей и эквивалент проводов – если только мы не сможем заставить вентили действовать непосредственно на состояние во входном квантовом регистре. Все это сложные задачи, и график их решения непредсказуем.

К сожалению, проблемы связаны не столько с новизной проблем, сколько с законами квантовой механики и классической физики. Возможно, самая главная и наименее знакомая из них, называется декогеренцией. Роль кубит состоит в том, чтобы удерживать физический объект – например, ион, пакет фотонов или электрон — на месте, чтобы мы могли воздействовать на него и в конечном итоге измерять квантованную величину, такую как заряд или спин. Чтобы эта величина вела себя квантовым, а не классическим образом, мы должны иметь возможность ограничить ее состояние суперпозицией двух чистых базовых состояний, которые мы называли 0 и 1.

Но природа квантовых систем такова, что связывает их с вещами вокруг них, значительно увеличивая количество возможных базовых состояний. Физики называют такое размытие чистых состояний декогеренцией. Аналогией может быть когерентный лазерный луч в световоде, рассеивающийся на неоднородностях материала и размывающейся от суперпозиции двух мод в полностью некогерентный свет. Задачей создания физического кубита является как можно дольше предотвращать декогеренцию.

На деле это означает, что даже один кубит это сложный лабораторный инструмент, возможно, с использованием лазеров или высокочастотных радиопередатчиков, точно контролируемые электрические и магнитные поля, точные размеры, специальные материалы и, возможно, криогенное охлаждение. Его использование, по сути, является сложной экспериментальной процедурой. Даже при всех этих усилиях, сегодня это «как можно дольше» измеряется десятками микросекунд. Таким образом, у вас очень мало времени для выполнения квантовых вычислений, до того, как ваши кубиты потеряют свою согласованность. То есть, до того как информация исчезнет.

Сегодня эти ограничения исключают возможность больших квантовых регистров или проведения вычислений, для которых требуется более нескольких микросекунд. Тем не менее, в настоящее время в микроэлектронике ведутся исследования по созданию гораздо более обширных массивов кубитов и квантовых вентилей.

Однако сама эта работа несколько бессвязна, потому что пока нет определенности в отношении того, какое физическое явление использовать для хранения квантовых состояний. Существуют конструкции кубит, которые квантуют поляризацию фотонов, заряд электронов, захваченных квантовыми точками, чистый спин сверхохлажденных ионов в ловушке, заряд в устройстве, называемом трансмоном, и некоторые другие подходы.

Тип кубита, который вы выберете, естественно определит реализацию квантовых вентилей. Например, вы можете использовать взаимодействие радиоимпульсов с внутренними спинами в молекулах в ловушке или взаимодействие расщепителей пучков с фотонными модами в волноводах. Очевидно, что существо дела находится глубоко в области экспериментальной физики. И, как уже упоминалось, реализация кубитов или квантовых вентилей требует использования большого количества различного оборудования, от цифровой логики до лазеров или радиопередатчиков, антенн и до криогенных охладителей.

Реализация кубит также зависит, от того каким образом измеряется состояние кубит. Вам может потребоваться сверхчувствительный фотометр или болометр, мост сопротивлений или какое-либо другое невероятно чувствительное устройство для измерения кубитов и перевода состояния суперпозиции в базовое состояние. И, кроме того, этот процесс измерения состояния кубит вызывает еще одну проблему, незнакомую традиционным вычислениям: получение неправильного ответа.

Сомнения

Существует два основных типа проблем с извлечением базового состояния из кубита. Во-первых, вы измеряете квантовую суперпозицию, а не классическую величину. Предполагая, что кубит остался когерентным, вы получите одно или другое из базовых состояний, но вы не можете заранее быть уверены какое именно из них вы получите: вы можете быть уверены только в том, что вероятность того, что вы получите определенное состояние, будет квадратом (модуля – добавлено переводчиком) коэффициента этого состояния в суперпозиции. Если вы измеряете кубит в точно таком же состоянии сто раз, вы получите распределение нулей и единиц, которое сходится к квадратам (модулей) коэффициентов.

Таким образом, вы не знаете, действительно ли то базовое состояние, которое вы измерили в некоторой попытке, имеет наибольшую вероятность. После того, как вы считали квантовый выходной регистр, измерив биты, тем самым установив их все в базовые состояния – у вас есть три варианта. Вы можете усомниться, что у вас есть правильный ответ и продолжить дальше. Вы можете проверить традиционными вычислениями, как это делает алгоритм Шора, чтобы узнать, действительно ли число, которое вы считали, является правильным решением. Или же, вы можете повторить вычисление большое количество раз, последовательно или параллельно, и взять наиболее часто встречающийся результат. Также можно организовать свои вычисления таким образом, чтобы ответом было распределение вероятностей базовых состояний, а не конкретное двоичное число. В этом случае также необходимо повторение..

Это верно даже для теоретически совершенного квантового компьютера. Но в действительной реализации есть еще одна проблема: старый добрый классический шум. Даже если все идет хорошо, нет декогеренции кубитов, и вычисление предназначено для получения ответа с очень высокой вероятностью, вы все еще наблюдаете за кубитами, пытаясь измерить очень и очень маленькие физические величины. Шум все равно присутствует. Опять же, единственным решением является либо обнаружение ошибки путем дальнейших вычислений, либо выполнение вычислений столько раз, что вы готовы принять любую оставшуюся в результате этого неопределенность. Концепция гарантированного правильного ответа чужда самой сути квантовых вычислений.

Если все это не рисует розовую картину будущего квантовых вычислений, то к этому следует отнестись очень серьезно. Идут поиски наилучшего выбора для реализации кубитов, хотя ответ может оказаться зависящим от алгоритма. Специалисты по микроэлектронике работают над миниатюризацией квантовых компонентов на основе новых материалов и структур, которые позволили бы создавать очень большие массивы квантовых вычислительных устройств, и которые могли бы массово производиться подобно чипам традиционных процессоров. Компьютерные специалисты разрабатывают прототипы ассемблеров и компиляторов, которые могут преобразовать алгоритм в расположение квантовых регистров и квантовых вентилей в конкретной технологии.

Стоит ли оно того? Вот один факт. Шор подсчитал, что скромный гибридный, то есть квантовый плюс обычный, компьютер может взломать мощный алгоритм шифрования RSA быстрее, чем обычный компьютер может его зашифровать. Были получены аналогичные результаты для таких задач, как сортировка и распутывание других аналогичных сложных математических задач. Итак, в этой области присутствует достаточно перспектив, чтобы исследователи не теряли энтузиазм. Но было бы неплохо увидеть все это еще при жизни.

Сегодня я хотел бы начать публикацию серии заметок про эту животрепещущую тему, по которой недавно вышла моя новая книга , а именно введение в понимание квантовой вычислительной модели. Я благодарю моего доброго товарища и коллегу Александра за предоставленную возможность размещения в его блоге гостевых постов на эту тему.

Я постарался сделать эту кратчайшую заметку как можно более простой с точки зрения понимания неподготовленным читателем, который, однако, хотел бы понять, что такое квантовые вычисления. Тем не менее, от читателя требуется владеть базовым пониманием информатики. Ну и общее математическое образование тоже не помещало бы:). В статье нет формул, всё объясняется словами. Тем не менее, все вы можете задавать мне вопросы в комментариях, и я постараюсь объяснять, как только могу.

Что такое квантовые вычисления?

Начнём с того, что квантовые вычисления - это новая очень модная тема, которая там у них развивается семимильными шагами по нескольким направлениям (а у нас, как всякая фундаментальная наука пребывает в запустении и отдана на откуп нескольким учёным, сидящим в своих башнях из слоновой кости). И вот уже говорят о появлении первых квантовых компьютеров (D-Wave, но это не универсальный квантовый компьютер), ежегодно публикуются новые квантовые алгоритмы, создаются языки квантового программирования, сумрачный гений Международных Деловых Машин в тайных подземных лабораториях производит квантовые вычисления на десятках кубитов.

Что же это такое? Квантовые вычисления - это вычислительная модель, которая отличается от модели Тьюринга и фон Неймана, и предполагается, что для некоторых задач она является более эффективной. По крайней мере найдены задачи, для которых модель квантовых вычислений даёт полиномиальную сложность, в то время как для классической вычислительной модели неизвестно алгоритмов, которые имели бы сложность, ниже экспоненциальной (но, с другой стороны, пока ещё не доказано, что таких алгоритмов не существует).

Как такое может быть? Всё просто. Квантовая вычислительная модель основана на нескольких довольно простых правилах преобразования входной информации, которые обеспечивают массовую параллелизацию вычислительных процессов. Другими словами, можно одновременно вычислить значение функции для всех её аргументов (и это будет единственный вызов функции). Это достигается специальной подготовкой входных параметров и специальным же видом функции.

Светитель Проц учит, что всё это суть синтаксическая манипуляция с математическими символами, за которой, по сути, нет никакого смысла. Есть формальная система с правилами преобразования входа в выход, и эта система позволяет при помощи последовательного применения этих правил получать из входных данных выходные. Всё это в конечном итоге сводится к перемножению матрицы и вектора. Да, да, да. Вся модель квантовых вычислений основана на одной простой операции - умножении матрицы на вектор, в результате чего на выходе получается другой вектор.

Светитель Халикаарн в противоположность учит, что существует объективный физический процесс, который выполняет указанную операцию, и только лишь существование которого и обуславливает возможность массовой параллелизации вычислений функции. То, что мы воспринимаем это как умножение матрицы на вектор, является всего лишь способом нашего далеко не совершенного отражения объективной реальности в нашем разуме.

Мы в нашей научной лаборатории имени светителей Проца и Халикаарна объединяем эти два подхода и говорим, что модель квантовых вычислений есть математическая абстракция, которая отражает объективный процесс. В частности, числа в векторах и матрицах являются комплексными, хотя это совершенно не увеличивает вычислительную мощность модели (она бы была такой же мощной и с действительными числами), однако выбраны именно комплексные числа потому, что найден объективный физический процесс, который осуществляет такие преобразования, как описывает модель, и в котором используются именно комплексные числа. Этот процесс называется унитарной эволюцией квантовой системы.

В основе квантовой вычислительной модели лежит понятие кубита. Это практически то же самое, что и бит в классической теории информации, однако кубит может одновременно принимать несколько значений. Говорят, что кубит находится в суперпозиции своих состояний, то есть значение кубита есть линейная комбинация его базовых состояний, и коэффициенты при базовых состояниях как раз являются комплексными числами. Базовыми же состояниями являются известные по классической теории информации значения 0 и 1 (в квантовых вычислениях их принято обозначать |0> и |1>).

Пока не очень-то и понятно, в чём фишка. А фишка вот в чём. Суперпозиция одного кубита записывается как A|0> + B|1>, где A и B - некоторые комплексные числа, единственное ограничение на которые заключается в том, что сумма квадратов их модулей всегда должна равняться 1. А если рассмотреть два кубита? Два бита могут получать 4 возможных значения: 00, 01, 10 и 11. Резонно предположить, что два кубита представляют собой суперпозицию четырёх базовых значений: A|00> + B|01> + C|10> + D|11>. И так оно и есть. Три кубита представляют собой суперпозицию восьми базовых значений. Другими словами, квантовый регистр из N кубитов одновременно хранит в себе 2N комплексных чисел. Ну а с математической точки зрения это есть 2N -мерный вектор в комплекснозначном пространстве. Именно этим достигается экспоненциальная мощность модели квантовых вычислений.

Далее функция, которая применяется к входным данным. Поскольку теперь входные данные представляют собой суперпозицию всех возможных значений входного аргумента, функция должна быть преобразована в такой вид, чтобы принять такую суперпозицию и обработать её. Тут тоже всё более или менее просто. В рамках модели квантовых вычислений каждая функция представляет собой матрицу, на которую накладывается одно ограничение - она должна быть эрмитовой. Это значит, что при умножении этой матрицы на свою эрмитово-сопряжённую, должна получиться единичная матрица. Эрмитово-сопряжённая матрица получается при помощи транспонирования исходной матрицы и заменой всех её элементов на их комплексно-сопряжённые. Это ограничение следует из упомянутого ранее ограничения на квантовый регистр. Дело в том, что если такую матрицу умножить на вектор квантового регистра, то в результате получится новый квантовый регистр, сумма квадратов модулей комплекснозначных коэффициентов при квантовых состояниях которого всегда равна 1.

Показано, что любую функцию можно специальным образом преобразовать в такую матрицу. Также показано. что любую эрмитову матрицу можно выразить посредством тензорного произведения небольшого набора базисных матриц, представляющих базисные логические операции. Тут всё примерно так же, как в классической вычислительной модели. Эта более сложная тема, которая выходит за рамки данной обзорной статьи. То есть сейчас главное понять - любая функция может быть выражена в виде матрицы, подходящей для использования в рамках модели квантовых вычислений.

Что происходит дальше? Вот у нас есть входной вектор, который представляет собой суперпозицию различных вариантов значений входного параметра функции. Есть функция в виде эрмитовой матрицы. Квантовый алгоритм представляет собой умножение матрицы на вектор. В результате получается новый вектор. Что же это за ерунда-то такая?

Дело в том, что в модели квантовых вычислений есть ещё одна операция, которая называется измерением . Мы можем измерить вектор и получить из него конкретное значение кубита. То есть суперпозиция схлопывается в конкретное значение. И вероятность получения того или иного значения равна квадрату модуля комплекснозначного коэффициента. И теперь понятно, почему сумма квадратов должна равняться 1, поскольку при измерении всегда будет получено какое-то конкретное значение, а потому сумма вероятностей их получения равна единице.

То есть что получается? Имея N кубитов можно одновременно обработать 2N комплексных чисел. И в выходном векторе будут результаты обработки всех этих чисел одновременно. В этом мощь модели квантовых вычислений. Но получить можно только одно значение, и оно может быть каждый раз различное в зависимости от распределения вероятностей. В этом ограничение модели квантовых вычислений.

Суть квантового алгоритма заключается в следующем. Создаётся равновероятностная суперпозиция всех возможных значений входного параметра. Эта суперпозиция подаётся на вход функции. Далее по результатам её выполнения делается вывод о свойствах этой функции. Дело в том, что мы не можем получить все результаты, но вот сделать выводы о свойствах функции можем вполне. И в следующем разделе будут показаны несколько примеров.

В подавляющем большинстве источников по квантовым вычислениям читатель найдёт описания нескольких алгоритмов, которые, собственно, обычно используются для демонстрации мощи вычислительной модели. Здесь мы тоже кратко и поверхностно рассмотрим такие алгоритмы (два из них, которые демонстрируют различные базовые принципы квантовых вычислений). Ну а для детального ознакомления с ними опять адресую к своей новой книге.

Алгоритм Дойча

Это первый алгоритм, который был разработан для того, чтобы показать суть и эффективность квантовых вычислений. Задача, которую решает этот алгоритм, совсем оторвана от реальности, однако на ней как раз можно показать базовый принцип, положенный в основу модели.

Итак, пусть есть некоторая функция, которая получает на вход один бит и возвращает на выходе тоже один бит. Честно говоря, таких функций может быть всего 4. Две из них являются константными, то есть одна всегда возвращает 0, а другая всегда возвращает 1. Две другие являются сбалансированными, то есть возвращают 0 и 1 в равных количествах случаев. Вопрос: как за один вызов этой функции определить, константная она или сбалансированная?

Очевидно, что в классической вычислительной модели этого сделать нельзя. Необходимо дважды вызвать функцию и сравнить результаты. А вот в модели квантовых вычислений это сделать можно, поскольку функция будет вызвана только один раз. Посмотрим…

Как уже было написано, мы подготовим равновероятностную суперпозицию всех возможных значений входного параметра функции. Поскольку на входе у нас один кубит, то его равновероятностная суперпозиция готовится при помощи одного применения гейта Адамара (это такая специальная функция, которая и готовит равновероятностные суперпозиции:). Далее снова применяется гейт Адамара, который работает таким образом, что если ему на вход подаётся равновероятностная суперпозиция, то он преобразует её назад в состояния |0> или |1> в зависимости от того, в какой фазе находится равновероятностная суперпозиция. После этого производится измерение кубита, и если он равен |0>, то рассматриваемая функция константна, а если |1>, то сбалансирована.

Что получается? Как уже было сказано, при измерении мы не можем получить все значения функции. Но мы можем сделать определённые выводы о её свойствах. Задача Дойча как раз и спрашивает о свойстве функции. И это свойство очень простое. Ведь как выходит? Если функция константна, то сложение по модулю 2 всех её выходных значений всегда даёт 0. Если же функция сбалансирована, то сложение по модулю 2 всех её выходных значений всегда даёт 1. Именно этот результат мы и получили в результате выполнения алгоритма Дойча. Мы не знаем, какое именно значение вернула функция на равновероятностной суперпозиции всех входных значений. Мы знаем только, что это тоже суперпозиция результатов, и если теперь эту суперпозицию преобразовать специальным образом, то будут сделаны однозначные выводы о свойстве функции.

Вот как-то так.

Алгоритм Гровера

Другой алгоритм, который показывает квадратичный выигрыш по сравнению с классической вычислительной моделью, решает более приближённую к реальности задачу. Это алгоритм Гровера, или, как называет его сам Лов Гровер, алгоритм поиска иголки в стоге сена. Этот алгоритм основан на другом принципе, лежащем в основе квантовых вычислений, а именно амплификации .

Уже упоминалась некая фаза, которая может быть у квантового состояния в составе кубита. Как таковой фазы нет в классической модели, это что-то новенькое именно в рамках квантовых вычислений. Фазу можно понимать как знак у коэффициента при квантовом состоянии в суперпозиции. Алгоритм Гровера основан на том, что специально подготовленная функция меняет фазу у состояния |1>.

Алгоритм Гровера решает обратную задачу. Если есть неупорядоченый набор данных, в котором надо найти один элемент, удовлетворяющий критерию поиска, алгоритм Гровера поможет это сделать эффективнее, чем простой перебор. Если простой перебор решает задачу за O(N) обращений к функции, то алгоритм Гровера эффективно находит заданный элемент за O(√N ) обращений к функции.

Алгоритм Гровера состоит из следующих шагов:

1. Инициализация начального состояния . Опять готовится равновероятностная суперпозиция всех входных кубитов.

2. Применение итерации Гровера . Данная итерация состоит из последовательного применения функции поиска (она определяет критерий поиска элемента) и специального гейта диффузии. Гейт диффузии меняет коэффициенты при квантовых состояниях, вращая их вокруг среднего. Тем самым производится амплификация, то есть увеличение амплитуды искомого значения. Фишка в том, что осуществить применение итерации необходимо определённое количество раз (√2n ), иначе алгоритм вернёт не те результаты.

3. Измерение . После измерения входного квантового регистра с большой вероятностью будет получен искомый результат. Если необходимо увеличить достоверность ответа, то алгоритм прогоняется несколько раз и вычисляется совокупная вероятность правильного ответа.

Интерес в данном алгоритме представляет то, что он позволяет решить произвольную задачу (например, любую из класса NP-полных), предоставляя пусть и не экспоненциальное, но существенное повышение эффективности по сравнению с классической вычислительной моделью. В одной из будущих статей будет показано, как это можно сделать.

Тем не менее, уже нельзя говорить о том, что учёные продолжают сидеть в своей башне из слоновой кости. Несмотря на то, что многие квантовые алгоритмы разрабатываются для каких-то странных и непонятных матаноподобных задач (например, определение порядка идеала конечного кольца), уже разработан ряд квантовых алгоритмов, которые решают очень даже прикладные задачи. В первую очередь это задачи из области криптографии (компрометация различных криптографических систем и протоколов). Далее идут типовые математические задачи на графах и матрицах, при этом такие задачи имеют очень большую область применения. Ну и есть ряд алгоритмов аппроксимации и эмуляции, которые используют аналоговую составляющую модели квантовых вычислений.