«Квантовые вычисления – это ни что иное, как совершенно новый способ использования природы» (Дэвид Дойч)
«Классический компьютер – это квантовый компьютер… поэтому нам не следует задаваться вопросом: «Откуда берётся квантовое ускорение?» Мы должны сказать: «Ну, все компьютеры квантовые… Откуда берутся классические замедления?» (Чарльз Беннетт)
В представлении гуманитария квантовая физика – чисто теоретическая наука, изучающая устройство мира на самом фундаментальном уровне и бесконечно далёкая от нашей жизни. Лишь немногие знают, что мы уже пользуемся квантовыми технологиями каждый день. Без квантовой физики не было бы современной электроники (компьютеров, смартфонов, планшетов, бытовой техники), высокоскоростного интернета и спутниковой навигации. Но кремниевые полупроводники, интегральные схемы, компакт-диски, флеш-память, оптоволоконные кабели, светодиоды, солнечные панели, МРТ, электронные микроскопы, лазеры, атомные часы, ядерное и термоядерное оружие, атомные электростанции, даже не освоенный ещё термоядерный синтез – всё это продукты первой квантовой революции, теоретические основы которой были заложены ещё в 20-е-30-е гг. XX века. Теперь же пришло время второй квантовой революции, вызванной появлением технологий, позволяющих манипулировать отдельными квантовыми частицами и управлять их состоянием. Локомотивом этой революции станет квантовый компьютер, о котором и пойдёт речь в данной статье.
Для непосвящённых квантовый компьютер – это что-то загадочно-магическое, а для недопонявших это не более, чем улучшенная версия обычного компьютера, обгоняющая его за счёт миниатюризации чипов и параллелизма вычислений. Пожалуй, все слышали о законе Мура и о том, что мы подходим к физическим пределам по скорости и вычислительной мощности процессоров, ведь количество транзисторов на чипе не может увеличиваться бесконечно. И тут естественно напрашивается мысль, что как только размер транзистора приблизится к размеру атома, классический компьютер плавно эволюционирует в квантовый, и это приведёт к технологическому прорыву. Начитавшись заголовков новостей, квантовые мистики уже представляют себе светлое квантовое будущее, в котором человечество пользуется сверхбыстрыми и дешёвыми квантовыми компьютерами, квантовыми смартфонами и квантовым интернетом, добывает из вакуума бесплатную энергию, мгновенно телепортирует информацию, энергию или материю на любое расстояние, бесконтактно манипулирует предметами и даже владеет телепатией. Кое-кто даже утверждает, что всё это было известно древним сверхцивилизациям, а мы теперь переоткрываем изобретённые ими технологии. Ещё есть закоренелые скептики, которые до сих пор твердят, что квантовый компьютер физически невозможен. На фоне этого шума не так просто найти источник, где бы доступным языком объяснялось, чем в действительности является квантовый компьютер.
Квантовый компьютер – это машина, использующая уникальные квантово-механические эффекты (в частности интерференцию) для выполнения особых видов вычислений, которые даже в принципе невозможно выполнить ни на каком классическом компьютере. Возможности квантовых компьютеров изучает особый раздел теоретической физики – квантовая информатика. Она позволяет прояснить на практике смысл таких процессов, как декогеренция, измерение и квантовая запутанность, не углубляясь в сложную математику и не занимаясь философствованием. В принципе на языке квантовых вычислений можно объяснить всю квантовую механику, если рассматривать состояние элементарной частицы как кубит, а любое физическое взаимодействие как операцию по обработке квантовой информации. Тогда квантовым компьютером можно назвать любую достаточно изолированную систему, в которой частицы взаимодействуют друг с другом, но оказывают минимальное воздействие на окружающую среду.
Первые модели квантовых компьютеров были предложены в начале 80-х гг. В 1980 г. Пол Бениофф использовал уравнение Шредингера для описания машин Тьюринга, а в 1981 г. Ричард Фейнман прочитал доклад на первой конференции по физике вычислений, проведенной в Массачусетском технологическом институте, отметив, что моделировать эволюцию квантовой системы на классическом компьютере эффективным способом невозможно, но с этой задачей мог бы справится квантовый симулятор – устройство, моделирующее одну квантовую систему с помощью другой. Учёный сформулировал и обосновал ключевой принцип работы такого симулятора: «компьютер должен делать то же самое, что и природа», т.е. быть подобным природе.
Чем же отличается квантовый компьютер от классического?
-
Способ кодирования информации. В классическом компьютере единицей информации является бит, принимающий дискретные значения 0 или 1. У квантового компьютера это кубит, который может находиться в суперпозиции состояний 0 и 1. Суперпозицию часто ошибочно понимают как «0 и 1 одновременно» или как одно из множество действительных чисел между 0 и 1. На самом деле это не «и» и не «или», а соотношение вероятностей получить один из этих результатов, в сумме равное 1. Например, фотон с вероятностью 30% принимает верхний спин и с вероятностью 70% — нижний. Но кроме амплитуды (вероятности) кубит имеет ещё и фазу, поэтому правильнее представлять и рисовать кубит не одномерной шкалой и не циферблатом, а в виде двумерной сферы Блоха, южный полюс которой соответствует 1, северный – 0, стрелка-радиус может указывать на любую точку на поверхности сферы, соответствующую чистому состоянию, а точки внутри сферы представляют смешанные (запутанные) состояния.
-
Физическая реализация. В классическом компьютере один бит физически соответствует одному переключателю – полупроводниковому транзистору. При наличии в нём электрического заряда бит имеет значение 1, при отсутствии – 0. Для хранения одного кубита используется один квантовый объект, обладающий двоичной переменной – спином или поляризацией. Такими объектами могут быть.
а) сверхпроводящие кубиты на базе контактов Джозефсона – токи на кристаллах, сохраняющие суперпозицию не более 10 мкс даже при температуре, близкой к абсолютному нулю;
б) фотонные кубиты – генерация при помощи громоздкого оптического оборудования запутанных квантов света и управление ими до нескольких часов при комнатной температуре.
в) ионные кубиты в магнитных ловушках – цепочка заряженных ядер атомов (ионов) удерживается с помощью электромагнитных полей в ультрахолодном вакууме до нескольких минут.
г) твердотельные квантовые точки на полупроводниках, управляемые электромагнитным полем или лазерными импульсами.
д) квазичастицы в топологических квантовых компьютерах – коллективные состояния кластеров электронов (неабелевы анионы), «замороженных» фотонов или фермионов Майораны, которые ведут себя как частицы внутри полупроводников или сверхпроводников.
-
Соединение. В классическом компьютере транзисторы связаны между собой локально полупроводниковым чипом – интегральной схемой. В квантовом компьютере кубиты запутываются между собой с помощью нелокальных корреляций. Запутанность лежит в основе квантового сверхплотного кодирования, позволяющего с помощью одного кубита передавать два бита классической информации. Кубиты можно запутать друг с другом разными способами, причём количество этих способов растёт экспоненциально по мере увеличения количества самих кубитов.
-
Вычислительная мощность. У классического компьютера есть физические пределы по скорости вычислений и размерам микрочипов. Вычислительная мощность и объём памяти напрямую определяются количеством битов: добавление одного транзистора увеличивает память на 1 бит. В квантовом компьютере добавление одного кубита увеличивает память в два раза. 1 кубит имеет всего два состояния (0 и 1), 10 кубитов имеют уже 1024 состояния, а 300 кубитов имеют 2300 состояний – больше, чем частиц во Вселенной. Суперпозиция этих состояний позволяет параллельно производить большое количество вычислений с различными исходными данными, но на выходе можно получить только один случайный результат, если у вас нет подходящего алгоритма. Предел количества классической информации, которую можно извлечь из кубита, называется границей Холево.
-
Логические операции. Обработка информации – это проведение операций над битами с помощью логических элементов, таких как AND, OR, XOR, NOT и т.д. Для квантовых вычислений есть свои логические вентили (гейты), которые отличаются от таковых в классическом компьютере. В частности, в квантовом компьютере все операции являются обратимыми (унитарными), за исключением операции измерения, извлекающей из кубита классическую информацию. Поэтому в квантовом компьютере невозможны операции «и», «или» и копирование состояния кубита, зато есть три разных способа инверсии. Подробнее о классических и квантовых логических схемах я расскажу как-нибудь отдельно.
-
Алгоритмы. Из логических вентилей собирают алгоритмы, позволяющие провести то или иное вычисление. Для квантового компьютера разработаны следующие алгоритмы.
1) Алгоритм Шора (факторизация – разложение числа на простые множители);
2) Алгоритм Гровера (решение задачи перебора, быстрый поиск в неупорядоченной базе данных);
3) Алгоритм Дойча-Йожи (ответ на вопрос, является ли функция двоичной переменной постоянной или сбалансированной);
4) Алгоритм Залки-Визнера (моделирование унитарной эволюции квантовой системы).
-
Репертуар. Репертуаром компьютера называют список вычислительных задач, которые на нём можно выполнить. В 1985 г. Дэвид Дойч доказал возможность создания универсальной квантовой машины Тьюринга, способной осуществить любое вычисление, реализуемое на классическом компьютере. Действительно, квантовый компьютер может работать как классический, если его кубиты будут принимать только дискретные значения 0 и 1. Но на практике в этом нет никакого смысла, поскольку в большинстве случаев обычный компьютер справляется с классическими задачами намного быстрее. Однако существуют задачи, в которых квантовый компьютер будет эффективнее. Поэтому сейчас универсальными квантовыми компьютерами считаются те, на которых можно реализовать все известные квантовые алгоритмы (Шора, Гровера и т.д.). Но существуют и специализированные квантовые компьютеры, направленные на решение одной конкретной специфической задачи, например, задачи оптимизации. К ним относятся машины D-Wave, состоящие из тысяч кубитов – квантовые симуляторы, эффективно решающие задачу квантового отжига (поиска минимума очень сложной функции).
-
Принцип работы. Классический компьютер является цифровым устройством (обрабатывает информацию в дискретной форме, как строку из нулей и единиц) и работает по детерминированному принципу: если мы задали какое-то начальное состояние системы и пропустили его через заданный алгоритм, то результат вычислений будет один и тот же, сколько бы раз мы это вычисление не запускали. Исключения возможны, но они рассматриваются как сбои в программе. Квантовый компьютер – аналоговая машина (использует континуум значений), которая работает по вероятностному принципу. Результат работы заданного алгоритма на заданном начальном состоянии представляет собой выборку из вероятностного распределения конечных реализаций алгоритма плюс возможные ошибки. Да, квантовый компьютер редко выдаёт правильный ответ с вероятностью 100%. Вероятность ошибки во многом зависит от внешних шумов – декогеренции компьютера со средой. Для исправления ошибок требуются дополнительные кубиты, поэтому количество логических кубитов, задействованных непосредственно в вычислении, всегда меньше количества физических кубитов.
-
Способ программирования. В классическом компьютере всегда есть чёткое различие между кодом программы и воспроизводимой ею симуляцией. Программа на квантовом компьютере – это не симуляция физического процесса, а реальный эксперимент. Кубиты квантового компьютера имеют классические значения (0 или 1) на входе и на выходе, но самое интересное происходит в промежутке – фактически в чёрном ящике. Суперпозицию невозможно напрямую наблюдать или напрямую измерить. При измерении кубита его суперпозиция всегда переходит в одно из двух классических состояний: 0 или 1. Но с помощью магнитных импульсов можно косвенно изменять соотношение вероятностей, пока кубит ещё находится в суперпозиции, не измеряя его. С одним кубитом это мало что даёт, но два запутанных кубита всегда будут давать противоположный друг другу результат. Если кубитов много, их вероятности можно запутать между собой так, чтобы компьютер выдавал один из результатов с большей суммарной вероятностью, чем остальные. Суть квантового программирования сводится к выстраиванию сети запутанных кубитов таким образом, чтобы на выходе одна из схем давала максимальный результат (больше единиц), а все остальные – минимальный (больше нулей). Для этого нужно сделать интерференционную картину такой, чтобы пути, приводящие к неверным ответам, интерферировали деструктивно и отменялись, а приводящие к правильному – усиливались.
Например, нам нужно разложить число на простые множители. Для классического компьютера есть несколько способов решить задачу, самый очевидный из которых – перебор делителей, т.е. по очереди делить это число на каждое натуральное число начиная с 2, пока оно не разделится без остатка. На выходе алгоритм даст правильный ответ – два множителя. Квантовый компьютер работает совсем не так. Сначала все его кубиты инициализируются в нулевом состоянии. Затем запускается алгоритм Шора, состоящий из четырёх шагов. На первом шаге вычисления часть регистра кубитов переводится в суперпозицию состояний, на втором шаге с помощью унитарного преобразования состояния первого регистра запутываются с «нулевыми» состояниями второго регистра, на третьем шаге осуществляется квантовое преобразование Фурье – происходит интерференция между квантовыми состояниями, а на четвёртом шаге выполняется измерение первого регистра, которое даёт на выходе определённое значение (0 или 1) каждого кубита. Сами по себе эти биты случайны и никакой информации не несут, если наблюдатель не знает алгоритма, по которому проводилось вычисление. Правильный ответ записан в исходной суперпозиции, но извлечь информацию о ней можно только по статистическому распределению вероятностей. Чтобы узнать вероятность получения того или иного результата, исключив возможные ошибки, вычисление нужно провести много тысяч раз, что сводит все преимущества квантового компьютера на нет. Однако преобразование Фурье позволяет выяснить, как часто в суперпозиции встречается правильный ответ, не прибегая к многократному повторению вычисления.
Квантовое вычисление часто преподносят как параллельную обработку данных всеми возможными состояниями кубитов или даже как вычисление в параллельных вселенных. Отчасти это так, но, как мы показали выше, квантовые вычисления – не просто параллельный перебор всех вариантов ответа, а ещё и управление амплитудами вероятностей получить тот или иной ответ. С точки зрения квантовой теории, кубит – это двумерный вектор состояния в гильбертовом пространстве. Чтобы не усложнять объяснение математикой, можно условно представлять кубиты как волны вероятностей. Но если в классической теории вероятностей вероятность любого случайного события всегда положительна, то в квантовой физике амплитуда волновой функции является комплексной величиной и может быть как положительной, так и отрицательной. При «столкновении» эти волны будут интерферировать: гасить друг друга, если находятся в противофазе, и усиливать, если приходят в одной фазе. Если один и тот же результат можно получить при положительной и отрицательной амплитуде, то эти амплитуды будут деструктивно интерферировать и при измерении давать 0.
С точки зрения многомировой интерпретации, квантовый компьютер действительно вычисляет одновременно во многих вселенных. И если в этом компьютере 300 кубитов, это значит, что в его работу вовлечено 2300 параллельных миров. Но здесь нужно учитывать, что речь идёт о вселенных, неразличимых между собой во всём, за исключением состояния данного квантового компьютера. Эти вселенные делятся в пропорции, соответствующей распределению вероятностей значения кубита по правилу Борна. Когда вселенные интерферируют, они снова становятся неотличимыми, т.е. доля вселенных с правильным ответом увеличивается, а доли вселенных с неправильными ответами уменьшаются. Отличимые вселенные, в которых компьютер выполняет другое вычисление или вообще выключен, не интерферируют с нашей и потому не влияют на результат. На выходе квантовый компьютер запутывается с измерительным прибором, что приводит к расщеплению миров на отличимые «ветви» в соответствии с итоговой мерой, о которой мы узнаём путём статистического подсчёта результатов многих вычислений. Кому-то такая хитроумная схема ветвления миров может показаться необоснованной. Но, в отличие от ММИ, одномировые интерпретации квантовой механики не объясняют, откуда в нашей вселенной, состоящей примерно из 1080 атомов, берутся вычислительные ресурсы для одновременного осуществления 2300 операций.
Если вы мечтаете в скором времени поменять свой классический компьютер или смартфон на квантовый, придётся вас немного расстроить. Дело в том, что для работы квантового компьютера необходимы особые условия. Чтобы добиться состояния когерентной суперпозиции, нужно полностью изолировать систему кубитов от окружающего мира и охладить её до сверхнизкой температуры. Пока это возможно только в лаборатории с использованием сложного оборудования или в специальном холодильнике, в который опускают «люстру» из проводов и чипов с квантовым процессором в самом низу. И чем больше в квантовом компьютере кубитов, тем труднее удержать их в суперпозиции. Основным препятствием является декогеренция – частицы стремятся запутаться со средой и передать информацию во внешний мир. Последнее время специалисты активно работают над устранением декогеренции, но пока им удавалось вводить в чистое квантовое состояние не больше нескольких десятков кубитов и поддерживать их в суперпозиции доли секунды.
Термин «квантовое превосходство» был придуман Джоном Прескиллом в 2012 г. Квантовое превосходство означает проведение вычисления, которое невозможно провести на классическом компьютере за разумное время. Его следует отличать от квантового преимущества – способность квантового компьютера выполнить обычное вычисление быстрее, чем классический компьютер. В принципе работу квантового компьютера можно симулировать на обычном компьютере. Но, если в квантовом компьютере больше 50 кубитов, которые дают 250 состояний, с этим не справится ни один современный суперкомпьютер. Однако возможность запутать 50 кубитов ещё не означает квантового превосходства. По расчётам, чтобы квантовый компьютер сравнился по функциональности с классическим, нужно порядка 1 млн. кубитов. Также необходимо учитывать, что квантовый компьютер может вычислять с огромным множеством состояний, но не может выдавать много классических данных.
Теперь давайте посмотрим, каковы реальные достижения квантовых компьютеров.
1998 – создан первый 2-кубитный квантовый компьютер
2001 – IBM на 7-кубитном квантовом компьютере разложила на множители число 15 по алгоритму Шора.
2012 – в Университете Калифорнии разложено на множители число 21 по алгоритму Шора.
2016 – Google смоделировал на 9-кубитном квантовом компьютере молекулу водорода.
2019 – IBM представила первый в мире коммерческий квантовый компьютер – 20-кубитный Q System One.
2019 – 54-кубитный квантовый процессор Sycamore от Google выполнил за 200 секунд вычисление, на которое классическому суперкомпьютеру потребовалось бы 10 тыс. лет (однако IBM оспорила этот результат, заявив, что суперкомпьютер Summit способен сделать это за 2.5 дня).
2020 – фотонный квантовый компьютер Цзючжан, разработанный под руководством Пань Цзяньвэя из Научно-технического университета Китая, выполнил за 200 секунд расчёт, который занял бы у классического суперкомпьютера 1.5 млрд лет.
2023 – в свободный облачный доступ поступает IBM Quantum System Two с 433 кубитами..
Посмотрев на эту хронологию, потенциальные инвесторы справедливо недоумевают: неужели за 20 лет своего существования квантовый компьютер не сделал ничего полезнее разложения на множители числа 21 и моделирования молекулы водорода? Да, но за последние годы его возможности существенно расширились, и ведущие транснациональные корпорации не остаются в стороне. С 2018 г. автоконцерн Volkswagen использует квантовые компьютеры для расчёта химического состава аккумуляторов в электромобилях и создания единой системы управления дорожным движением беспилотных машин. Более того, любой желающий приобщиться к новой технологии может скачать программу Qiskit, составить квантовый алгоритм, подключиться к облаку и провести вычисление на реальном квантовом компьютере. А если вам хочется ещё и потрогать что-нибудь квантовое, соответствующее предложение тоже найдётся. Уже сейчас можно купить смартфон Samsung Galaxy Quantum 2 со встроенным квантовым генератором случайных чисел (QRNG) от швейцарской фирмы ID Quantique, использующим квантовую криптографию для создания надёжных непредсказуемых ключей и паролей. Это ещё не квантовый компьютер, но, если вы устали от классического детерминизма и его предсказуемых псевдослучайных чисел, Galaxy Quantum привнесёт в вашу жизнь истинную квантовую случайность.
Квантовый компьютер может быть полезен для следующих типов вычислений:
1) Квантовое моделирование сложных систем: например, моделирование (но не предсказание) погоды, решение квантовой проблемы трёх тел, анализ социальной динамики;
2) Квантовая химия и фармакология: вычисление свойств молекул без необходимости их синтеза и моделирование химических реакций без необходимости их запуска;
3) Квантовая метрология: задачи по обеспечению высокой точности измерений квантовых свойств объектов;
4) Квантовое машинное обучение: моделирование нейросетей (как искусственных, так и биологических), обработка и структурирование больших данных при помощи квантовой версии метода главных компонент (QPCA), поиск аномалий, защита от мошенничества, составление алгоритмов для систем рекомендаций;
5) Финансы: поиск оптимальных решений для инвесторов, составление портфелей ценных бумаг, предсказания стоимости акций и курсов валют;
6) Логистика: поиск самых коротких маршрутов (задача коммивояжёра);
7) Квантовая криптография: факторизация, надёжная защита от перехвата сообщения.
Пожалуй, больше всего шума наделали предсказания о скором крахе всей современной криптографии. Сообщения в мессенджерах, электронная почта, блокчейн, банковские операции, государственные сервисы, документооборот крупных компаний, системы связи у военных и спецслужб – во всех этих сферах используются протоколы шифрования криптосистемы RSA, разработанной в 1978 г. Рональдом Ривестом, Ади Шамиром и Леонардом Адельманом. RSA – система криптографии с открытым ключом, основанная на асимметрии умножения и разложения на множители. Перемножить два больших числа – задача простая, а вот задача найти два простых множителя является труднообрабатываемой для любого классического компьютера. По мере увеличения числа сложность его факторизации растёт экспоненциально. Чтобы разложить на множители 250-значное число, современному суперкомпьютеру понадобится работать сотни тысяч лет. Вы можете закодировать сообщение с помощью 250-значного числа и оставить этот ключ в открытом доступе, поскольку расшифровать сообщение сможет только получатель, которому известны два 125-значных множителя (закрытый ключ). Поэтому до недавних пор технологии шифрования с открытым ключом считались очень надёжными. Пока не появился квантовый компьютер.
Действительно, полнофункциональный и устойчивый к декогеренции квантовый компьютер чрезвычайно эффективен в задаче разложения чисел на множители. Он может поставить под угрозу всю информационную инфраструктуру нашей цивилизации. Оценки его появления варьируются в пределах от 10 до 100 лет. Поэтому уже сейчас многие корпорации и спецслужбы сохраняют секретные данные по принципу SNDL (store now, decrypt later –«сохраняй сейчас – расшифруешь потом»). Пока Агентство национальной безопасности США (NSA) только рекомендует переходить на защищённые от квантовых компьютеров алгоритмы постквантовой криптографии, а Конгресс США в январе 2023 г. поручил всем госслужбам сделать это в обязательном порядке. К счастью, противоядие от квантового компьютера даёт сама квантовая физика, а именно – квантовая криптография, о которой я расскажу в следующей статье.
Итак, можно сделать вывод, что квантовый компьютер никогда полностью не заменит классический. Он практически бесполезен для большинства вычислений, которые может выполнять обычный компьютер. Но он эффективен тогда, когда нужно перебрать множество вариантов и выбрать один правильный. Пока заявления о достижении квантового превосходства ничем не обоснованы, поскольку квантовый компьютер способен выполнять лишь строго определённые вычисления. На текущем уровне технологий он не сможет стать универсальным и превзойти классический компьютер по ряду параметров. Скорее он будет использоваться как дополнение к обычному компьютеру, подключаемое при необходимости. Дальнейшее развитие технологии предсказать практически невозможно, поскольку сфера её применимости расширяется по мере возникновения новых проблем и вычислительных задач. Но значимость квантового компьютера для понимания фундаментальных законов физики трудно переоценить. В конце концов, всю нашу Вселенную можно рассматривать как гигантский квантовый компьютер, вычисляющий сам себя. Безусловно, эта идея заслуживает самостоятельного обзора. А пока я продолжу обзор технологий второй квантовой революции. В следующей статье вы узнаете об эффектах квантовой телепортации, туннелирования и контрфактических вычислений.