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

Квантовая физика родилась в 1900 году, когда Макс Планк предположил, что энергия поглощается не непрерывно, а отдельными порциями — квантами. Его идея получила дальнейшее развитие: фотоэлектрический эффект Эйнштейна, теория атома Бора, Резерфорд опытным путем показал, как выглядит ядро атома, Луи де Бройль стер границу между волнами и материей, Гейзенберг и Шрёдингер разработали квантовую механику.

Квантовую физику тяжело понять — её математический аппарат почти невозможно перевести на «человеческий» язык. Но «потрогать» её проявления в повседневной жизни вполне реально: лазеры, флэшки, компакт-диски, интегральные схемы или графен — все эти технологии появились благодаря квантовой физике. Логично, что ее решили использовать и для вычислений — в квантовых компьютерах.

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


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

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


Чтобы объяснить, что такое квантовый компьютер и как он работает, нужно начать издалека и рассказать, как работает компьютер обычный. Работа обычного компьютера определяется двумя параметрами: памятью, скоростью вычислений.

Память — основная характеристика вычислительной системы. Компьютер умеет читать, писать и обрабатывать информацию, которая хранится в памяти.

Компьютер выполняет простейшие операции: перемножения, вычитания, сложения чисел. Если выполнять эти операции много и быстро, то можно объединить их в программу, которая обрабатывает информацию. Так работают базы данных, поиск или нейронные сети. Здесь важна скорость вычислений или скорость выполнения операций (FLOPS).

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

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

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


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

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

В квантово-механической системе нет такой четкости, а есть вероятность, которая определяет ее суть. Правильный вопрос здесь — какова вероятность, что тарелки разбились или целы, какова вероятность, что значения регистра 0 или 1?

1wqus1s7pqxvbsfjw59pqht3msc.png


Вероятность — первое важное понятие в квантовой механике. С точки зрения квантовой механики «тарелки Шредингера» одновременно и целые, и разбитые. Есть некая вероятность того, что они целые, и некоторая вероятность, что разбитые. Эта неопределенность и отражает реальный физический мир.

На классическом уровне неопределенность маскирует наше незнание. Например, когда мы покупаем лотерейный билет «Спортлото», для нас появляется вероятность выиграть, потому что мы не знаем выигрышный номер.

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

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

Когда система (кубит) находится одновременно в состоянии 0 или 1, можно говорить только о вероятностях. Если состояний много, система одновременно находится во всех возможных состояниях, но с меньшей вероятностью для каждого. Это принципиально важно.

В классической программе в каждый конкретный момент времени каждая строка программы работает с определенной ячейкой памяти. В квантовой механике можно работать со всеми ячейками памяти одновременно.

«Память» квантового компьютера


В чем основная разница между квантовой и классической памятью компьютера? В обычном компьютере мы записываем числа в двоичном коде. Например, число 8 в двоичной системе выглядит как 00001000, и для его записи достаточно 4 битов.

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

На практике у методов измерения ограниченная точность. Будем считать, что она соответствует обычной машинной (float). Получается, что кубит содержит два числа: вероятности, что кубит в состоянии 0 и в состоянии 1.

Примечание: для упрощения мы игнорируем, что сумма вероятностей кубита в состоянии 0 и 1 должна равняться единице. Основной вывод не зависит от упрощения.

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

Квантовый компьютер экспоненциально лучше обычного.

Один кубит это 2 вещественных числа. Два кубита — 4 вещественных числа. Но восемь кубитов это 256 потенциальных конфигураций восьми нулей и единиц — два в восьмой степени.

Для одного кубита выигрыш в 128 раз, а для восьми кубитов он существенно больше — 256×128. Система n кубитов в памяти эквивалентна $2^n$ вещественных чисел.

Емкость квантовой памяти растет в геометрической прогрессии.

Память обычного ноутбука эквивалентна 15 кубитам, 40 кубитов равны памяти самых мощных вычислительных центров, а 50–60 кубитов превышают суммарную память всех вычислительных центров всего мира.

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

Но экспоненциальный рост емкости квантовой памяти вызывает проблему размерности. Из-за проклятия размерности сложно описать такую квантовую систему на классическом компьютере — требуется все больше и больше памяти.

Какие задачи может решить квантовый компьютер


Если квантовый мир работает на уровне неопределенности, как вообще возможно что-то посчитать? У квантовой механики вероятностная природа, а нам нужен точный ответ. Как все будет работать, если нужно просто перемножить два числа?

Объясню на примере задач класса NP, то есть задач разрешимости, решение которых невозможно найти за полиномиальное время — во всяком случае, в предположении $P\neq NP$. Однако, правильность решения за полиномиальное время проверить можно. Это похоже на взлом закрытого замка: мы не умеем пользоваться отмычками, но можем быстро проверить любой ключ, если он есть.

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

Если окажется, что ответ неверен, запустим квантовый компьютер еще раз. Вероятность получения правильного ответа больше 50%, а часто гораздо больше. Значит, за 2–4 запуска квантового алгоритма мы получим правильный ответ.

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

Параметры квантового компьютера


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

В квантовом случае есть три параметра.

Объем памяти или количество кубит. Чем больше памяти, тем лучше? Для квантового компьютера нет — когда мы увеличиваем количество кубит, растет сложность квантовой системы. Систему становится тяжело поддерживать в изолированном состоянии.

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

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

Примечание: здесь количество операций не в секунду, а за все время работы системы.

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

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

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

qwwfwkkafbgg1612lx_6seljara.jpeg

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

Прототипы


Выделю три прототипа, над которыми работают крупные компании. Google, IBM, Intel, Microsoft вкладываются в развитие квантовых компьютеров. Все вместе они вложили больше 500 млн долларов в разработку, лаборатории и исследовательские центры.

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

Универсальные квантовые компьютеры


Это универсальные машины от Google и IBM с памятью примерно 20 кубит. Они выполняют любые операции, потому что полная универсальность доступна с относительно небольшим числом кубитов, дальше возникает практическое ограничение. Возможно, через год люди научаться работать с 30–40 кубитами.

Универсальные квантовые компьютеры способны реализовать произвольные квантовые алгоритмы, например, алгоритмы Шора и Гровера.

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

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

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

Другим примеров, демонстрирующим потенциал квантовых вычисления увляется Алгоритм Гровера для задачи перебора или поиска решения уравнения $f(x)=1$ — грубо говоря равновесия. Любая физическая система хочет перейти в состояние равновесия — квантовая не исключение.

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

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

Квантовые симуляторы ограниченной универсальности


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

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

В октябре 2019 Google заявил, что достиг квантового превосходства. Новость появилась во всех ведущих газетах и журналах, соответствующая научная статья была опубликована в Nature. Тематические статьи выпустили многие газеты, даже New York Times и Wall Street Journal, которые далеки от науки.

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

Некогерентные процессоры с числом кубитов от 2 тысяч


Если забыть про универсальность и когерентность, можно добавлять 2 или даже 3–4 тысячи кубитов. Этим направлением занимается компания D-Wave из Канады. У них есть процессоры с тысячей кубитов, но без когерентности.

Возможные области применения квантовых компьютеров


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

Наука. Квантовые вычисления могут помочь предсказывать поведение элементарных частиц, моделировать молекулы ДНК или разрабатывать новые лекарственные препараты. Например, квантовые вычисления пытаются применять в фармакологии. Для этого нужно понимать, какую форму принимают разные протеины (про которые можно думать, как про микроскопические квантовые объекты). Мы не знаем, как они себя будут вести, но самый простой способ это понять — симулировать их поведение на квантовом компьютере. У этой научной задачи огромный бизнес-потенциал: новые лекарства, добавки, антибиотики.

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

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

Транспорт, энергетика, логистика. В этих сферах много оптимизационных задач. Например, в энергетике главная проблема — распределение электрической энергии по стране. Цена на электричество в разных регионах отличается, при этом во время передачи часть энергии теряется, а с ней и прибыль. Чтобы заработать больше денег, бизнес пытается оптимизировать передачу. Это одна из тех задач, которая находится в классе NP. Сложно найти правильное решение, но квантовый компьютер может помочь.

Бизнес-приложения. В бизнесе квантовыми вычислениями занимаются только большие компании, корпорации. У гигантов есть деньги и ресурсы, например, у Google, D-Wave или IBM (лидер области с большими наработками).

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

fmqs3izn9u7yk5o6kbf5xmbup-s.png

В реальности все немного иначе. Развитие технологий сейчас пока не на том уровне, чтобы применять их на практике.

Что значит квантовая революция для IT-индустрии


Пока что ничего. Мы находимся в так называемой эре NISQ — Noisy Intermediate-Scale Quantum technology. Это значит, что сейчас нет таких квантовых устройств, которые могли бы соперничать с классическими компьютерами. Пока нельзя создать квантовую систему, которая по всем параметрам превзойдет классическую: достаточно небольшую, универсальную и изолированную. Пока получаются только системы, которые выполняют узкоспециальные задачи определенного сорта лучше, чем вычислительный кластер. Квантовые технологии пока непрактичны. Хотелось бы использовать этот огромный потенциал для своих ежедневных задач, но неизвестно, как это сделать.

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

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

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

То, с каким интересом участники HighLoad++ восприняли доклад о квантовых компьютерах и АЭС, натолкнуло нас на мысль уделить большее внимание подобным темам на наших конференциях. Поэтому на РИТ++ в мае в онлайне у нас будут секции научпопа и применения IT в смежных областях. И это только малая часть новинок фестиваля «Российские интернет-технологии» — подробнее смотрите на сайте и в рассылке.

© Habrahabr.ru