Квантовый компьютер

Квантовый компьютер — вычислительное устройство, которое использует явления квантовой механики (квантовая суперпозиция, квантовая запутанность) для передачи и обработки данных. Квантовый компьютер (в отличие от обычного) оперирует не битами (способными принимать значение либо 0, либо 1), а кубитами, имеющими значения одновременно и 0, и 1. Теоретически, это позволяет обрабатывать все возможные состояния одновременно, достигая существенного превосходства над обычными компьютерами в ряде алгоритмов[1].

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

Первым практическим высокоуровневым языком программирования для такого вида компьютеров считается язык Quipper[en], основанный на Haskell[2] (см. Квантовое программирование).

История квантовых вычислений началась в начале 1980-х годов, когда физик Пол Бениофф предложил квантово-механическую модель машины Тьюринга в 1980 году.

Идея о квантовых вычислениях также была высказана Юрием Маниным в 1980 году[3].

Одна из первых моделей квантового компьютера была предложена[4] Ричардом Фейнманом в 1981 году. Вскоре Пол Бениофф описал теоретические основы построения такого компьютера[5].

Также концепцию квантового компьютера в 1983 году предлагал Стивен Визнер (англ.) в статье, которую он пытался опубликовать в течение более десяти лет до этого[6][7].

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

Базисные состояния могут иметь и более сложный вид. Тогда квантовую суперпозицию можно проиллюстрировать, например, так: «Вообразите атом, который мог бы подвергнуться радиоактивному распаду в определённый промежуток времени. Или не подвергнуться. Мы можем ожидать, что у этого атома есть только два возможных состояния: „распад“ и „нераспад“, <…> но в квантовой механике у атома может быть некое объединённое состояние — „распада — нераспада“, то есть ни то, ни другое, а между. Вот это состояние и называется „суперпозицией“»[8].

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

Содержание понятия «квантовый параллелизм» в вычислении может быть раскрыто так: «Данные в процессе вычислений представляют собой квантовую информацию, которая по окончании процесса преобразуется в классическую путём измерения конечного состояния квантового регистра. Выигрыш в квантовых алгоритмах достигается за счёт того, что при применении одной квантовой операции большое число коэффициентов суперпозиции квантовых состояний, которые в виртуальной форме содержат классическую информацию, преобразуется одновременно»[9].

Идея квантовых вычислений состоит в том, что квантовая система из L двухуровневых квантовых элементов (квантовых битов, кубитов) имеет 2L линейно независимых состояний, а значит, вследствие принципа квантовой суперпозиции, пространство состояний такого квантового регистра является 2L-мерным гильбертовым пространством. Операция в квантовых вычислениях соответствует повороту вектора состояния регистра в этом пространстве. Таким образом, квантовое вычислительное устройство размером L кубитов фактически задействует одновременно 2L классических состояний.

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

В общем случае у системы из L кубитов существует 2L классических состояний (00000… (L нулей), …00001 (L цифр), … , 11111… (L единиц)), каждое из которых может быть измерено с вероятностями 0—1.

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

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

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

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

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

Было показано, что не для всякого алгоритма возможно «квантовое ускорение». Более того, возможность получения квантового ускорения для произвольного классического алгоритма является большой редкостью[11].

Пример реализации операции CNOT на зарядовых состояниях электрона в квантовых точках

Любая квантовая операция может быть реализована при помощи логического вентиля «контролируемое отрицание» (CNOT) и поворота состояния одного кубита[12][13].

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

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

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

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

Применение идей квантовой механики уже открыло новую эпоху в области криптографии, так как методы квантовой криптографии открывают новые возможности в области передачи сообщений[14]. Прототипы систем подобного рода находятся на стадии разработки[15].

Квантовые компьютеры в теории хорошо подходят для нужд машинного обучения. Они манипулируют большими объёмами данных за один проход и способны моделировать нейронную сеть экспоненциального размера[16]. В 2013 году корпорация Google объявила об открытии лаборатории по квантовым исследованиям в области искусственного интеллекта[10]. Концерн Volkswagen ведёт исследования в сфере применения квантовых компьютеров для разработки беспилотного автомобиля и новых типов аккумуляторных батарей (используя квантовые компьютеры Google и D-Wave). В ноябре 2018 года концерн объявил о разработке системы управления дорожным движением (с интеграцией в неё беспилотных машин), работающей с использованием квантовых компьютеров D-Wave.[17]

Предполагается, что с помощью квантовых компьютеров станет возможно точное моделирование молекулярных взаимодействий и химических реакций. Химические реакции являются квантовыми по своей природе. Для классических компьютеров доступен обсчёт поведения только относительно простых молекул[18]. По прогнозам экспертов, моделирование на квантовых компьютерах открывает новые перспективы для развития химической отрасли, в частности, при создании лекарств[19].

Построение квантового компьютера в виде реального физического прибора является фундаментальной задачей физики XXI века. По состоянию на начало 2018 года построены только ограниченные варианты квантового компьютера (самые большие сконструированные квантовые регистры имеют несколько десятков связанных кубитов[20][21][22]). Существуют скептические мнения о ряде перспектив квантовых вычислений:

Практическое осуществление квантового компьютера основано на манипулировании на микроскопическом уровне и с грандиозной точностью многоэлементной физической системой с непрерывными степенями свободы. Очевидно, что для достаточно большой системы, квантовой или классической, эта задача становится невыполнимой, именно поэтому такие системы переходит из ведения микроскопической физики в область статистической физики. Представляет ли система из N = 103−105 квантовых спинов, необходимая чтобы превзойти классический компьютер в решении ограниченного числа специальных задач, достаточно большой в этом смысле? Сможем ли мы когда-либо научиться контролировать 10300 (по меньшей мере) амплитуд, определяющих квантовое состояние такой системы? Мой ответ — нет, никогда.

Основные проблемы, связанные с созданием и применением квантовых компьютеров:

Чем больше кубитов находятся в связанном состоянии, тем менее стабильной является система. Для достижения «квантового превосходства» требуется компьютер со многими десятками связанных кубитов, работающими стабильно и с малым числом ошибок. Вопрос о том, до какой степени возможно масштабирование такого устройства (так называемая «проблема масштабирования»), является предметом новой интенсивно развивающейся области — многочастичной квантовой механики. Центральным здесь является вопрос о природе декогерентности (точнее, о коллапсе волновой функции), который пока остаётся открытым. Различные трактовки этого процесса можно найти в книгах[27][28][29].

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

В конце 2001 года IBM заявила об успешном тестировании 7-кубитного квантового компьютера, реализованного с помощью ядерного магнитного резонанса. На нём был исполнен алгоритм Шора и были найдены сомножители числа 15[30].

В 2005 году группой Ю. Пашкина (кандидат физ.-мат. наук, старший научный сотрудник лаборатории сверхпроводимости г. Москвы) при помощи японских специалистов был построен двухкубитный квантовый процессор на сверхпроводящих элементах[31].

В ноябре 2009 года физикам из Национального института стандартов и технологий (США) впервые удалось собрать программируемый квантовый компьютер, состоящий из двух кубитов[32].

В феврале 2012 года компания IBM сообщила о достижении значительного прогресса в физической реализации квантовых вычислений с использованием сверхпроводящих кубитов, соединённых с кремниевыми микросхемами, что, по мнению компании, позволит начать работы по созданию квантового компьютера[33].

В апреле 2012 года группе исследователей из Южно-Калифорнийского университета, Технологического университета Дельфта, университета штата Айова, и Калифорнийского университета, Санта-Барбара, удалось построить двухкубитный квантовый компьютер на кристалле алмаза с примесями. Компьютер функционирует при комнатной температуре и теоретически является масштабируемым. В качестве двух логических кубитов использовались направления спина электрона и ядра азота соответственно. Для обеспечения защиты от влияния декогерентности была разработана целая система, которая формировала импульс микроволнового излучения определённой длительности и формы. При помощи этого компьютера реализован алгоритм Гровера для четырёх вариантов перебора, что позволило получить правильный ответ с первой попытки в 95 % случаев[34][35].

В июле 2017 года группа физиков под руководством Михаила Лукина, сооснователя Российского квантового центра и профессора Гарвардского университета, создала программируемый 51-кубитный квантовый симулятор[36]. Это самая сложная подобная система из существующих на тот момент. Авторы проверили работоспособность симулятора моделированием сложной системы из множества частиц — это позволило физикам предсказать некоторые ранее неизвестные эффекты[37]. Примерно в это же время другая группа ученых из университета Мэриленд под руководством Кристофера Монро[en] создала 53-кубитный симулятор, основанный на ионах в оптической ловушке[38][39]. Однако обе эти системы не являются универсальным компьютером, а созданы для решения одной задачи[40][38].

В ноябре 2017 года учёные IBM успешно построили и испытали прототип процессора с 50 кубитами[41][42][43].

В январе 2018 года исполнительный директор компании Intel Брайан Кржанич сообщил о создании сверхпроводящей квантовой микросхемы под кодовым именем «Tangle Lake», обладающей 49 кубитами. По его прогнозу, квантовые компьютеры помогут в создании лекарств, финансовом моделировании и составлении прогнозов погоды. Intel ведёт разработки квантовых компьютеров по двум направлениям: создание устройств на сверхпроводниках и кремниевых микросхемах со «спиновыми кубитами»[44][45]

В марте 2018 года компания Google объявила, что ей удалось построить 72-кубитный квантовый процессор Bristlecone[en], имеющий низкую вероятность ошибок в вычислениях. Компания не раскрыла подробных характеристик устройства, однако утверждает, что оно позволяет достичь «квантового превосходства». Согласно специалистам Google, для того чтобы квантовый компьютер мог решать задачи, недоступные для «обычных» компьютеров, требуется соблюдение следующих условий: в его состав должно входить не менее 49 кубитов, «глубина» (англ. circuit depth) должна превышать 40 кубитов, а вероятность ошибки в двухкубитном логическом элементе должна быть не выше 0,5 %. Представители компании выразили надежду, что в будущем они смогут достигнуть этих показателей.[46][47]

В декабре 2018 года сообщено о разработке оптического микрочипа, который в будущем запланировано использовать составной частью квантового компьютера.[25][26]

В октябре 2019 года компания Google объявила, что ей удалось построить 53-кубитный квантовый процессор Sycamore и продемонстрировать «квантовое превосходство» над обычными компьютерами[48][49][50].

В декабре 2020 года исследователи из Научно-технического университета Китая опубликовали статью, в которой утверждается, что их квантовый компьютер Jiuzhang смог достичь квантового превосходства. Ему всего за несколько минут удалось провести операцию, которая традиционным способом решалась бы около двух миллиардов лет. Компьютер работает на основе оптических квантовых вычислителей (кубиты базируются на фотонах) с применением «бозонного семплинга».[51]

Канадская компания D-Wave Systems с 2007 года заявляла о создании различных вариантов квантового компьютера: от 16-кубитного до 2000-кубитного. Компьютеры D-Wave пригодны для решения лишь узкого класса задач. Некоторые исследователи высказывали сомнения, что в компьютерах компании действительно достигается существенное «квантовое ускорение», однако компьютеры D-Wave (предлагаемые по ценам 10—15 млн USD) покупались компаниями Google, Lockheed Martin и Temporal Defense Systems, а также агентством NASA и Лос-Аламосской национальной лабораторией.[52][53]

В декабре 2015 года специалисты компании Google подтвердили, что, согласно их исследованию, компьютер D-Wave использует квантовые эффекты. При этом в «1000-кубитном» компьютере кубиты в действительности организованы в кластеры по 8 кубитов каждый. Тем не менее, это позволило добиться быстродействия в 100 млн раз больше (по сравнению с обычным компьютером) в одном из алгоритмов.[54]