Шекспир: Быть или не быть?
Квантовый компьютер: Ты хотел сказать: «быть и не быть»?
В последнее время тема квантового компьютера стала крайне популярной. О нем пишут в новостях, снимают фильмы и рассказывают на HBO. Но что же такое квантовый компьютер и что он может дать человечеству? Кто в мире сегодня занимается его созданием и из чего его делают? Давайте попробуем ответить на эти вопросы.
Оговоримся, что мы не будем рассматривать специфические симуляторы квантовых вычислений (D-Wave входит туда же), а будем говорить о, так называемых, gate-based квантовый компьютерах, то есть об универсальных машинах, основанных на квантовых логических операциях. Для начала давайте выясним что стоит за технологией квантовых вычислений.
Что такое квантовый компьютер?
Квантовые компьютеры часто понимают неправильно из-за того, что в их названии есть слово "компьютер". Когда люди слышат слово "компьютер", они думают о ноутбуках или телефонах, но дело в том, что эти устройства и даже самые большие суперкомпьютеры в мире работают по одной и той же фундаментальной схеме. Однако, квантовые компьютеры имеют фундаментальные отличия и их нельзя называть компьютерами в привычном понимании этого слова.
Классические биты, из которых состоят все компьютеры на планете, могут принимать значения 0 или 1, и, таким образом, они оперируют информацией в двоичном коде. В то же время квантовый бит (кубит) может существовать в состоянии суперпозиции нуля и единицы, то есть в процессе вычислений он принимает значение 0 и 1 одновременно - это происходит из-за фундаментальных свойств квантовой механики. Если у нас есть 2 кубита, то мы можем создать запутанность (второе фундаментальное свойство квантовой механики) между ними, и тогда нам удастся создать суперпозицию из 4-ех состояний, с тремя кубитами из 8-ми, с четырьмя из 16-ти, и число возможных состояний растет экспоненциально! Имея всего 50 кубитов, мы можем оперировать суперпозицией из 1,000,000,000,000,000 (одного квадриллиона) состояний!
Для того, чтобы понять потенциал такого подхода к вычислениям, давайте рассмотрим простую задачку: пройти лабиринт.
Единственный способ решения такой задачи на классическом компьютере - перебор всех возможных вариантов, череда успехов и неудач. Однако квантовый компьютер, используя всю мощь квантовой физики, проверяет все варианты одновременно и дает правильное решение намного быстрее.
Казалось бы, можно немного подождать и классический компьютер решит задачу, зачем строить сложную квантовую машину? Все бы ничего, но только человечество постоянно сталкивается с задачами, которые займут тысячи, миллионы, миллиарды лет вычислений на самых мощных суперкомпьютерах мира. Время — непозволительная роскошь для человека, нам нужны решения этих задач уже сегодня. Давайте попробуем разобраться где конкретно сила квантового компьютера может нам помочь?
Какие задачи может решить квантовый компьютер?
Квантовый компьютер не способен полностью заменить классический, да это и не нужно. Обычный компьютер справляется со множеством задач, но, все таки, существует класс проблем, которые квантовая машина способна решить за час, в том время как классическим компьютерам понадобится время жизни Вселенной. Известные на сегодняшний день задачи такого типа, можно разделить на 4 группы:
1. Задачи, где возникает преобразование Фурье
Это, в основном, задачи криптографии и шифрования: тот самый алгоритм Шора, о котором мы писали ранее, позволит взломать RSA и Биткоин. Происходит это потому, что квантовое преобразование Фурье невероятно быстрое и, если найти ему правильное применение, то оно даёт экспоненциальное ускорение.
2. Задачи оптимизации
Сюда входят комбинаторные проблемы, которые решаются лишь перебором всех возможных вариантов, например, лабиринт, который был рассмотрен выше. Другой нашумевший квантовый алгоритм, алгоритм Гровера, позволяет решать такие задачи быстрее обычного перебора, однако, не дает такого сильного ускорения как алгоритм Шора. Комбинаторные задачи постоянно возникают в сфере логистики, оптимизации и экономики.
3. Квантовое машинное обучение
Третий квантовый алгоритм, дающий заметное ускорение — это алгоритм HHL. Он способен решать систему линейных уравнений экспоненциально быстрее любого классического алгоритма; как известно, линейные уравнения возникают повсюду, например, в задачах машинного обучения. Так что quantum-assisted machine learning — это одно из самых полезных применений квантовых компьютеров. Да и вообще использование квантовой физики в задачах искусственного интеллекта это классно: можно, к примеру, использовать квантовые выборки, которые находятся в состоянии суперпозиции нескольких классических выборок.
4. Симуляции квантовой системы
Это самое естественное применение квантовых компьютеров. Такой подход предложил ещё Фейнман: чтобы замоделировать очень сложную квантовую систему вам нужна другая сложная квантовая система, о которой вы все знаете и умеете ей управлять. Поэтому полноценный квантовый компьютер поможет создать новые материалы, новые лекарства, высокотемпературные сверхпроводники. Это задачи, где надо хитрым образом организовать взаимодействие атомов, но чтобы понять как именно это сделать классическим компьютерам потребуется триллионы лет вычислений, в то время как большим квантовым — несколько часов.
В прекрасном мире будущего квантовые и классические компьютеры будут существовать в симбиозе: вы сможете запускать часть программы, сложную для вычислений, на полноценном квантовом компьютере удаленно, а всю остальную программу на обычном компьютере.
Какая идея стоит за квантовыми вычислениями и для чего они нужны мы разобрались. Теперь давайте взглянем из чего физически состоят квантовые компьютеры и каким образом люди пытаются приручить квантовую механику.
Какие существуют реализации квантового компьютера?
На сегодняшний день есть очень много реализаций квантовых вычислений, но самые перспективные на мой взгляд следующие подходы:
Сверхпроводники
Я считаю, что это самая многообещающая реализация квантовых вычислений, и так считаю не только я: IBM, Google, Intel, Rigetti, D-Wave, да практически все крупные компании, которые занимаются железом квантовых вычислений занимаются непосредственно «железом», ведь в такой реализации квантового компьютера кубиты — это сверхпроводящие металлические структуры на кремниевом чипе, почти как транзисторы в обычном процессоре. Охлаждают кубиты до низких температур для того, чтобы они перешли в квантовые состояние и чтобы устранить тепловые шумы. Эта технология масштабируемая, то есть ничто не мешает нам сделать процессор, размером несколько сантиметров, на котором будут миллионы кубитов. Можете взглянуть как выглядят эти компьютеры сегодня.
Фотоника
Фотоника чаще всего используется в криптографии, ведь фотоны (частицы света) квантовые сами по себе и не нуждаются в холоде: для криптографических протоколов используют лазеры и оптоволокно. Базу для квантовые вычисления можно делать таким же образом, а можно реализовать на чипах, по которым передаются фотоны. Эта технология так же масштабируема, но инженерных сложностей тут, кажется, больше, чем у сверхпроводников.
Спины в твердом теле
Исторически, кубиты рассматривали как спины, поэтому идея о том, чтобы взять множество спинов в каком-нибудь твёрдом теле (чтобы они никуда не убегали) — естественная для реализации квантовых вычислений. Такой подход теоретически масштабируем, но, конечно, тут есть свои сложности, такие как сам процесс изготовления устройств и управление квантовым состоянием. Зато времена жизни кубитов получаются впечатляюще большие.
Одиночные атомы (Холодные ионы или ЯМР)
Представляете, люди научились ловить отдельные атомы с помощью оптической ловушки и охлаждать с помощью лазера. Это достаточно дёшево и просто. Первый компьютер из 50 кубитов был собран именно из холодных атомов в Гарварде. Однако, размер ловушки ограничен, так что масштабировать эту технологию крайне трудно. Тоже самое касается и ЯМР: вы берёте сложную молекулу и называется каждый атом в ней кубитом. Размер молекул ограничен, что усложняет создание большого компьютера, более того, есть проблемы со считыванием состояния кубита.
Если вы думаете, что эти технологии все еще находятся в академических лабораториях, то вы сильно ошибаетесь. Рынок квантовых технологий растет, открываются новые компании, стартапы, инкубаторы. Давайте взглянем на самых крупных игроков в этой индустрии.
Кто занимается универсальными квантовым вычислениями?
IBM делает сверхпроводящие кубиты: они создали процессор из 53 кубитов, некоторые из их образцов доступны для удаленного управления (5-кубитный и 16-кубитный). Времена жизни их кубитов одни из самых больших: почти 100 микросекунд.
Google является прямым конкурентом IBM: они тоже создали процессор из 53 кубитов, на котором они показали квантовое превосходство, о котором мы писали ранее, однако, с этой концепцией стоит быть осторожным. Почему — читайте здесь и здесь. У Google не такие большие времена когерентности, однако их научная группа двигает вперёд всю индустрию, а ошибка в управлении сверхпроводящими кубитами у них самая маленькая в мире.
Стартап Rigetti из Калифорнии, который уже превратился в полноценную компанию, делает процессоры меньше и хуже, чем у IBM и Google, однако, они создали великолепный интерфейс для взаимодействия классических компьютеров (CPU) и квантовых (QPU - Quantum processing unit) через виртуальную квантовую машину. Что касается софта, Rigetti — одна из мировых лидеров. Более того, они обещают процессор из 128 кубитов!
Канадская компания Xanadu делает квантовый компьютер на основе фотоники. Все работает при комнатных температурах и масштабируемо. В отличие от электронов, фотоны очень стабильны и почти не подвержены влиянию случайных тепловых шумов. Они используют фотонные чипы для генерации, управления и измерения фотонов таким образом, чтобы обеспечить чрезвычайно быстрые вычисления. У компании очень большой потенциал.
IonQ — компания из США, которая строит квантовый компьютер на холодных ионах. В ноябре 2017 года IonQ представили на международной конференции IEEE свою технологическую стратегию и текущий прогресс в квантовых вычислениях. У них уже есть 11 кубитов и планируется сделать 79-кубитную систему. Так же они планируют использование микро ионной ловушки и нескольких оптических и акустооптических систем для охлаждения, инициализации и расчетов. У них есть облачный API, доступный для всех, и симуляторы квантовых вычислений, которые используют полную связность ионной системы.
Вот практически полный список компаний и платформ, которые они используются:
Помимо коммерческих компаний, конечно же, существует множество исследовательских центров на базе университетов по всему миру.
Как видите, квантовые технологии — это крайне перспективная область, которая может открыть нам множество тайн природы и помочь решить задачи, над которыми бьется не одно поколение людей. Вопрос о возможности создания универсального квантового компьютера сложный, ведь впереди очень много физических и инженерных проблем. Я не отрицаю, что в какой-то момент мы можем понять, что создать такую машину невозможно, что квантовый компьютер оказался в той же ситуации, в которой когда-то оказался холодный термоядерный синтез. Но на данный момент я вижу, что даже неидеальным, «шумным», квантовым технологиями (эра NISQ) можно найти полезные и важные применения в ближайшем будущем — а это стоит того, чтобы над ними работать.