Блеск и нищета квантовых вычислений
В 2019 г. исследователи из Google провозгласили, что созданный ими прототип квантового компьютера Sycamore на 53 кубитах выполняет за 200 секунд такой объём вычислений, на который один из мощнейших на тот момент суперкомпьютеров, IBM Summit (в составе которого — 9 216 ЦП и 27 648 ГП), затратил бы около 10 тыс. лет. Иными словами, был продемонстрирован прирост скорости квантовых вычислений (по сравнению с теми, что производят передовые машины на базе архитектуры фон Неймана) примерно в 158 миллионов раз.
Звучит настолько вдохновляюще, что возникает один-единственный вопрос: почему за прошедшие с того момента почти три года квантовые вычислители не начали уже вытеснять классические машины — по меньшей мере из списка мощнейших суперкомпьютеров мира?
Где же логика?
Понятно, что новая технология требует немалых инвестиций, но если она гарантирует притом 158-миллионократный прирост вычислительной мощи — какой вменяемый капиталист (не в ругательном, а в чисто экономическом смысле этого термина) позволит удержать себя от вложений в столь перспективную разработку?
Отчего же тогда Конгресс США одобрил недавно выделение 52 млрд долл. на постройку новых полупроводниковых производств на территории страны? Разве в свете столь убедительного прогресса квантовых вычислений это не то же самое, что в 1930-х вкладываться в развитие новых конезаводов и тележных мануфактур — вместо того чтобы строить асфальтовые дороги и заправочные станции для автомобилей с двигателями внутреннего сгорания?
И ведь прогресс в области квантовых вычислений с тех пор вроде бы не топтался на месте. За прошедшие годы IBM представила квантовый чип Eagle, включающий 127 кубитов, — тем самым впервые в истории число входящих в единый вычислительный блок кубитов превысило сотню. Стартап QuEra Computing, созданный физиками из Гарвардского университета и Массачусетского технологического института, объявил о создании 256-кубитного квантового симулятора. Наконец, сама Google продолжает совершенствовать квантовый вычислитель Sycamore, улучшая механизмы коррекции ошибок и тем самым покоряя новые высоты производительности.
Тем не менее полупроводниковые компьютеры в обозримой перспективе явно не собираются сдавать свои позиции: пусть очередные достижения на квантовом фронте провозглашаются с завидной регулярностью, но главным вычислительным инструментом продолжают оставаться старые добрые машины, основанные на архитектуре фон Неймана.
Более того, пресловутая задача, с которой в 2019-м столь триумфально справился Sycamore, оказалась не такой уж неподъёмной для классических ЭВМ: Пань Чжан (Pan Zhang) с коллегами из Института теоретической физики при Академии наук КНР недавно показали, что даже не самой мощной майнинговой ферме с полутора десятками графических адаптеров потребительского класса достаточно будет примерно 15 часов для её решения. Любому суперкомпьютеру из мирового списка топ-100 хватило бы на неё и пары десятков секунд.
Выходит, специалисты Google выдавали три года назад желаемое за действительное? Не совсем так: группа Пань Чжана подчёркивает, что энергоэффективность квантового компьютера при решении тестовой задачи действительно неизмеримо выше, чем полупроводниковой ЭВМ, да и главная причина неверной оценки производительности традиционных компьютеров в данном конкретном случае кроется в использовании не самого оптимального алгоритма.
Другое дело, что произведённые Sycamore на протяжении тех самых 200 секунд вычисления не были точными: квантовый компьютер не искал целенаправленно единственно верный ответ, а отсеивал заведомо неверные, и потому оценочная погрешность полученного им результата составляла около 0,2%.
И вот это уже принципиальный момент. Точность последовательных вычислений на классическом компьютере по сути абсолютная. Хотя при реальных расчётах всё равно не удаётся избежать проблем с округлением и иррациональными числами, фактическая точность определяется разрядностью используемых программой переменных — так что погрешность результата даже для бытовых расчётов не превышает десятитысячных долей процента.
Квантовые же компьютеры действуют по иному принципу: они не решают задачу последовательно, исполняя шаг за шагом некий алгоритм, а единовременно производят огромное количество вычислений с разными параметрами по одной и той же схеме, так что в итоге среди полученного вороха ответов остаётся лишь выделить более или менее верный.
Именно эта принципиальная особенность квантовых вычислений разом выступает и как их главное преимущество по сравнению с классическими, и как тягчайшая уязвимость — из-за которой, собственно, в дата-центрах по всему миру до сих пор продолжают работать фон неймановские ЭВМ на базе полупроводниковых СБИС. И ещё долго, очень долго такое положение дел не изменится.
Стопроцентно натуральная аналогия
Важно понимать, что квантовые вычисления качественно отличаются от классических. Эволюция от механических машин к вычислителям на радиолампах и от тех — к транзисторным была количественной: суть фон неймановского подхода к организации вычислений при этом не менялась, алгоритмы де-факто оставались прежними. Сама идея создания квантовых компьютеров родилась не из необходимости в очередной раз ускорить исполнение классических алгоритмов — а из потребности адекватно смоделировать реальные физические явления с учётом квантовых эффектов.
Известна практически точная дата, когда был предложен термин «квантовый компьютер». В 1981 г. в Массачусетском технологическом институте проходила конференция по физике и вычислениям, на которой сам Ричард Фейнман (Richard Feynman), чьё имя наверняка известно каждому, кто хотя бы поверхностно интересовался квантовой физикой, выступил с докладом «Имитируя физику» (Simulating Physics). Учёный сформулировал и обосновал важнейший принцип, на котором должна основываться вычислительная система, предназначенная для моделирования реальных квантовых явлений: полное подобие природе (“The computer will do exactly the same as nature”).
Иными словами, для численного моделирования квантовых явлений необходима система, построенная на квантовых же принципах. Как добросовестный исследователь, Фейнман сослался в своём докладе не только на фундаментальную теорему Дж. С. Белла (первая публикация — 1964 г.) о невоспроизводимости квантово-механических феноменов с применением классических вычислительных средств, но и на две более поздние работы на эту тему из-за «железного занавеса» — «Термодинамические модели обработки информации» Р. П. Поплавского (1975 г.) и «Вычислимое и невычислимое» Ю. И. Манина (1980 г.), где указывалось на принципиальную невозможность имитации поведения квантовых систем на традиционных ЭВМ по причине чрезвычайной сложности алгоритмизации квантовых явлений (принципа суперпозиции, прежде всего).
В конце концов, даже если не касаться квантовой физики, а просто моделировать поведение больших ансамблей вполне классических частиц, ограничения архитектуры фон Неймана дают о себе знать более чем недвусмысленно. Скажем, если R частиц могут занимать N положений в пространстве, то полный спектр состояний такой системы определяется как NR (N в степени R) — так что даже для самых современных суперкомпьютеров адекватная эмуляция процессов в такой системе при R и N порядка всего-то 100 уже представляет собой по сути непосильную задачу.
Важнейшая особенность квантового процесса, его кардинальное отличие от привычных нам по окружающему макромиру явлений, — принцип суперпозиции (точнее, принцип существования суперпозиции состояний). Принцип этот подразумевает возможность нахождения квантовой системы в полном спектре доступных ей взаимоисключающих состояний одновременно — до тех пор, пока не будет произведено измерение её состояния наблюдателем, что приведёт к схлопыванию (коллапсу) квантовой системы в некое однозначное. Тот самый кот Шрёдингера, да.
Очень часто в популярном изложении суперпозицию «ради лучшего усвоения неподготовленной аудиторией» подменяют стохастикой, случайностью. Скажем, как наглядно пояснить, что некий квантовый объект, способный после измерения представать в дискретных конечных состояниях 0 или 1, вплоть до самого момента этого измерения находится не просто в одном из этих состояний, а также и в любой их суперпозиции — т. е. линейной комбинации с некими коэффициентами, — причём одновременно?
Обычно для иллюстрации здесь используют аналогию с монетой. Подброшенная в воздух, она быстро крутится, и потому определить, орлом или решкой вверх она в итоге выпадет, невозможно: вот, мол, это состояние вращения и есть аналог квантовой суперпозиции. В момент же измерения — когда монета упала на ладонь экспериментатора — происходит фиксация одного из дискретных граничных состояний, «орёл» или «решка».
Слабость этой аналогии в том, что хотя монета действительно вращается в воздухе сложным образом, особенно если её хитро закрутить при подбрасывании, в каждый момент времени её проекция на горизонтальную плоскость — при взгляде сверху — всё-таки практически однозначно демонстрирует либо орла, либо решку. За исключением тех редких мгновений, конечно же, когда она встаёт точно на ребро.
Для адекватного представления квантовой суперпозиции, как подчёркивали Фейнман и его предшественники, придётся смириться с тем, что прямых аналогов квантово-механическим системам в привычном для нас макромире не существует. Бессмысленно пытаться постигать суть явления, зависящего не только от каких-то объективных внутренних факторов, но и от того, наблюдает за ним кто-нибудь в данный момент или же нет. И тем, кто всерьёз намерен разобраться хотя бы в азах принципов построения и работы квантовых компьютеров, придётся освоить специфический для этого направления инструментарий — пусть даже на самом базовом уровне.
Комплексный — не обязательно сложный
Бит — с точки зрения классической вычислительной математики — это система, способная пребывать лишь в одном из двух возможных дискретных состояний: «0» или «1». Однако по опыту повседневности мы интуитивно понимаем, что ничего непрерывного в природе не существует: даже механический тумблер не переходит из верхнего положения в нижнее бесконечно быстро — переключение занимает некое определённое время.
То же верно для полупроводниковых схем: если полевой транзистор закрыт (не пропускает ток), это может интерпретироваться как «0», открыт (ток идёт) — «1». Однако при подаче управляющего напряжения на затвор ноль обратится в единицу тоже не моментально: сила тока в канале будет нарастать по мере увеличения плотности проходящих по нему электрических зарядов, и лишь какое-то время спустя после открытия затвора (которое само по себе, кстати, тоже не происходит мгновенно) величина тока станет достаточной, чтобы система интерпретировала её как уверенную «1».
В квантовой механике всё принципиально иначе: нет ничего непрерывного — зато есть суперпозиция. Конечные (измеренные наблюдателем) состояния квантовой системы — направление спина электрона, поляризация фотона, энергетические состояния ангармонического осциллятора — при измерении фиксируются мгновенно и однозначно, без переходных периодов и значений. Вместе с тем точно определить состояние квантовой системы можно лишь в момент измерения: до того оно представляет собой ту самую упомянутую выше суперпозицию (или наложение: взвешенную сумму с определёнными особым образом весами) двух взаимоисключающих граничных состояний.
Эти граничные состояния принято обозначать вслед за выдающимся физиком-теоретиком Полем Дираком (Paul Dirac) как |0⟩ и |1⟩ — чтобы сразу было понятно, что речь идёт о квантовой системе с векторами состояний.
Для воспроизведения (моделирования) такой системы при помощи вычислительного средства, которое мы назовём квантовым компьютером, вместо классической реализации битов — которая по очевидным причинам здесь не годится — потребуются квантовые биты, или кубиты (q-bits, qubits). Кубит представляет собой квантовую же систему с граничными состояниями |0⟩ и |1⟩, описываемую — в соответствии с принципом суперпозиции — волновой функцией |ψ⟩:
|ψ⟩ = c0|0⟩ + c1|1⟩. {1}
Какими должны быть коэффициенты c0 и c1? Вряд ли любыми: мы ведь описываем один кубит с предельными значениями |0⟩ и |1⟩, так что за его пределы (как бы само понятие «предела» ни интерпретировать в рамках квантовой механики) волновой функции выходить нелогично.
Достаточно очевидно (как раз из того, что в предельных случаях волновая функция будет обращаться либо в |0⟩, либо в |1⟩), что c0 и c1 должны быть нормированы — т. е. должны меняться, причём взаимно согласованно, по модулю величины в пределах от 0 до 1, примерно как катеты вписанного в окружность прямоугольного треугольника, гипотенуза которого совпадает с диаметром:
|c0|2 + |c1|2 = 1. {2}
Здесь проступает довольно ясный физический смысл этих коэффициентов — точнее, квадратов их модулей (заметим, что в формуле {2} вертикальные линии — обозначения модулей чисел, не имеющие отношения к нотации Дирака): это вероятность обнаружить данный кубит в соответствующем граничном состоянии, т. е. либо |0⟩, либо |1⟩.
Но почему речь идёт именно о модулях? Да потому, что коэффициенты c0 и c1 — комплéксные числа. Строго говоря, сам Дирак определял состояние квантовой системы как кет-вектор — луч в сепарабельном гильбертовом пространстве, — но углубляться в тонкости теории множеств в рамках сравнительно популярного материала было бы, право, излишне.
Важно, что тяга к использованию комплексных чисел (при всей их кажущейся противоестественности с точки зрения повседневного опыта обитателей макромира) — вовсе не прихоть физиков-теоретиков, а проявление фундаментальных свойств нашей Вселенной в целом. Дело в том, что, согласно основной теореме алгебры, только в пространстве комплексных чисел любой многочлен степени n (с комплексными же коэффициентами при каждом из членов) имеет ровно n корней.
Поскольку необходимо, чтобы уравнение {1}, типичный многочлен первой степени, имело решение во всех случаях, следует использовать именно комплексные числа — хотя на деле в целом ряде практических приложений коэффициенты c0 и c1 будут-таки оказываться вещественными. Просто потому, что привычные и понятные в макромире вещественные числа — не более чем подмножество комплексных.
И опять — аналоговые вычисления
Справедливость известной студенческой поговорки «По-настоящему сложной математика становится, когда из неё пропадают цифры» в полной мере ощущают на собственном опыте дерзнувшие разобраться в том, на каких всё-таки основаниях зиждется сама концепция квантовых вычислений. Очень здорово помогает здесь то, что математика — как наука, оперирующая чистыми отвлечёнными сущностями, без привязки к грубому материальному миру — густо пронизана аналогиями, порой парадоксальными, порой невероятно красивыми. Для лучшего понимания кубитов как математических объектов тоже нашлась аналогия — причём снова из тригонометрии, как это ни странно.
Итак, прямым аналогом уравнению {2}, в котором, напомним, фигурируют нормированные взаимозависимые коэффициенты, можно считать основное тригонометрическое тождество — безыскусное приложение теоремы Пифагора к прямоугольному треугольнику с единичной гипотенузой:
cos²(θ/2) + sin²(θ/2) = 1. {3}
Обозначение угла можно взять любое; θ/2 здесь принято исключительно ради удобства и красоты последующих выкладок. Теперь снова вспомним, что коэффициенты c0 и c1 (с которыми мы по некой, хотя и обоснованной прихоти сопоставили сейчас косинус и синус некоего угла) — комплексные числа. А те, в свою очередь, можно представить как векторы на комплексной плоскости, где ось абсцисс — вещественная, а ось ординат — мнимая. Тогда комплексному числу P = a + ib, у которого вещественная часть равна a, а мнимая b, будет соответствовать выходящий из начала координат вектор, указывающий в точку (a, b).
Но этот же самый вектор допустимо представить не в прямоугольных координатах, а в полярных: тогда P = A * eiφ, где A² = a²+ b² (A — модуль величины комплексного числа), а φ — так называемая фаза, тангенс которой равен частному от деления b на a в получившемся прямоугольном треугольнике.
Возвращаемся к волновой функции: действительная и мнимая части комплексного числа у нас есть — это коэффициенты c0 и c1, причём исходя из заданной формулой {3} параметризации очевидно, что пределы изменения угла φ (в нашем случае — θ/2), что бы тот ни обозначал, должны простираться от 0 до π радиан. Если φ превысит π, то один из модулей окажется отрицательным, что противоречит самому математическому смыслу этого понятия (длина вектора может быть в вырожденном случае нулевой, но никак не отрицательной — даже для комплексного числа).
Теперь запишем коэффициенты волновой функции, описывающей наш кубит, с использованием проведённых только что выкладок. Ещё раз отметим, что на данный момент это не более чем игра ума, подставление (правда, осмысленное и внутренне непротиворечивое) одних математических формул в другие:
c0 = cos(θ/2) * exp(iφ0), c1 = sin(θ/2) * exp(iφ1), {4}
то есть уравнение {1} превращается в
|ψ⟩ = cos(θ/2) * exp(iφ0) |0⟩ + sin(θ/2) * exp(iφ1) |1⟩, {5}
а поскольку углы φ0 и φ1 измеряются на одной и той же плоскости,
|ψ⟩ = exp(iφ0) * (cos(θ/2) |0⟩ + sin(θ/2) exp(i(φ0 – φ1)) |1⟩), {6}
или, отбрасывая за неинформативностью φ0 и переходя к учёту действительно значимой разности фаз (φ = φ0 – φ1; это уже не тот φ, что фигурировал на рисунке, поясняющем представление комплексного числа в полярных координатах) вместо каждой из них по отдельности, получаем:
|ψ⟩ = cos(θ/2) |0⟩ + eiφ * sin(θ/2) |1⟩. {7}
Что же получается? Есть некая величина, определяемая скалярным числом (модулем) и двумя углами, один из которых меняется в пределах от 0 до π радиан, а другой, по смыслу представляющий собой разность фаз, волен принимать значения от 0 до 2π.
Ничего не напоминает? Ну конечно же, это сферические координаты, где θ — азимутальный угол, а φ — полярный. Внезапно выяснилось, что состояние одиночного кубита с ровно двумя граничными состояниями описывается множеством точек на так называемой сфере Блоха (Bloch sphere), причём состояние θ = 0 соответствует значению |ψ⟩ = |0⟩, тогда как при θ = π получаем |ψ⟩ = |1⟩.